...
- Run
nova-manage db online_data_migrations
on an API node. Ensure that it reports that nothing more needs to be done.- Make sure there is no errors. Particulary anything related to "virtual interface table". See https://bugs.launchpad.net/nova/+bug/1824435
- Convert all tables in the mysql-database to the row-format "DYNAMIC" if the databases was created before maria 10.2
Use the following code-snippet to create the relevant mysql-statements:
Code Block for table in `mysql --batch --skip-column-names --execute="SELECT CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) FROM information_schema.TABLES WHERE ENGINE = 'InnoDB' AND ROW_FORMAT IN('Redundant', 'Compact') AND TABLE_NAME NOT IN('SYS_DATAFILES', 'SYS_FOREIGN', 'SYS_FOREIGN_COLS', 'SYS_TABLESPACES', 'SYS_VIRTUAL', 'SYS_ZIP_DICT', 'SYS_ZIP_DICT_COLS');"`; do echo "ALTER TABLE ${table} ROW_FORMAT=DYNAMIC;";done;
...
- Set
heat::api::enabled: false
andheat::engine::enabled: false
andheat::api_cfn::enabled: false
in hiera to stop all services - Run puppet with train modules/tags
- Run
apt-get update && apt-get dist-upgrade && apt-get autoremove
- Run
heat-manage db_sync
on one of the api-nodes. - Remove the hiera keys that disabled the services and re-run puppet
...
When all APIs etc. are upgraded, it is time to do the same on the compute-nodes. Compute nodes are simple to upgrade:
- Fix apt-pin for libc-hack :S
- Run puppet with the train modules/tags
- Run
export DEBIAN_FRONTEND=noninteractive; apt-get purge python-cinderclient && apt -y 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
- No downtime:
GPU-nodes
- Run puppet with the train modules/tags
- Run
yum upgrade && yum autoremove
- Run puppet again
- Restart openstack services and openvswitch-services
...
- Remove old neutron-agents
- Delete the rabbit-queue for neutron-lbaas: Run this on a rabbit host:
rabbitmqadmin delete queue name=n-lbaasv2-plugin
- Run
nova-manage db online_data_migrations
on a nova API node. Ensure that it reports that nothing more needs to be done.