Add get_machine_series
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user