Skip to content

Commit

Permalink
Merge pull request #868 from coreycb/swift-version-zed
Browse files Browse the repository at this point in the history
Drop use of get_os_version_codename_swift [zed backport]
  • Loading branch information
freyes authored Nov 24, 2023
2 parents fb5c7e1 + fa9a836 commit 66fbf9b
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 38 deletions.
23 changes: 4 additions & 19 deletions charmhelpers/contrib/openstack/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -414,17 +414,6 @@ def get_os_version_codename(codename, version_map=OPENSTACK_CODENAMES,
error_out(e)


def get_os_version_codename_swift(codename):
'''Determine OpenStack version number of swift from codename.'''
# for k, v in six.iteritems(SWIFT_CODENAMES):
for k, v in SWIFT_CODENAMES.items():
if k == codename:
return v[-1]
e = 'Could not derive swift version for '\
'codename: %s' % codename
error_out(e)


def get_swift_codename(version):
'''Determine OpenStack codename that corresponds to swift version.'''
codenames = [k for k, v in SWIFT_CODENAMES.items() if version in v]
Expand Down Expand Up @@ -845,14 +834,10 @@ def openstack_upgrade_available(package):
if not cur_vers:
# The package has not been installed yet do not attempt upgrade
return False
if "swift" in package:
codename = get_os_codename_install_source(src)
avail_vers = get_os_version_codename_swift(codename)
else:
try:
avail_vers = get_os_version_install_source(src)
except Exception:
avail_vers = cur_vers
try:
avail_vers = get_os_version_install_source(src)
except Exception:
avail_vers = cur_vers
apt.init()
return apt.version_compare(avail_vers, cur_vers) >= 1

Expand Down
22 changes: 3 additions & 19 deletions tests/contrib/openstack/test_openstack_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -287,21 +287,9 @@ def test_os_version_from_bad_codename(self, mocked_error):
self.assertEquals(e.args[0],
"Could not derive OpenStack version for codename: foo")

def test_os_version_swift_from_codename(self):
"""Test mapping a swift codename to numerical version"""
self.assertEquals(openstack.get_os_version_codename_swift('liberty'),
'2.5.0')

def test_get_swift_codename_single_version_kilo(self):
self.assertEquals(openstack.get_swift_codename('2.2.2'), 'kilo')

@patch('charmhelpers.contrib.openstack.utils.error_out')
def test_os_version_swift_from_bad_codename(self, mocked_error):
"""Test mapping a bad swift codename to numerical version"""
openstack.get_os_version_codename_swift('foo')
expected_err = 'Could not derive swift version for codename: foo'
mocked_error.assert_called_with(expected_err)

def test_get_swift_codename_multiple_versions_liberty(self):
with patch('subprocess.check_output') as _subp:
_subp.return_value = b"... trusty-updates/liberty/main ..."
Expand Down Expand Up @@ -737,10 +725,8 @@ def test_save_scriptrc(self, _open, _charm_dir, _exists, _mkdir):

@patch.object(openstack, 'lsb_release')
@patch.object(openstack, 'get_os_version_package')
@patch.object(openstack, 'get_os_version_codename_swift')
@patch.object(openstack, 'config')
def test_openstack_upgrade_detection_true(self, config, vers_swift,
vers_pkg, lsb):
def test_openstack_upgrade_detection_true(self, config, vers_pkg, lsb):
"""Test it detects when an openstack package has available upgrade"""
lsb.return_value = FAKE_RELEASE
config.return_value = 'cloud:precise-havana'
Expand All @@ -750,10 +736,8 @@ def test_openstack_upgrade_detection_true(self, config, vers_swift,
vers_pkg.return_value = '2013.2~b1'
self.assertTrue(openstack.openstack_upgrade_available('nova-common'))
vers_pkg.return_value = '1.9.0'
vers_swift.return_value = '2.5.0'
self.assertTrue(openstack.openstack_upgrade_available('swift-proxy'))
vers_pkg.return_value = '2.5.0'
vers_swift.return_value = '2.10.0'
self.assertTrue(openstack.openstack_upgrade_available('swift-proxy'))

@patch.object(openstack, 'lsb_release')
Expand All @@ -769,8 +753,8 @@ def test_openstack_upgrade_detection_false(self, config, vers_pkg, lsb):
vers_pkg.return_value = '2013.1~b1'
self.assertFalse(openstack.openstack_upgrade_available('nova-common'))
# ugly duckling testing
config.return_value = 'cloud:precise-havana'
vers_pkg.return_value = '1.10.0'
config.return_value = 'cloud:focal-wallaby'
vers_pkg.return_value = '2021.1'
self.assertFalse(openstack.openstack_upgrade_available('swift-proxy'))

@patch.object(openstack, 'is_block_device')
Expand Down

0 comments on commit 66fbf9b

Please sign in to comment.