[VOL-5180] - installVolthaStack: enhance polling loop

vars/volthaStackDeploy.groovy
-----------------------------
  o Add more cluster state detection for Error.
  o Fail hard and noisy when detected.

Change-Id: I76328ba670653dde802f6152f37a1f19c5e357b4
diff --git a/vars/volthaStackDeploy.groovy b/vars/volthaStackDeploy.groovy
index 452fb7d..9b198e5 100644
--- a/vars/volthaStackDeploy.groovy
+++ b/vars/volthaStackDeploy.groovy
@@ -140,6 +140,7 @@
 vsd_log='volthaStackDeploy.tmp'
 touch \$vsd_log
 
+declare -i rc=0          # exit status
 while true; do
 
     # Gather
@@ -164,12 +165,25 @@
     if grep -q -e 'ContainerCreating' \$vsd_log; then
         echo -e '\nvolthaStackDeploy.groovy: ContainerCrating active'
         [[ -v debug ]] && grep -e 'ContainerCreating' \$vsd_log
+
     elif grep -q -e '0/' \$vsd_log; then
         echo -e '\nvolthaStackDeploy.groovy: Waiting for status=Running'
         [[ -v debug ]] && grep -e '0/' \$vsd_log
+
     elif ! grep -q '/' \$vsd_log; then
         echo -e '\nvolthaStackDeploy.groovy: Waiting for initial pod activity'
         [[ ! -v verbose ]] && { cat \$vsd_log; }
+
+    # -----------------------------------------------------------------------
+    # voltha-adapter-openolt-68c84bf786-8xsfc   0/1   CrashLoopBackOff 2 69s
+    # voltha-adapter-openolt-68c84bf786-8xsfc   0/1   Error            3 85s
+    # -----------------------------------------------------------------------
+    elif grep -q 'Error' \$vsd_log; then
+        echo -e '\nvolthaStackDeploy.groovy: Detected cluster state=Error'
+        cat \$vsd_log
+        rc=1 # fatal
+        break
+
     # -----------------------------------------------------------------------
     # An extra conditon needed here but shell coding is tricky:
     #    "svc x/y Running 0 6s
@@ -187,6 +201,7 @@
 
 done
 rm -f \$vsd_log
+exit \$rc
 """)
 
     leave('launchVolthaStack')