From 079498cabaf00877ab8095e182045f6d464075f6 Mon Sep 17 00:00:00 2001 From: sstent Date: Mon, 9 Feb 2026 06:11:07 -0800 Subject: [PATCH] conductor(plan): Mark phase 'Phase 1: Nomad Discovery Enhancement' as complete --- .../update_monitor_discovery_20260208/plan.md | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 conductor/tracks/update_monitor_discovery_20260208/plan.md diff --git a/conductor/tracks/update_monitor_discovery_20260208/plan.md b/conductor/tracks/update_monitor_discovery_20260208/plan.md new file mode 100644 index 0000000..318bb2a --- /dev/null +++ b/conductor/tracks/update_monitor_discovery_20260208/plan.md @@ -0,0 +1,23 @@ +# Plan: Update Monitor Discovery Logic (`update_monitor_discovery`) + +## Phase 1: Nomad Discovery Enhancement [x] [checkpoint: 353683e] +- [x] Task: Update `nomad_client.py` to fetch job allocations with IPs (353683e) + - [x] Write tests for parsing allocation IPs from `nomad job status` or `nomad alloc status` + - [x] Implement `get_job_allocations(job_id)` returning a list of dicts (id, node, ip) +- [x] Task: Conductor - User Manual Verification 'Phase 1: Nomad Discovery Enhancement' (Protocol in workflow.md) + +## Phase 2: Aggregator Refactor [ ] +- [ ] Task: Refactor `cluster_aggregator.py` to drive discovery via Nomad + - [ ] Update `get_cluster_status` to call `nomad_client.get_job_allocations` first + - [ ] Update loop to iterate over allocations and supplement with LiteFS and Consul data +- [ ] Task: Update `consul_client.py` to fetch all services once and allow lookup by IP/ID +- [ ] Task: Update tests for the new discovery flow +- [ ] Task: Conductor - User Manual Verification 'Phase 2: Aggregator Refactor' (Protocol in workflow.md) + +## Phase 3: UI and Health Logic [ ] +- [ ] Task: Update `output_formatter.py` for "Standby" nodes + - [ ] Update table formatting to handle missing Consul status for replicas +- [ ] Task: Update Cluster Health calculation + - [ ] "Healthy" = 1 Primary (Consul passing) + N Replicas (LiteFS connected) +- [ ] Task: Final verification run +- [ ] Task: Conductor - User Manual Verification 'Phase 3: Final Verification' (Protocol in workflow.md)