From f980ac078081a1ed91134e046326cd33a4678e8e Mon Sep 17 00:00:00 2001 From: David Garcia Date: Tue, 27 Jul 2021 15:07:42 +0200 Subject: [PATCH] Give a warning when removing a cloud that does not exist Fixes bug 1608 Change-Id: Ide9040f5e97ba07952062f23c9217e227af375d0 Signed-off-by: David Garcia --- n2vc/libjuju.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/n2vc/libjuju.py b/n2vc/libjuju.py index 3dcb7f9..1cb1e9e 100644 --- a/n2vc/libjuju.py +++ b/n2vc/libjuju.py @@ -18,7 +18,7 @@ import typing import time -from juju.errors import JujuAPIError +import juju.errors from juju.model import Model from juju.machine import Machine from juju.application import Application @@ -174,7 +174,7 @@ class Libjuju: cloud_name=cloud.name, credential_name=cloud.credential_name, ) - except JujuAPIError as e: + except juju.errors.JujuAPIError as e: if "already exists" in e.message: pass else: @@ -759,7 +759,7 @@ class Libjuju: db_dict: dict = None, progress_timeout: float = None, total_timeout: float = None, - **kwargs + **kwargs, ): """Execute action @@ -921,7 +921,7 @@ class Libjuju: # Add relation try: await model.add_relation(endpoint_1, endpoint_2) - except JujuAPIError as e: + except juju.errors.JujuAPIError as e: if "not found" in e.message: self.log.warning("Relation not found: {}".format(e.message)) return @@ -1302,6 +1302,11 @@ class Libjuju: controller = await self.get_controller() try: await controller.remove_cloud(name) + except juju.errors.JujuError as e: + if len(e.errors) == 1 and f'cloud "{name}" not found' == e.errors[0]: + self.log.warning(f"Cloud {name} not found, so it could not be deleted.") + else: + raise e finally: await self.disconnect_controller(controller) -- 2.17.1