diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-20 16:50:36 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-20 16:50:36 +0000 |
commit | 880964b500157056d60af553db92d170f1011a59 (patch) | |
tree | 16fc49864a2483988fd6e150521e28c4a8fa1297 /supermicro/bin/supermicro-ipmi-reset | |
parent | Initial commit. (diff) | |
download | open-infrastructure-service-tools-880964b500157056d60af553db92d170f1011a59.tar.xz open-infrastructure-service-tools-880964b500157056d60af553db92d170f1011a59.zip |
Adding upstream version 20231120.upstream/20231120
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rwxr-xr-x | supermicro/bin/supermicro-ipmi-reset | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/supermicro/bin/supermicro-ipmi-reset b/supermicro/bin/supermicro-ipmi-reset new file mode 100755 index 0000000..8bd92f6 --- /dev/null +++ b/supermicro/bin/supermicro-ipmi-reset @@ -0,0 +1,34 @@ +#!/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." |