From 0b92a15da7427005b38977322689434ad19b9aee Mon Sep 17 00:00:00 2001 From: Chris MacNaughton Date: Wed, 18 Mar 2020 10:49:29 +0100 Subject: [PATCH] raise exceptions in the upgrade process --- zaza/openstack/charm_tests/series_upgrade/tests.py | 2 +- zaza/openstack/utilities/generic.py | 4 +++- zaza/openstack/utilities/series_upgrade.py | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/zaza/openstack/charm_tests/series_upgrade/tests.py b/zaza/openstack/charm_tests/series_upgrade/tests.py index 6f6eb4e..1ade8d0 100644 --- a/zaza/openstack/charm_tests/series_upgrade/tests.py +++ b/zaza/openstack/charm_tests/series_upgrade/tests.py @@ -328,7 +328,7 @@ class ParallelSeriesUpgradeTest(unittest.TestCase): post_upgrade_functions=post_upgrade_functions)) asyncio.get_event_loop().run_until_complete( - asyncio.gather(*upgrade_group, return_exceptions=True)) + asyncio.gather(*upgrade_group)) if "rabbitmq-server" in group: logging.info( "Running complete-cluster-series-upgrade action on leader") diff --git a/zaza/openstack/utilities/generic.py b/zaza/openstack/utilities/generic.py index 8e85f60..596feea 100644 --- a/zaza/openstack/utilities/generic.py +++ b/zaza/openstack/utilities/generic.py @@ -247,7 +247,7 @@ def run_via_ssh(unit_name, cmd): logging.warn(e) -async def async_run_via_ssh(unit_name, cmd): +async def async_run_via_ssh(unit_name, cmd, raise_exceptions=False): """Run command on unit via ssh. For executing commands on units when the juju agent is down. @@ -267,6 +267,8 @@ async def async_run_via_ssh(unit_name, cmd): except subprocess.CalledProcessError as e: logging.warn("Failed command {} on {}".format(cmd, unit_name)) logging.warn(e) + if raise_exceptions: + raise e def check_commands_on_units(commands, units): diff --git a/zaza/openstack/utilities/series_upgrade.py b/zaza/openstack/utilities/series_upgrade.py index bdd8491..c1f2cd5 100644 --- a/zaza/openstack/utilities/series_upgrade.py +++ b/zaza/openstack/utilities/series_upgrade.py @@ -744,5 +744,6 @@ async def async_do_release_upgrade(unit_name): await os_utils.async_run_via_ssh( unit_name, 'DEBIAN_FRONTEND=noninteractive ' - 'do-release-upgrade -f DistUpgradeViewNonInteractive') + 'do-release-upgrade -f DistUpgradeViewNonInteractive', + raise_exceptions=True)