diff --git a/test/mako/sidecar.go b/test/mako/sidecar.go index bc67d9129..3e49b14bf 100644 --- a/test/mako/sidecar.go +++ b/test/mako/sidecar.go @@ -18,6 +18,7 @@ package mako import ( "context" + "fmt" "log" "runtime" "strings" @@ -27,6 +28,7 @@ import ( "github.com/google/mako/go/quickstore" qpb "github.com/google/mako/proto/quickstore/quickstore_go_proto" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/rest" "knative.dev/pkg/changeset" "knative.dev/pkg/controller" @@ -69,11 +71,19 @@ func Setup(ctx context.Context, extraTags ...string) (context.Context, *quicksto } // Get the Kubernetes version from the API server. - version, err := kubeclient.Get(ctx).Discovery().ServerVersion() + kc := kubeclient.Get(ctx) + version, err := kc.Discovery().ServerVersion() if err != nil { return nil, nil, nil, err } + // Determine the number of Kubernetes nodes through the kubernetes client. + nodes, err := kc.CoreV1().Nodes().List(metav1.ListOptions{}) + if err != nil { + return nil, nil, nil, err + } + tags = append(tags, "nodes="+fmt.Sprintf("%d", len(nodes.Items))) + // Decorate GCP metadata as tags (when we're running on GCP). if projectID, err := metadata.ProjectID(); err != nil { log.Printf("GCP project ID is not available: %v", err)