From e561211683be0607622036ff2abcc22a31c6f586 Mon Sep 17 00:00:00 2001 From: jbjohnso Date: Sun, 5 Feb 2012 17:12:49 +0000 Subject: [PATCH] Try to bring up as many nics as possible in all cases, not just discovery. Rework some messages for more clarity git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@11479 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd --- xCAT-nbroot2/dodiscovery | 7 +------ xCAT-nbroot2/doxcat | 11 ++++++++++- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/xCAT-nbroot2/dodiscovery b/xCAT-nbroot2/dodiscovery index 7c6eda5cc..dc8a5b8da 100755 --- a/xCAT-nbroot2/dodiscovery +++ b/xCAT-nbroot2/dodiscovery @@ -5,11 +5,6 @@ PUBKEY=`echo $PUBKEY|sed -e 's/ //g'` export PUBKEY echo "Beginning node discovery process" -NICSTOBRINGUP=`ip link|grep mtu|grep -v LOOPBACK|grep -v usb|grep -v ,UP|awk -F: '{print $2}'` -for nic in $NICSTOBRINGUP; do - dhclient -cf /etc/dhclient.conf -pf /var/run/dhclient.$nic.pid $nic & - #no need to go out of our way for superfluous ipv6 nics -done waitforlink=100 while [ ! -z "$NICSTOBRINGUP" -a $waitforlink -gt 0 ]; do NICSTOBRINGUP=`ip link|grep mtu|grep -v LOOPBACK|grep -v usb|grep -v ,LOWER_UP|awk -F: '{print $2}'` @@ -42,7 +37,7 @@ done if [ $timewaiting != 700 -a $timewaiting -gt 450 ]; then echo "Got an address, but it took inordinately long, you may want to check spanning tree configuration" fi -echo "Stopped waiting on nics to get addresses" +echo "Network configuration complete, commencing transmit of discovery packets" XCATPORT=3001 export XCATPORT for parm in `cat /proc/cmdline`; do diff --git a/xCAT-nbroot2/doxcat b/xCAT-nbroot2/doxcat index bde549036..618ba3e97 100755 --- a/xCAT-nbroot2/doxcat +++ b/xCAT-nbroot2/doxcat @@ -63,7 +63,16 @@ done echo '};' >> /var/lib/lldpad/lldpad.conf lldpad -d dhclient -cf /etc/dhclient.conf -pf /var/run/dhclient.$bootnic.pid $bootnic & +#we'll kick of IPv6 and IPv4 on all nics, but not wait for them to come up unless doing discovery, to reduce +#chances that we'll perform a partial discovery +#in other scenarios where downed non-bootnics cause issues, will rely on retries to fix things up dhclient -6 -pf /var/run/dhclient6.$bootnic.pid $bootnic -lf /var/lib/dhclient/dhclient6.leases & +NICSTOBRINGUP=`ip link|grep mtu|grep -v LOOPBACK|grep -v $bootnic|grep -v usb|grep -v ,UP|awk -F: '{print $2}'` +export NICSTOBRINGUP +for nic in $NICSTOBRINGUP; do + dhclient -cf /etc/dhclient.conf -pf /var/run/dhclient.$nic.pid $nic & + dhclient -cf /etc/dhclient.conf -6 -pf /var/run/dhclient6.$nic.pid -lf var/lib/dhclient/dhclient6.leases $nic & +done openssl genrsa -out /etc/xcat/certkey.pem 4096 > /dev/null 2>&1 & @@ -79,7 +88,7 @@ while ! ip addr show dev $bootnic|grep -v 'scope link'|grep -v 'dynamic'|grep -v fi gripeiter=$((gripeiter-1)) done -echo -n "Acquired IPv4 address " +echo -n "Acquired IPv4 address on $bootnic: " ip addr show dev $bootnic|grep -v 'scope link'|grep -v 'dynamic'|grep -v inet6|grep inet|awk '{print $2}' ntpd -g -x (while ! ntpq -c "rv 0 state"|grep 'state=4' > /dev/null; do sleep 1; done; hwclock --systohc) &