Fix bug 2060: Ignore "model not found" exception when deleting models 78/12178/1
authorDavid Garcia <david.garcia@canonical.com>
Wed, 8 Jun 2022 09:16:54 +0000 (11:16 +0200)
committerDavid Garcia <david.garcia@canonical.com>
Wed, 8 Jun 2022 09:16:54 +0000 (11:16 +0200)
Change-Id: Ife06b41bf2bcf32b080b405e607450d9303d19e0
Signed-off-by: David Garcia <david.garcia@canonical.com>
n2vc/libjuju.py

index 4ee0abf..7492acc 100644 (file)
@@ -1422,14 +1422,17 @@ class Libjuju:
             self.log.info(f"Model {model_name} deleted forcefully")
 
         try:
             self.log.info(f"Model {model_name} deleted forcefully")
 
         try:
-            await asyncio.wait_for(
-                _destroy_model_gracefully(model_name, controller), timeout=120
-            )
-        except asyncio.TimeoutError:
-            await _destroy_model_forcefully(model_name, controller)
+            try:
+                await asyncio.wait_for(
+                    _destroy_model_gracefully(model_name, controller), timeout=120
+                )
+            except asyncio.TimeoutError:
+                await _destroy_model_forcefully(model_name, controller)
         except juju.errors.JujuError as e:
             if any("has been removed" in error for error in e.errors):
                 return
         except juju.errors.JujuError as e:
             if any("has been removed" in error for error in e.errors):
                 return
+            if any("model not found" in error for error in e.errors):
+                return
             raise e
 
     async def destroy_application(
             raise e
 
     async def destroy_application(