...
- Run puppet with the ussuri modules/tags
- Purge the keystone and apache2 package
- Run
apt dist-upgrade && apt clean && apt autoclean
&&apt-get autoremove
- Run puppet again
- This will re-install keystone (ensure that apache2 does not start - should be ensured by puppet as of the enable: false flag in hiera)
- Run
keystone-manage doctor
and ensure nothing is wrong - Run
keystone-manage db_sync --expand
- Returns nothing
- Run
keystone-manage db_sync --migrate
- Returns nothing
- At this point, you may restart apache2 on this node
- Remove the
apache::service_ensure: 'stopped'
previously set in hiera.
- Remove the
- Upgrade keystone on the other nodes, one at a time
- Basically run step 1-5 on the other nodes
- When all nodes are upgraded, perform the final DB sync
keystone-manage db_sync --contract
...
- Run puppet with the ussuri modules/tags
- Run
apt dist-upgrade
- Rerun puppet and restart the service
systemctl restart ovsdb-server
systemctl restart neutron-dhcp-agent.service neutron-l3-agent.service neutron-metadata-agent.service neutron-openvswitch-agent.service neutron-ovs-cleanup.service
- Verify that routers on the node actually work. We had to reinstall a node in skylow to make it work.
Placement
- Run puppet with ussuri modules/tags
- Run
apt-get purge placement-api placement-common python3-placement && apt-get autoremove && apt-get dist-upgrade
- Run puppet again
- Run
placement-manage db sync; placement-manage db online_data_migrations
...
Magnum must be stopped for upgrades, and can thus be performed on all magnum-hosts at the same time. It might be an idea to keep one set of hosts stopped at old code in case of the need for a sudden roll-back.
- Reinstall the server to CentOS 8
- Stop all magnum-services by adding the following keys to node-specific hiera, and then make sure to run puppet on the magnum hosts:
magnum::conductor::enabled: false
apache::service_ensure: 'stopped'
- Add
magnum::keystone::keystone_auth::auth_url: "%{alias('magnum::keystone::authtoken::auth_url')}"
andmagnum::keystone::keystone_auth::password: "%{alias('magnum::keystone::authtoken::password')}"
tontnuopenstack.yaml
Run puppet with the ussuri modules/tags
Run
yum upgrade
Run
su -s /bin/sh -c "magnum-db-manage upgrade" magnum
Re-start magnum services by removing the keys added in step 1 and re-run puppet.
...
- Stop all magnum-services by adding the following keys to node-specific hiera, and then make sure to run puppet on the magnum hosts:
octavia::housekeeping::enabled
: false
octavia::health_manager::enabled
: false
octavia::api::enabled
: false
octavia::worker::enabled: false
Run puppet with the ussuri modules/tags
Run
apt-get dist-upgrade && apt-get autoremove
- Run puppet
Run
octavia-db-manage upgrade head
Re-start octavia services by removing the keys added in step 1 and re-run puppet.
- Build a ussuri-based octavia-image and upload to glance. Tag it and make octavia start to replace the amphora.
Horizon
- Reinstall the server to CentOS 8
- Run puppet with the ussuri modules/tags
- run
yum upgrade
- Run puppet again
- restart httpd
...
- Run puppet with the ussuri modules/tags
- Run
apt -get purge python-cinderclient && apt dist-upgrade && apt-get autoremove
- Run puppet again
- Restart openstack services and openvswitch-services
- No downtime:
systemctl restart nova-compute.service neutron-openvswitch-agent.service
At a later point: reboot
GPU-nodes
- Reinstall the server to CentOS 8
- Run puppet with the ussuri modules/tags
- Run
yum upgrade && yum autoremove
- Run puppet again
- Restart openstack services and openvswitch-services
...