Skip to content

Commit f691386

Browse files
authored
Merge pull request #1192 from wolsen/use-model-run-on-unit
Use zaza.model.run_on_unit for ca checks
2 parents 40a5919 + a64d2c6 commit f691386

File tree

2 files changed

+15
-6
lines changed

2 files changed

+15
-6
lines changed

unit_tests/utilities/test_zaza_utilities_openstack.py

+9-4
Original file line numberDiff line numberDiff line change
@@ -1700,19 +1700,24 @@ def _get_action_output(stdout, code, stderr=None):
17001700
'Stderr': stderr,
17011701
'Stdout': stdout}}
17021702
return action
1703+
17031704
results = {
17041705
'/tmp/missing.cert': _get_action_output(
17051706
'',
17061707
'1',
17071708
'cat: /tmp/missing.cert: No such file or directory'),
17081709
'/tmp/good.cert': _get_action_output('CERTIFICATE', '0')}
17091710

1710-
async def _run(command, timeout=None):
1711-
return results[command.split()[-1]]
1711+
self.patch_object(openstack_utils.zaza.model, "async_run_on_unit")
1712+
1713+
async def _run_on_unit(unit_name, command, model_name=None,
1714+
timeout=None):
1715+
return results[command.split()[-1]].data.get('results')
1716+
1717+
self.async_run_on_unit.side_effect = _run_on_unit
1718+
17121719
self.unit1 = mock.MagicMock()
17131720
self.unit2 = mock.MagicMock()
1714-
self.unit2.run.side_effect = _run
1715-
self.unit1.run.side_effect = _run
17161721
self.units = [self.unit1, self.unit2]
17171722
_units = mock.MagicMock()
17181723
_units.units = self.units

zaza/openstack/utilities/openstack.py

+6-2
Original file line numberDiff line numberDiff line change
@@ -237,8 +237,12 @@ async def _check_ca_present(model, ca_files):
237237
for ca_file in ca_files:
238238
for unit in units:
239239
try:
240-
output = await unit.run('cat {}'.format(ca_file))
241-
contents = output.data.get('results').get('Stdout', '')
240+
output = await zaza.model.async_run_on_unit(
241+
unit.name,
242+
'cat {}'.format(ca_file),
243+
model_name=model_name
244+
)
245+
contents = output.get('Stdout', '')
242246
if ca_cert not in contents:
243247
break
244248
# libjuju throws a generic error for connection failure. So we

0 commit comments

Comments
 (0)