From 4939c1137cdcdebb192e947defe7c0a5df11c283 Mon Sep 17 00:00:00 2001 From: Deyuan Deng Date: Mon, 23 Mar 2015 12:14:18 -0400 Subject: [PATCH 1/2] Add node describe labels, creationTimestamp --- hack/test-cmd.sh | 2 +- pkg/kubectl/describe.go | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/hack/test-cmd.sh b/hack/test-cmd.sh index e64fd27b309..7dc67b08671 100755 --- a/hack/test-cmd.sh +++ b/hack/test-cmd.sh @@ -501,7 +501,7 @@ __EOF__ kube::test::get_object_assert nodes "{{range.items}}{{.$id_field}}:{{end}}" '127.0.0.1:' - kube::test::describe_object_assert nodes "127.0.0.1" "Name:" "Conditions:" "Addresses:" "Capacity:" "Pods:" + kube::test::describe_object_assert nodes "127.0.0.1" "Name:" "Labels:" "CreationTimestamp:" "Conditions:" "Addresses:" "Capacity:" "Pods:" ########### # Minions # diff --git a/pkg/kubectl/describe.go b/pkg/kubectl/describe.go index 60a48a36df2..b102b42fa22 100644 --- a/pkg/kubectl/describe.go +++ b/pkg/kubectl/describe.go @@ -374,6 +374,8 @@ func (d *NodeDescriber) Describe(namespace, name string) (string, error) { func describeNode(node *api.Node, pods []api.Pod, events *api.EventList) (string, error) { return tabbedString(func(out io.Writer) error { fmt.Fprintf(out, "Name:\t%s\n", node.Name) + fmt.Fprintf(out, "Labels:\t%s\n", formatLabels(node.Labels)) + fmt.Fprintf(out, "CreationTimestamp:\t%s\n", node.CreationTimestamp.Time.Format(time.RFC1123Z)) if len(node.Status.Conditions) > 0 { fmt.Fprint(out, "Conditions:\n Type\tStatus\tLastProbeTime\tLastTransitionTime\tReason\tMessage\n") for _, c := range node.Status.Conditions { From 1c135c0bd4eb364366426de311a8d8cfd6412587 Mon Sep 17 00:00:00 2001 From: Deyuan Deng Date: Mon, 23 Mar 2015 12:23:15 -0400 Subject: [PATCH 2/2] Test kubectl describe from test-cmd --- hack/test-cmd.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/hack/test-cmd.sh b/hack/test-cmd.sh index 7dc67b08671..0126a4f91ca 100755 --- a/hack/test-cmd.sh +++ b/hack/test-cmd.sh @@ -155,6 +155,8 @@ for version in "${kube_api_versions[@]}"; do # Post-condition: valid-pod POD is running kube::test::get_object_assert pods "{{range.items}}{{.$id_field}}:{{end}}" 'valid-pod:' kube::test::get_object_assert 'pod valid-pod' "{{.$id_field}}" 'valid-pod' + # Describe command should print detailed information + kube::test::describe_object_assert pods 'valid-pod' "Name:" "Image(s):" "Host:" "Labels:" "Status:" "Replication Controllers" ### Dump current valid-pod POD output_pod=$(kubectl get pod valid-pod -o yaml --output-version=v1beta1 "${kube_flags[@]}") @@ -356,6 +358,8 @@ for version in "${kube_api_versions[@]}"; do kubectl create -f examples/guestbook/redis-master-service.json "${kube_flags[@]}" # Post-condition: redis-master service is running kube::test::get_object_assert services "{{range.items}}{{.$id_field}}:{{end}}" 'kubernetes:kubernetes-ro:redis-master:' + # Describe command should print detailed information + kube::test::describe_object_assert services 'redis-master' "Name:" "Labels:" "Selector:" "IP:" "Port:" "Endpoints:" "Session Affinity:" ### Dump current redis-master service output_service=$(kubectl get service redis-master -o json --output-version=v1beta3 "${kube_flags[@]}") @@ -442,6 +446,8 @@ __EOF__ kubectl create -f examples/guestbook/frontend-controller.json "${kube_flags[@]}" # Post-condition: frontend replication controller is running kube::test::get_object_assert rc "{{range.items}}{{.$id_field}}:{{end}}" 'frontend-controller:' + # Describe command should print detailed information + kube::test::describe_object_assert rc 'frontend-controller' "Name:" "Image(s):" "Labels:" "Selector:" "Replicas:" "Pods Status:" ### Resize replication controller frontend with current-replicas and replicas # Pre-condition: 3 replicas