From e04647fb8dde01618c0729384c715807775e45a3 Mon Sep 17 00:00:00 2001 From: Tarun Pothulapati Date: Wed, 6 Jan 2021 03:52:39 +0530 Subject: [PATCH] remove prom check for public-api self-check (#5436) Currently, public-api is part of the core control-plane where the prom check fails when ran before the viz extension is installed. This change comments out that check, Once metrics api is moved into viz, maybe this check can be part of it instead or directly part of `linkerd viz check`. Signed-off-by: Tarun Pothulapati Co-authored-by: Kevin Leimkuhler --- controller/api/public/grpc_server.go | 39 ++++++++++--------- test/integration/install_test.go | 6 ++- test/integration/testdata/check.cni.golden | 1 - .../testdata/check.cni.proxy.golden | 1 - test/integration/testdata/check.golden | 1 - .../testdata/check.multicluster.proxy.golden | 1 - test/integration/testdata/check.proxy.golden | 1 - 7 files changed, 26 insertions(+), 24 deletions(-) diff --git a/controller/api/public/grpc_server.go b/controller/api/public/grpc_server.go index de1ae4ec9..70e19a2c4 100644 --- a/controller/api/public/grpc_server.go +++ b/controller/api/public/grpc_server.go @@ -45,11 +45,11 @@ type podReport struct { } const ( - podQuery = "max(process_start_time_seconds{%s}) by (pod, namespace)" - k8sClientSubsystemName = "kubernetes" - k8sClientCheckDescription = "control plane can talk to Kubernetes" - promClientSubsystemName = "prometheus" - promClientCheckDescription = "control plane can talk to Prometheus" + podQuery = "max(process_start_time_seconds{%s}) by (pod, namespace)" + k8sClientSubsystemName = "kubernetes" + k8sClientCheckDescription = "control plane can talk to Kubernetes" + // promClientSubsystemName = "prometheus" + // promClientCheckDescription = "control plane can talk to Prometheus" ) func newGrpcServer( @@ -206,20 +206,23 @@ func (s *grpcServer) SelfCheck(ctx context.Context, in *healthcheckPb.SelfCheckR }, } - if s.prometheusAPI != nil { - promClientCheck := &healthcheckPb.CheckResult{ - SubsystemName: promClientSubsystemName, - CheckDescription: promClientCheckDescription, - Status: healthcheckPb.CheckStatus_OK, - } - _, err = s.queryProm(ctx, fmt.Sprintf(podQuery, "")) - if err != nil { - promClientCheck.Status = healthcheckPb.CheckStatus_ERROR - promClientCheck.FriendlyMessageToUser = fmt.Sprintf("Error calling Prometheus from the control plane: %s", err) - } + // TODO: viz: Enable this check once controller moves to viz + /* + if s.prometheusAPI != nil { + promClientCheck := &healthcheckPb.CheckResult{ + SubsystemName: promClientSubsystemName, + CheckDescription: promClientCheckDescription, + Status: healthcheckPb.CheckStatus_OK, + } + _, err = s.queryProm(ctx, fmt.Sprintf(podQuery, "")) + if err != nil { + promClientCheck.Status = healthcheckPb.CheckStatus_ERROR + promClientCheck.FriendlyMessageToUser = fmt.Sprintf("Error calling Prometheus from the control plane: %s", err) + } - response.Results = append(response.Results, promClientCheck) - } + response.Results = append(response.Results, promClientCheck) + } + */ return response, nil } diff --git a/test/integration/install_test.go b/test/integration/install_test.go index 7c4bd98d3..db4f80d15 100644 --- a/test/integration/install_test.go +++ b/test/integration/install_test.go @@ -4,7 +4,6 @@ import ( "context" "fmt" "os" - "strconv" "strings" "testing" "time" @@ -815,6 +814,10 @@ func TestInstallSP(t *testing.T) { } } +// This test fails because no web component is installed during this phase of +// the extension split. It should be renabled after the issue below is closed. +// Issue: https://github.com/linkerd/linkerd2/issues/5478 +/* func TestDashboard(t *testing.T) { dashboardPort := 52237 dashboardURL := fmt.Sprintf("http://localhost:%d", dashboardPort) @@ -851,6 +854,7 @@ func TestDashboard(t *testing.T) { resp, TestHelper.GetVersion()) } } +*/ func TestInject(t *testing.T) { resources, err := testutil.ReadFile("testdata/smoke_test.yaml") diff --git a/test/integration/testdata/check.cni.golden b/test/integration/testdata/check.cni.golden index 0a2f3233a..d57f3efa7 100644 --- a/test/integration/testdata/check.cni.golden +++ b/test/integration/testdata/check.cni.golden @@ -64,7 +64,6 @@ linkerd-api √ control plane pods are ready √ control plane self-check √ [kubernetes] control plane can talk to Kubernetes -√ [prometheus] control plane can talk to Prometheus linkerd-version --------------- diff --git a/test/integration/testdata/check.cni.proxy.golden b/test/integration/testdata/check.cni.proxy.golden index c3d60a74e..9df457879 100644 --- a/test/integration/testdata/check.cni.proxy.golden +++ b/test/integration/testdata/check.cni.proxy.golden @@ -68,7 +68,6 @@ linkerd-api √ control plane pods are ready √ control plane self-check √ [kubernetes] control plane can talk to Kubernetes -√ [prometheus] control plane can talk to Prometheus linkerd-version --------------- diff --git a/test/integration/testdata/check.golden b/test/integration/testdata/check.golden index 912b24960..770dda173 100644 --- a/test/integration/testdata/check.golden +++ b/test/integration/testdata/check.golden @@ -52,7 +52,6 @@ linkerd-api √ control plane pods are ready √ control plane self-check √ [kubernetes] control plane can talk to Kubernetes -√ [prometheus] control plane can talk to Prometheus linkerd-version --------------- diff --git a/test/integration/testdata/check.multicluster.proxy.golden b/test/integration/testdata/check.multicluster.proxy.golden index 60b51024b..4d788221e 100644 --- a/test/integration/testdata/check.multicluster.proxy.golden +++ b/test/integration/testdata/check.multicluster.proxy.golden @@ -56,7 +56,6 @@ linkerd-api √ control plane pods are ready √ control plane self-check √ [kubernetes] control plane can talk to Kubernetes -√ [prometheus] control plane can talk to Prometheus linkerd-version --------------- diff --git a/test/integration/testdata/check.proxy.golden b/test/integration/testdata/check.proxy.golden index 3fc9f3dd4..880cc9b32 100644 --- a/test/integration/testdata/check.proxy.golden +++ b/test/integration/testdata/check.proxy.golden @@ -56,7 +56,6 @@ linkerd-api √ control plane pods are ready √ control plane self-check √ [kubernetes] control plane can talk to Kubernetes -√ [prometheus] control plane can talk to Prometheus linkerd-version ---------------