diff --git a/jjb/pipeline/voltha-openonu-go-test-bbsim.groovy b/jjb/pipeline/voltha-openonu-go-test-bbsim.groovy
index f7e2b60..7a1ab22 100755
--- a/jjb/pipeline/voltha-openonu-go-test-bbsim.groovy
+++ b/jjb/pipeline/voltha-openonu-go-test-bbsim.groovy
@@ -102,6 +102,7 @@
 
            cd $WORKSPACE/kind-voltha/
            ./voltha up
+           bash <( curl -sfL https://raw.githubusercontent.com/boz/kail/master/godownloader.sh) -b "$WORKSPACE/kind-voltha/bin"
            """
       }
     }
@@ -118,10 +119,9 @@
 
           mkdir -p $ROBOT_LOGS_DIR/1t1gem
           export ROBOT_MISC_ARGS="-d $ROBOT_LOGS_DIR"
-          export TARGET_DEFAULT=openonu-go-adapter-test
           export NAME=voltha_voltha
 
-          make -C $WORKSPACE/voltha-system-tests \$TARGET_DEFAULT || true
+          make -C $WORKSPACE/voltha-system-tests ${makeTarget} || true
 
           # stop logging
           P_IDS="$(ps e -ww -A | grep "_TAG=kail-1t1gem" | grep -v grep | awk '{print $1}')"
@@ -158,10 +158,9 @@
 
           mkdir -p $ROBOT_LOGS_DIR/1t4gem
           export ROBOT_MISC_ARGS="-d $ROBOT_LOGS_DIR"
-          export TARGET_DEFAULT=1t4gem-openonu-go-adapter-test
           export NAME=voltha_voltha
 
-          make -C $WORKSPACE/voltha-system-tests \$TARGET_DEFAULT || true
+          make -C $WORKSPACE/voltha-system-tests ${make1t4gemTestTarget} || true
 
           # stop logging
           P_IDS="$(ps e -ww -A | grep "_TAG=kail-1t4gem" | grep -v grep | awk '{print $1}')"
@@ -198,10 +197,9 @@
 
           mkdir -p $ROBOT_LOGS_DIR/1t8gem
           export ROBOT_MISC_ARGS="-d $ROBOT_LOGS_DIR"
-          export TARGET_1T8GEM=1t8gem-openonu-go-adapter-test
           export NAME=voltha_voltha
 
-          make -C $WORKSPACE/voltha-system-tests \$TARGET_1T8GEM || true
+          make -C $WORKSPACE/voltha-system-tests ${make1t8gemTestTarget} || true
 
           # stop logging
           P_IDS="$(ps e -ww -A | grep "_TAG=kail-1t8gem" | grep -v grep | awk '{print $1}')"
@@ -219,6 +217,7 @@
     }
 
     stage('Run MIB Upload Tests') {
+      when { beforeAgent true; expression { return "${olts}" == "1" } }
       environment {
         ROBOT_LOGS_DIR="$WORKSPACE/RobotLogs/openonu-go-MIB"
       }
@@ -260,6 +259,7 @@
     }
 
     stage('Reconcile DT workflow') {
+      when { beforeAgent true; expression { return "${olts}" == "1" } }
       environment {
         ROBOT_LOGS_DIR="$WORKSPACE/RobotLogs/ReconcileDT"
       }
@@ -309,6 +309,7 @@
     }
 
     stage('Reconcile ATT workflow') {
+      when { beforeAgent true; expression { return "${olts}" == "1" } }
       environment {
         ROBOT_LOGS_DIR="$WORKSPACE/RobotLogs/ReconcileATT"
       }
@@ -363,6 +364,7 @@
     }
 
     stage('Reconcile TT workflow') {
+      when { beforeAgent true; expression { return "${olts}" == "1" } }
       environment {
         ROBOT_LOGS_DIR="$WORKSPACE/RobotLogs/ReconcileTT"
       }
@@ -412,7 +414,6 @@
   post {
     always {
       sh '''
-         set +e
          # get pods information
          kubectl get pods -o wide
          kubectl get pods --all-namespaces -o jsonpath="{range .items[*].status.containerStatuses[*]}{.image}{'\\n'}"
