Check if shard configuration is same across Geo nodes

This merge request will allow the primary to compare its storage configuration against the secondaries. Not that the status only works if you view the admin page on the primary, since the secondaries don't have access to the primary.

How it works:

  1. The primary will request the storage shard information via the /api/v4/geo/status endpoint
  2. The primary will compare whether the values match its current setttings

Since the shard configuration is currently stored in gitlab.yml, I've purposely tried avoided storing the shard configuration in the database to avoid multiple sources of the truth.

Screenshots

Matching case:

image

Not matching:

image

Closes gitlab-org/gitlab-ee#3243

Edited by Stan Hu

Merge request reports

Loading