X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FN2VC.git;a=blobdiff_plain;f=n2vc%2Flibjuju.py;h=1cb1e9ee840fffef8bdc8f705273f2017033f271;hp=3dcb7f99cde48610cf58cc1090c455496082b2c9;hb=f980ac078081a1ed91134e046326cd33a4678e8e;hpb=e610aedb0a49e4761fb99842082aa61cf693610c 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)