diff options
author | Will Chandler <wchandler@gitlab.com> | 2022-11-15 22:29:23 +0300 |
---|---|---|
committer | Will Chandler <wchandler@gitlab.com> | 2022-11-15 22:29:23 +0300 |
commit | 971bbcf80ff25ebde5286dff239f8de1a9d574b2 (patch) | |
tree | ef6c58752702909d6736a7691a88475a7dbea0c1 | |
parent | 631c94433ca5017be566bb65f4ac792ab672e956 (diff) | |
parent | 7b319edd5db8f8fdceecf61ad17f1407c8919f4d (diff) |
Merge branch 'jt-readiness-rpc-v15.5' into '15-5-stable'
backport: Remove clock drift readiness check
See merge request https://gitlab.com/gitlab-org/gitaly/-/merge_requests/5060
Merged-by: Will Chandler <wchandler@gitlab.com>
Approved-by: John Cai <jcai@gitlab.com>
Approved-by: Will Chandler <wchandler@gitlab.com>
Co-authored-by: Justin Tobler <jtobler@gitlab.com>
-rw-r--r-- | cmd/praefect/main.go | 2 | ||||
-rw-r--r-- | internal/praefect/service/checks.go | 19 |
2 files changed, 16 insertions, 5 deletions
diff --git a/cmd/praefect/main.go b/cmd/praefect/main.go index 078db25df..daed37853 100644 --- a/cmd/praefect/main.go +++ b/cmd/praefect/main.go @@ -436,7 +436,7 @@ func run( protoregistry.GitalyProtoPreregistered, nodeSet.Connections(), primaryGetter, - service.AllChecks(), + service.ReadinessChecks(), ) ) metricsCollectors = append(metricsCollectors, transactionManager, coordinator, repl) diff --git a/internal/praefect/service/checks.go b/internal/praefect/service/checks.go index 9bf5e7bb0..37f51256c 100644 --- a/internal/praefect/service/checks.go +++ b/internal/praefect/service/checks.go @@ -38,9 +38,10 @@ const ( Fatal = "fatal" ) -// Check is a struct representing a check on the health of a Gitaly cluster's setup. These are separate from the "healthcheck" -// concept which is more concerned with the health of the praefect service. These checks are meant to diagnose any issues with -// the praefect cluster setup itself and will be run on startup/restarts. +// Check represents a check to be performed to validate Gitaly cluster health. +// Checks are used to diagnose issues with Praefect cluster setup through the +// Praefect CLI `check` subcommand and also performed through the invoking of +// the readiness RPC. type Check struct { Run func(ctx context.Context) error Name string @@ -62,6 +63,16 @@ func AllChecks() []CheckFunc { } } +// ReadinessChecks returns the checks invoked by the Praefect readiness RPC. +func ReadinessChecks() []CheckFunc { + return []CheckFunc{ + NewPraefectMigrationCheck, + NewGitalyNodeConnectivityCheck, + NewPostgresReadWriteCheck, + NewUnavailableReposCheck, + } +} + // NewPraefectMigrationCheck returns a Check that checks if all praefect migrations have run func NewPraefectMigrationCheck(conf config.Config, w io.Writer, quiet bool) *Check { return &Check{ @@ -204,7 +215,7 @@ func NewUnavailableReposCheck(conf config.Config, w io.Writer, quiet bool) *Chec } // NewClockSyncCheck returns a function that returns a check that verifies if system clock is in sync. -func NewClockSyncCheck(clockDriftCheck func(ntpHost string, driftThreshold time.Duration) (bool, error)) func(_ config.Config, _ io.Writer, _ bool) *Check { +func NewClockSyncCheck(clockDriftCheck func(ntpHost string, driftThreshold time.Duration) (bool, error)) CheckFunc { return func(conf config.Config, w io.Writer, quite bool) *Check { return &Check{ Name: "clock synchronization", |