From 4e2575e6fd69b444c82726e98cc0d45909bea24f Mon Sep 17 00:00:00 2001 From: David Simansky Date: Wed, 14 Apr 2021 14:26:14 +0200 Subject: [PATCH] Add number of instances to describe command --- pkg/kn/commands/revision/describe.go | 9 +++++++++ pkg/kn/commands/revision/describe_test.go | 3 +++ pkg/kn/commands/service/describe.go | 1 + pkg/kn/commands/service/describe_test.go | 3 +++ 4 files changed, 16 insertions(+) diff --git a/pkg/kn/commands/revision/describe.go b/pkg/kn/commands/revision/describe.go index e243d5de2b..9530b1d270 100644 --- a/pkg/kn/commands/revision/describe.go +++ b/pkg/kn/commands/revision/describe.go @@ -96,6 +96,7 @@ func describe(w io.Writer, revision *servingv1.Revision, service *servingv1.Serv dw := printers.NewPrefixWriter(w) commands.WriteMetadata(dw, &revision.ObjectMeta, printDetails) WriteImage(dw, revision) + WriteReplicas(dw, revision) WritePort(dw, revision) WriteEnv(dw, revision, printDetails) WriteEnvFrom(dw, revision, printDetails) @@ -202,6 +203,14 @@ func WriteEnvFrom(dw printers.PrefixWriter, revision *servingv1.Revision, printD } } +func WriteReplicas(dw printers.PrefixWriter, revision *servingv1.Revision) { + actualReplicas := revision.Status.ActualReplicas + desiredReplicas := revision.Status.DesiredReplicas + if actualReplicas != 0 || desiredReplicas != 0 { + dw.WriteAttribute("Replicas", fmt.Sprintf("%d/%d", actualReplicas, desiredReplicas)) + } +} + func WriteScale(dw printers.PrefixWriter, revision *servingv1.Revision) { // Scale spec if given scale, err := clientserving.ScalingInfo(&revision.ObjectMeta) diff --git a/pkg/kn/commands/revision/describe_test.go b/pkg/kn/commands/revision/describe_test.go index a908ae0449..a903caf527 100644 --- a/pkg/kn/commands/revision/describe_test.go +++ b/pkg/kn/commands/revision/describe_test.go @@ -120,6 +120,7 @@ func TestDescribeRevisionBasic(t *testing.T) { } assert.Assert(t, util.ContainsAll(data, "Image:", "gcr.io/test/image", "++ Ready", "Port:", "8080")) + assert.Assert(t, util.ContainsAll(data, "Replicas:", "0/1")) assert.Assert(t, util.ContainsAll(data, "EnvFrom:", "cm:test1, cm:test2")) } @@ -161,6 +162,8 @@ func createTestRevision(revision string, gen int64) servingv1.Revision { }, }, Status: servingv1.RevisionStatus{ + ActualReplicas: 0, + DesiredReplicas: 1, DeprecatedImageDigest: "gcr.io/test/image@" + imageDigest, Status: duckv1.Status{ Conditions: goodConditions(), diff --git a/pkg/kn/commands/service/describe.go b/pkg/kn/commands/service/describe.go index d9793bceda..58df0e8b44 100644 --- a/pkg/kn/commands/service/describe.go +++ b/pkg/kn/commands/service/describe.go @@ -221,6 +221,7 @@ func writeRevisions(dw printers.PrefixWriter, revisions []*revisionDesc, printDe section.WriteAttribute("Error", ready.Reason) } revision.WriteImage(section, revisionDesc.revision) + revision.WriteReplicas(section, revisionDesc.revision) if printDetails { revision.WritePort(section, revisionDesc.revision) revision.WriteEnv(section, revisionDesc.revision, printDetails) diff --git a/pkg/kn/commands/service/describe_test.go b/pkg/kn/commands/service/describe_test.go index 376e17d1be..5ea4a22dd4 100644 --- a/pkg/kn/commands/service/describe_test.go +++ b/pkg/kn/commands/service/describe_test.go @@ -68,6 +68,7 @@ func TestServiceDescribeBasic(t *testing.T) { assert.Assert(t, util.ContainsAll(output, "Labels:", "label1=lval1, label2=lval2\n")) assert.Assert(t, util.ContainsAll(output, "[1]")) assert.Assert(t, cmp.Regexp("Service Account: \\s+default-sa", output)) + assert.Assert(t, util.ContainsAll(output, "Replicas:", "0/1")) assert.Equal(t, strings.Count(output, "rev1"), 1) @@ -762,6 +763,8 @@ func createTestRevision(revision string, gen int64, conditions duckv1.Conditions }, }, Status: servingv1.RevisionStatus{ + ActualReplicas: 0, + DesiredReplicas: 1, DeprecatedImageDigest: "gcr.io/test/image@" + imageDigest, Status: duckv1.Status{ Conditions: conditions,