...
- Run
nova-manage db online_data_migrations
on an API node. Ensure that it reports that nothing more needs to be done. - Convert all tables in the mysql-database to the row-format "DYNAMIC" if the databases was created before maria 10.2
Use the followin 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;
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'
- Run puppet with the train modules/tags
- Run
apt-get purge python-cinderclient && dist-upgrade && apt-get autoremove
- 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 1-3, re-run puppet and restart nova-api and apache2)
Nova-services
- Run puppet with the stein train modules/tags
- Run
apt dist-upgrade &&
apt-get autoremove
- Run puppet and restart services
...