Skip to content

Commit 2092de7

Browse files
Ignore 404 during expunge
1 parent 24bd0be commit 2092de7

1 file changed

Lines changed: 9 additions & 3 deletions

File tree

extensions/MaaS/maas.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,13 +97,18 @@ def init_session(self):
9797
resource_owner_secret=self.data["secret"],
9898
)
9999

100-
def call_maas(self, method, path, data=None):
100+
def call_maas(self, method, path, data=None, ignore_404=False):
101101
if not path.startswith("/"):
102102
path = "/" + path
103103
url = f"{self.data['endpoint']}:5240/MAAS/api/2.0{path}"
104104
resp = self.session.request(method, url, data=data)
105+
106+
if resp.status_code == 404 and ignore_404:
107+
return None
108+
105109
if not resp.ok:
106110
fail(f"MAAS API error: {resp.status_code} {resp.text}")
111+
107112
try:
108113
return resp.json() if resp.text else {}
109114
except ValueError:
@@ -183,8 +188,9 @@ def delete(self):
183188
sysid = self.data.get("system_id")
184189
if not sysid:
185190
fail("system_id missing for delete")
186-
self.call_maas("POST", f"/machines/{sysid}/", {"op": "release"})
187-
succeed({"status": "success", "message": "Instance deleted"})
191+
192+
self.call_maas("POST", f"/machines/{sysid}/", {"op": "release"}, ignore_404=True)
193+
succeed({"status": "success", "message": f"Instance deleted or not found ({sysid})"})
188194

189195
def start(self):
190196
sysid = self.data.get("system_id")

0 commit comments

Comments
 (0)