Updating the Geo nodes (PREMIUM ONLY)

CAUTION: Warning: Please ensure you read these sections carefully before updating your Geo nodes! Not following version-specific update steps may result in unexpected downtime. Please contact support if you have any specific questions.

Updating Geo nodes involves performing:

  1. Version-specific update steps, depending on the version being updated to or from.
  2. General update steps, for all updates.

General update steps

NOTE: Note: These general update steps are not intended for high-availability deployments, and will cause downtime. If you want to avoid downtime, consider using zero downtime updates.

DANGER: Danger: In GitLab 13.2 and later versions, promoting a secondary node to a primary while the secondary is paused fails. We are investigating the issue. Do not pause replication before promoting a secondary. If the node is paused, please resume before promoting.

To update the Geo nodes when a new GitLab version is released, update primary and all secondary nodes:

  1. Optional: Pause replication on each secondary node.
  2. Log into the primary node.
  3. Update GitLab on the primary node using Omnibus's Geo-specific steps.
  4. Log into each secondary node.
  5. Update GitLab on each secondary node using Omnibus's Geo-specific steps.
  6. If you paused replication in step 1, resume replication on each secondary
  7. Test primary and secondary nodes, and check version in each.

Check status after updating

Now that the update process is complete, you may want to check whether everything is working correctly:

  1. Run the Geo Rake task on all nodes, everything should be green:

    sudo gitlab-rake gitlab:geo:check
  2. Check the primary node's Geo dashboard for any errors.

  3. Test the data replication by pushing code to the primary node and see if it is received by secondary nodes.

If you encounter any issues, please consult the Geo troubleshooting guide.