Make get_current_os_release_pair variable
It is possible to use `get_current_os_release_pair` with an argument or to use the default one (`keystone`)
This commit is contained in:
@@ -680,7 +680,13 @@ class TestOpenStackUtils(ut_utils.BaseTestCase):
|
||||
with self.assertRaises(exceptions.OSVersionNotFound):
|
||||
openstack_utils.get_current_os_release_pair()
|
||||
|
||||
# Normal scenario
|
||||
# Normal scenario, argument passed
|
||||
self._get_os_version.return_value = {'keystone': 'mitaka'}
|
||||
expected = 'xenial_mitaka'
|
||||
result = openstack_utils.get_current_os_release_pair('keystone')
|
||||
self.assertEqual(expected, result)
|
||||
|
||||
# Normal scenario, default value used
|
||||
self._get_os_version.return_value = {'keystone': 'mitaka'}
|
||||
expected = 'xenial_mitaka'
|
||||
result = openstack_utils.get_current_os_release_pair()
|
||||
|
||||
@@ -1124,26 +1124,28 @@ def get_application_config_keys(application):
|
||||
return list(application_config.keys())
|
||||
|
||||
|
||||
def get_current_os_release_pair():
|
||||
def get_current_os_release_pair(application='keystone'):
|
||||
"""Return OpenStack Release pair name.
|
||||
|
||||
:param application: Name of application
|
||||
:type application: string
|
||||
:returns: Name of the OpenStack release pair
|
||||
:rtype: str
|
||||
:raises: exceptions.NoKeystoneFound
|
||||
:raises: exceptions.SeriesNotFound
|
||||
:raises: exceptions.OSVersionNotFound
|
||||
"""
|
||||
keystone = juju_utils.get_machines_for_application('keystone')
|
||||
if len(keystone) >= 1:
|
||||
keystone = keystone[0]
|
||||
machines = juju_utils.get_machines_for_application(application)
|
||||
if len(machines) >= 1:
|
||||
machine = machines[0]
|
||||
else:
|
||||
raise exceptions.NoKeystoneFound()
|
||||
|
||||
series = juju_utils.get_machine_status(keystone, key='series')
|
||||
series = juju_utils.get_machine_status(machine, key='series')
|
||||
if not series:
|
||||
raise exceptions.SeriesNotFound()
|
||||
|
||||
os_version = get_current_os_versions(['keystone']).get('keystone')
|
||||
os_version = get_current_os_versions([application]).get(application)
|
||||
if not os_version:
|
||||
raise exceptions.OSVersionNotFound()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user