From f5a61e7c784e48772fdb07aac4782e74b9e09951 Mon Sep 17 00:00:00 2001 From: Corey Bryant Date: Tue, 4 Oct 2022 15:19:46 +0000 Subject: [PATCH] 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: I501aae7f7d818211deaeda945648dfdf63c21d7a --- hooks/heat_relations.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hooks/heat_relations.py b/hooks/heat_relations.py index fa6d9ce..8988218 100755 --- a/hooks/heat_relations.py +++ b/hooks/heat_relations.py @@ -124,6 +124,10 @@ def install(): configure_installation_source(config('openstack-origin')) status_set('maintenance', 'Installing apt packages') apt_update() + # (ajkavanagh) LP: #1989538 + # Tactical fix to force openstack-release to match the configured + # installation source; note that it comes after apt_update(). + apt_install(['openstack-release'], fatal=False, quiet=True) apt_install(determine_packages(), fatal=True) _files = os.path.join(charm_dir(), 'files')