Skip to content

Guest inventory discovery — Phase 1 shipped

Date: 2026-06-23

Implemented the guest discovery pipeline from the approved plan:

  • Schema: proxmox and virtualization blocks on host/appliance inventory
  • Validation: scripts/validate-inventory-refs.py in pre-commit + CI
  • Scans: scripts/proxmox-scan.py, scripts/whrrr-vmm-scan.pycompute-live
  • Patches: scripts/inventory-propose-patches.pyartifacts/inventory-patches/
  • VMID backfill: all Prox guests + recordurbate / ubuncap Whrrr hosts
  • Ansible: discover-proxmox-power.yml, discover-guests.yml, discover-facts role
  • 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 (--check OK)
  • Whrrr VMM: 2 guests matched; guest_id UUIDs backfilled on recordurbate/ubuncap
  • Inventory fixes: removed proxmox block from retired blocktopus; synced power on k6-loadtest (running), nfs-monitoring (stopped), octoprint (stopped)
  • Guest facts: discover-guests.yml succeeded on infra-servicescompute-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