diff --git a/Jenkinsfile-rcordlite-zerotouch b/Jenkinsfile-rcordlite-zerotouch
index 2c2ea7a..0e2d3b1 100644
--- a/Jenkinsfile-rcordlite-zerotouch
+++ b/Jenkinsfile-rcordlite-zerotouch
@@ -55,7 +55,7 @@
                         try {
                             sh """
                             export KUBECONFIG=/home/cord/${deployment_config.pod_config}
-                            ! helm ls | grep -E 'onos-voltha|onos-fabric|voltha |rcord-lite|xos-core|cord-kafka|voltha-kafka’
+                            ! helm ls | grep -E 'onos-voltha|onos-fabric|voltha |rcord-lite|xos-core|cord-kafka|voltha-kafka'
                             ! kubectl get pods --all-namespaces | grep -E 'onos-voltha|onos-fabric|cord-kafka|voltha |rcord-lite-|xos-'
                             """
                             return true
@@ -103,6 +103,7 @@
                     helm install -n xos-core xos-core
                     helm dep update xos-profiles/rcord-lite
                     helm install -n rcord-lite xos-profiles/rcord-lite
+                    helm install -n hippie-oss xos-services/hippie-oss
                     """
                 } catch(error) { currentBuild.result = 'FAILURE' }
             }
@@ -171,8 +172,7 @@
                     export KUBECONFIG=/home/cord/${deployment_config.pod_config}
                     cd /home/cord/cord-tester/src/test/robot/
                     rm -rf Log/ || true
-                    pybot -d Log -T SanityK8POD.robot || all_passed=false
-                    #if [ "\\\$all_passed" = true ]; then exit 0; else exit 1; fi
+                    pybot -d Log -T SanityK8POD.robot || true
                     """
                 } catch(error) { currentBuild.result = 'FAILURE' }
             }
@@ -189,11 +189,10 @@
                     sed -i \"s/^\\(XOS_PASSWD = \\).*/\\1\'letmein\'/\" RestApiProperties.py
                     cd /home/cord/cord-tester/src/test/cord-api/Tests/
                     rm -rf Log/ || true
-                    pybot -d Log -T FabricConfig.txt || all_passed=false
-                    pybot -d Log -T HippieOSS.txt || all_passed=false
-                    pybot -d Log -T OSSVolt.txt || all_passed=false
-                    pybot -d Log -T RealOLT_Test.txt || all_passed=false
-                    #if [ "\\\$all_passed" = true ]; then exit 0; else exit 1; fi
+                    pybot -d Log -T FabricConfig.txt || true
+                    pybot -d Log -T HippieOSS.txt || true
+                    pybot -d Log -T OSSVolt.txt || true
+                    pybot -d Log -T RealOLT_Test.txt || true
                     """
                 } catch(error) { currentBuild.result = 'FAILURE' }
             }
@@ -203,7 +202,7 @@
                 sh """
                 if [ -d RobotLogs ]; then rm -r RobotLogs; fi; mkdir RobotLogs;
                 mkdir RobotLogs/TestDoc || true
-                //cp -r /home/cord/cord-tester/src/test/robot/Log/* ./RobotLogs || true
+                cp -r /home/cord/cord-tester/src/test/robot/Log/* ./RobotLogs || true
                 cp -r /home/cord/cord-tester/src/test/cord-api/Tests/Log/* ./RobotLogs || true
                 """
                 step([$class: 'RobotPublisher',
