X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FN2VC.git;a=blobdiff_plain;f=n2vc%2Flibjuju.py;fp=n2vc%2Flibjuju.py;h=5c803ed2109be0fe7e0229c73629e40c4b20e140;hp=dd37ec81cce63a7d4715024b2ab185b69aaea9fd;hb=227153dbd708538f04622a2c59722c2270b7bd5d;hpb=6bab0001f414271911332417796e2c886affc837 diff --git a/n2vc/libjuju.py b/n2vc/libjuju.py index dd37ec8..5c803ed 100644 --- a/n2vc/libjuju.py +++ b/n2vc/libjuju.py @@ -17,7 +17,7 @@ import logging 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 @@ -620,7 +620,7 @@ class Libjuju: db_dict: dict = None, progress_timeout: float = None, total_timeout: float = None, - **kwargs + **kwargs, ): """Execute action @@ -793,7 +793,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 @@ -1217,6 +1217,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)