Track created instances, show only ours in UI, v1.0.36
This commit is contained in:
+11
-1
@@ -3,6 +3,8 @@ from flask import Blueprint, current_app, jsonify, request
|
||||
from api.http_client import HttpClient
|
||||
from operations.get_services import get_services, get_service_detail
|
||||
from operations.get_instances import get_instances
|
||||
from operations.tracker import add as tracker_add, list_all as tracker_list
|
||||
from operations.tracker import remove as tracker_remove
|
||||
|
||||
bp = Blueprint("api_test", __name__)
|
||||
|
||||
@@ -38,8 +40,13 @@ def api_operations(svc_id):
|
||||
try:
|
||||
detail = get_service_detail(_client(), svc_id)
|
||||
ops = detail.get("operations", [])
|
||||
# только отслеживаемые инстансы этого сервиса
|
||||
tracked = tracker_list()
|
||||
tracked_uids = {t["instanceUid"] for t in tracked if t["svcId"] == svc_id}
|
||||
instances = get_instances(_client())
|
||||
svc_instances = [i for i in instances if i.get("serviceId") == svc_id and i.get("explainedStatus") not in ("deleted", "not created")]
|
||||
svc_instances = [i for i in instances
|
||||
if i.get("instanceUid") in tracked_uids
|
||||
and i.get("explainedStatus") not in ("deleted", "not created")]
|
||||
return jsonify({
|
||||
"svc": detail.get("svc", ""),
|
||||
"operations": [{"svcOperationId": o["svcOperationId"], "operation": o["operation"]} for o in ops],
|
||||
@@ -115,6 +122,7 @@ def api_test():
|
||||
result["status"] = "OK"
|
||||
result["instanceUid"] = instance_uid
|
||||
result["duration"] = round(time.time() - t0, 1)
|
||||
tracker_add(instance_uid, svc_id, display_name)
|
||||
return jsonify(result)
|
||||
time.sleep(5)
|
||||
result["status"] = "TIMEOUT"
|
||||
@@ -136,6 +144,8 @@ def api_test():
|
||||
result["status"] = "OK"
|
||||
result["instanceUid"] = instance_uid
|
||||
result["duration"] = round(time.time() - t0, 1)
|
||||
if op_name == "delete":
|
||||
tracker_remove(instance_uid)
|
||||
return jsonify(result)
|
||||
time.sleep(5)
|
||||
result["status"] = "TIMEOUT"
|
||||
|
||||
Reference in New Issue
Block a user