mirror of
https://github.com/GoodOlClint/PSProxmoxVE.git
synced 2026-08-30 00:47:07 +00:00
feat(ci): multi-node PVE provisioning and Docker-based shared storage
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>
This commit is contained in:
@@ -49,6 +49,9 @@ else
|
||||
fi
|
||||
|
||||
# --- Clean up orphaned ISO ---
|
||||
if [ -z "$ISO_FILENAME" ]; then
|
||||
echo "No ISO filename specified, skipping ISO cleanup"
|
||||
else
|
||||
ISO_EXISTS=$(curl -sk -H "Authorization: PVEAPIToken=${API_TOKEN}" \
|
||||
"${API_BASE}/nodes/${NODE}/storage/local/content" 2>/dev/null \
|
||||
| python3 -c "
|
||||
@@ -71,6 +74,7 @@ if [ -n "$ISO_EXISTS" ]; then
|
||||
else
|
||||
echo "No orphaned ISO found"
|
||||
fi
|
||||
fi # end ISO_FILENAME check
|
||||
|
||||
# --- Clean up stale Terraform state ---
|
||||
if [ -d "$TF_DIR" ]; then
|
||||
|
||||
Reference in New Issue
Block a user