v1.0.67: autotest instances are shown by cloud prefix

This commit is contained in:
2026-07-27 12:03:48 +04:00
parent 9a49312390
commit 44f7524821
4 changed files with 15 additions and 10 deletions
+2 -7
View File
@@ -152,25 +152,20 @@ def api_operations(svc_id):
client = HttpClient(current_app.config["NUBES_API_ENDPOINT"], active_token)
detail = get_service_detail(client, svc_id)
ops = detail.get("operations", [])
# только отслеживаемые инстансы этого сервиса
tracked = tracker_list()
tracked_by_uid = {t["instanceUid"]: t for t in tracked if t["svcId"] == svc_id}
tracked_uids = set(tracked_by_uid.keys())
instances = get_instances(client)
nubes_uids = {i["instanceUid"] for i in instances}
svc_instances = []
for i in instances:
uid = i.get("instanceUid")
if uid not in tracked_uids:
continue
if not str(i.get("displayName", "")).startswith(AUTOTEST_PREFIX):
continue
if i.get("explainedStatus") in ("deleted",):
continue
item = dict(i)
item["status"] = _resolve_instance_status(item, tracked_by_uid.get(uid))
item["status"] = _resolve_instance_status(item, tracked_by_uid.get(i.get("instanceUid")))
svc_instances.append(item)
# Если Nubes уже не отдаёт tracked-инстанс после reload, добавляем его из трекера.
# Если Nubes ещё не отдаёт только что созданный autotest-инстанс, добавляем его из трекера.
for uid, t in tracked_by_uid.items():
if uid not in nubes_uids:
svc_instances.append({