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*)) {
+ if (match($0,"")) {
+ 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/"/"/' -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/"/"/' -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/"/"/' -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/"/"/' -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