From aa87f502efd4f5045d49ba1b1d5a55c0e6d28a50 Mon Sep 17 00:00:00 2001 From: Alexey Palazhchenko Date: Wed, 25 Nov 2020 00:23:24 +0300 Subject: [PATCH] Fix IA APIs registration (#534) --- docker-compose.yml | 1 + main.go | 10 +++++++++- services/dbaas/dbaas_client_test.go | 4 ++-- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index f3b9662ef1..d7cd47ebc2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -15,6 +15,7 @@ services: - TRAVIS_PULL_REQUEST=${TRAVIS_PULL_REQUEST} - REVIEWDOG_GITHUB_API_TOKEN=${REVIEWDOG_GITHUB_API_TOKEN} - PERCONA_TEST_DBAAS=${PERCONA_TEST_DBAAS:-0} + - PERCONA_TEST_IA=1 # for delve cap_add: diff --git a/main.go b/main.go index 30dc16361e..4855ebc6bf 100644 --- a/main.go +++ b/main.go @@ -180,7 +180,7 @@ func runGRPCServer(ctx context.Context, deps *gRPCServerDeps) { managementpb.RegisterSecurityChecksServer(gRPCServer, managementgrpc.NewChecksServer(checksSvc)) // TODO remove PERCONA_TEST_IA once IA is out of beta: https://jira.percona.com/browse/PMM-7001 - if enable, _ := strconv.ParseBool(os.Getenv("PERCONA_TEST_IA")); enable { + if enable, err := strconv.ParseBool(os.Getenv("PERCONA_TEST_IA")); err == nil && enable { l.Warnf("Enabling experimental IA APIs.") iav1beta1.RegisterAlertsServer(gRPCServer, ia.NewAlertsService()) iav1beta1.RegisterChannelsServer(gRPCServer, ia.NewChannelsService()) @@ -188,6 +188,7 @@ func runGRPCServer(ctx context.Context, deps *gRPCServerDeps) { iav1beta1.RegisterTemplatesServer(gRPCServer, ia.NewTemplatesService()) } + // TODO Remove once changing settings.DBaaS.Enabled is possible via API. if deps.settings.DBaaS.Enabled { dbaasv1beta1.RegisterKubernetesServer(gRPCServer, managementdbaas.NewKubernetesServer(deps.db, deps.dbaasControllerClient)) dbaasv1beta1.RegisterXtraDBClusterServer(gRPCServer, managementdbaas.NewXtraDBClusterService(deps.db, deps.dbaasControllerClient)) @@ -285,6 +286,11 @@ func runHTTP1Server(ctx context.Context, deps *http1ServerDeps) { managementpb.RegisterAnnotationHandlerFromEndpoint, managementpb.RegisterSecurityChecksHandlerFromEndpoint, + iav1beta1.RegisterAlertsHandlerFromEndpoint, + iav1beta1.RegisterChannelsHandlerFromEndpoint, + iav1beta1.RegisterRulesHandlerFromEndpoint, + iav1beta1.RegisterTemplatesHandlerFromEndpoint, + dbaasv1beta1.RegisterKubernetesHandlerFromEndpoint, dbaasv1beta1.RegisterXtraDBClusterHandlerFromEndpoint, dbaasv1beta1.RegisterPSMDBClusterHandlerFromEndpoint, @@ -470,9 +476,11 @@ func getQANClient(ctx context.Context, sqlDB *sql.DB, dbName, qanAPIAddr string) } func getDBaaSControllerClient(ctx context.Context, dbaasControllerAPIAddr string, settings *models.Settings) *dbaas.Client { + // TODO Remove once changing settings.DBaaS.Enabled is possible via API. if !settings.DBaaS.Enabled { return dbaas.NewClient(nil) } + opts := []grpc.DialOption{ grpc.WithInsecure(), grpc.WithConnectParams(grpc.ConnectParams{Backoff: backoff.Config{MaxDelay: 10 * time.Second}, MinConnectTimeout: 10 * time.Second}), diff --git a/services/dbaas/dbaas_client_test.go b/services/dbaas/dbaas_client_test.go index 025658c6b6..f0b18ada90 100644 --- a/services/dbaas/dbaas_client_test.go +++ b/services/dbaas/dbaas_client_test.go @@ -46,7 +46,7 @@ func TestClient(t *testing.T) { return c } t.Run("InvalidKubeConfig", func(t *testing.T) { - if os.Getenv("PERCONA_TEST_DBAAS") != "1" { + if os.Getenv("PERCONA_TEST_DBAAS") != "1" { // FIXME use strconv.ParseBool t.Skip("PERCONA_TEST_DBAAS env variable is not passed, skipping") } kubeConfig := os.Getenv("PERCONA_TEST_DBAAS_KUBECONFIG") @@ -59,7 +59,7 @@ func TestClient(t *testing.T) { }) t.Run("InvalidKubeConfig", func(t *testing.T) { - if os.Getenv("PERCONA_TEST_DBAAS") != "1" { + if os.Getenv("PERCONA_TEST_DBAAS") != "1" { // FIXME use strconv.ParseBool t.Skip("PERCONA_TEST_DBAAS env variable is not passed, skipping") }