git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@9846 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
		
			
				
	
	
		
			50 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| minixcatd.awk &
 | |
| 
 | |
| 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 $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}'`
 | |
| 	waitforlink = $((waitforlink - 1))
 | |
| 	sleep 0.1
 | |
| 	if [ $waitforlink = 1 ]; then
 | |
| 		echo "No link detected on $NICSTOBRINGUP"
 | |
| 	fi
 | |
| done
 | |
| NICSGETTINGADDR=`ip link|grep mtu|grep -v LOOPBACK|grep -v usb|grep ,LOWER_UP|awk -F: '{print $2}'`
 | |
| timewaiting=0
 | |
| echo "Waiting for nics to get addresses"
 | |
| while [ ! -z "$NICSGETTINGADDR" -a $timewaiting != 700 ]; do
 | |
| 	NEWNICSGETTINGADDR=""
 | |
| 	for nic in $NICSGETTINGADDR; do
 | |
| 		if ! ip addr show dev $nic |grep -v inet6|grep inet >/dev/null;  then
 | |
| 			NEWNICSGETTINGADDR="$NEWNICSGETTINGADDR $nic"
 | |
| 		else
 | |
| 			echo -n "$nic|"
 | |
| 			ip addr show dev $nic |grep -v inet6|grep inet|sed -e s/\\/.*//|awk '{print $2}'
 | |
| 		fi
 | |
| 	done
 | |
| 	sleep 0.1
 | |
| 	timewaiting=$((timewaiting+1))
 | |
| 	if [ $timewaiting = 450 ]; then
 | |
| 		echo "45 seconds without an address on $nic, is spanning tree set to slow?"
 | |
| 	fi
 | |
| 	if [ $timewaiting = 699 ]; then
 | |
| 		echo "No DHCP answer for $nic, ignoring interface"
 | |
| 	fi
 | |
| 	NICSGETTINGADDR=$NEWNICSGETTINGADDR
 | |
| done
 | |
| echo "Stopped waiting on nics to get addresses"
 | |
| 	
 | |
| 	
 | |
| 
 | |
| while [ ! -r /restart ]; do
 | |
| 	sleep 1
 | |
| done
 | |
| 	
 |