diff options
Diffstat (limited to 'supermicro/bin/supermicro-ipmi-reset')
-rwxr-xr-x | supermicro/bin/supermicro-ipmi-reset | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/supermicro/bin/supermicro-ipmi-reset b/supermicro/bin/supermicro-ipmi-reset new file mode 100755 index 0000000..6b6e11a --- /dev/null +++ b/supermicro/bin/supermicro-ipmi-reset @@ -0,0 +1,28 @@ +#!/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}: disabling ipv4 dhcp for ipv6-only configuration" +ipmicfg -dhcp off + +echo "${PROGRAM}: configuring ipmi to ${ADDRESS}" +ipmicfg -ipv6 add 1 "${ADDRESS}" 64 + +echo "${PROGRAM}: rebooting ipmi" +ipmicfg -r -d + +echo "${PROGRAM}: done." |