Ensure os_release is reset during upgrades

Reset the os_release cache during the OpenStack upgrade process,
ensuring that any post dist-upgrade operations are made in the
context of the new OpenStack release, not the old one.

Change-Id: I3d3584dd8e97f85e16c38e1143f627b03fa63bd0
Closes-Bug: 1715624
This commit is contained in:
James Page 2017-09-07 17:10:15 +01:00
parent 97861e9c46
commit 7fb7ff9063
2 changed files with 4 additions and 0 deletions

View File

@ -74,6 +74,7 @@ from charmhelpers.contrib.openstack.utils import (
make_assess_status_func,
os_application_version_set,
CompareOpenStackReleases,
reset_os_release,
)
from charmhelpers.contrib.python.packages import (
@ -585,6 +586,7 @@ def do_openstack_upgrade(configs):
'--option', 'Dpkg::Options::=--force-confdef',
]
apt_upgrade(options=dpkg_opts, fatal=True, dist=True)
reset_os_release()
apt_install(packages=determine_packages(), options=dpkg_opts, fatal=True)
# set CONFIGS to load templates from new release and regenerate config

View File

@ -68,6 +68,7 @@ TO_PATCH = [
'pwgen',
'os_application_version_set',
'is_leader',
'reset_os_release',
]
openstack_origin_git = \
@ -194,6 +195,7 @@ class TestKeystoneUtils(CharmTestCase):
self.assertTrue(configs.write_all.called)
self.assertTrue(migrate_database.called)
disable_unused_apache_sites.assert_called_with()
self.reset_os_release.assert_called()
def test_migrate_database(self):
self.os_release.return_value = 'havana'