Merge "Fix for REUSE scanning merge commits in omec repos"
diff --git a/jjb/cord-macros.yaml b/jjb/cord-macros.yaml
index 5a0f123..cc12b36 100644
--- a/jjb/cord-macros.yaml
+++ b/jjb/cord-macros.yaml
@@ -151,6 +151,12 @@
                 - type: JSONPath
                   key: merged
                   value: $.pull_request.merged
+                - type: JSONPath
+                  key: branchName
+                  value: $.pull_request.base.ref
+                - type: JSONPath
+                  key: gitRef
+                  value: $.pull_request.base.ref
             regex-filter-text: $action,$merged
             regex-filter-expression: ^(closed,true)$
             cause: Generic Cause
diff --git a/jjb/cord-test/nightly-build-pipeline.yaml b/jjb/cord-test/nightly-build-pipeline.yaml
index eaf06bf..e784f69 100644
--- a/jjb/cord-test/nightly-build-pipeline.yaml
+++ b/jjb/cord-test/nightly-build-pipeline.yaml
@@ -913,21 +913,11 @@
           description: ''
 
       - string:
-          name: onosVersion
-          default: '{onos-version}'
-          description: 'ONOS version that needs to be configured'
-
-      - string:
           name: workFlow
           default: '{work-flow}'
           description: 'Installs the specified work flow on the POD'
 
       - bool:
-          name: released
-          default: '{released}'
-          description: "Pulls released version images when true"
-
-      - bool:
           name: configurePod
           default: true
           description: "Configure POD via TOSCA post build"
@@ -1018,11 +1008,6 @@
           default: '{profile}'
           description: 'Technology Profile pushed to the ETCD'
 
-      - bool:
-          name: released
-          default: '{released}'
-          description: "Pulls tests that are tagged with released as identifier"
-
       - string:
           name: branch
           default: '{branch}'
diff --git a/jjb/cord-test/voltha.yaml b/jjb/cord-test/voltha.yaml
index c8854d5..9a9785b 100644
--- a/jjb/cord-test/voltha.yaml
+++ b/jjb/cord-test/voltha.yaml
@@ -9,7 +9,6 @@
     build-timeout: '300'
 
     with-kind: false
-    onos-version: '2.2'
     power-switch: False
     work-flow: ''
 
@@ -21,15 +20,15 @@
           release: 'master'
           branch: 'master'
           test-repo: 'voltha-system-tests'
-          Jenkinsfile: 'Jenkinsfile-voltha-bal31-build'
+          Jenkinsfile: 'Jenkinsfile-voltha-build'
           oltDebVersion: 'openolt-2.3.0.deb'
-          profile: '1T4GEM-bal31'
+          profile: '1T4GEM'
 
       # flex pod1 test job - using voltha branch
       - 'build_pod_test':
           build-node: 'qa-testvm-pod'
           config-pod: 'flex-ocp-cord'
-          profile: '1T4GEM-bal31'
+          profile: '1T4GEM'
           branch: 'master'
           test-repo: 'voltha-system-tests'
           Jenkinsfile: 'Jenkinsfile-voltha-test'
@@ -41,9 +40,9 @@
           release: 'master'
           branch: 'master'
           test-repo: 'voltha-system-tests'
-          Jenkinsfile: 'Jenkinsfile-voltha-bal31-build'
+          Jenkinsfile: 'Jenkinsfile-voltha-build'
           oltDebVersion: 'openolt-2.3.0.deb'
-          profile: '1T4GEM-bal31'
+          profile: '1T4GEM'
 
       # onlab pod1 test job - BAL3.1 tests using voltha branch
       - 'build_pod_test':
@@ -60,9 +59,8 @@
           config-pod: 'flex-ocp-cord'
           release: 'master'
           branch: 'master'
-          released: false
           test-repo: 'voltha-system-tests'
-          Jenkinsfile: 'Jenkinsfile-voltha-bal31-build'
+          Jenkinsfile: 'Jenkinsfile-voltha-build'
           oltDebVersion: 'openolt-2.3.0.deb'
           configurePod: true
           profile: 'Default'
@@ -74,7 +72,6 @@
           config-pod: 'flex-ocp-cord'
           release: 'master'
           branch: 'master'
-          released: false
           power-switch: True
           test-repo: 'voltha-system-tests'
           profile: 'Default'
@@ -85,12 +82,11 @@
           config-pod: 'flex-ocp-cord'
           release: 'master'
           branch: 'master'
-          released: false
           test-repo: 'voltha-system-tests'
-          Jenkinsfile: 'Jenkinsfile-voltha-bal31-build'
+          Jenkinsfile: 'Jenkinsfile-voltha-build'
           oltDebVersion: 'openolt-2.3.0.deb'
           configurePod: true
-          profile: '1T4GEM-bal31'
+          profile: '1T4GEM'
           time: '3'
 
       # flex pod1 test job - test job uses 1TCONT/4GEMs tech profile - using voltha branch
@@ -99,34 +95,32 @@
           config-pod: 'flex-ocp-cord'
           release: 'master'
           branch: 'master'
-          released: false
           power-switch: True
           test-repo: 'voltha-system-tests'
-          profile: '1T4GEM-bal31'
+          profile: '1T4GEM'
 
       # flex OCP pod with olt/onu - Released versions Default tech profile and timer based job
       - 'build_voltha_pod_release':
           build-node: 'qa-testvm-pod'
           config-pod: 'flex-ocp-cord'
-          release: 'release'
-          branch: 'master'
+          release: '2.3'
+          branch: 'voltha-2.3'
           test-repo: 'voltha-system-tests'
-          Jenkinsfile: 'Jenkinsfile-voltha-bal31-build'
-          oltDebVersion: 'openolt_asfvolt16_bal3.2.deb'
+          Jenkinsfile: 'Jenkinsfile-voltha-build'
+          oltDebVersion: 'openolt-2.3.0.deb'
           configurePod: true
-          released: true
-          profile: '1T4GEM-bal31'
+          profile: '1T4GEM'
           time: '4'
 
       # flex pod1 test job - released versions: uses tech profile on voltha branch
       - 'build_voltha_pod_test':
           build-node: 'qa-testvm-pod'
           config-pod: 'flex-ocp-cord'
-          release: 'release'
-          branch: 'master'
-          released: true
+          release: '2.3'
+          branch: 'voltha-2.3'
+          power-switch: True
           test-repo: 'voltha-system-tests'
-          profile: '1T4GEM-bal31'
+          profile: '1T4GEM'
 
       # Menlo pod with olt/onu - Default tech profile and timer based job
       - 'build_voltha_pod_release':
@@ -134,9 +128,8 @@
           config-pod: 'onf-demo-pod'
           release: 'master'
           branch: 'master'
-          released: false
           test-repo: 'voltha-system-tests'
-          Jenkinsfile: 'Jenkinsfile-voltha-bal31-build'
+          Jenkinsfile: 'Jenkinsfile-voltha-build'
           oltDebVersion: 'openolt-2.3.0.deb'
           configurePod: true
           profile: 'Default'
@@ -148,7 +141,6 @@
           config-pod: 'onf-demo-pod'
           release: 'master'
           branch: 'master'
-          released: false
           test-repo: 'voltha-system-tests'
           profile: 'Default'
 
@@ -156,12 +148,11 @@
       - 'build_voltha_pod_release':
           build-node: 'menlo-demo-pod'
           config-pod: 'onf-demo-pod'
-          release: 'release'
-          branch: 'master'
-          released: true
+          release: '2.3'
+          branch: 'voltha-2.3'
           test-repo: 'voltha-system-tests'
-          Jenkinsfile: 'Jenkinsfile-voltha-bal31-build'
-          oltDebVersion: 'openolt_asfvolt16_bal3.2.deb'
+          Jenkinsfile: 'Jenkinsfile-voltha-build'
+          oltDebVersion: 'openolt-2.3.0.deb'
           configurePod: true
           profile: 'Default'
           time: '3'
@@ -170,9 +161,8 @@
       - 'build_voltha_pod_test':
           build-node: 'menlo-demo-pod'
           config-pod: 'onf-demo-pod'
-          release: 'release'
-          branch: 'master'
-          released: true
+          release: '2.3'
+          branch: 'voltha-2.3'
           test-repo: 'voltha-system-tests'
           profile: 'Default'
 
@@ -182,12 +172,11 @@
           config-pod: 'onf-demo-pod'
           release: 'master'
           branch: 'master'
-          released: false
           test-repo: 'voltha-system-tests'
-          Jenkinsfile: 'Jenkinsfile-voltha-bal31-build'
+          Jenkinsfile: 'Jenkinsfile-voltha-build'
           oltDebVersion: 'openolt-2.3.0.deb'
           configurePod: true
-          profile: '1T4GEM-bal31'
+          profile: '1T4GEM'
           time: '4'
 
       # Menlo pod test job - master test job uses tech profile on voltha branch
@@ -196,11 +185,10 @@
           config-pod: 'onf-demo-pod'
           release: 'master'
           branch: 'master'
-          released: false
           test-repo: 'voltha-system-tests'
-          profile: '1T4GEM-bal31'
+          profile: '1T4GEM'
 
-      # Menlo pod with olt/onu - Uses GO Version - Default tech profile and timer based job
+      # Menlo pod with olt/onu - master branch,  Default tech profile and timer based job
       - 'build_voltha_pod_release':
           build-node: 'menlo-demo-pod'
           config-pod: 'onf-demo-pod'
@@ -208,9 +196,8 @@
           branch: 'master'
           name-extension: '_DT'
           work-flow: 'DT'
-          released: false
           test-repo: 'voltha-system-tests'
-          Jenkinsfile: 'Jenkinsfile-voltha-bal31-build'
+          Jenkinsfile: 'Jenkinsfile-voltha-build'
           oltDebVersion: 'openolt-2.3.0.deb'
           configurePod: true
           profile: '1T8GEM'
@@ -223,7 +210,6 @@
           release: 'master'
           branch: 'master'
           name-extension: '_DT'
-          released: false
           test-repo: 'voltha-system-tests'
           profile: '1T8GEM'
           pipeline-script: 'voltha-dt-physical-functional-tests.groovy'
@@ -235,17 +221,17 @@
           release: 'master'
           branch: 'master'
           test-repo: 'voltha-system-tests'
-          Jenkinsfile: 'Jenkinsfile-voltha-bal31-build'
+          Jenkinsfile: 'Jenkinsfile-voltha-build'
           oltDebVersion: 'openolt-2.3.0.deb'
           configurePod: true
-          profile: '1T4GEM-bal31'
+          profile: '1T4GEM'
       - 'build_pod_test':
           build-node: 'menlo-demo-pod'
           config-pod: 'onf-demo-pod'
           branch: 'master'
           test-repo: 'voltha-system-tests'
           Jenkinsfile: 'Jenkinsfile-voltha-test'
-          profile: '1T4GEM-bal31'
+          profile: '1T4GEM'
 
       # Menlo DEMO-POD - Default TechProfile - manual build job
       - 'build_pod_manual':
@@ -254,7 +240,7 @@
           release: 'master'
           branch: 'master'
           test-repo: 'voltha-system-tests'
-          Jenkinsfile: 'Jenkinsfile-voltha-bal31-build'
+          Jenkinsfile: 'Jenkinsfile-voltha-build'
           oltDebVersion: 'openolt_asfvolt16_bal3.2.deb'
           configurePod: true
           profile: 'Default'
@@ -274,9 +260,8 @@
           config-pod: 'infosys-pod'
           release: 'master'
           branch: 'master'
-          released: false
           test-repo: 'voltha-system-tests'
-          Jenkinsfile: 'Jenkinsfile-voltha-bal31-build'
+          Jenkinsfile: 'Jenkinsfile-voltha-build'
           oltDebVersion: 'openolt_asfvolt16.deb'
           configurePod: true
           profile: 'Default'
@@ -288,7 +273,28 @@
           config-pod: 'infosys-pod'
           release: 'master'
           branch: 'master'
-          released: false
+          test-repo: 'voltha-system-tests'
+          profile: 'Default'
+
+     # Infosys pod with olt/onu - voltha-2.3 Default tech profile and timer based job
+      - 'build_voltha_pod_release':
+          build-node: 'infosys-test-pod'
+          config-pod: 'infosys-pod'
+          release: '2.3'
+          branch: 'voltha-2.3'
+          test-repo: 'voltha-system-tests'
+          Jenkinsfile: 'Jenkinsfile-voltha-build'
+          oltDebVersion: 'openolt_asfvolt16.deb'
+          configurePod: true
+          profile: 'Default'
+          time: '10'
+
+      # infosys test job - voltha-2.3 release job, uses Default tech profile on voltha branch
+      - 'build_voltha_pod_test':
+          build-node: 'infosys-test-pod'
+          config-pod: 'infosys-pod'
+          release: '2.3'
+          branch: 'voltha-2.3'
           test-repo: 'voltha-system-tests'
           profile: 'Default'
 
@@ -299,12 +305,10 @@
           config-pod: 'dt-berlin-pod'
           release: 'master'
           branch: 'master'
-          onos-version: '2.2'
           test-repo: 'voltha-system-tests'
-          Jenkinsfile: 'Jenkinsfile-voltha-bal31-build'
+          Jenkinsfile: 'Jenkinsfile-voltha-build'
           oltDebVersion: 'openolt-2.3.0.deb'
           configurePod: true
-          released: false
           profile: 'Default'
           with-kind: true
           time: '9'
@@ -316,7 +320,31 @@
           config-pod: 'dt-berlin-pod'
           release: 'master'
           branch: 'master'
-          released: false
+          test-repo: 'voltha-system-tests'
+          profile: 'Default'
+          power-switch: True
+
+     # Berlin pod with olt/onu - voltha-2.3 Default tech profile and timer based job
+      - 'build_voltha_pod_release':
+          build-node: 'dt-berlin-community-pod'
+          config-pod: 'dt-berlin-pod'
+          release: '2.3'
+          branch: 'voltha-2.3'
+          test-repo: 'voltha-system-tests'
+          Jenkinsfile: 'Jenkinsfile-voltha-build'
+          oltDebVersion: 'openolt-2.3.0.deb'
+          configurePod: true
+          profile: 'Default'
+          with-kind: true
+          time: '11'
+
+
+      # Berlin POD test job - master versions: uses tech profile on voltha branch
+      - 'build_voltha_pod_test':
+          build-node: 'dt-berlin-community-pod'
+          config-pod: 'dt-berlin-pod'
+          release: '2.3'
+          branch: 'voltha-2.3'
           test-repo: 'voltha-system-tests'
           profile: 'Default'
           power-switch: True
diff --git a/jjb/omec-ci.yaml b/jjb/omec-ci.yaml
index f2922c9..b492b67 100644
--- a/jjb/omec-ci.yaml
+++ b/jjb/omec-ci.yaml
@@ -148,6 +148,27 @@
           pipeline-file: 'omec-reuse-scan.groovy'
           build-node: 'omec-qa'
 
+# for ignite
+- project:
+    name: ignite
+    project: '{name}'
+
+    build-node: 'intel-102'
+
+    github-organization: 'omec-project'
+
+    github_pr_auth_id: '64fe2b1a-b33a-4f13-8442-ad8360434003'
+    github_pr_org_list:
+      - 'omec-project'
+
+    jobs:
+      - 'omec-fossa':
+          pipeline-file: 'omec-fossa-scan.groovy'
+          build-node: 'omec-qa'
+      - 'omec-reuse':
+          pipeline-file: 'omec-reuse-scan.groovy'
+          build-node: 'omec-qa'
+
 # Combined pipeline
 - job-template:
     id: 'omec-combined'
@@ -201,7 +222,6 @@
             branches:
               - 'master'
 
-
 # install jobs, run for each project
 - job-template:
     id: 'omec-install'
diff --git a/jjb/pipeline/omec-fossa-scan.groovy b/jjb/pipeline/omec-fossa-scan.groovy
index 613b03e..24c6cab 100644
--- a/jjb/pipeline/omec-fossa-scan.groovy
+++ b/jjb/pipeline/omec-fossa-scan.groovy
@@ -70,6 +70,9 @@
 
                         echo "Get FOSSA test results with 'fossa test'"
                         fossa test --no-ansi --verbose
+
+                        echo "Display list of licenses detected by FOSSA using 'fossa report licenses'"
+                        fossa report licenses
                         """
 
                 }
diff --git a/jjb/pipeline/voltha-dt-physical-functional-tests.groovy b/jjb/pipeline/voltha-dt-physical-functional-tests.groovy
index 98f4edb..4ef0450 100644
--- a/jjb/pipeline/voltha-dt-physical-functional-tests.groovy
+++ b/jjb/pipeline/voltha-dt-physical-functional-tests.groovy
@@ -36,7 +36,7 @@
     stage ('Initialize') {
       steps {
         step([$class: 'WsCleanup'])
-        sh returnStdout: false, script: "git clone -b ${branch} ${cordRepoUrl}/${configBaseDir}"
+        sh returnStdout: false, script: "git clone -b master ${cordRepoUrl}/${configBaseDir}"
         script {
            deployment_config = readYaml file: "${configBaseDir}/${configDeploymentDir}/${configFileName}-DT.yaml"
         }
@@ -45,7 +45,7 @@
           poll: false,
           scm: [$class: 'RepoScm',
             manifestRepositoryUrl: "${params.manifestUrl}",
-            manifestBranch: "${params.manifestBranch}",
+            manifestBranch: "${params.branch}",
             currentBranch: true,
             destinationDir: 'voltha',
             forceSync: true,
@@ -88,11 +88,7 @@
         ./log-combine.sh > /dev/null &
 
         mkdir -p $ROBOT_LOGS_DIR
-        if  ( ${released} ); then
-            export ROBOT_MISC_ARGS="--removekeywords wuks -i released -i sanityDt -e bbsim -e notready -d $ROBOT_LOGS_DIR -v POD_NAME:${configFileName} -v KUBERNETES_CONFIGS_DIR:$WORKSPACE/${configBaseDir}/${configKubernetesDir} -v container_log_dir:$WORKSPACE"
-        else
-            export ROBOT_MISC_ARGS="--removekeywords wuks -i sanityDt -i functionalDt -e bbsim -e notready -d $ROBOT_LOGS_DIR -v POD_NAME:${configFileName} -v KUBERNETES_CONFIGS_DIR:$WORKSPACE/${configBaseDir}/${configKubernetesDir} -v container_log_dir:$WORKSPACE"
-        fi
+        export ROBOT_MISC_ARGS="--removekeywords wuks -i sanityDt -i functionalDt -e bbsim -e notready -d $ROBOT_LOGS_DIR -v POD_NAME:${configFileName} -v KUBERNETES_CONFIGS_DIR:$WORKSPACE/${configBaseDir}/${configKubernetesDir} -v container_log_dir:$WORKSPACE"
         make -C $WORKSPACE/voltha/voltha-system-tests voltha-dt-test || true
         """
       }
diff --git a/jjb/pipeline/voltha-go-multi-tests.groovy b/jjb/pipeline/voltha-go-multi-tests.groovy
index 4d0fde1..437b120 100644
--- a/jjb/pipeline/voltha-go-multi-tests.groovy
+++ b/jjb/pipeline/voltha-go-multi-tests.groovy
@@ -37,7 +37,6 @@
     DEPLOY_K8S="y"
     VOLTHA_LOG_LEVEL="DEBUG"
     CONFIG_SADIS="n"
-    EXTRA_HELM_FLAGS="--set log_agent.enabled=False ${params.extraHelmFlags}"
     ROBOT_MISC_ARGS="${params.extraRobotArgs} -d $WORKSPACE/RobotLogs"
   }
   stages {
@@ -49,7 +48,7 @@
           poll: false,
           scm: [$class: 'RepoScm',
             manifestRepositoryUrl: "${params.manifestUrl}",
-            manifestBranch: "${params.manifestBranch}",
+            manifestBranch: "${params.branch}",
             currentBranch: true,
             destinationDir: 'voltha',
             forceSync: true,
@@ -76,6 +75,16 @@
     stage('Deploy Voltha') {
       steps {
         sh """
+           export EXTRA_HELM_FLAGS=""
+           if [ "${branch}" != "master" ]; then
+             echo "on branch: ${branch}, sourcing kind-voltha/releases/${branch}"
+             source "$HOME/kind-voltha/releases/${branch}"
+           else
+             echo "on master, using default settings for kind-voltha"
+           fi
+
+           EXTRA_HELM_FLAGS+="--set log_agent.enabled=False ${params.extraHelmFlags} "
+
            cd $HOME/kind-voltha/
            WAIT_ON_DOWN=y DEPLOY_K8S=n ./voltha down || ./voltha down
            ./voltha up
diff --git a/jjb/pipeline/voltha-go-tests.groovy b/jjb/pipeline/voltha-go-tests.groovy
index 38efb38..fc1d613 100644
--- a/jjb/pipeline/voltha-go-tests.groovy
+++ b/jjb/pipeline/voltha-go-tests.groovy
@@ -37,7 +37,6 @@
     DEPLOY_K8S="y"
     VOLTHA_LOG_LEVEL="DEBUG"
     CONFIG_SADIS="n"
-    EXTRA_HELM_FLAGS="--set log_agent.enabled=False ${params.extraHelmFlags}"
     ROBOT_MISC_ARGS="${params.extraRobotArgs} -d $WORKSPACE/RobotLogs"
   }
   stages {
@@ -49,7 +48,7 @@
           poll: false,
           scm: [$class: 'RepoScm',
             manifestRepositoryUrl: "${params.manifestUrl}",
-            manifestBranch: "${params.manifestBranch}",
+            manifestBranch: "${params.branch}",
             currentBranch: true,
             destinationDir: 'voltha',
             forceSync: true,
@@ -76,6 +75,16 @@
     stage('Deploy Voltha') {
       steps {
         sh """
+           export EXTRA_HELM_FLAGS=""
+           if [ "${branch}" != "master" ]; then
+             echo "on branch: ${branch}, sourcing kind-voltha/releases/${branch}"
+             source "$HOME/kind-voltha/releases/${branch}"
+           else
+             echo "on master, using default settings for kind-voltha"
+           fi
+
+           EXTRA_HELM_FLAGS+="--set log_agent.enabled=False ${params.extraHelmFlags} "
+
            cd $HOME/kind-voltha/
            WAIT_ON_DOWN=y DEPLOY_K8S=n ./voltha down || ./voltha down
            ./voltha up
diff --git a/jjb/pipeline/voltha-physical-build-and-tests.groovy b/jjb/pipeline/voltha-physical-build-and-tests.groovy
index ddcd69f..66e09e7 100644
--- a/jjb/pipeline/voltha-physical-build-and-tests.groovy
+++ b/jjb/pipeline/voltha-physical-build-and-tests.groovy
@@ -91,7 +91,7 @@
 
     stage('Get Patch') {
       when {
-        expression { params.manualBranch != "" }
+        expression { params.manualBranch == "" }
       }
       steps {
         sh returnStdout: false, script: """
@@ -138,7 +138,7 @@
 
     stage('Build and Push Images') {
       when {
-        expression { params.manualBranch != "" }
+        expression { params.manualBranch == "" }
       }
       steps {
         sh returnStdout: false, script: """
@@ -324,7 +324,7 @@
 
     stage('After-Test Delay') {
       when {
-        expression { params.manualBranch != "" }
+        expression { params.manualBranch == "" }
       }
       steps {
         sh returnStdout: false, script: """
diff --git a/jjb/pipeline/voltha-physical-functional-tests.groovy b/jjb/pipeline/voltha-physical-functional-tests.groovy
index 3cf088b..038d89c 100644
--- a/jjb/pipeline/voltha-physical-functional-tests.groovy
+++ b/jjb/pipeline/voltha-physical-functional-tests.groovy
@@ -36,7 +36,7 @@
     stage ('Initialize') {
       steps {
         step([$class: 'WsCleanup'])
-        sh returnStdout: false, script: "git clone -b ${branch} ${cordRepoUrl}/${configBaseDir}"
+        sh returnStdout: false, script: "git clone -b master ${cordRepoUrl}/${configBaseDir}"
         script {
           deployment_config = readYaml file: "${configBaseDir}/${configDeploymentDir}/${configFileName}.yaml"
         }
@@ -45,7 +45,7 @@
           poll: false,
           scm: [$class: 'RepoScm',
             manifestRepositoryUrl: "${params.manifestUrl}",
-            manifestBranch: "${params.manifestBranch}",
+            manifestBranch: "${params.branch}",
             currentBranch: true,
             destinationDir: 'voltha',
             forceSync: true,
@@ -56,7 +56,7 @@
           )
         sh returnStdout: false, script: """
         cd voltha
-        git clone -b ${branch} ${cordRepoUrl}/cord-tester
+        git clone -b master ${cordRepoUrl}/cord-tester
         mkdir -p $WORKSPACE/bin
         bash <( curl -sfL https://raw.githubusercontent.com/boz/kail/master/godownloader.sh) -b "$WORKSPACE/bin"
         cd $WORKSPACE
@@ -88,11 +88,7 @@
         ./log-combine.sh > /dev/null &
 
         mkdir -p $ROBOT_LOGS_DIR
-        if  ( ${released} ); then
-            export ROBOT_MISC_ARGS="--removekeywords wuks -i released -i sanity -e bbsim -e notready -d $ROBOT_LOGS_DIR -v POD_NAME:${configFileName} -v KUBERNETES_CONFIGS_DIR:$WORKSPACE/${configBaseDir}/${configKubernetesDir} -v container_log_dir:$WORKSPACE"
-        else
-            export ROBOT_MISC_ARGS="--removekeywords wuks -e bbsim -e notready -d $ROBOT_LOGS_DIR -v POD_NAME:${configFileName} -v KUBERNETES_CONFIGS_DIR:$WORKSPACE/${configBaseDir}/${configKubernetesDir} -v container_log_dir:$WORKSPACE"
-        fi
+        export ROBOT_MISC_ARGS="--removekeywords wuks -e bbsim -e notready -d $ROBOT_LOGS_DIR -v POD_NAME:${configFileName} -v KUBERNETES_CONFIGS_DIR:$WORKSPACE/${configBaseDir}/${configKubernetesDir} -v container_log_dir:$WORKSPACE"
         make -C $WORKSPACE/voltha/voltha-system-tests voltha-test || true
         """
       }
@@ -107,9 +103,7 @@
       steps {
         sh """
         mkdir -p $ROBOT_LOGS_DIR
-        if  ( ${released} ); then
-            export ROBOT_MISC_ARGS="--removekeywords wuks -i released -e bbsim -e notready -d $ROBOT_LOGS_DIR -v POD_NAME:${configFileName} -v KUBERNETES_CONFIGS_DIR:$WORKSPACE/${configBaseDir}/${configKubernetesDir} -v container_log_dir:$WORKSPACE"
-        elif ( ${powerSwitch} ); then
+        if ( ${powerSwitch} ); then
              export ROBOT_MISC_ARGS="--removekeywords wuks -L TRACE -i functional -i PowerSwitch -e bbsim -e notready -d $ROBOT_LOGS_DIR -v POD_NAME:${configFileName} -v KUBERNETES_CONFIGS_DIR:$WORKSPACE/${configBaseDir}/${configKubernetesDir} -v container_log_dir:$WORKSPACE"
         else
              export ROBOT_MISC_ARGS="--removekeywords wuks -L TRACE -i functional -e PowerSwitch -e bbsim -e notready -d $ROBOT_LOGS_DIR -v POD_NAME:${configFileName} -v KUBERNETES_CONFIGS_DIR:$WORKSPACE/${configBaseDir}/${configKubernetesDir} -v container_log_dir:$WORKSPACE"
@@ -128,11 +122,7 @@
       steps {
         sh """
         mkdir -p $ROBOT_LOGS_DIR
-        if  ( ${released} ); then
-            export ROBOT_MISC_ARGS="--removekeywords wuks -i released -e bbsim -e notready -d $ROBOT_LOGS_DIR -v POD_NAME:${configFileName} -v KUBERNETES_CONFIGS_DIR:$WORKSPACE/${configBaseDir}/${configKubernetesDir} -v container_log_dir:$WORKSPACE"
-        else
-            export ROBOT_MISC_ARGS="--removekeywords wuks -L TRACE -i functional -e bbsim -e notready -d $ROBOT_LOGS_DIR -v POD_NAME:${configFileName} -v KUBERNETES_CONFIGS_DIR:$WORKSPACE/${configBaseDir}/${configKubernetesDir} -v container_log_dir:$WORKSPACE"
-        fi
+        export ROBOT_MISC_ARGS="--removekeywords wuks -L TRACE -i functional -e bbsim -e notready -d $ROBOT_LOGS_DIR -v POD_NAME:${configFileName} -v KUBERNETES_CONFIGS_DIR:$WORKSPACE/${configBaseDir}/${configKubernetesDir} -v container_log_dir:$WORKSPACE"
         make -C $WORKSPACE/voltha/voltha-system-tests voltha-test || true
         """
       }
diff --git a/jjb/pipeline/voltha-system-test-bbsim.groovy b/jjb/pipeline/voltha-system-test-bbsim.groovy
index e639d4a..2d89c03 100644
--- a/jjb/pipeline/voltha-system-test-bbsim.groovy
+++ b/jjb/pipeline/voltha-system-test-bbsim.groovy
@@ -38,7 +38,6 @@
     DEPLOY_K8S="y"
     VOLTHA_LOG_LEVEL="DEBUG"
     CONFIG_SADIS="y"
-    EXTRA_HELM_FLAGS="${params.extraHelmFlags} --set voltha-etcd-cluster.clusterSize=3"
     ROBOT_MISC_ARGS="-d $WORKSPACE/RobotLogs"
   }
 
@@ -66,6 +65,17 @@
     stage('Deploy Voltha') {
       steps {
         sh """
+           export EXTRA_HELM_FLAGS=""
+           if [ "${branch}" != "master" ]; then
+             echo "on branch: ${branch}, sourcing kind-voltha/releases/${branch}"
+             source "$WORKSPACE/kind-voltha/releases/${branch}"
+           else
+             echo "on master, using default settings for kind-voltha"
+           fi
+
+           EXTRA_HELM_FLAGS+="${params.extraHelmFlags} --set voltha-etcd-cluster.clusterSize=3 "
+           echo \$EXTRA_HELM_FLAGS
+
            pushd kind-voltha/
            ./voltha up
            popd
@@ -77,7 +87,7 @@
       steps {
         sh '''
            rm -rf $WORKSPACE/RobotLogs; mkdir -p $WORKSPACE/RobotLogs
-           git clone https://gerrit.opencord.org/voltha-system-tests
+           git clone -b ${branch} https://gerrit.opencord.org/voltha-system-tests
            make ROBOT_DEBUG_LOG_OPT="-l sanity_log.html -r sanity_report.html -o sanity_output.xml" -C $WORKSPACE/voltha-system-tests ${makeTarget}
            '''
       }
diff --git a/jjb/pipeline/xos-service-upgrade.groovy b/jjb/pipeline/xos-service-upgrade.groovy
index ccc21bd..10d2a14 100644
--- a/jjb/pipeline/xos-service-upgrade.groovy
+++ b/jjb/pipeline/xos-service-upgrade.groovy
@@ -87,9 +87,6 @@
           if (serviceName == "olt-service") {
             serviceName = "volt"
           }
-          else if (serviceName == "onos-service") {
-            serviceName = "onos"
-          }
           else if (serviceName == "kubernetes-service") {
             serviceName = "kubernetes"
           }
@@ -170,9 +167,6 @@
           if (serviceName == "olt-service") {
             serviceName = "volt"
           }
-          else if (serviceName == "onos-service") {
-            serviceName = "onos"
-          }
           else if (serviceName == "kubernetes-service") {
             serviceName = "kubernetes"
           }
diff --git a/jjb/voltha-e2e.yaml b/jjb/voltha-e2e.yaml
index a10fb7d..6dac951 100644
--- a/jjb/voltha-e2e.yaml
+++ b/jjb/voltha-e2e.yaml
@@ -11,17 +11,24 @@
       - 'voltha-periodic-test':
           name: 'periodic-voltha-sanity-test'
           build-node: 'qct-pod4-node2'
-          default-image-tag: 'master'
           code-branch: 'master'
           make-target: sanity-multi-kind
           onus: 2
           pons: 2
-          time-trigger: "H H/3 * * *"
+          time-trigger: "H H/6 * * *"
+
+      - 'voltha-periodic-test':
+          name: 'periodic-voltha-sanity-test-2.3'
+          build-node: 'qct-pod4-node2'
+          code-branch: 'voltha-2.3'
+          make-target: sanity-multi-kind
+          onus: 2
+          pons: 2
+          time-trigger: "H H/6 * * *"
 
       - 'voltha-periodic-test':
           name: 'periodic-voltha-functional-test'
           build-node: 'qct-pod4-node2'
-          default-image-tag: 'master'
           code-branch: 'master'
           make-target: functional-single-kind
           onus: 1
@@ -29,9 +36,17 @@
           time-trigger: "H H/12 * * *"
 
       - 'voltha-periodic-test':
+          name: 'periodic-voltha-functional-test-2.3'
+          build-node: 'qct-pod4-node2'
+          code-branch: 'voltha-2.3'
+          make-target: functional-single-kind
+          onus: 1
+          pons: 1
+          time-trigger: "H H/12 * * *"
+
+      - 'voltha-periodic-test':
           name: 'periodic-voltha-errorscenarios-test'
           build-node: 'qct-pod4-node2'
-          default-image-tag: 'master'
           code-branch: 'master'
           make-target: bbsim-errorscenarios
           onus: 1
@@ -42,7 +57,6 @@
           name: 'periodic-voltha-system-test'
           pipeline-script: 'voltha-system-test-bbsim.groovy'
           build-node: 'ubuntu16.04-basebuild-4c-8g'
-          default-image-tag: 'master'
           code-branch: 'master'
           make-target: sanity-multi-kind
           onus: 2
@@ -50,37 +64,74 @@
           time-trigger: "H H/12 * * *"
 
       - 'voltha-periodic-test':
+          name: 'periodic-voltha-system-test-2.3'
+          pipeline-script: 'voltha-system-test-bbsim.groovy'
+          build-node: 'ubuntu16.04-basebuild-4c-8g'
+          code-branch: 'voltha-2.3'
+          make-target: sanity-multi-kind
+          onus: 2
+          pons: 2
+          time-trigger: "H H/12 * * *"
+
+
+      - 'voltha-periodic-test':
           name: 'periodic-voltha-sanity-test-multi-runs'
           pipeline-script: 'voltha-go-multi-tests.groovy'
           build-node: 'qct-pod4-node2'
-          default-image-tag: 'master'
           code-branch: 'master'
           make-target: sanity-kind
           onus: 1
           pons: 1
           test-runs: 5
-          time-trigger: "H H/3 * * *"
+          time-trigger: "H H/6 * * *"
+
+      - 'voltha-periodic-test':
+          name: 'periodic-voltha-sanity-test-multi-runs-2.3'
+          pipeline-script: 'voltha-go-multi-tests.groovy'
+          build-node: 'qct-pod4-node2'
+          code-branch: 'voltha-2.3'
+          make-target: sanity-kind
+          onus: 1
+          pons: 1
+          test-runs: 5
+          time-trigger: "H H/6 * * *"
 
       - 'voltha-periodic-test':
           name: 'periodic-voltha-scale-test'
           build-node: 'qct-pod4-node2'
-          default-image-tag: 'master'
           code-branch: 'master'
           make-target: scale-multi-kind
           onus: 2
           pons: 8
-          time-trigger: "H H/3 * * *"
+          time-trigger: "H H/6 * * *"
+
+      - 'voltha-periodic-test':
+          name: 'periodic-voltha-scale-test-2.3'
+          build-node: 'qct-pod4-node2'
+          code-branch: 'voltha-2.3'
+          make-target: scale-multi-kind
+          onus: 2
+          pons: 8
+          time-trigger: "H H/6 * * *"
 
       - 'voltha-periodic-test':
           name: 'periodic-voltha-alarm-test'
           build-node: 'qct-pod4-node2'
-          default-image-tag: 'master'
           code-branch: 'master'
           make-target: bbsim-alarms-kind
           onus: 1
           pons: 1
           time-trigger: "H H/3 * * *"
 
+      - 'voltha-periodic-test':
+          name: 'periodic-voltha-alarm-test-2.3'
+          build-node: 'qct-pod4-node2'
+          code-branch: 'voltha-2.3'
+          make-target: bbsim-alarms-kind
+          onus: 1
+          pons: 1
+          time-trigger: "H H/3 * * *"
+
       # Per-patchset Pod builds on Tucson pod
       - 'verify_physical_voltha_patchset_auto':
           name: 'verify_physical_voltha_patchset_auto'
@@ -138,7 +189,7 @@
 
       - string:
           name: extraHelmFlags
-          default: '--set defaults.image_tag={default-image-tag},onu={onus},pon={pons}'
+          default: '--set onu={onus},pon={pons}'
           description: 'Helm flags to pass to ./voltha up'
 
       - string:
@@ -149,12 +200,12 @@
       - string:
           name: manifestUrl
           default: '{gerrit-server-url}/{voltha-test-manifest-repo}'
-          description: 'Repo manifest URL for code checkout (so we can display changes in Jenkins)'
+          description: 'Repo manifest URL for code checkout'
 
       - string:
-          name: manifestBranch
+          name: branch
           default: '{code-branch}'
-          description: 'Repo manifest branch for code checkout (so we can display changes in Jenkins)'
+          description: 'Repo manifest branch for code checkout'
 
       - string:
           name: gerritProject
@@ -195,8 +246,6 @@
 - job-template:
     id: 'voltha-patch-test'
     name: 'verify_{project}_sanity-test{name-extension}'
-    extra-helm-flags: ''
-    skip-vote: false
 
     description: |
       <!-- Managed by Jenkins Job Builder -->
@@ -246,7 +295,7 @@
 
       - string:
           name: extraHelmFlags
-          default: '{extra-helm-flags}'
+          default: ''
           description: 'Helm flags to pass to ./voltha up'
 
     project-type: pipeline
@@ -276,11 +325,6 @@
               file-paths:
                 - compare-type: REG_EXP
                   pattern: '{all-files-regexp}'
-          skip-vote:
-            successful: '{skip-vote}'
-            failed: '{skip-vote}'
-            unstable: '{skip-vote}'
-            notbuilt: '{skip-vote}'
 
 # POD Per Patchset Pipeline Jobs
 
@@ -555,7 +599,7 @@
             - project-compare-type: REG_EXP
               project-pattern: '^(voltha-go|voltha-openolt-adapter|voltha-openonu-adapter|voltha-api-server|voltha-system-tests|ofagent-py|ofagent-go|voltha-onos)$'
               branches:
-                - branch-compare-type: PLAIN
+                - branch-compare-type: REG_EXP
                   branch-pattern: '^(master|voltha-2.3)$'