From ad7248ee8c4d47831ebb336471b6ab5a45c104af Mon Sep 17 00:00:00 2001 From: harture Date: Tue, 13 Nov 2018 18:03:43 +0100 Subject: [PATCH 1/2] Flaki is now optional to start daemon --- cmd/keycloakb/keycloak_bridge.go | 26 +++++++++++++------------- internal/keycloakb/flaki.go | 23 +++++++++++++++++++++++ 2 files changed, 36 insertions(+), 13 deletions(-) create mode 100644 internal/keycloakb/flaki.go diff --git a/cmd/keycloakb/keycloak_bridge.go b/cmd/keycloakb/keycloak_bridge.go index 8435f5d3a..cb272aed4 100644 --- a/cmd/keycloakb/keycloak_bridge.go +++ b/cmd/keycloakb/keycloak_bridge.go @@ -231,8 +231,8 @@ func main() { } // Flaki. - var flakiClient fb_flaki.FlakiClient - { + var flakiClient fb_flaki.FlakiClient = &keycloakb.NoopFlakiClient{} + if flakiEnabled { // Set up a connection to the flaki-service. var conn *grpc.ClientConn { @@ -246,20 +246,20 @@ func main() { } flakiClient = fb_flaki.NewFlakiClient(conn) - } - // Get unique ID for this component - { - var b = flatbuffers.NewBuilder(0) - fb_flaki.FlakiRequestStart(b) - b.Finish(fb_flaki.FlakiRequestEnd(b)) + // Get unique ID for this component + { + var b = flatbuffers.NewBuilder(0) + fb_flaki.FlakiRequestStart(b) + b.Finish(fb_flaki.FlakiRequestEnd(b)) - var res, err = flakiClient.NextValidID(context.Background(), b) - if err != nil { - logger.Log("msg", "could not connect to flaki-service", "error", err) - return + var res, err = flakiClient.NextValidID(context.Background(), b) + if err != nil { + logger.Log("msg", "could not connect to flaki-service", "error", err) + return + } + ComponentID = string(res.Id()) } - ComponentID = string(res.Id()) } // Add component name, component ID and version to the logger tags. diff --git a/internal/keycloakb/flaki.go b/internal/keycloakb/flaki.go new file mode 100644 index 000000000..e531d7460 --- /dev/null +++ b/internal/keycloakb/flaki.go @@ -0,0 +1,23 @@ +package keycloakb + +import ( + errors "github.com/pkg/errors" + context "golang.org/x/net/context" + grpc "google.golang.org/grpc" + + fb "github.com/cloudtrust/keycloak-bridge/api/flaki/fb" + flatbuffers "github.com/google/flatbuffers/go" +) + +// NoopCockroach is a cockroach client that does nothing. +type NoopFlakiClient struct{} + +func (c NoopFlakiClient) NextID(ctx context.Context, in *flatbuffers.Builder, + opts ...grpc.CallOption) (*fb.FlakiReply, error) { + return nil, errors.New("Flaki is disabled") +} + +func (c NoopFlakiClient) NextValidID(ctx context.Context, in *flatbuffers.Builder, + opts ...grpc.CallOption) (*fb.FlakiReply, error) { + return nil, errors.New("Flaki is disabled") +} From d3d629f229134b6d296fb857ee802ad5259bc4f7 Mon Sep 17 00:00:00 2001 From: harture Date: Wed, 14 Nov 2018 08:57:05 +0100 Subject: [PATCH 2/2] Add disable mechanism for jobs --- cmd/keycloakb/keycloak_bridge.go | 4 +++- configs/keycloak_bridge.yml | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/cmd/keycloakb/keycloak_bridge.go b/cmd/keycloakb/keycloak_bridge.go index cb272aed4..abcaec2c3 100644 --- a/cmd/keycloakb/keycloak_bridge.go +++ b/cmd/keycloakb/keycloak_bridge.go @@ -109,6 +109,7 @@ func main() { keycloakEnabled = c.GetBool("keycloak") redisEnabled = c.GetBool("redis") sentryEnabled = c.GetBool("sentry") + jobEnabled = c.GetBool("job") pprofRouteEnabled = c.GetBool("pprof-route-enabled") // Influx @@ -581,7 +582,7 @@ func main() { } // Jobs - { + if jobEnabled { var ctrl = controller.NewController(ComponentName, ComponentID, idgenerator.New(flakiClient, tracer), &job_lock.NoopLocker{}, controller.EnableStatusStorage(job_status.New(cockroachConn))) for _, job := range []string{"cockroach", "elasticsearch", "flaki", "influx", "jaeger", "keycloak", "redis", "sentry"} { @@ -842,6 +843,7 @@ func config(logger log.Logger) *viper.Viper { v.SetDefault("cockroach-clean-interval", "24h") // Jobs + v.SetDefault("job", false) v.SetDefault("job-flaki-health-validity", "1m") v.SetDefault("job-influx-health-validity", "1m") v.SetDefault("job-jaeger-health-validity", "1m") diff --git a/configs/keycloak_bridge.yml b/configs/keycloak_bridge.yml index 099473141..0cfc13a50 100644 --- a/configs/keycloak_bridge.yml +++ b/configs/keycloak_bridge.yml @@ -56,6 +56,7 @@ jaeger-collector-healthcheck-host-port: pprof-route-enabled: true # Jobs +job: false job-es-health-validity: 1m job-flaki-health-validity: 1m job-influx-health-validity: 1m