Merge pull request #100568 from lauchokyip/addDescribe

Added BinaryData description to kubectl describe

Kubernetes-commit: cdf1b17bb8bcbf8a420d7e0a11336d09b0c37730
This commit is contained in:
Kubernetes Publisher 2021-05-16 08:27:59 -07:00
commit b9e209a56a
5 changed files with 27 additions and 11 deletions

4
Godeps/Godeps.json generated
View File

@ -1040,7 +1040,7 @@
}, },
{ {
"ImportPath": "k8s.io/api", "ImportPath": "k8s.io/api",
"Rev": "98c0df6d5181" "Rev": "8672a591239a"
}, },
{ {
"ImportPath": "k8s.io/apimachinery", "ImportPath": "k8s.io/apimachinery",
@ -1052,7 +1052,7 @@
}, },
{ {
"ImportPath": "k8s.io/client-go", "ImportPath": "k8s.io/client-go",
"Rev": "3cca9d72c140" "Rev": "253f58be506d"
}, },
{ {
"ImportPath": "k8s.io/code-generator", "ImportPath": "k8s.io/code-generator",

8
go.mod
View File

@ -32,10 +32,10 @@ require (
github.com/stretchr/testify v1.6.1 github.com/stretchr/testify v1.6.1
golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073 golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073
gopkg.in/yaml.v2 v2.4.0 gopkg.in/yaml.v2 v2.4.0
k8s.io/api v0.0.0-20210518101622-98c0df6d5181 k8s.io/api v0.0.0-20210518101624-8672a591239a
k8s.io/apimachinery v0.0.0-20210518100458-4c2cee4b928c k8s.io/apimachinery v0.0.0-20210518100458-4c2cee4b928c
k8s.io/cli-runtime v0.0.0-20210518124924-2b12152cfa0d k8s.io/cli-runtime v0.0.0-20210518124924-2b12152cfa0d
k8s.io/client-go v0.0.0-20210518102931-3cca9d72c140 k8s.io/client-go v0.0.0-20210518102935-253f58be506d
k8s.io/component-base v0.0.0-20210518111236-18af7a2c44df k8s.io/component-base v0.0.0-20210518111236-18af7a2c44df
k8s.io/component-helpers v0.0.0-20210518112016-d2cb76f2050a k8s.io/component-helpers v0.0.0-20210518112016-d2cb76f2050a
k8s.io/klog/v2 v2.8.0 k8s.io/klog/v2 v2.8.0
@ -48,10 +48,10 @@ require (
) )
replace ( replace (
k8s.io/api => k8s.io/api v0.0.0-20210518101622-98c0df6d5181 k8s.io/api => k8s.io/api v0.0.0-20210518101624-8672a591239a
k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20210518100458-4c2cee4b928c k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20210518100458-4c2cee4b928c
k8s.io/cli-runtime => k8s.io/cli-runtime v0.0.0-20210518124924-2b12152cfa0d k8s.io/cli-runtime => k8s.io/cli-runtime v0.0.0-20210518124924-2b12152cfa0d
k8s.io/client-go => k8s.io/client-go v0.0.0-20210518102931-3cca9d72c140 k8s.io/client-go => k8s.io/client-go v0.0.0-20210518102935-253f58be506d
k8s.io/code-generator => k8s.io/code-generator v0.0.0-20210518095634-f57bba428cbd k8s.io/code-generator => k8s.io/code-generator v0.0.0-20210518095634-f57bba428cbd
k8s.io/component-base => k8s.io/component-base v0.0.0-20210518111236-18af7a2c44df k8s.io/component-base => k8s.io/component-base v0.0.0-20210518111236-18af7a2c44df
k8s.io/component-helpers => k8s.io/component-helpers v0.0.0-20210518112016-d2cb76f2050a k8s.io/component-helpers => k8s.io/component-helpers v0.0.0-20210518112016-d2cb76f2050a

8
go.sum
View File

@ -731,14 +731,14 @@ honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWh
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
k8s.io/api v0.0.0-20210518101622-98c0df6d5181 h1:S8KR0gk7hAxCnvp+Z9jvGl4MMaSTxNLwLaHCVzJbsw0= k8s.io/api v0.0.0-20210518101624-8672a591239a h1:EEW042DxiuHtcAqQyp3Pk2w5/3Kc/b8DyrymbscceAM=
k8s.io/api v0.0.0-20210518101622-98c0df6d5181/go.mod h1:y+gvByfVKNWO6mErcyYTqghJvmW73GJQPxjlYKfOuio= k8s.io/api v0.0.0-20210518101624-8672a591239a/go.mod h1:y+gvByfVKNWO6mErcyYTqghJvmW73GJQPxjlYKfOuio=
k8s.io/apimachinery v0.0.0-20210518100458-4c2cee4b928c h1:4cylLlCjbU4MC+jV8O68gmICP2kk8agE4tceRMAljVs= k8s.io/apimachinery v0.0.0-20210518100458-4c2cee4b928c h1:4cylLlCjbU4MC+jV8O68gmICP2kk8agE4tceRMAljVs=
k8s.io/apimachinery v0.0.0-20210518100458-4c2cee4b928c/go.mod h1:fBRSkoylGO2QUTae8Wb2wac6pZ83/r+tL6HFSXGbzfs= k8s.io/apimachinery v0.0.0-20210518100458-4c2cee4b928c/go.mod h1:fBRSkoylGO2QUTae8Wb2wac6pZ83/r+tL6HFSXGbzfs=
k8s.io/cli-runtime v0.0.0-20210518124924-2b12152cfa0d h1:RFVr7FWdCdM4VFNKGXOLiPTJ/J1JVdBbTKY+ZPMIWXA= k8s.io/cli-runtime v0.0.0-20210518124924-2b12152cfa0d h1:RFVr7FWdCdM4VFNKGXOLiPTJ/J1JVdBbTKY+ZPMIWXA=
k8s.io/cli-runtime v0.0.0-20210518124924-2b12152cfa0d/go.mod h1:YJCKepg/QD72rmBybA7hshzZfcAtjpbcMerf6dyv29g= k8s.io/cli-runtime v0.0.0-20210518124924-2b12152cfa0d/go.mod h1:YJCKepg/QD72rmBybA7hshzZfcAtjpbcMerf6dyv29g=
k8s.io/client-go v0.0.0-20210518102931-3cca9d72c140 h1:GY3mSlGtHMBhojVkVlvYMRGBFJPznw4duMxd8fMQvvg= k8s.io/client-go v0.0.0-20210518102935-253f58be506d h1:C41agJxt80kox7Ofjqku7YyR3uJOGpR1XnAkUW/7S+U=
k8s.io/client-go v0.0.0-20210518102931-3cca9d72c140/go.mod h1:sGoh5eJ2yx5LuKX3C3Wj5zkHlcfHoueMPwbNP2qyRD8= k8s.io/client-go v0.0.0-20210518102935-253f58be506d/go.mod h1:+PVVaE0ruVk5zAJUxGxhQdexBY4v0yNqYsEShnm3q1Y=
k8s.io/code-generator v0.0.0-20210518095634-f57bba428cbd/go.mod h1:tHNeGA58jE3nJvZLDN0c/5k7P3NlYdjbWuJYK9QiU3s= k8s.io/code-generator v0.0.0-20210518095634-f57bba428cbd/go.mod h1:tHNeGA58jE3nJvZLDN0c/5k7P3NlYdjbWuJYK9QiU3s=
k8s.io/component-base v0.0.0-20210518111236-18af7a2c44df h1:Qz7sUwbLJpc/VUuBtxZb3seTfKV1hDTx1yAVPI7jnJI= k8s.io/component-base v0.0.0-20210518111236-18af7a2c44df h1:Qz7sUwbLJpc/VUuBtxZb3seTfKV1hDTx1yAVPI7jnJI=
k8s.io/component-base v0.0.0-20210518111236-18af7a2c44df/go.mod h1:hPm8b9lzwMCIUcu2WyNo0MxrfZcmt+tMkH0FuhUs1Zo= k8s.io/component-base v0.0.0-20210518111236-18af7a2c44df/go.mod h1:hPm8b9lzwMCIUcu2WyNo0MxrfZcmt+tMkH0FuhUs1Zo=

View File

@ -4298,6 +4298,12 @@ func (d *ConfigMapDescriber) Describe(namespace, name string, describerSettings
w.Write(LEVEL_0, "%s:\n----\n", k) w.Write(LEVEL_0, "%s:\n----\n", k)
w.Write(LEVEL_0, "%s\n", string(v)) w.Write(LEVEL_0, "%s\n", string(v))
} }
w.Write(LEVEL_0, "\nBinaryData\n====\n")
for k, v := range configMap.BinaryData {
w.Write(LEVEL_0, "%s: %s bytes\n", k, strconv.Itoa(len(v)))
}
w.Write(LEVEL_0, "\n")
if describerSettings.ShowEvents { if describerSettings.ShowEvents {
events, err := searchEvents(d.CoreV1(), configMap, describerSettings.ChunkSize) events, err := searchEvents(d.CoreV1(), configMap, describerSettings.ChunkSize)
if err != nil { if err != nil {

View File

@ -284,6 +284,10 @@ func TestDescribeConfigMap(t *testing.T) {
"key1": "value1", "key1": "value1",
"key2": "value2", "key2": "value2",
}, },
BinaryData: map[string][]byte{
"binarykey1": {0xFF, 0xFE, 0xFD, 0xFC, 0xFB},
"binarykey2": {0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFA},
},
}) })
c := &describeClient{T: t, Namespace: "foo", Interface: fake} c := &describeClient{T: t, Namespace: "foo", Interface: fake}
d := ConfigMapDescriber{c} d := ConfigMapDescriber{c}
@ -291,7 +295,13 @@ func TestDescribeConfigMap(t *testing.T) {
if err != nil { if err != nil {
t.Errorf("unexpected error: %v", err) t.Errorf("unexpected error: %v", err)
} }
if !strings.Contains(out, "foo") || !strings.Contains(out, "mycm") || !strings.Contains(out, "key1") || !strings.Contains(out, "value1") || !strings.Contains(out, "key2") || !strings.Contains(out, "value2") { if !strings.Contains(out, "foo") || !strings.Contains(out, "mycm") {
t.Errorf("unexpected out: %s", out)
}
if !strings.Contains(out, "key1") || !strings.Contains(out, "value1") || !strings.Contains(out, "key2") || !strings.Contains(out, "value2") {
t.Errorf("unexpected out: %s", out)
}
if !strings.Contains(out, "binarykey1") || !strings.Contains(out, "5 bytes") || !strings.Contains(out, "binarykey2") || !strings.Contains(out, "6 bytes") {
t.Errorf("unexpected out: %s", out) t.Errorf("unexpected out: %s", out)
} }
} }