diff --git a/jenkins/ci-pipelines/ci_stage_1.groovy b/jenkins/ci-pipelines/ci_stage_1.groovy
index a4aca75..8bc6ac5 100644
--- a/jenkins/ci-pipelines/ci_stage_1.groovy
+++ b/jenkins/ci-pipelines/ci_stage_1.groovy
@@ -89,6 +89,8 @@
                 println("disabling stage_3 invocation")
                 return
             }
+            // in this case, since this is for daily jobs, the pass threshold for robot tests should be adapted
+            downstream_params.add(string(name: 'ROBOT_PASS_THRESHOLD', value: '99.0'))
         }
         // callout to stage_2.  This is a multi-branch pipeline.
         downstream_job_name = "${mdg}-${stage_name}/${GERRIT_BRANCH}"
diff --git a/jenkins/ci-pipelines/ci_stage_3.groovy b/jenkins/ci-pipelines/ci_stage_3.groovy
index 5ebae21..0d0f0fb 100644
--- a/jenkins/ci-pipelines/ci_stage_3.groovy
+++ b/jenkins/ci-pipelines/ci_stage_3.groovy
@@ -43,9 +43,12 @@
         booleanParam(defaultValue: true, description: '', name: 'DO_ROBOT'),
         string(defaultValue: 'sanity', description: 'sanity/regression/daily are the common options', name: 'ROBOT_TAG_NAME'),
         string(defaultValue: '/home/jenkins/hive/robot-systest.cfg', description: '', name: 'ROBOT_VIM'),
+        string(defaultValue: '/home/jenkins/hive/port-mapping-etsi-vim.yaml', description: 'Port mapping file for SDN assist in ETSI VIM', name: 'ROBOT_PORT_MAPPING_VIM'),
         string(defaultValue: '/home/jenkins/hive/kubeconfig.yaml', description: '', name: 'KUBECONFIG'),
         string(defaultValue: '/home/jenkins/hive/clouds.yaml', description: '', name: 'CLOUDS'),
         string(defaultValue: 'Default', description: '', name: 'INSTALLER'),
+        string(defaultValue: '100.0', description: '% passed Robot tests to mark the build as passed', name: 'ROBOT_PASS_THRESHOLD'),
+        string(defaultValue: '80.0', description: '% passed Robot tests to mark the build as unstable (if lower, it will be failed)', name: 'ROBOT_UNSTABLE_THRESHOLD'),
     ])
 ])
 
@@ -53,7 +56,7 @@
 ////////////////////////////////////////////////////////////////////////////////////////
 // Helper Functions
 ////////////////////////////////////////////////////////////////////////////////////////
-def run_robot_systest(tagName,testName,osmHostname,prometheusHostname,prometheus_port=null,envfile=null,kubeconfig=null,clouds=null,hostfile=null,jujuPassword=null) {
+def run_robot_systest(tagName,testName,osmHostname,prometheusHostname,prometheus_port=null,envfile=null,portmappingfile=null,kubeconfig=null,clouds=null,hostfile=null,jujuPassword=null,pass_th='0.0',unstable_th='0.0') {
     tempdir = sh(returnStdout: true, script: "mktemp -d").trim()
     if ( !envfile )
     {
@@ -75,7 +78,7 @@
     }
 
     try {
-        sh "docker run --env OSM_HOSTNAME=${osmHostname} --env PROMETHEUS_HOSTNAME=${prometheusHostname} ${PROMETHEUS_PORT_VAR} ${JUJU_PASSWORD_VAR} --env-file ${envfile} -v ${clouds}:/etc/openstack/clouds.yaml -v ${kubeconfig}:/root/.kube/config -v ${tempdir}:/robot-systest/reports ${hostfilemount} opensourcemano/tests:${tagName} -c -t ${testName}"
+        sh "docker run --env OSM_HOSTNAME=${osmHostname} --env PROMETHEUS_HOSTNAME=${prometheusHostname} ${PROMETHEUS_PORT_VAR} ${JUJU_PASSWORD_VAR} --env-file ${envfile} -v ${clouds}:/etc/openstack/clouds.yaml -v ${kubeconfig}:/root/.kube/config -v ${tempdir}:/robot-systest/reports -v ${portmappingfile}:/root/port-mapping.yaml ${hostfilemount} opensourcemano/tests:${tagName} -c -t ${testName}"
     } finally {
         sh "cp ${tempdir}/* ."
         outputDirectory = sh(returnStdout: true, script: "pwd").trim()
@@ -87,8 +90,8 @@
             disableArchiveOutput : false,
             reportFileName : "report.html",
             logFileName : "log.html",
-            passThreshold : 0,
-            unstableThreshold: 0,
+            passThreshold : pass_th,
+            unstableThreshold: unstable_th,
             otherFiles : "*.png",
         ])
     }
@@ -221,7 +224,7 @@
                     }
 
                     parallelSteps = [:]
-                    def list = ["RO", "openvim", "osmclient", "IM", "devops", "MON", "N2VC", "NBI", "common", "LCM", "POL", "LW-UI", "NG-UI", "PLA", "tests"]
+                    def list = ["RO", "osmclient", "IM", "devops", "MON", "N2VC", "NBI", "common", "LCM", "POL", "NG-UI", "PLA", "tests"]
                     if (upstreamComponent.length()>0) {
                         println("Skipping upstream fetch of "+upstreamComponent)
                         list.remove(upstreamComponent)
@@ -455,9 +458,9 @@
                                     --tag ${container_name}
                             """
                         }
-                        prometheusHostname = "prometheus."+IP_ADDRESS+".xip.io"
+                        prometheusHostname = "prometheus."+IP_ADDRESS+".nip.io"
                         prometheusPort = 80
-                        osmHostname = "nbi."+IP_ADDRESS+".xip.io:443"
+                        osmHostname = "nbi."+IP_ADDRESS+".nip.io:443"
                     } else {
                         // Run -k8s installer here specifying internal docker registry and docker proxy
                         withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'gitlab-registry',
@@ -503,7 +506,7 @@
                             hostfile="${tempdir}/hosts"
                             sh """cat << EOF > ${hostfile}
 127.0.0.1           localhost
-${remote.host}      prometheus.${remote.host}.xip.io nbi.${remote.host}.xip.io
+${remote.host}      prometheus.${remote.host}.nip.io nbi.${remote.host}.nip.io
 EOF"""
                         } else {
                             hostfile=null
@@ -520,16 +523,20 @@
                             prometheusHostname,
                             prometheusPort,
                             params.ROBOT_VIM,
+                            params.ROBOT_PORT_MAPPING_VIM,
                             params.KUBECONFIG,
                             params.CLOUDS,
                             hostfile,
-                            jujuPassword)
+                            jujuPassword,
+                            params.ROBOT_PASS_THRESHOLD,
+                            params.ROBOT_UNSTABLE_THRESHOLD
+                        )
                     } // stage("System Integration Test")
                 } finally {
                     stage("Archive Container Logs") {
                         // Archive logs to containers_logs.txt
                         archive_logs(remote)
-                        if ( ! currentBuild.result.equals('UNSTABLE') && ! currentBuild.result.equals('FAILURE')) {
+                        if ( ! currentBuild.result.equals('FAILURE') ) {
                             stage_archive = keep_artifacts
                         } else {
                             println ("Systest test failed, throwing error")
