diff --git a/unit_tests/utilities/test_zaza_utilities_openstack.py b/unit_tests/utilities/test_zaza_utilities_openstack.py index 358f15a64..222aab2f8 100644 --- a/unit_tests/utilities/test_zaza_utilities_openstack.py +++ b/unit_tests/utilities/test_zaza_utilities_openstack.py @@ -1700,6 +1700,7 @@ def _get_action_output(stdout, code, stderr=None): 'Stderr': stderr, 'Stdout': stdout}} return action + results = { '/tmp/missing.cert': _get_action_output( '', @@ -1707,12 +1708,16 @@ def _get_action_output(stdout, code, stderr=None): 'cat: /tmp/missing.cert: No such file or directory'), '/tmp/good.cert': _get_action_output('CERTIFICATE', '0')} - async def _run(command, timeout=None): - return results[command.split()[-1]] + self.patch_object(openstack_utils.zaza.model, "async_run_on_unit") + + async def _run_on_unit(unit_name, command, model_name=None, + timeout=None): + return results[command.split()[-1]].data.get('results') + + self.async_run_on_unit.side_effect = _run_on_unit + self.unit1 = mock.MagicMock() self.unit2 = mock.MagicMock() - self.unit2.run.side_effect = _run - self.unit1.run.side_effect = _run self.units = [self.unit1, self.unit2] _units = mock.MagicMock() _units.units = self.units diff --git a/zaza/openstack/utilities/openstack.py b/zaza/openstack/utilities/openstack.py index 540b9a3c1..e87f8547d 100644 --- a/zaza/openstack/utilities/openstack.py +++ b/zaza/openstack/utilities/openstack.py @@ -237,8 +237,12 @@ async def _check_ca_present(model, ca_files): for ca_file in ca_files: for unit in units: try: - output = await unit.run('cat {}'.format(ca_file)) - contents = output.data.get('results').get('Stdout', '') + output = await zaza.model.async_run_on_unit( + unit.name, + 'cat {}'.format(ca_file), + model_name=model_name + ) + contents = output.get('Stdout', '') if ca_cert not in contents: break # libjuju throws a generic error for connection failure. So we