diff --git a/unit_tests/utilities/test_zaza_utilities_juju.py b/unit_tests/utilities/test_zaza_utilities_juju.py index db49cb7..9ca0249 100644 --- a/unit_tests/utilities/test_zaza_utilities_juju.py +++ b/unit_tests/utilities/test_zaza_utilities_juju.py @@ -227,3 +227,18 @@ class TestJujuUtils(ut_utils.BaseTestCase): self.model.run_on_leader.assert_called_with( 'application', 'leader-get --format=yaml ') self.assertFalse(self.yaml.load.called) + + def test_get_machine_series(self): + self.patch( + 'zaza.utilities.juju.get_machine_status', + new_callable=mock.MagicMock(), + name='_get_machine_status' + ) + self._get_machine_status.return_value = 'xenial' + expected = 'xenial' + actual = juju_utils.get_machine_series('6') + self._get_machine_status.assert_called_with( + machine='6', + key='series' + ) + self.assertEqual(expected, actual) diff --git a/unit_tests/utilities/test_zaza_utilities_openstack.py b/unit_tests/utilities/test_zaza_utilities_openstack.py index f2fd04b..22a5124 100644 --- a/unit_tests/utilities/test_zaza_utilities_openstack.py +++ b/unit_tests/utilities/test_zaza_utilities_openstack.py @@ -658,9 +658,9 @@ class TestOpenStackUtils(ut_utils.BaseTestCase): name='_get_machines' ) self.patch( - 'zaza.utilities.juju.get_machine_status', + 'zaza.utilities.juju.get_machine_series', new_callable=mock.MagicMock(), - name='_get_machine_status' + name='_get_machine_series' ) # No machine returned @@ -670,12 +670,12 @@ class TestOpenStackUtils(ut_utils.BaseTestCase): # No series returned self._get_machines.return_value = ['6'] - self._get_machine_status.return_value = None + self._get_machine_series.return_value = None with self.assertRaises(exceptions.SeriesNotFound): openstack_utils.get_current_os_release_pair() # No OS Version returned - self._get_machine_status.return_value = 'xenial' + self._get_machine_series.return_value = 'xenial' self._get_os_version.return_value = {} with self.assertRaises(exceptions.OSVersionNotFound): openstack_utils.get_current_os_release_pair() diff --git a/zaza/utilities/juju.py b/zaza/utilities/juju.py index b1a1f5b..d364e26 100644 --- a/zaza/utilities/juju.py +++ b/zaza/utilities/juju.py @@ -115,6 +115,20 @@ def get_machine_status(machine, key=None): return status +def get_machine_series(machine): + """Return the juju series for a machine. + + :param machine: Machine number + :type machine: string + :returns: Juju series + :rtype: string + """ + return get_machine_status( + machine=machine, + key='series' + ) + + def get_machine_uuids_for_application(application): """Return machine uuids for a given application. diff --git a/zaza/utilities/openstack.py b/zaza/utilities/openstack.py index 0f10187..4762983 100644 --- a/zaza/utilities/openstack.py +++ b/zaza/utilities/openstack.py @@ -1141,7 +1141,7 @@ def get_current_os_release_pair(application='keystone'): else: raise exceptions.NoKeystoneFound() - series = juju_utils.get_machine_status(machine, key='series') + series = juju_utils.get_machine_series(machine) if not series: raise exceptions.SeriesNotFound()