#!/usr/bin/bash # powerman/rename-outlets.sh — rename PDU outlets in powerman.conf # # Takes a mapping file (outlet-number:new-name, one per line) and rewrites # the node entries in /etc/powerman/powerman.conf on pfv-tsys1, then # restarts powermand. # # Usage: # bash dcinfra/powerman/rename-outlets.sh # # Example mapping file: # 1:pfv-tsys1 # 2:pfv-tsys3 # 3:pfv-tsys4 # ... set -euo pipefail PROX_HOST="${PROX_HOST:-pfv-tsys1}" REMOTE_SH="$(cd "$(dirname "$0")/../.." && pwd)/tests/remote.sh" MAP_FILE="${1:-}" if [ -z "$MAP_FILE" ] || [ ! -f "$MAP_FILE" ]; then echo "Usage: $0 " echo " Format: outlet-number:new-name (one per line)" echo " Run identify-outlets.sh first to get the mapping." exit 1 fi # Build the new node lines NODE_LINES="" while IFS=: read -r num name; do [ -z "$num" ] && continue NODE_LINES+="node \"$name\" \"cyclades-pm10\" \"$num\""$'\n' done < "$MAP_FILE" # Send to tsys1: backup conf, write new node section, restart powermand PROX_HOST="$PROX_HOST" bash "$REMOTE_SH" prox-file - < /tmp/powerman.conf.new cat >> /tmp/powerman.conf.new <<'NODES' $(echo -n "$NODE_LINES") NODES mv /tmp/powerman.conf.new /etc/powerman/powerman.conf systemctl restart powerman sleep 1 powerman -l REMOTE_SCRIPT echo "PDU outlets renamed. Verify with: PROX_HOST=$PROX_HOST bash $REMOTE_SH prox 'powerman -q'"