#!/bin/sh # IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html #egan@us.ibm.com #(C)IBM Corp # This scripts transfers the cfgloc files and the xCAT credentials from # the Management Node to the Service Node on Linux. # It only does something, if called with the -d flag. # The -d flag was implemented when the call to the routine was moved # from the postscript table into the servicenode postscript. # if [ ! $1 ]; then logger -t xcat "xcatserver call without -d, doing nothing." #echo "xcatserver call without -d, doing nothing." #echo $1 exit 0 fi if [ $1 != "-d" ]; then logger -t xcat "xcatserver call without -d, doing nothing." #echo "xcatserver call without -d, doing nothing." #echo $1 exit 0 fi logger -t xcat "xcatserver call with -d. getting credentials and cfgloc " #echo "xcatserver call with -d, getting credentials and cfgloc." #echo $1 if [ ! -x /usr/bin/openssl ]; then logger -t xcat "$0: /usr/bin/openssl is not executable" exit 0 fi USEOPENSSLFORXCAT=1 export USEOPENSSLFORXCAT allowcred.awk & CREDPID=$! sleep 1 mkdir -p /etc/xcat/cert getcredentials.awk xcat_server_cred | grep -v '<'|sed -e 's/<//' -e 's/&/&/' -e 's/"/"/' -e "s/'/'/" > /etc/xcat/cert/server-cred.pem chmod 600 /etc/xcat/cert/* getcredentials.awk xcat_cfgloc | grep -v '<'|sed -e 's/<//' -e 's/&/&/' -e 's/"/"/' -e "s/'/'/" > /etc/xcat/cfgloc # if not DB2 grep "DB2" /etc/xcat/cfgloc 2>&1 1> /dev/null if [ $? -ne 0 ]; then sed s/host=[^\|]*/host=$MASTER/ /etc/xcat/cfgloc > /etc/xcat/cfgloc.new mv /etc/xcat/cfgloc.new /etc/xcat/cfgloc else if [ -n "$UPDATENODE" ] && [ $UPDATENODE -eq 1 ]; then cp /etc/xcat/cfgloc /etc/xcat/cfgloc.db2 else mv /etc/xcat/cfgloc /etc/xcat/cfgloc.db2 fi fi chmod 600 /etc/xcat/cfgloc* # do not assume working directory, use the full path cp /xcatpost/_xcat/ca.pem /etc/xcat/cert/ca.pem kill -9 $CREDPID