Files
proxmox/scripts/run-rpc-node-suite-all-hosts.sh

54 lines
1.6 KiB
Bash
Raw Permalink Normal View History

#!/usr/bin/env bash
# Run RPC node health suite on all Proxmox hosts (storage + heap + remediation per host, then full RPC test).
# Usage: ./scripts/run-rpc-node-suite-all-hosts.sh [--apply] [--restart-besu]
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
source "${PROJECT_ROOT}/config/ip-addresses.conf" 2>/dev/null || true
PROXMOX_SSH_USER="${PROXMOX_SSH_USER:-${PROXMOX_USER:-root}}"
[[ "$PROXMOX_SSH_USER" == *"@"* ]] && PROXMOX_SSH_USER="root"
ML110="${PROXMOX_HOST_ML110:-192.168.11.10}"
R630_01="${PROXMOX_HOST_R630_01:-192.168.11.11}"
R630_02="${PROXMOX_HOST_R630_02:-192.168.11.12}"
HOSTS=("$ML110" "$R630_01" "$R630_02")
APPLY_ARGS=()
while [[ $# -gt 0 ]]; do
case "$1" in
--apply) APPLY_ARGS+=("--apply"); shift ;;
--restart-besu) APPLY_ARGS+=("--restart-besu"); shift ;;
*) shift ;;
esac
done
echo "=== RPC Node Health Suite (all hosts) ==="
echo "Remediation: ${APPLY_ARGS[*]:-(dry-run)}"
echo ""
echo "== 1) Storage audit (all hosts) ==="
./scripts/audit-proxmox-rpc-storage.sh
echo ""
echo "== 2) Besu heap audit (per host) ==="
for h in "${HOSTS[@]}"; do
echo "--- Host $h ---"
PROXMOX_HOST="$h" ./scripts/audit-proxmox-rpc-besu-heap.sh 2>/dev/null || true
echo ""
done
echo "== 3) Remediation (per host) ==="
for h in "${HOSTS[@]}"; do
echo "--- Host $h ---"
PROXMOX_HOST="$h" ./scripts/remediate-proxmox-rpc-stability.sh "${APPLY_ARGS[@]}" 2>/dev/null || true
echo ""
done
echo "== 4) Full RPC matrix test (writes reports/*) ==="
python3 ./scripts/test-all-rpc-nodes.py --timeout 4 --threads 12
echo ""
echo "Done."