git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@10074 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
		
			
				
	
	
		
			120 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			120 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/sh
 | |
| # IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html
 | |
| 
 | |
| #-------------------------------------------------------------------------------
 | |
| #=head1  otherpkgs
 | |
| #=head2  It gets the extra rpms and install/update them.
 | |
| #        The environment variable OTHERPKGS contains the rpms to be installed/updated.
 | |
| #        On MN, You need to:
 | |
| #        1. put rpms under /install/post/otherpkgs/os/arch directory where 'os' and 'arch'
 | |
| #           can be found in the nodetype table.
 | |
| #        2. put the name of the packages to /opt/xcat/share/xcat/netboot(install)/platform
 | |
| #           directory. The file name is one of the following:
 | |
| #              profile.os.arch.otherpkgs.pkglist
 | |
| #              profile.os.otherpkgs.pkglist
 | |
| #              profile.arch.otherpkgs.pkglist
 | |
| #              profile.otherpkgs.pkglist
 | |
| #   The install/deployment process will pick up the rpms and install them on the nodes.
 | |
| #   However, if the nodes have already installed and up and running, you can run the following
 | |
| #   command to have the extra rpms installed:
 | |
| #       updatenode noderange otherpkgs
 | |
| #
 | |
| #=cut
 | |
| #-------------------------------------------------------------------------------
 | |
| PLTFRM=`uname`
 | |
| 
 | |
| name=`echo $NODE | awk -F-hf '{print $1}'`
 | |
| if [ -z $name ]
 | |
| then
 | |
| name=$NODE
 | |
| fi
 | |
| 
 | |
| if [[ $PLTFRM != AIX  ]] && [[ $PLTFRM != aix  ]]
 | |
| then
 | |
| 
 | |
| # A difference between service node and compute node is that service node is booted from
 | |
| # ethernet, all the HFI interfaces should be configured.  Compute node is booted from hf0
 | |
| # so hf0 on compute node should not be re-configured on compute node.
 | |
| if [[ $NTYPE = service ]]
 | |
| then
 | |
| 
 | |
| CLIENT_IP=`ping -c 3 $name-hf0 -I hf0 | grep "data" | sed 's/.* (\([0-9.]*\)).*/\1/' | uniq 2>&1`
 | |
| 
 | |
| if [ -n $CLIENT_IP ]
 | |
| then
 | |
| echo "DEVICE=hf0
 | |
| NM_CONTROLLED=yes
 | |
| IPADDR=$CLIENT_IP
 | |
| NETMASK=255.0.0.0
 | |
| ONBOOT=yes
 | |
| " >/etc/sysconfig/network-scripts/ifcfg-hf$i
 | |
| 
 | |
| ifup hf$i
 | |
| fi
 | |
| 
 | |
| fi
 | |
| 
 | |
| # Configure hf0-hf<n> interfaces one by one.
 | |
| for i in 1 2 3
 | |
| do
 | |
| 
 | |
| CLIENT_IP=`ping -c 3 $name-hf$i -I hf$i | grep "data" | sed 's/.* (\([0-9.]*\)).*/\1/' | uniq 2>&1`
 | |
| 
 | |
| if [ -n $CLIENT_IP ]
 | |
| then
 | |
| echo "DEVICE=hf$i
 | |
| NM_CONTROLLED=yes
 | |
| IPADDR=$CLIENT_IP
 | |
| NETMASK=255.0.0.0
 | |
| ONBOOT=yes
 | |
| " >/etc/sysconfig/network-scripts/ifcfg-hf$i
 | |
| 
 | |
| ifup hf$i
 | |
| fi
 | |
| 
 | |
| done
 | |
| 
 | |
| else
 | |
| NETMASK=255.0.0.0
 | |
| 
 | |
| if [[ $NTYPE = service ]]
 | |
| then
 | |
| 
 | |
| CLIENT_IP=`ping -q -n -c 1 -w 1 $name-hf0 | grep PING |awk '{print $3}' | sed 's/(\(.*\)):/\1/' `
 | |
| 
 | |
| if [ -n $CLIENT_IP ]
 | |
| then
 | |
| mkhfi -i hf0 -a $CLIENT_IP -m $NETMASK
 | |
| fi
 | |
| 
 | |
| fi
 | |
| 
 | |
| for i in 1 2 3
 | |
| do
 | |
| CLIENT_IP=`ping -q -n -c 1 -w 1 $name-hf$i | grep PING |awk '{print $3}' | sed 's/(\(.*\)):/\1/' `
 | |
| 
 | |
| if [ -n $CLIENT_IP ]
 | |
| then
 | |
| mkhfi -i hf$i -a $CLIENT_IP -m $NETMASK
 | |
| fi
 | |
| 
 | |
| done
 | |
| 
 | |
| # Configure ml0 for AIX.
 | |
| CLIENT_IP=`ping -q -n -c 1 -w 1 $name-ml0 | grep PING |awk '{print $3}' | sed 's/(\(.*\)):/\1/' `
 | |
| 
 | |
| if [ -n $CLIENT_IP ]
 | |
| then
 | |
|     #Check whether the mlt0 is available
 | |
|     `lsdev -C | grep mlt0 | grep Available 2>&1 >/dev/null`
 | |
|     if [ $? ]
 | |
|     then
 | |
|         /usr/ml/aix71/rc.ml
 | |
|     fi
 | |
| 
 | |
|     chdev -l ml0 -a state=detach
 | |
|     chdev -l ml0 -a netaddr=$CLIENT_IP -a netmask=$NETMASK -a state=up
 | |
| fi
 | |
| 
 | |
| fi
 |