...
- Run
nova-manage db online_data_migrations
on an API node. Ensure that it reports that nothing more needs to be done. - Add nova db-settings to hiera:
nova::db::api_database_connection: "mysql+pymysql://nova_api:%{lookup('ntnuopenstack::nova::mysql::password')}@%{lookup('ntnuopenstack::nova::mysql::ip')}/nova_api"
nova::db::database_connection: "mysql+pymysql://nova:%{lookup('ntnuopenstack::nova::mysql::password')}@%{lookup('ntnuopenstack::nova::mysql::ip')}/nova"
Nova API
- In the node-specific hiera, disable the services at the first node you would like to upgrade with the keys
apache::service_ensure: 'stopped'
- Do one of:
- Run puppet with the wallaby modules/tags, Run
apt dist-upgrade && apt-get autoremove
- Reinstall the node with wallaby modules/tags
- Run puppet with the wallaby modules/tags, Run
- Run
nova-manage api_db sync
- Run
nova-manage db sync
- Re-enable placement API on the upgraded node:
- Remove
apache::service_ensure: 'stopped'
from the upgraded node's hiera file
- Remove
- Upgrade the rest of the nodes (basically run step 2)
...
- Set
heat::api::enabled: false
andheat::engine::enabled: false
andheat::api_cfn::enabled: false
in hiera to stop all services - Do one of:
- Run puppet with wallaby modules/tags, Run
apt-get update && apt-get dist-upgrade && apt-get autoremove
- Reinstall the nodes with wallaby modules/tags
- Run puppet with wallaby modules/tags, Run
- Run
heat-manage db_sync
on one of the api-nodes. - Remove the hiera keys that disabled the services and re-run puppet
Barbican
Barbican must be stopped for upgrades, and can thus be performed on all barbican 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.
- Stop all barbican-services by adding the following keys to node-specific hiera, and then make sure to run puppet on the barbican hosts:
barbican::worker::enabled: false
apache::service_ensure: 'stopped'
Run puppet with the wallaby modules/tags
Run
apt dist-upgrade && apt-get autoremove
Run
barbican-db-manage upgrade
Re-start barbican services by removing the keys added in step 1 and re-run puppet.
Octavia
Octavia must be stopped for upgrades, and can thus be performed on all octavia-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.
- Stop all octavia-services by adding the following keys to hiera, and then make sure to run puppet on the octavia hosts:
octavia::housekeeping::enabled: false
octavia::health_manager::enabled: false
octavia::api::enabled: false
octavia::worker::enabled: false
Do one of:
- Reinstall the node with wallaby modules/tags
Run puppet with the wallaby 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 wallaby-based octavia-image and upload to glance. Tag it and make octavia start to replace the amphora.
Horizon
- Run puppet with the wallaby modules/tags
- run
dnf upgrade
- Yes this is weird: Login to all memcached servers, and run
systemctl restart memcached
- This is only necessary when upgrading the first horizon server
- Run puppet again
- restart httpd