Create a command line tool that pauses/resumes all replication on the secondary
Current state: After a successful POC, we determined that a first iteration would be a CLI tool that can handle pausing of all data on the secondary.
Problem to solve
Currently, pausing replication on the Primary for Geo does only pause replication for repositories and files. We should enhance the existing
pause logic and include database replication. This is only possible on the Secondary Geo node.
#36217 (closed) evaluated if it was possible to pause database replication and resume again.
gitlab-ctl geo:pauseor similar that pauses all replication
gitlab-ctl geo:resumeor similar that resumes all replication
- As the secondary node is on read-only mode, to pause the node (enable=false) we need to make an API request to primary node.
- Update api to allow nodes to disable themselves
- Add service and rake task to make api call to disable nodes
- Add gitlab-ctl command to pause wall and call rake task - omnibus-gitlab!4331 (merged)
- Add documentation on pausing secondaries from their consoles - !33113 (merged)
- Change front end button to indicator with a link to documentation on pausing nodes
gitlab-rake may be right, not sure which.
We need to update documentation to explain what "pausing" entails and what the possible risks are. We also need to describe the differences between the UI on the primary and the CLI tool on the secondary.
Pausing and restarting should be tested thoroughly because it could break the Geo setup
What does success look like, and how can we measure that?
gitlab-ctl command can be successfully run on a secondary node.
What is the type of buyer?