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