#!/bin/sh set -e PROGRAM="$(basename "${0}")" HOST="$(sed -e 's|.host$|.management|' /etc/hostname)" ADDRESS="$(ipcalc-ng --all-info "$(dig +short AAAA "${HOST}")" | awk '/^Full Address/ { print $3 }')" if [ -z "${ADDRESS}" ] then "${PROGRAM}: no IP address found for ${HOST}" exit 1 fi echo "${PROGRAM}: resetting ipmi to factory defaults (including users and lan)" ipmicfg -fdl -d echo "${PROGRAM}: change to protocol to dual-stack" ipmicfg -addrptl 3 echo "${PROGRAM}: configuring ipmi to ${ADDRESS}" ipmicfg -ipv6 add 1 "${ADDRESS}" 64 echo "${PROGRAM}: disabling ipv4 dhcp for ipv6-only configuration" ipmicfg -dhcp off echo "${PROGRAM}: clearing ipv4 address for ipv6-only configuration" ipmicfg -m 0.0.0.0 echo "${PROGRAM}: rebooting ipmi" ipmicfg -r -d echo "${PROGRAM}: done."