Skip to content

Commit

Permalink
utilities/openstack: Fix handling of unit.run for CA check
Browse files Browse the repository at this point in the history
The `async_block_until_ca_exists` function makes direct use of the
libjuju APIs which changed in Juju 3.x.

Use the action normalise helper from the Zaza model module to
reconcile.

Signed-off-by: Frode Nordahl <[email protected]>
  • Loading branch information
fnordahl committed Mar 3, 2024
1 parent 40a5919 commit 52e0852
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions zaza/openstack/utilities/openstack.py
Original file line number Diff line number Diff line change
Expand Up @@ -237,8 +237,15 @@ 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', '')
action = await unit.run('cat {}'.format(ca_file))
action = await action.wait()
# NOTE(fnordahl): yes, this is a call to a private
# function, and to be pragmatic we are already
# mocking about under the hood in this function, so let's
# just make it work.
results = zaza.model._normalise_action_results(
getattr(action, 'results', action.data.get('results')))
contents = results.get('stdout', '')
if ca_cert not in contents:
break
# libjuju throws a generic error for connection failure. So we
Expand Down

0 comments on commit 52e0852

Please sign in to comment.