Add automated testing for upgrades We also retry a few things here that commonly fail because of race conditions
Add support for keystone upgrades Keystone can now deploy openstack rocky and upgrade from queens to rocky.
Pass context in versioned dependencies To allow versioned dependencies to decide outcomes based on the currently running CR we pass the context to all calls of versioned dependencies. This is a prerequisite for later deciding on the image version based on the current cr.
Validate version upgrades To ensure the user does not try to upgrade/downgrade in ways that are not supported by use we introduce additional checks to validate the difference between installed and targeted version.