Upgrading Geo sites involves performing:
- Version-specific upgrade steps, depending on the version being upgraded to or from.
- General upgrade steps, for all upgrades.
To upgrade the Geo sites when a new GitLab version is released, upgrade primary and all secondary sites:
- Optional. Pause replication on each secondary site to protect the disaster recovery (DR) capability of the secondary sites.
- SSH into each node of the primary site.
- Upgrade GitLab on the primary site.
- Perform testing on the primary site, particularly if you paused replication in step 1 to protect DR. There are some suggestions for post-upgrade testing in the upgrade documentation.
- Ensure that the secrets in the
/etc/gitlab/gitlab-secrets.jsonfile of both the primary site and the secondary site are the same. The file must be the same on all of a site’s nodes.
- SSH into each node of secondary sites.
- Upgrade GitLab on each secondary site.
If you paused replication in step 1, resume replication on each secondary. Then, restart Puma and Sidekiq on each secondary site. This is to ensure they are initialized against the newer database schema that is now replicated from the previously upgraded primary site.
sudo gitlab-ctl restart sidekiq sudo gitlab-ctl restart puma
- Test primary and secondary sites, and check version in each.
Now that the upgrade process is complete, you may want to check whether everything is working correctly:
Run the Geo Rake task on an application node for the primary and secondary sites. Everything should be green:
sudo gitlab-rake gitlab:geo:check
- Check the primary site’s Geo dashboard for any errors.
- Test the data replication by pushing code to the primary site and see if it is received by secondary sites.
If you encounter any issues, see the Geo troubleshooting guide.