Ensure openstack-release package is correct after install hook

The linked bug shows the install of the charm with openstack-origin set
to zed.  This happens because configure_installation_source() causes the
openstack-release package to be installed *before* the zed cloud archive
sources are configured into /etc/apt and an apt update done. This means
that the openstack-release package says "yoga" despite the zed packages
actually being installed.

Then, on the config-changed hook, it sees that the installed version is
showing as yoga and tries to do an upgrade.  This fails, as the charm
hasn't yet bootstrapped, and the charm tries to bootstrap after
upgrading the packages.

There's a few bugs here which are exposed, but the tactical fix is to
force the openstack-release to match the installed packages.

Closes-Bug: #1989538
Change-Id: Icdef04e25e74c0a18fd49997c5f5b0540d583f40
This commit is contained in:
Corey Bryant 2022-10-04 15:23:55 +00:00
parent 82c441de07
commit abb8ee551c

View File

@ -190,6 +190,10 @@ def install():
hookenv.status_set('maintenance', 'Installing apt packages') hookenv.status_set('maintenance', 'Installing apt packages')
ch_fetch.apt_update() ch_fetch.apt_update()
# (ajkavanagh) LP: #1989538
# Tactical fix to force openstack-release to match the configured
# installation source; note that it comes after apt_update().
ch_fetch.apt_install(['openstack-release'], fatal=False, quiet=True)
ch_fetch.apt_install(ncc_utils.determine_packages(), fatal=True) ch_fetch.apt_install(ncc_utils.determine_packages(), fatal=True)
ncc_utils.disable_package_apache_site() ncc_utils.disable_package_apache_site()