v1.0.50: fix showStages icon (dtFinish); fix api_operations (add tracked orphans); drop not_created filter
This commit is contained in:
+1
-1
@@ -6,7 +6,7 @@ from routes.main import bp as main_bp
|
||||
from routes.api import bp as api_bp
|
||||
from routes.api_test import bp as api_test_bp
|
||||
|
||||
VERSION = "1.0.49"
|
||||
VERSION = "1.0.50"
|
||||
|
||||
app = Flask(__name__, template_folder="templates", static_folder="static")
|
||||
app.config["NUBES_API_ENDPOINT"] = os.getenv("NUBES_API_ENDPOINT", "https://lk-api-gateway-dev.ngcloud.ru/api/v1/svc")
|
||||
|
||||
+14
-2
@@ -42,11 +42,23 @@ def api_operations(svc_id):
|
||||
ops = detail.get("operations", [])
|
||||
# только отслеживаемые инстансы этого сервиса
|
||||
tracked = tracker_list()
|
||||
tracked_uids = {t["instanceUid"] for t in tracked if t["svcId"] == svc_id}
|
||||
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 = [i for i in instances
|
||||
if i.get("instanceUid") in tracked_uids
|
||||
and i.get("explainedStatus") not in ("deleted", "not created")]
|
||||
and i.get("explainedStatus") not in ("deleted",)]
|
||||
# Добавить tracked инстансы, которых Nubes ещё не отдаёт (creating)
|
||||
for uid, t in tracked_by_uid.items():
|
||||
if uid not in nubes_uids:
|
||||
svc_instances.append({
|
||||
"instanceUid": uid,
|
||||
"displayName": t["displayName"],
|
||||
"serviceId": svc_id,
|
||||
"svc": detail.get("svc", ""),
|
||||
"explainedStatus": "creating",
|
||||
})
|
||||
return jsonify({
|
||||
"svc": detail.get("svc", ""),
|
||||
"operations": [{"svcOperationId": o["svcOperationId"], "operation": o["operation"]} for o in ops],
|
||||
|
||||
@@ -263,8 +263,8 @@ function showStages(stages){
|
||||
if(!stages||!stages.length) return;
|
||||
let html='<div style="font-size:11px;font-weight:600;color:var(--muted);margin-top:4px;">Этапы</div>';
|
||||
stages.forEach(s=>{
|
||||
const ok=s.isSuccessful;
|
||||
const icon=ok===true?'✅':ok===false?'❌':'⏳';
|
||||
const done=!!s.dtFinish;
|
||||
const icon=done?(s.isSuccessful?'✅':'❌'):'⏳';
|
||||
html+=`<div style="font-size:11px;padding:2px 0;">${icon} ${s.stage} — ${(s.duration||0).toFixed(1)}s</div>`;
|
||||
});
|
||||
document.getElementById('stages-box').innerHTML=html;
|
||||
|
||||
Reference in New Issue
Block a user