mirror of
https://github.com/GoodOlClint/PSProxmoxVE.git
synced 2026-07-26 16:08:13 +00:00
9817d30a11
Provision two PVE nodes per version (a/b) for future cluster testing, plus Docker-based iSCSI target and NFS server for shared storage tests. Multi-node changes: - Each PVE version gets two nodes: 9a/9b and 8a/8b (4 VMs total) - Parameterized answer.toml FQDN for unique hostnames per node - Per-node auto-install ISOs with unique answer files - Node name discovered from FQDN and included in test config - API token creation handles pre-existing tokens (delete + recreate) - New test env vars: PVETEST_HOST_B, PVETEST_APITOKEN_B - Removed preflight cleanup from provision (use explicit cleanup instead) Docker storage services: - New docker-compose.storage.yml with iSCSI (tgt) and NFS containers - Host networking so PVE nodes can reach storage services - Docker socket mounted into dev-infra container for host Docker access - Docker CLI added to dev-infra Dockerfile stage - New test env vars: PVETEST_STORAGE_VM_IP, PVETEST_ISCSI_IQN, PVETEST_NFS_EXPORT Other fixes: - first-boot.sh installs open-iscsi on PVE nodes - preflight-cleanup.sh handles empty ISO filename gracefully - TMPDIR set to work dir to avoid /tmp overflow during ISO uploads Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
25 lines
1.1 KiB
Bash
Executable File
25 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# First-boot script for nested PVE test instances.
|
|
# Runs once after auto-install completes and the system reboots.
|
|
# Installs qemu-guest-agent so the parent PVE can discover the VM's IP via the guest agent API.
|
|
|
|
set -e
|
|
|
|
# Disable enterprise repos (no subscription) and enable the no-subscription repo
|
|
# PVE 8.x uses .list files, PVE 9.x uses .sources (DEB822 format)
|
|
rm -f /etc/apt/sources.list.d/pve-enterprise.list /etc/apt/sources.list.d/pve-enterprise.sources
|
|
rm -f /etc/apt/sources.list.d/ceph.list /etc/apt/sources.list.d/ceph.sources
|
|
|
|
# Detect Debian suite from os-release (works on both PVE 8/bookworm and PVE 9/trixie)
|
|
SUITE=$(. /etc/os-release && echo "$VERSION_CODENAME")
|
|
if [ -z "$SUITE" ]; then
|
|
# Fallback: try parsing apt sources
|
|
SUITE=$(grep -oP 'Suites:\s*\K\S+' /etc/apt/sources.list.d/debian.sources 2>/dev/null | head -1 || echo "bookworm")
|
|
fi
|
|
echo "deb http://download.proxmox.com/debian/pve ${SUITE} pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
|
|
|
|
apt-get update -qq
|
|
apt-get install -y -qq qemu-guest-agent open-iscsi
|
|
systemctl start qemu-guest-agent
|
|
systemctl enable open-iscsi
|