54 lines
1.6 KiB
Bash
54 lines
1.6 KiB
Bash
|
|
#!/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."
|