Merge origin/main into running Command Center

Keep the deployed tree on conflict; integrate the remote Dockhand/CDC tip.
This commit is contained in:
mo
2026-07-21 23:21:23 +00:00
7 changed files with 169 additions and 48 deletions
+11 -1
View File
@@ -808,11 +808,12 @@ async def collect_full_lab_context(
if gpu_data is None:
gpu_data = await collect_gpu_metrics(client, log)
docker_raw, db_raw, lake_raw, cc_raw, hdfs, etl, objectscale = await asyncio.gather(
docker_raw, db_raw, lake_raw, cc_raw, gpu_raw, hdfs, etl, objectscale = await asyncio.gather(
dockhand_containers(client, DOCKHAND_ENVS["docker01"], log),
dockhand_containers(client, DOCKHAND_ENVS["db02"], log),
dockhand_containers(client, DOCKHAND_ENVS["lakehouse"], log),
dockhand_containers(client, DOCKHAND_ENV_COMMAND_CENTER, log),
dockhand_containers(client, DOCKHAND_ENVS["gpu_dev"], log),
collect_hdfs(client, log),
collect_etl(client, log),
collect_objectscale(client, log),
@@ -829,6 +830,15 @@ async def collect_full_lab_context(
databases["inventory"] = {"error": str(exc)}
lakehouse = await collect_lakehouse(client, lake_raw, log)
command_center = await collect_command_center(client, cc_raw, log)
if gpu_data is not None and gpu_raw:
gpu_running = sum(1 for c in gpu_raw if c.get("state") == "running")
gpu_data = {
**gpu_data,
"dockhand_env": DOCKHAND_ENVS["gpu_dev"],
"dockhand_containers": _container_rows(gpu_raw, GPU_URL.replace("http://", "").split(":")[0]),
"dockhand_running": gpu_running,
"dockhand_total": len(gpu_raw),
}
try:
governance = collect_governance(log)