This article summarizes the steps required to upgrade from the newton pike release to the queens release of openstack.
...
- This documents expects that your cloud is deployed with the latest newton pike tag(vP.0.0) of the ntnuopenstack repository.
- Your cloud is designed with one of the two architectures:
- Each openstack project have their own VM(s) for their services
- You have a recent mysql backup in case things go south.
- If you want to do a rolling upgrade, the following key should be set in hiera long enough in advance that all hosts have had an puppet-run to apply it:
nova::upgrade_level_compute: 'pike'
VM-based architecture
If you use the VM based infrastructure you have the luxury of upgrading one service at a time and test that the upgrade works before doing the next service. This allows for ~zero downtime. If the services are redundantly deployed it is also very easy to do a rollback.
...
- Run puppet with the queens modules/tags
- Purge the keystone package
- Run apt-get dist-upgrade (Which will fail)Purge the keystone package
- Run puppet again
- Perform the DB sync
- keystone-manage db_sync
- Restart apache2
...
- Run puppet with the queens modules/tags
- Run apt-get dist-upgrade
- migrate the database
- Delete old cinder-services with the command "
cinder-manage service remove
<service> <host>"- This applies for all services from the old controllers if they still exists, but also for the old cinder-volume services which are tied to a specific host.
- restart cinder services (including apache2!)
- Run puppet with the queens modules/tags
- restart cinder services (including apache2!)
Glance
- Run puppet with the queens modules/tags
- Run apt-get dist-upgrade
- Update the glance database schema
- glance-manage db sync
- restart glance services
...
- Run puppet with the queens modules/tags
- Run apt-get dist-upgrade
- restart neutron services
Nova
On the API node:
- Run puppet with the queens modules/tags
- Run apt-get dist-upgrade
- Migrate the databases
nova-manage api_db sync
nova-manage db sync
- Restart services
On the services node:
- Run puppet with the queens modules/tags
- Run apt-get dist-upgrade
- Restart services
Heat
On the API node:
- Run puppet with the queens modules/tags
- Run apt-get dist-upgrade
- heat-manage db_sync
- restart heat services
On the engine node:
- Run puppet with the queens modules/tags
- Run apt-get dist-upgrade
- Restart heat-engine
Horizon
- Run puppet with the queens modules/tags
- run apt-get dist-upgrade
- Run puppet again
- restart apache2
Compute-nodes
When controllers etc. are upgraded, it is time to do the same on the comute-nodes. Compute nodes are simple to upgrade:
- Stop nova-compute (systemctl stop nova-compute)
- The queens r10k env will update the home directory of the nova user. This can not be done while nova-compute is running
- Run puppet with the pike modules/tags
- Perform a dist-upgrade
- Run puppet again
- Restart openstack services