You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
From #113 (Phase 2.4): we want to validate that tofu apply + Ansible actually work against a clean Proxmox instance, without requiring literal new hardware. Nested virtualization makes this possible -- run a test Proxmox VE instance as a VM on pve1 and exercise the full IaC stack against it.
This is aspirational/low-priority, but would be a high-confidence way to validate the DR rebuild path periodically.
Approach
Run Proxmox VE as a nested VM on pve1 (Ryzen 1800X supports kvm_amd nested=1). The nested VMs don't need to run real workloads -- they just need to exist long enough to prove the automation converges.
What it would validate
tofu apply successfully creates VMs against a clean Proxmox
VMs come up with correct specs (CPU, RAM, disk, network)
Ansible can SSH in and configure them (roles converge on fresh Debian)
NFS mount setup works (even against a stub NFS server on the test network)
Tear down -- destroy the test Proxmox VM and reclaim resources
Resource budget
pve1 has 64GB RAM, ~10.5GB allocated to prod VMs. A test Proxmox VM + a couple tiny nested VMs could fit in ~8-12GB. Tight but workable if not running alongside peak workloads. Performance will be slow (nested virt) but correctness is what matters, not speed.
Lighter-weight alternatives to consider
Molecule for Ansible roles -- test roles against Docker containers instead of real VMs. Easier to set up, could run in CI, but doesn't exercise the Proxmox/tofu layer.
tofu plan only -- validates config syntax and provider connectivity without applying. Catches drift but doesn't prove apply works.
On-demand cloud host -- e.g. Hetzner dedicated with nested virt (~$40/mo), spun up for monthly DR tests, torn down after. Fully isolated from homelab, proves "hotel room recovery" works.
Open questions
How to handle the Proxmox API user/token for the test instance (hardcoded test creds? separate OpenBao path?)
Whether to simulate NFS with a local stub or skip mount validation
Whether this should be a manual "run quarterly" thing or fully automated in CI
Background
From #113 (Phase 2.4): we want to validate that
tofu apply+ Ansible actually work against a clean Proxmox instance, without requiring literal new hardware. Nested virtualization makes this possible -- run a test Proxmox VE instance as a VM on pve1 and exercise the full IaC stack against it.This is aspirational/low-priority, but would be a high-confidence way to validate the DR rebuild path periodically.
Approach
Run Proxmox VE as a nested VM on pve1 (Ryzen 1800X supports
kvm_amd nested=1). The nested VMs don't need to run real workloads -- they just need to exist long enough to prove the automation converges.What it would validate
tofu applysuccessfully creates VMs against a clean ProxmoxImplementation sketch
options kvm_amd nested=1kernel module paramResource budget
pve1 has 64GB RAM, ~10.5GB allocated to prod VMs. A test Proxmox VM + a couple tiny nested VMs could fit in ~8-12GB. Tight but workable if not running alongside peak workloads. Performance will be slow (nested virt) but correctness is what matters, not speed.
Lighter-weight alternatives to consider
tofu planonly -- validates config syntax and provider connectivity without applying. Catches drift but doesn't prove apply works.Open questions
Related