Geo: Improve no downtime upgrade documentation

Right now we have documentation on how to do a no-downtime upgrade for Omnibus in https://docs.gitlab.com/omnibus/update/README.html#updating-with-no-downtime-in-9-1-or-higher (https://docs.gitlab.com/omnibus/update/README.html#zero-downtime-updates ?).

However, we now have customers who are using both Geo primaries and secondaries in an HA setup who also want no-downtime migrations.

I think at the minimum we need to add these notes:

  1. Extend the documentation to mention that the primary and secondaries should be thought of as "one big cluster" where each node should be updated with the latest code.
  2. Designate a Deploy Node on both primary and secondary Geo clusters.
  3. Ensure the primary has gitlab_rails['auto_migrate'] = false and geo_secondary['auto_migrate'] = false
  4. Run SKIP_POST_DEPLOYMENT_MIGRATIONS=true gitlab-rake db:migrate on the Geo primary
  5. Run SKIP_POST_DEPLOYMENT_MIGRATIONS=true gitlab-rake geo:db:migrate on the Geo secondary
  6. HUP unicorn and sidekiq on primary and secondary
  7. Run gitlab-rake db:migrate on the Geo primary
  8. Run gitlab-rake geo:db:migrate on the Geo secondary
  9. Restart geo-logcursor and sidekiq on the Geo secondary
  10. Run gitlab-rake gitlab:geo:check on both the primary and secondary
Edited May 31, 2018 by Ash McKenzie
Assignee Loading
Time tracking Loading