Clear Web UI session on 401 and keep API/Ingress errors as JSON.

Include the missing resource id in not-found messages, expire auth to Guest
after 401, and document Ingress annotations so nginx does not rewrite 404/405
bodies into branded HTML.
This commit is contained in:
2026-07-22 06:52:23 +03:00
parent 147f04c9a2
commit f1289858fd
10 changed files with 172 additions and 24 deletions
+20 -4
View File
@@ -125,7 +125,11 @@ async def _show_server(
ctx.project_id,
)
if row is None:
raise OpenStackError("computeFault", "Instance could not be found", status_code=404)
raise OpenStackError(
"computeFault",
f"Instance '{resource_id}' could not be found",
status_code=404,
)
return {"server": _server_dict(row)}
@@ -164,7 +168,11 @@ async def _update_server(
ctx.project_id,
)
if row is None:
raise OpenStackError("computeFault", "Instance could not be found", status_code=404)
raise OpenStackError(
"computeFault",
f"Instance '{resource_id}' could not be found",
status_code=404,
)
return {"server": _server_dict(row)}
@@ -299,7 +307,11 @@ async def delete_server(
ctx.project_id,
)
if result.endswith("0"):
raise OpenStackError("computeFault", "Instance could not be found", status_code=404)
raise OpenStackError(
"computeFault",
f"Instance '{server_id}' could not be found",
status_code=404,
)
return Response(status_code=204)
@@ -316,7 +328,11 @@ async def server_action(
ctx.project_id,
)
if row is None:
raise OpenStackError("computeFault", "Instance could not be found", status_code=404)
raise OpenStackError(
"computeFault",
f"Instance '{server_id}' could not be found",
status_code=404,
)
from fastapi.responses import JSONResponse
action = await request.json()