...
This is what we do in production environments. The general upgrade procedure are:
- Stop puppet on all controller nodes, and merge in the correct configuration using r10k.
- Stop ALL openstack services on all controllers.
- Do a puppet-run on the "primary" controller (The one doing the db-sync etc; in SkyHiGh its controller01), which will fail.
- Perform an installation of the newer packages using 'apt-get -y dist-upgrade -o Dpkg::Options::="--force-confnew"'
- Test all api's, and fix db sync errors where those appear. (Typically visible by having errors in the api's, and log messages complaining about missing fields)
- Perform step 2+3 on the other controllers
- Test
- Start puppet on compute-node, let it run once before the 'apt-get -y dist-upgrade -o Dpkg::Options::="--force-confnew"' is issued to install newer packages.
- Test and verify a successful upgrade.
Upgrade to a new verison, and test it in skylow.
Unfinished notes:
- Wait for version to be stable, and for stable puppet modules
- Create a new branch in the repos to work with.
- Upgrade controllers before compute.
- Commit changes, test them
- merge to master and tag