From d6c588f6830f70b563d7d38b333d562dc6ac84fe Mon Sep 17 00:00:00 2001 From: Alejandro Pedraza Date: Tue, 24 Mar 2020 12:50:54 -0500 Subject: [PATCH] Add missing SAs to linkerd check (#4194) * Add missing SAs to linkerd check This adds the service accounts `linkerd-destination` and `linkerd-smi-metrics` that were missing from the "control plane ServiceAccounts exist" check. --- pkg/healthcheck/healthcheck.go | 2 + pkg/healthcheck/healthcheck_test.go | 90 +++++++++++++++++++++++++++++ test/install_test.go | 28 +++++++++ 3 files changed, 120 insertions(+) diff --git a/pkg/healthcheck/healthcheck.go b/pkg/healthcheck/healthcheck.go index fa3a54c6b..ffdd81a62 100644 --- a/pkg/healthcheck/healthcheck.go +++ b/pkg/healthcheck/healthcheck.go @@ -181,10 +181,12 @@ var ( expectedServiceAccountNames = []string{ "linkerd-controller", + "linkerd-destination", "linkerd-grafana", "linkerd-identity", "linkerd-prometheus", "linkerd-proxy-injector", + "linkerd-smi-metrics", "linkerd-sp-validator", "linkerd-web", "linkerd-tap", diff --git a/pkg/healthcheck/healthcheck_test.go b/pkg/healthcheck/healthcheck_test.go index d0f6b54a9..9c45c1e1e 100644 --- a/pkg/healthcheck/healthcheck_test.go +++ b/pkg/healthcheck/healthcheck_test.go @@ -749,6 +749,15 @@ metadata: ` kind: ServiceAccount apiVersion: v1 +metadata: + name: linkerd-destination + namespace: test-ns + labels: + linkerd.io/control-plane-ns: test-ns +`, + ` +kind: ServiceAccount +apiVersion: v1 metadata: name: linkerd-identity namespace: test-ns @@ -776,6 +785,15 @@ metadata: ` kind: ServiceAccount apiVersion: v1 +metadata: + name: linkerd-smi-metrics + namespace: test-ns + labels: + linkerd.io/control-plane-ns: test-ns +`, + ` +kind: ServiceAccount +apiVersion: v1 metadata: name: linkerd-sp-validator namespace: test-ns @@ -942,6 +960,15 @@ metadata: ` kind: ServiceAccount apiVersion: v1 +metadata: + name: linkerd-destination + namespace: test-ns + labels: + linkerd.io/control-plane-ns: test-ns +`, + ` +kind: ServiceAccount +apiVersion: v1 metadata: name: linkerd-identity namespace: test-ns @@ -969,6 +996,15 @@ metadata: ` kind: ServiceAccount apiVersion: v1 +metadata: + name: linkerd-smi-metrics + namespace: test-ns + labels: + linkerd.io/control-plane-ns: test-ns +`, + ` +kind: ServiceAccount +apiVersion: v1 metadata: name: linkerd-sp-validator namespace: test-ns @@ -1144,6 +1180,15 @@ metadata: ` kind: ServiceAccount apiVersion: v1 +metadata: + name: linkerd-destination + namespace: test-ns + labels: + linkerd.io/control-plane-ns: test-ns +`, + ` +kind: ServiceAccount +apiVersion: v1 metadata: name: linkerd-identity namespace: test-ns @@ -1171,6 +1216,15 @@ metadata: ` kind: ServiceAccount apiVersion: v1 +metadata: + name: linkerd-smi-metrics + namespace: test-ns + labels: + linkerd.io/control-plane-ns: test-ns +`, + ` +kind: ServiceAccount +apiVersion: v1 metadata: name: linkerd-sp-validator namespace: test-ns @@ -1355,6 +1409,15 @@ metadata: ` kind: ServiceAccount apiVersion: v1 +metadata: + name: linkerd-destination + namespace: test-ns + labels: + linkerd.io/control-plane-ns: test-ns +`, + ` +kind: ServiceAccount +apiVersion: v1 metadata: name: linkerd-identity namespace: test-ns @@ -1382,6 +1445,15 @@ metadata: ` kind: ServiceAccount apiVersion: v1 +metadata: + name: linkerd-smi-metrics + namespace: test-ns + labels: + linkerd.io/control-plane-ns: test-ns +`, + ` +kind: ServiceAccount +apiVersion: v1 metadata: name: linkerd-sp-validator namespace: test-ns @@ -1575,6 +1647,15 @@ metadata: ` kind: ServiceAccount apiVersion: v1 +metadata: + name: linkerd-destination + namespace: test-ns + labels: + linkerd.io/control-plane-ns: test-ns +`, + ` +kind: ServiceAccount +apiVersion: v1 metadata: name: linkerd-identity namespace: test-ns @@ -1602,6 +1683,15 @@ metadata: ` kind: ServiceAccount apiVersion: v1 +metadata: + name: linkerd-smi-metrics + namespace: test-ns + labels: + linkerd.io/control-plane-ns: test-ns +`, + ` +kind: ServiceAccount +apiVersion: v1 metadata: name: linkerd-sp-validator namespace: test-ns diff --git a/test/install_test.go b/test/install_test.go index a4fac2037..92dd6024a 100644 --- a/test/install_test.go +++ b/test/install_test.go @@ -416,6 +416,24 @@ func TestCheckHelmStableBeforeUpgrade(t *testing.T) { if TestHelper.UpgradeHelmFromVersion() == "" { t.Skip("Skipping as this is not a helm upgrade test") } + + // TODO: remove when 2.8.0 is released + _, err := TestHelper.Kubectl("", + "--namespace", TestHelper.GetLinkerdNamespace(), + "create", "serviceaccount", "linkerd-smi-metrics", + ) + if err != nil { + t.Fatalf("linkerd-smi-metrics SA creation failed: %s", err) + } + _, err = TestHelper.Kubectl("", + "--namespace", TestHelper.GetLinkerdNamespace(), + "label", "serviceaccount", "linkerd-smi-metrics", + "linkerd.io/control-plane-ns="+TestHelper.GetLinkerdNamespace(), + ) + if err != nil { + t.Fatalf("linkerd-smi-metrics SA labeling failed: %s", err) + } + testCheckCommand(t, "", TestHelper.UpgradeHelmFromVersion(), "", TestHelper.UpgradeHelmFromVersion()) } @@ -424,6 +442,16 @@ func TestUpgradeHelm(t *testing.T) { t.Skip("Skipping as this is not a helm upgrade test") } + // TODO: remove when 2.8.0 is released + _, err := TestHelper.Kubectl("", + "--namespace", TestHelper.GetLinkerdNamespace(), + "delete", "serviceaccount", "linkerd-smi-metrics", + ) + if err != nil { + t.Fatalf("linkerd-smi-metrics SA deletion failed: %s", err) + } + time.Sleep(3 * time.Second) + args := []string{ "--reset-values", "--atomic",