From 7cbc8b1bea68a80f72a8de8d95e3af8fee883b89 Mon Sep 17 00:00:00 2001 From: immarvin Date: Thu, 15 Aug 2013 22:33:51 -0700 Subject: [PATCH] update the nodelist.status to installing/netbooting via feedback from node during provision --- xCAT-server/share/xcat/netboot/sles/genimage | 59 +++++++++++++++++++- 1 file changed, 56 insertions(+), 3 deletions(-) diff --git a/xCAT-server/share/xcat/netboot/sles/genimage b/xCAT-server/share/xcat/netboot/sles/genimage index b4a018698..a619a80e0 100755 --- a/xCAT-server/share/xcat/netboot/sles/genimage +++ b/xCAT-server/share/xcat/netboot/sles/genimage @@ -472,7 +472,7 @@ unless ($onlyinitrd) { } } - foreach $pass (sort {$a <=> $b} (keys(%extra_hash))) { + foreach $pass (sort {$a <=> $b} (keys(%extra_hash))) { my $index=1; #remove the old repository for extra packages @@ -1032,6 +1032,7 @@ EOMS # check the kernel parameters firstly # if one parameter for the booting device is here, it will be used PRINIC=$prinic +NODESTATUS='y' XCATMNTOPTS='nolock,tcp' for i in `cat /proc/cmdline`; do KEY=`echo \$i |awk -F= '{print \$1}'` @@ -1050,6 +1051,11 @@ for i in `cat /proc/cmdline`; do XCATMNTOPTS=\$VALUE fi + + + if [ \$i == 'nonodestatus' ]; then + NODESTATUS='n' + fi done if [ -z "\$IFACE" ]; then @@ -1083,6 +1089,18 @@ echo "STARTMODE=nfsroot" > /tmp/ifcfg-\$IFACE ip addr add dev lo 127.0.0.1/8 ip link set lo up + + +XCATMASTER=`echo \$XCATSERVER|awk -F: '{print \$1}'` + +if [ -z \$XCATIPORT ]; then + XCATIPORT="3002" +fi + +if [ \$NODESTATUS != 'n' ]; then + /tmp/updateflag \$XCATMASTER \$XCATIPORT "installstatus netbooting" +fi + cd / for i in `cat /proc/cmdline`; do KEY=`echo \$i |awk -F= '{print \$1}'` @@ -1373,8 +1391,43 @@ cat /var/lib/dhcpcd/*info | grep HOSTNAME | uniq | awk -F= '{print \$2}'| sed \" END close($inifile); - chmod(0755,"/tmp/xcatinitrd.$$/init"); - chmod(0755,"/tmp/xcatinitrd.$$/bin/netstart"); + + #if "nonodestatus" specified,do not update the nodestatus + system("mkdir -p /tmp/xcatinitrd.$$/tmp/"); + open($inifile, ">","/tmp/xcatinitrd.$$/tmp/updateflag"); + + print $inifile <