X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=n2vc%2Flibjuju.py;h=9d9d08e12f3e96b6444e8ba79ab1924854a0ccc9;hb=513cb2d19abfbe5b3aea879bf1a0561ea211e7d4;hp=1fade625935f8385d39cb862b5951b6fe7538ba4;hpb=db1d37bb9855e2c5649a14bf03bf940b26a49690;p=osm%2FN2VC.git diff --git a/n2vc/libjuju.py b/n2vc/libjuju.py index 1fade62..9d9d08e 100644 --- a/n2vc/libjuju.py +++ b/n2vc/libjuju.py @@ -122,7 +122,10 @@ class Libjuju: ) if controller: await self.disconnect_controller(controller) - raise JujuControllerFailedConnecting(e) + + raise JujuControllerFailedConnecting( + f"Error connecting to Juju controller: {e}" + ) async def disconnect(self): """Disconnect""" @@ -1326,11 +1329,12 @@ class Libjuju: model = None try: if not await self.model_exists(model_name, controller=controller): + self.log.warn(f"Model {model_name} doesn't exist") return - self.log.debug("Destroying model {}".format(model_name)) - + self.log.debug(f"Getting model {model_name} to be destroyed") model = await self.get_model(controller, model_name) + self.log.debug(f"Destroying manual machines in model {model_name}") # Destroy machines that are manually provisioned # and still are in pending state await self._destroy_pending_machines(model, only_manual=True) @@ -1341,6 +1345,14 @@ class Libjuju: controller, timeout=total_timeout, ) + except Exception as e: + if not await self.model_exists(model_name, controller=controller): + self.log.warn( + f"Failed deleting model {model_name}: model doesn't exist" + ) + return + self.log.warn(f"Failed deleting model {model_name}: {e}") + raise e finally: if model: await self.disconnect_model(model) @@ -1356,6 +1368,7 @@ class Libjuju: :param: controller: Controller object :param: timeout: Timeout in seconds """ + self.log.debug(f"Destroying model {model_name}") async def _destroy_model_loop(model_name: str, controller: Controller): while await self.model_exists(model_name, controller=controller):