From 077f2af87c366750c8f6fa392413edf414dcf9f3 Mon Sep 17 00:00:00 2001 From: Nicolas Pochet Date: Wed, 8 Aug 2018 16:14:09 +0200 Subject: [PATCH] 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`) --- .../utilities/test_zaza_utilities_openstack.py | 8 +++++++- zaza/utilities/openstack.py | 14 ++++++++------ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/unit_tests/utilities/test_zaza_utilities_openstack.py b/unit_tests/utilities/test_zaza_utilities_openstack.py index 409a5c5..f2fd04b 100644 --- a/unit_tests/utilities/test_zaza_utilities_openstack.py +++ b/unit_tests/utilities/test_zaza_utilities_openstack.py @@ -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() diff --git a/zaza/utilities/openstack.py b/zaza/utilities/openstack.py index 0e906f9..0f10187 100644 --- a/zaza/utilities/openstack.py +++ b/zaza/utilities/openstack.py @@ -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()