diff --git a/xCAT/postscripts/getcredentials.awk b/xCAT/postscripts/getcredentials.awk index 92d98a5d8..1998c2024 100755 --- a/xCAT/postscripts/getcredentials.awk +++ b/xCAT/postscripts/getcredentials.awk @@ -15,11 +15,14 @@ BEGIN { print " "ARGV[i]"" |& server print "" |& server + start = 0 while (server |& getline) { - if (match($0,/^\s*")) { + start = 1 + } + if (start == 1) { print $0 } - print $0 if (match($0,"")) { quit = "yes" } diff --git a/xCAT/postscripts/xcatclient b/xCAT/postscripts/xcatclient index 5d755adcb..aaa6ec215 100755 --- a/xCAT/postscripts/xcatclient +++ b/xCAT/postscripts/xcatclient @@ -15,14 +15,23 @@ export USEOPENSSLFORXCAT sleep 1 mkdir -p /root/.xcat chmod 700 /root/.xcat - getcredentials.awk xcat_client_cred | grep -v '<'|sed -e 's/<//' -e 's/&/&/' -e 's/"/"/' -e "s/'/'/" > /root/.xcat/client-cred.pem - CONT=`cat /root/.xcat/client-cred.pem` - while [ -z "$CONT" ]; do - let SLI=$RANDOM%10+10 - sleep $SLI - getcredentials.awk xcat_client_cred | grep -v '<'|sed -e 's/<//' -e 's/&/&/' -e 's/"/"/' -e "s/'/'/" > /root/.xcat/client-cred.pem + getcredentials.awk xcat_client_cred > /tmp/xcat_client_cred + grep -E '' /tmp/xcat_client_cred + if [ $? -ne 0 ]; then + cat /tmp/xcat_client_cred | grep -v '<'|sed -e 's/<//' -e 's/&/&/' -e 's/"/"/' -e "s/'/'/" > /root/.xcat/client-cred.pem CONT=`cat /root/.xcat/client-cred.pem` - done + while [ -z "$CONT" ]; do + let SLI=$RANDOM%10+10 + sleep $SLI + getcredentials.awk xcat_client_cred | grep -v '<'|sed -e 's/<//' -e 's/&/&/' -e 's/"/"/' -e "s/'/'/" > /root/.xcat/client-cred.pem + CONT=`cat /root/.xcat/client-cred.pem` + done + else + ERR_MSG=`sed -n 's%.*\(.*\).*%\1%p' /tmp/xcat_client_cred` + logger -t xCAT xcat_client_cred Error: $ERR_MSG + fi + rm /tmp/xcat_client_cred + chmod 600 /root/.xcat/client-cred.pem cp _xcat/ca.pem /root/.xcat/ca.pem kill -9 $CREDPID