Adding support for voltha-onos 1.13.10 and 2.2 to BBSim based sanity test

The support is not directly related to the ONOS version itself, but to
the version of the apps that come bundled with those version

Change-Id: I2a09c4f01b0ba300902366d6ba0fc814464eddb2
diff --git a/jjb/cord-test/nightly-build-pipeline.yaml b/jjb/cord-test/nightly-build-pipeline.yaml
index 6de1fcd..d2240d1 100644
--- a/jjb/cord-test/nightly-build-pipeline.yaml
+++ b/jjb/cord-test/nightly-build-pipeline.yaml
@@ -865,7 +865,7 @@
       - string:
           name: onosVersion
           default: '{onos-version}'
-          description: 'ONOS version that needs to be installed'
+          description: 'ONOS version that needs to be configured'
 
       - bool:
           name: released
@@ -988,4 +988,3 @@
       - reverse:
           jobs: 'build_{config-pod}_{profile}_voltha_{release}'
           result: 'success'
-
diff --git a/jjb/defaults.yaml b/jjb/defaults.yaml
index ed6fb3c..6a32bd4 100644
--- a/jjb/defaults.yaml
+++ b/jjb/defaults.yaml
@@ -193,3 +193,8 @@
     # maintainers
     # Used to notify users in supported tests
     maintainers: 'zdw@opennetworking.org'
+
+    # onos version
+    # is used by the voltha-bbsim-tests.groovy and physical pod pipelines to
+    # know which sadis config needs to be pushed
+    onos-version: '1.13.9'
diff --git a/jjb/pipeline/voltha-bbsim-tests.groovy b/jjb/pipeline/voltha-bbsim-tests.groovy
index c82501b..6003e62 100644
--- a/jjb/pipeline/voltha-bbsim-tests.groovy
+++ b/jjb/pipeline/voltha-bbsim-tests.groovy
@@ -151,6 +151,82 @@
       }
     }
 
+    stage('ONOS Config') {
+      steps {
+        sh '''
+          if [[ ${onosVersion} == "1.13.10" ]]; then
+            curl -sSL --user karaf:karaf \
+              -X POST \
+              -H Content-Type:application/json \
+              http://localhost:8181/onos/v1/network/configuration/apps \
+              --data @- << EOF
+              {
+                 "org.opencord.sadis":{
+                    "sadis":{
+                       "integration":{
+                          "cache":{
+                             "enabled":false,
+                             "maxsize":50,
+                             "ttl":"PT0m"
+                          }
+                       },
+                       "entries":[
+                          {
+                             "id":"BBSIM_OLT_0",
+                             "hardwareIdentifier":"0f:f1:ce:c0:ff:ee",
+                             "nasId":"BBSIMOLT000",
+                             "uplinkPort":1048576
+                          },
+                          {
+                             "id":"BBSM00000001-1",
+                             "nasPortId":"BBSM00000001-1",
+                             "circuitId":"BBSM00000001-1",
+                             "remoteId":"BBSM00000001-1",
+                             "uniTagList":[
+                                {
+                                   "ponCTag":900,
+                                   "ponSTag":900,
+                                   "technologyProfileId":64,
+                                   "downstreamBandwidthProfile":"Default",
+                                   "upstreamBandwidthProfile":"Default",
+                                   "isDhcpRequired":true
+                                }
+                             ]
+                          }
+                       ]
+                    },
+                    "bandwidthprofile":{
+                       "integration":{
+                          "cache":{
+                             "enabled":true,
+                             "maxsize":40,
+                             "ttl":"PT1m"
+                          }
+                       },
+                       "entries":[
+                          {
+                             "id":"Default",
+                             "cir":1000000,
+                             "cbs":1001,
+                             "eir":1002,
+                             "ebs":1003,
+                             "air":1004
+                          }
+                       ]
+                    }
+                 }
+              }
+            EOF
+            sshpass -p karaf ssh -p 30115 karaf@${deployment_config.nodes[0].ip} "cfg set org.opencord.olt.impl.OltFlowService enableDhcpOnProvisioning true"
+            sshpass -p karaf ssh -p 30115 karaf@${deployment_config.nodes[0].ip} "cfg set org.opencord.olt.impl.OltFlowService enableDhcpV4 true"
+            sshpass -p karaf ssh -p 30115 karaf@${deployment_config.nodes[0].ip} "cfg set org.opencord.olt.impl.OltFlowService enableEapol true"
+        else
+            echo "Using kind-voltha defaults"
+        fi
+        '''
+      }
+    }
+
     stage('Run E2E Tests') {
       steps {
         sh '''
diff --git a/jjb/verify/voltha-onos.yaml b/jjb/verify/voltha-onos.yaml
index 7d426ca..9f1672d 100644
--- a/jjb/verify/voltha-onos.yaml
+++ b/jjb/verify/voltha-onos.yaml
@@ -6,13 +6,18 @@
     project: '{name}'
 
     jobs:
-      - 'verify-voltha-onos-jobs':
+      - 'verify-voltha-onos-jobs-common':
           branch-regexp: '{all-branches-regexp}'
+      - 'verify-voltha-onos-jobs-master':
+          branch-regexp: 'master'
+      - 'verify-voltha-onos-jobs-branches':
+          branch-regexp: '^(onos-1.13.10|onos-2.2)$'
+          name-extension: '-branches'
       - 'publish-voltha-onos-jobs':
-          branch-regexp: '{all-branches-regexp}'
+        branch-regexp: '{all-branches-regexp}'
 
 - job-group:
-    name: 'verify-voltha-onos-jobs'
+    name: 'verify-voltha-onos-jobs-common'
     jobs:
       - 'verify-licensed'
       - 'tag-collision-reject':
@@ -20,10 +25,21 @@
       - 'make-unit-test':
           unit-test-targets: 'build'
           junit-allow-empty-results: true
+
+- job-group:
+    name: 'verify-voltha-onos-jobs-master'
+    jobs:
       - 'voltha-patch-test':
           pipeline-script: 'voltha-bbsim-tests.groovy'
 
 - job-group:
+    name: 'verify-voltha-onos-jobs-branches'
+    jobs:
+      - 'voltha-patch-test':
+          pipeline-script: 'voltha-bbsim-tests.groovy'
+          onos-version: '1.13.10'
+
+- job-group:
     name: 'publish-voltha-onos-jobs'
     jobs:
       - 'docker-publish':
diff --git a/jjb/versioning.yaml b/jjb/versioning.yaml
index 9c25666..b4103c2 100644
--- a/jjb/versioning.yaml
+++ b/jjb/versioning.yaml
@@ -121,4 +121,3 @@
           properties-content:
             SEMVER_STRICT={semver-strict}
       - shell: !include-raw-escape: shell/versiontag.sh
-
diff --git a/jjb/voltha-e2e.yaml b/jjb/voltha-e2e.yaml
index 56510d3..751f267 100644
--- a/jjb/voltha-e2e.yaml
+++ b/jjb/voltha-e2e.yaml
@@ -162,7 +162,7 @@
 
 - job-template:
     id: 'voltha-patch-test'
-    name: 'verify_{project}_sanity-test'
+    name: 'verify_{project}_sanity-test{name-extension}'
     extra-helm-flags: ''
 
     description: |
@@ -216,6 +216,11 @@
           default: '{extra-helm-flags}'
           description: 'Helm flags to pass to ./voltha up'
 
+      - string:
+          name: onosVersion
+          default: '{onos-version}'
+          description: 'ONOS version that needs to be configured'
+
     project-type: pipeline
     concurrent: true