From 1bdde9c128f053666574fe19d9e7ed7e9b1007d5 Mon Sep 17 00:00:00 2001 From: juvdiaz Date: Wed, 1 Jul 2026 13:14:06 -0600 Subject: [PATCH] Default Pimox workers back to DHCP networking --- README.md | 11 +++++------ README.md.tmpl | 11 +++++------ bootstrap/provisioning/README.md | 10 ++++------ docs/jeannie.1.md | 4 ++++ jeannie | 2 +- 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index e3f27f2..d556f6e 100644 --- a/README.md +++ b/README.md @@ -727,14 +727,13 @@ Worker indexes are stable. Index `1` maps to VMID `9010`, node name so on. `LAB_PIMOX_SKIP_WORKER_INDEXES=1` leaves the first slot unmanaged while allowing higher indexes to be automated. -Worker networking is deterministic by default. After cloning or reusing a VM, -the pipeline uses qemu-guest-agent to write a static `/etc/network/interfaces` -entry before waiting for SSH, so a missing DHCP lease cannot stall the build. -Defaults are `LAB_PIMOX_WORKER_NETWORK_MODE=static`, +Worker networking uses DHCP by default to preserve the known-good Pimox bridge +path. Set `LAB_PIMOX_WORKER_NETWORK_MODE=static` only when DHCP reservations are +not available and you explicitly want Jeannie to configure guest static IPs with +qemu-guest-agent. Static mode uses `LAB_PIMOX_WORKER_STATIC_IPS="192.168.100.66 192.168.100.67 192.168.100.76"`, `LAB_PIMOX_WORKER_GATEWAY=192.168.100.1`, and -`LAB_PIMOX_WORKER_DNS_SERVERS="192.168.100.89 1.1.1.1"`. Set -`LAB_PIMOX_WORKER_NETWORK_MODE=dhcp` to restore the old DHCP-only behavior. +`LAB_PIMOX_WORKER_DNS_SERVERS="192.168.100.89 1.1.1.1"`. Worker creation fails faster than template creation: static guest-network configuration waits up to `LAB_PIMOX_GUEST_AGENT_CONFIG_TIMEOUT_SECONDS=120`, worker IP/SSH readiness waits up to `LAB_PIMOX_WORKER_WAIT_TIMEOUT_SECONDS=600`, diff --git a/README.md.tmpl b/README.md.tmpl index fa3a538..b4c7034 100644 --- a/README.md.tmpl +++ b/README.md.tmpl @@ -727,14 +727,13 @@ Worker indexes are stable. Index `1` maps to VMID `9010`, node name so on. `LAB_PIMOX_SKIP_WORKER_INDEXES=1` leaves the first slot unmanaged while allowing higher indexes to be automated. -Worker networking is deterministic by default. After cloning or reusing a VM, -the pipeline uses qemu-guest-agent to write a static `/etc/network/interfaces` -entry before waiting for SSH, so a missing DHCP lease cannot stall the build. -Defaults are `LAB_PIMOX_WORKER_NETWORK_MODE=static`, +Worker networking uses DHCP by default to preserve the known-good Pimox bridge +path. Set `LAB_PIMOX_WORKER_NETWORK_MODE=static` only when DHCP reservations are +not available and you explicitly want Jeannie to configure guest static IPs with +qemu-guest-agent. Static mode uses `LAB_PIMOX_WORKER_STATIC_IPS="192.168.100.66 192.168.100.67 192.168.100.76"`, `LAB_PIMOX_WORKER_GATEWAY=192.168.100.1`, and -`LAB_PIMOX_WORKER_DNS_SERVERS="192.168.100.89 1.1.1.1"`. Set -`LAB_PIMOX_WORKER_NETWORK_MODE=dhcp` to restore the old DHCP-only behavior. +`LAB_PIMOX_WORKER_DNS_SERVERS="192.168.100.89 1.1.1.1"`. Worker creation fails faster than template creation: static guest-network configuration waits up to `LAB_PIMOX_GUEST_AGENT_CONFIG_TIMEOUT_SECONDS=120`, worker IP/SSH readiness waits up to `LAB_PIMOX_WORKER_WAIT_TIMEOUT_SECONDS=600`, diff --git a/bootstrap/provisioning/README.md b/bootstrap/provisioning/README.md index a7a93fd..f769c33 100644 --- a/bootstrap/provisioning/README.md +++ b/bootstrap/provisioning/README.md @@ -142,14 +142,12 @@ destroy and recreate existing worker VMs from the current template. The pipeline refuses `LAB_PIMOX_WORKER_STORAGE=local` so only the template VM lives on local storage. -Worker networking defaults to deterministic static LAN addresses configured -through qemu-guest-agent after clone/start and before SSH wait: -`LAB_PIMOX_WORKER_NETWORK_MODE=static`, +Worker networking defaults to DHCP to preserve the known-good Pimox bridge path: +`LAB_PIMOX_WORKER_NETWORK_MODE=dhcp`. Static mode is still available when DHCP +reservations are not available: set `LAB_PIMOX_WORKER_NETWORK_MODE=static`, `LAB_PIMOX_WORKER_STATIC_IPS="192.168.100.66 192.168.100.67 192.168.100.76"`, `LAB_PIMOX_WORKER_GATEWAY=192.168.100.1`, `LAB_PIMOX_WORKER_INTERFACE=enp0s18`, -and `LAB_PIMOX_WORKER_DNS_SERVERS="192.168.100.89 1.1.1.1"`. Use -`LAB_PIMOX_WORKER_NETWORK_MODE=dhcp` only when DHCP reservations are known to be -stable. +and `LAB_PIMOX_WORKER_DNS_SERVERS="192.168.100.89 1.1.1.1"`. Worker clone failures are intentionally faster than template build failures: `LAB_PIMOX_GUEST_AGENT_CONFIG_TIMEOUT_SECONDS=120`, `LAB_PIMOX_WORKER_WAIT_TIMEOUT_SECONDS=600`, and diff --git a/docs/jeannie.1.md b/docs/jeannie.1.md index feddec8..cabfff5 100644 --- a/docs/jeannie.1.md +++ b/docs/jeannie.1.md @@ -539,6 +539,10 @@ falls back to the first Lynis warning, then the first suggestion. : Desired Pimox worker count when not supplied by generated cluster topology state. +`LAB_PIMOX_WORKER_NETWORK_MODE` +: Worker guest networking mode. Defaults to `dhcp`. Set to `static` only when +Jeannie should configure guest static IPs through qemu-guest-agent. + `LAB_PIMOX_WORKER_REQUIRE_LAN_PROBE` : Require the worker guest to ping the LAN gateway and probe host after static IP assignment. Defaults to `true`. diff --git a/jeannie b/jeannie index e22fcd6..0bb7afc 100755 --- a/jeannie +++ b/jeannie @@ -1425,7 +1425,7 @@ ensure_pimox_worker_node() { local worker_storage="${19}" local worker_replace_existing="${20}" local worker_cpu_affinity="${21}" - local worker_network_mode="${LAB_PIMOX_WORKER_NETWORK_MODE:-static}" + local worker_network_mode="${LAB_PIMOX_WORKER_NETWORK_MODE:-dhcp}" local worker_static_ips="${LAB_PIMOX_WORKER_STATIC_IPS:-192.168.100.66 192.168.100.67 192.168.100.76}" local worker_gateway="${LAB_PIMOX_WORKER_GATEWAY:-192.168.100.1}" local worker_dns_servers="${LAB_PIMOX_WORKER_DNS_SERVERS:-192.168.100.89 1.1.1.1}"