#!/bin/sh
# IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html
#(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 -p local4.err "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 -p local4.err "xcatserver call without -d, doing nothing."
   #echo "xcatserver call without -d, doing nothing."
   #echo $1
   exit 0
fi
logger -t xcat -p local4.info "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 -p local4.err "$0: /usr/bin/openssl is not executable"
   exit -1
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/&lt;/</' -e 's/&gt;/>/' -e 's/&amp;/&/' -e 's/&quot/"/' -e "s/&apos;/'/" > /etc/xcat/cert/server-cred.pem
   chmod 600 /etc/xcat/cert/*
   getcredentials.awk xcat_cfgloc | grep -v '<'|sed -e 's/&lt;/</' -e 's/&gt;/>/' -e 's/&amp;/&/' -e 's/&quot/"/' -e "s/&apos;/'/" > /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
