...
- This documents expects that your cloud is deployed with the latest queens tag(vQ.n.n) 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: 'queensauto'
Background Color color red ^ WiP Lars Erik vet ikke om dette stemmer enda
...
- Run puppet with the rocky modules/tags
- Run
apt dist-upgrade
- Rerun puppet and restart the service
systemctl restart neutron-dhcp-agent.service neutron-l3-agent.service neutron-lbaasv2-agent.service neutron-metadata-agent.service neutron-openvswitch-agent.service neutron-ovs-cleanup.service
Nova
To upgrade nova without any downtime, follow this procedure
On the API-nodes (select one to start with):
- In the node-specific hiera, disable the services with the keys
apache::service_ensure: 'stopped'
nova::api::enabled: false
- Run puppet with the rocky modules/tags
- Run
apt dist-upgrade
- Run
nova-manage api_db sync
- Run
nova-manage db sync
- Re-enable placement API on the upgraded node and disable it on the other nodes. This is because the other services needs the placement API to be updated first
- Remove
apache::service_ensure: 'stopped'
from the upgraded node's hiera file - Set it on all the other nodes and run puppet
- Remove
- Upgrade the rest of the nodes (basically run step 2 and 3, re-run puppet and restart nova-api and apache2)
- Remove the hiera keys that disabled the services, and re-run puppet
Heat
The rolling upgrade procedure for heat includes a step where you are supposed to create a new rabbit vhost. I don't want that. Therefore, this is the cold upgrade steps.
Step 4 is only for the API-nodes, so the routine should be run on the API-nodes first
- Set heat::api::enabled: false and heat::engine::enabled: false and heat::api_cfn: false in hiera to stop all services
- Run puppet with rocky modules/tags
- Run apt-dist-upgrade
- Run heat-manage db_sync
- In hiera, add
heat::keystone::authtoken::www_authenticate_uri: "%{alias('ntnuopenstack::keystone::auth::uri')}"
to ntnuopenstack.yaml in hiera- And remove
heat::keystone::authtoken::auth_uri: "%{alias('ntnuopenstack::keystone::auth::uri')}"
- And remove
- Remove the hiera keys that disabled the services and re-run puppet