added multi node functionality

This commit is contained in:
Jake Kasper
2026-04-24 12:33:52 -04:00
parent c4c081362e
commit 16e5f2ced2
30 changed files with 673 additions and 93 deletions

View File

@@ -14,12 +14,12 @@ async def query(promql: str) -> list:
return r.json()["data"]["result"]
async def get_nf_status() -> list:
"""Return a list of {name, state, instance} for every known NF."""
async def get_nf_status_map() -> dict[str, dict]:
"""Return Prometheus-backed NF status keyed by display name."""
try:
results = await query("up")
except Exception:
return [{"name": n, "state": "unknown", "instance": ""} for n in ALL_NFS]
return {n: {"name": n, "state": "unknown", "instance": ""} for n in ALL_NFS}
seen: dict[str, dict] = {}
for r in results:
@@ -38,4 +38,9 @@ async def get_nf_status() -> list:
if n not in seen:
seen[n] = {"name": n, "state": "unknown", "instance": ""}
return list(seen.values())
return seen
async def get_nf_status() -> list:
"""Return a list of {name, state, instance} for every known NF."""
return list((await get_nf_status_map()).values())