mirror of
https://github.com/xcat2/xcat-core.git
synced 2026-05-17 11:54:16 +00:00
e239e04843
Replace backtick command substitutions with $(), quote variable
expansions to prevent word splitting, replace useless cat pipes with
redirections, use grep -q instead of redirecting to /dev/null, and use
bash parameter expansion for case conversion.
Based on the work from PR #6366, rebased and adapted to current master.
Shebangs already merged separately via df64bf8fe are excluded.
Co-Authored-By: Samveen <samveen@yahoo.com>
44 lines
1.5 KiB
Bash
Executable File
44 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
CREDPID=$!
|
|
if [ -z "$XCATDEST" ]; then
|
|
XCATDEST=$1
|
|
fi
|
|
if [ -z "$XCATDEST" ]; then
|
|
for parm in $(cat /proc/cmdline); do
|
|
if echo "$parm" |grep -q xcatd=; then
|
|
XCATDEST="$(echo "$parm" |awk -F= '{print $2}')"
|
|
fi
|
|
done
|
|
fi
|
|
for LANCHAN in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16; do
|
|
if ipmitool channel info $LANCHAN 2> /dev/null | grep 802.3 > /dev/null 2>&1 && ipmitool raw 0xc 2 $LANCHAN 5 0 0 > /dev/null 2>&1;
|
|
then break;
|
|
fi;
|
|
done
|
|
BMCMAC="$(ipmitool lan print "$LANCHAN"|grep ^MAC|awk '{print $4}')" #bmcconfig may opt to use DHCP, if so we need to feed up the mac address
|
|
#TODO: need a way to get the DUID the service processor may use, perhaps reserve that for 'ibmsetup' since spec doesn't touch ipv6?
|
|
|
|
echo "<xcatrequest>
|
|
<command>remoteimmsetup</command>
|
|
<bmcmac>$BMCMAC</bmcmac>
|
|
</xcatrequest>" > /tmp/bmcreq.xml
|
|
rm /tmp/remsetup.xml
|
|
while [ ! -f /tmp/remsetup.xml ] || grep error /tmp/remsetup.xml; do
|
|
if [ -f /tmp/remsetup.xml ]; then
|
|
timer=60
|
|
while [ $timer -gt 0 ]; do
|
|
sleep 1
|
|
echo -en "Retrying in $timer seconds \r"
|
|
timer=$(($timer-1));
|
|
done
|
|
fi
|
|
echo -en " \r";
|
|
|
|
if [ -f /etc/xcat/cert.pem -a -f /etc/xcat/certkey.pem ]; then #use client cert if available
|
|
openssl s_client -key /etc/xcat/certkey.pem -cert /etc/xcat/cert.pem -connect "$XCATDEST" -quiet 2> /dev/null < /tmp/bmcreq.xml > /tmp/remsetup.xml
|
|
else
|
|
openssl s_client -connect "$XCATDEST" -quiet 2> /dev/null < /tmp/bmcreq.xml > /tmp/remsetup.xml
|
|
fi
|
|
done
|
|
rm /tmp/bmcreq.xml
|