Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This is the zero downtime approach

Before you begin

  • Set apache::service_ensure: 'stopped' in hiera for the node that you plan to run the rolling upgrade from
  • Login to a mysql node, start the mysql CLI, and run set global log_bin_trust_function_creators=1;

Upgrade-steps (start with a single node):

  1. Set apache::service_ensure: 'stopped' in hiera for the node that you are upgrading
  2. Do one of these two alternatives:
    1. Run puppet with the victoria modules/tags
  3. Purge the keystone and apache2 package
  4. Run 
    1. , run apt-get
    autoremove && apt
    1. dist-upgrade
    && apt clean && apt autoclean
    1. , and run puppet again
    2. Reinstall the node with the victoria modules/tags
    Run puppet again
    1. This will re-install keystone (ensure that apache2 does not start - should be ensured by puppet as of the enable: false flag in hiera)
  5. Run keystone-manage doctor and ensure nothing is wrong
  6. Run keystone-manage db_sync --expand
    1. Returns nothing
  7. Run keystone-manage db_sync --migrate
    1. Returns nothing
  8. At this point, you may restart apache2 on this node
    1. Remove the  apache::service_ensure: 'stopped' previously set in hiera.
  9. Upgrade keystone on the other nodes, one at a time
    1. Basically run step 1-5 , 2 and 6 on the other nodes
  10. When all nodes are upgraded, perform the final DB sync
    1. keystone-manage db_sync --contract