Files
proxmox/scripts/run-rpc-node-suite.sh.bak

58 lines
1.5 KiB
Bash
Raw Permalink Normal View History

#!/usr/bin/env bash
# One-shot runner: RPC node health suite
#
# Runs:
# - Proxmox storage restriction audit
# - Besu heap sizing audit
# - Idempotent remediation script (dry-run by default)
# - Full RPC JSON-RPC test matrix against all nodes
#
# Usage:
# PROXMOX_HOST=192.168.11.10 ./scripts/run-rpc-node-suite.sh
# PROXMOX_HOST=192.168.11.10 ./scripts/run-rpc-node-suite.sh --apply --restart-besu
#
# Notes:
# - Remediation is dry-run unless you pass --apply.
# - --restart-besu only works with --apply.
set -euo pipefail
PROXMOX_HOST="${PROXMOX_HOST:-192.168.11.10}"
APPLY_ARGS=()
while [[ $# -gt 0 ]]; do
case "$1" in
--apply) APPLY_ARGS+=("--apply"); shift ;;
--restart-besu) APPLY_ARGS+=("--restart-besu"); shift ;;
-h|--help)
sed -n '1,80p' "$0" | sed 's/^# \{0,1\}//'
exit 0
;;
*) echo "Unknown arg: $1" >&2; exit 2 ;;
esac
done
echo "=== RPC Node Health Suite ==="
echo "PROXMOX_HOST=${PROXMOX_HOST}"
echo "Remediation: ${APPLY_ARGS[*]:-(dry-run)}"
echo
echo "== 1) Storage audit =="
PROXMOX_HOST="${PROXMOX_HOST}" ./scripts/audit-proxmox-rpc-storage.sh
echo
echo "== 2) Besu heap audit =="
PROXMOX_HOST="${PROXMOX_HOST}" ./scripts/audit-proxmox-rpc-besu-heap.sh
echo
echo "== 3) Remediation (idempotent) =="
PROXMOX_HOST="${PROXMOX_HOST}" ./scripts/remediate-proxmox-rpc-stability.sh "${APPLY_ARGS[@]}"
echo
echo "== 4) Full RPC matrix test (writes reports/*) =="
python3 ./scripts/test-all-rpc-nodes.py --timeout 4 --threads 12
echo
echo "Done."