diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index e2bc3b38b..a0c3acf0b 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -604,7 +604,7 @@ }, { "ImportPath": "k8s.io/client-go", - "Rev": "8d0e6f1b7b78" + "Rev": "8c19b9f4a642" }, { "ImportPath": "k8s.io/code-generator", @@ -612,7 +612,7 @@ }, { "ImportPath": "k8s.io/component-base", - "Rev": "76db98f44733" + "Rev": "0d4d24e738e4" }, { "ImportPath": "k8s.io/gengo", diff --git a/go.mod b/go.mod index 5906b14eb..f3739d03e 100644 --- a/go.mod +++ b/go.mod @@ -39,8 +39,8 @@ require ( k8s.io/api v0.0.0-20191121015604-11707872ac1c k8s.io/apimachinery v0.0.0-20191123233150-4c4803ed55e3 k8s.io/cli-runtime v0.0.0-20191121021703-be566597aa73 - k8s.io/client-go v0.0.0-20191123055820-8d0e6f1b7b78 - k8s.io/component-base v0.0.0-20191123020320-76db98f44733 + k8s.io/client-go v0.0.0-20191204082517-8c19b9f4a642 + k8s.io/component-base v0.0.0-20191204083903-0d4d24e738e4 k8s.io/klog v1.0.0 k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a k8s.io/metrics v0.0.0-20191121021546-b1134fd1210c @@ -56,8 +56,8 @@ replace ( k8s.io/api => k8s.io/api v0.0.0-20191121015604-11707872ac1c k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20191123233150-4c4803ed55e3 k8s.io/cli-runtime => k8s.io/cli-runtime v0.0.0-20191121021703-be566597aa73 - k8s.io/client-go => k8s.io/client-go v0.0.0-20191123055820-8d0e6f1b7b78 + k8s.io/client-go => k8s.io/client-go v0.0.0-20191204082517-8c19b9f4a642 k8s.io/code-generator => k8s.io/code-generator v0.0.0-20191121015212-c4c8f8345c7e - k8s.io/component-base => k8s.io/component-base v0.0.0-20191123020320-76db98f44733 + k8s.io/component-base => k8s.io/component-base v0.0.0-20191204083903-0d4d24e738e4 k8s.io/metrics => k8s.io/metrics v0.0.0-20191121021546-b1134fd1210c ) diff --git a/go.sum b/go.sum index 93440e208..79d883f56 100644 --- a/go.sum +++ b/go.sum @@ -326,9 +326,9 @@ honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWh k8s.io/api v0.0.0-20191121015604-11707872ac1c/go.mod h1:R/s4gKT0V/cWEnbQa9taNRJNbWUK57/Dx6cPj6MD3A0= k8s.io/apimachinery v0.0.0-20191123233150-4c4803ed55e3/go.mod h1:b9qmWdKlLuU9EBh+06BtLcSf/Mu89rWL33naRxs1uZg= k8s.io/cli-runtime v0.0.0-20191121021703-be566597aa73/go.mod h1:ME9bWHGO0aLE47pOtHhtqozw2O8qQ7oYXfUpf0r8RPI= -k8s.io/client-go v0.0.0-20191123055820-8d0e6f1b7b78/go.mod h1:nHtEfdUB9pCHUW0ifsuHB2GNBDp3nETVVMFDWiqvOtA= +k8s.io/client-go v0.0.0-20191204082517-8c19b9f4a642/go.mod h1:HMVIZ0dPop3WCrPEaJ+v5/94cjt56avdDFshpX0Fjvo= k8s.io/code-generator v0.0.0-20191121015212-c4c8f8345c7e/go.mod h1:DVmfPQgxQENqDIzVR2ddLXMH34qeszkKSdH/N+s+38s= -k8s.io/component-base v0.0.0-20191123020320-76db98f44733/go.mod h1:nT8n8i8cDfo/PoqR5cVK6K/lY5KplPj01GrGEGlRqH0= +k8s.io/component-base v0.0.0-20191204083903-0d4d24e738e4/go.mod h1:8VIh1jErItC4bg9hLBkPneyS77Tin8KwSzbYepHJnQI= k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20190822140433-26a664648505/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= diff --git a/pkg/cmd/get/get_test.go b/pkg/cmd/get/get_test.go index d7270fbc3..9e7ff0da2 100644 --- a/pkg/cmd/get/get_test.go +++ b/pkg/cmd/get/get_test.go @@ -1176,7 +1176,7 @@ func TestGetListComponentStatus(t *testing.T) { tf.UnstructuredClient = &fake.RESTClient{ NegotiatedSerializer: resource.UnstructuredPlusDefaultContentConfig().NegotiatedSerializer, - Resp: &http.Response{StatusCode: http.StatusOK, Header: cmdtesting.DefaultHeader(), Body: cmdtesting.ObjBody(codec, statuses)}, + Resp: &http.Response{StatusCode: http.StatusOK, Header: cmdtesting.DefaultHeader(), Body: componentStatusTableObjBody(codec, (*statuses).Items...)}, } streams, _, buf, _ := genericclioptions.NewTestIOStreams() @@ -1184,10 +1184,10 @@ func TestGetListComponentStatus(t *testing.T) { cmd.SetOutput(buf) cmd.Run(cmd, []string{"componentstatuses"}) - expected := `NAME AGE -servergood -serverbad -serverunknown + expected := `NAME STATUS MESSAGE ERROR +servergood Healthy ok +serverbad Unhealthy bad status: 500 +serverunknown Unhealthy fizzbuzz error ` if e, a := expected, buf.String(); e != a { t.Errorf("expected\n%v\ngot\n%v", e, a) @@ -2788,6 +2788,33 @@ func nodeTableObjBody(codec runtime.Codec, nodes ...corev1.Node) io.ReadCloser { return cmdtesting.ObjBody(codec, table) } +// build a meta table response from a componentStatus list +func componentStatusTableObjBody(codec runtime.Codec, componentStatuses ...corev1.ComponentStatus) io.ReadCloser { + table := &metav1.Table{ + ColumnDefinitions: []metav1.TableColumnDefinition{ + {Name: "Name", Type: "string", Format: "name"}, + {Name: "Status", Type: "string", Format: ""}, + {Name: "Message", Type: "string", Format: ""}, + {Name: "Error", Type: "string", Format: ""}, + }, + } + for _, v := range componentStatuses { + b := bytes.NewBuffer(nil) + codec.Encode(&v, b) + var status string + if v.Conditions[0].Status == corev1.ConditionTrue { + status = "Healthy" + } else { + status = "Unhealthy" + } + table.Rows = append(table.Rows, metav1.TableRow{ + Object: runtime.RawExtension{Raw: b.Bytes()}, + Cells: []interface{}{v.Name, status, v.Conditions[0].Message, v.Conditions[0].Error}, + }) + } + return cmdtesting.ObjBody(codec, table) +} + // build an empty table response func emptyTableObjBody(codec runtime.Codec) io.ReadCloser { table := &metav1.Table{