Files
PSProxmoxVE/tests/.env.test.example
T
Clint Branham 9817d30a11 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>
2026-03-24 13:34:15 -05:00

29 lines
1.3 KiB
Bash

# PSProxmoxVE integration test configuration.
# Copy to .env.test and fill in values. This file is gitignored.
#
# These credentials point to the PARENT PVE host where nested test VMs
# will be provisioned. Integration tests run against the nested VMs,
# not against this host directly.
#
# Provisioned VMs:
# - 2x PVE 9 nodes (pve9a, pve9b) for cluster testing
# - 2x PVE 8 nodes (pve8a, pve8b) for cluster testing
# - 1x Ubuntu storage VM (iSCSI target + NFS server)
# ── Required: parent PVE for provisioning ─────────────────────────────
PVE_ENDPOINT=https://pve.example.com:8006
PVE_API_TOKEN=user@realm!tokenid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
PVE_TARGET_NODE=pve1
PVE_PASSWORD=<root-password-for-nested-pve>
# ── Optional overrides ────────────────────────────────────────────────
# CACHE_DIR=/opt/pve-isos
# WORK_DIR=/tmp/pve-integration
# PVE_VERSIONS=9 8
#
# ── VMID overrides ───────────────────────────────────────────────────
# PVE9A_VMID=99091
# PVE9B_VMID=99092
# PVE8A_VMID=99081
# PVE8B_VMID=99082