mirror of
https://github.com/GoodOlClint/PSProxmoxVE.git
synced 2026-07-26 07:58:14 +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:
@@ -102,12 +102,12 @@ jobs:
|
||||
push: true
|
||||
tags: ${{ env.TEST_IMAGE }}:${{ github.sha }},${{ env.TEST_IMAGE }}:latest
|
||||
|
||||
# ── Provision all nested PVE VMs (self-hosted) ──────────────────────
|
||||
# ── Provision all nested PVE VMs + storage VM (self-hosted) ─────────
|
||||
provision:
|
||||
if: inputs.skip_provision != true
|
||||
needs: [build, container-image]
|
||||
runs-on: [self-hosted, proxmox, integration]
|
||||
timeout-minutes: 30
|
||||
timeout-minutes: 45
|
||||
container:
|
||||
image: ghcr.io/goodolclint/psproxmoxve-integration:${{ github.sha }}
|
||||
credentials:
|
||||
@@ -115,6 +115,7 @@ jobs:
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
volumes:
|
||||
- /opt/pve-isos:/opt/pve-isos
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
@@ -185,6 +186,7 @@ jobs:
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
volumes:
|
||||
- /opt/pve-isos:/opt/pve-isos
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
Reference in New Issue
Block a user