#!/usr/bin/env bash # Fix Besu installation on all nodes set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" source "$PROJECT_ROOT/config/ip-addresses.conf" get_host_for_vmid() { local vmid=$1 if [[ "$vmid" =~ ^(1505|1506|1507|1508)$ ]]; then echo "${PROXMOX_HOST_ML110}" elif [[ "$vmid" =~ ^(2500|2501|2502|2503|2504|2505)$ ]]; then echo "${PROXMOX_HOST_R630_01}" else echo "${PROXMOX_HOST_R630_01}" fi } fix_besu() { local vmid=$1 local host=$(get_host_for_vmid $vmid) ssh -o StrictHostKeyChecking=no root@${host} "pct exec $vmid -- bash -c ' cd /opt if [ -f besu-23.10.3.tar.gz ] && [ ! -d besu-23.10.3 ]; then echo \"Extracting Besu for $vmid...\" tar -xzf besu-23.10.3.tar.gz fi if [ -d besu-23.10.3 ] && [ ! -L besu ]; then ln -sf besu-23.10.3 besu fi if [ -d besu-23.10.3 ]; then chown -R besu:besu besu-23.10.3 besu 2>/dev/null || true echo \"Besu fixed for $vmid\" fi '" 2>&1 | grep -E "(Extracting|fixed)" || true } for vmid in 1505 1506 2500 2501 2502 1507 1508 2503 2504 2505; do fix_besu $vmid & done wait echo "Besu installation fixed on all nodes"