Guest inventory discovery — Phase 1 shipped¶
Date: 2026-06-23
Implemented the guest discovery pipeline from the approved plan:
- Schema:
proxmoxandvirtualizationblocks on host/appliance inventory - Validation:
scripts/validate-inventory-refs.pyin pre-commit + CI - Scans:
scripts/proxmox-scan.py,scripts/whrrr-vmm-scan.py→ compute-live - Patches:
scripts/inventory-propose-patches.py→artifacts/inventory-patches/ - VMID backfill: all Prox guests +
recordurbate/ubuncapWhrrr hosts - Ansible:
discover-proxmox-power.yml,discover-guests.yml,discover-factsrole - Runbook: guest-discovery.md
Next: run live proxmox-scan.py on self-hosted runner, refresh baseline after
blocktopus (VMID 104) is removed from inventory or confirmed destroyed.
Live run (2026-06-23)¶
- Proxmox scan: 21 live guests, zero drift after inventory fixes (
--checkOK) - Whrrr VMM: 2 guests matched;
guest_idUUIDs backfilled on recordurbate/ubuncap - Inventory fixes: removed
proxmoxblock from retiredblocktopus; synced power on k6-loadtest (running), nfs-monitoring (stopped), octoprint (stopped) - Guest facts:
discover-guests.ymlsucceeded oninfra-services→compute-live/guests/infra-services.json - Blocked: root SSH to pulse via patch-controller key — needs key bootstrap before unmanaged LXC discovery
- Owner note: k6-loadtest (VMID 105) is running on prox; lab-audit had it marked decommission — confirm stop/destroy vs keep