[VOL-3780] using keywords in physical build

Change-Id: I6fbe3797f57920b5d8ebb2419c8c2ba6de9d0901
diff --git a/jjb/voltha-test/voltha.yaml b/jjb/voltha-test/voltha.yaml
new file mode 100644
index 0000000..bd4239d
--- /dev/null
+++ b/jjb/voltha-test/voltha.yaml
@@ -0,0 +1,544 @@
+---
+# POD Build Pipeline Jobs for Voltha Releases
+
+- project:
+    name: voltha-release-jobs
+
+    project-name: '{name}'
+
+    build-timeout: '300'
+
+    with-kind: false
+    power-switch: False
+    work-flow: 'ATT'
+    in-band-management: false
+    num-of-openonu: '1'
+    num-of-onos: '1'
+    num-of-atomix: '0'
+    reinstall-olt: true
+    test-type: ''
+    volthaSystemTestsChange: ''
+    kindVolthaChange: ''
+    cordTesterChange: ''
+    oltAdapterAppLabel: 'adapter-open-olt'
+    num-of-onus: ''
+    num-of-ponports: ''
+
+    jobs:
+      # flex OCP pod with olt/onu - manual test job, voltha master build job
+      - 'build_pod_manual':
+          build-node: 'qa-testvm-pod'
+          config-pod: 'flex-ocp-cord'
+          release: 'master'
+          branch: 'master'
+          num-of-openonu: '1'
+          num-of-onos: '3'
+          num-of-atomix: '3'
+          test-repo: 'voltha-system-tests'
+          Jenkinsfile: 'Jenkinsfile-voltha-build'
+          profile: '1T4GEM'
+
+      # flex pod1 test job - using voltha branch
+      - 'build_pod_test':
+          build-node: 'qa-testvm-pod'
+          config-pod: 'flex-ocp-cord'
+          profile: '1T4GEM'
+          branch: 'master'
+          test-repo: 'voltha-system-tests'
+          Jenkinsfile: 'Jenkinsfile-voltha-test'
+
+      # onlab pod1 OCP pod with olt/onu - Manual testing BAL3.1 release voltha master build job
+      - 'build_pod_manual':
+          build-node: 'onf-build'
+          config-pod: 'onlab-pod1'
+          release: 'master'
+          branch: 'master'
+          test-repo: 'voltha-system-tests'
+          Jenkinsfile: 'Jenkinsfile-voltha-build'
+          profile: '1T4GEM'
+
+      # onlab pod1 test job - BAL3.1 tests using voltha branch
+      - 'build_pod_test':
+          build-node: 'onf-build'
+          config-pod: 'onlab-pod1'
+          profile: '1T4GEM'
+          branch: 'master'
+          test-repo: 'voltha-system-tests'
+          Jenkinsfile: 'Jenkinsfile-voltha-test'
+
+      # flex OCP pod with olt/onu - Default tech profile and timer based job
+      - 'build_voltha_pod_release_timer':
+          build-node: 'qa-testvm-pod'
+          config-pod: 'flex-ocp-cord'
+          profile: 'Default'
+          time: '4'
+
+      # flex pod1 test job - uses tech profile on voltha branch
+      - 'build_voltha_pod_test':
+          build-node: 'qa-testvm-pod'
+          config-pod: 'flex-ocp-cord'
+          release: 'master'
+          branch: 'master'
+          power-switch: True
+          test-repo: 'voltha-system-tests'
+          profile: 'Default'
+
+      # flex OCP pod with olt/onu - Released versions Default tech profile and timer based job
+      - 'build_voltha_pod_release_legacy':
+          build-node: 'qa-testvm-pod'
+          config-pod: 'flex-ocp-cord'
+          release: '2.7'
+          branch: 'voltha-2.7'
+          num-of-openonu: '1'
+          num-of-onos: '3'
+          num-of-atomix: '3'
+          test-repo: 'voltha-system-tests'
+          Jenkinsfile: 'Jenkinsfile-voltha-build'
+          configurePod: true
+          profile: '1T4GEM'
+          time: '1'
+
+      # 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: '2.7'
+          branch: 'voltha-2.7'
+          power-switch: True
+          test-repo: 'voltha-system-tests'
+          profile: '1T4GEM'
+
+     # flex OCP pod with olt/onu - Released versions Default tech profile and timer based job
+      - 'build_voltha_pod_release_legacy':
+          build-node: 'qa-testvm-pod'
+          config-pod: 'flex-ocp-cord'
+          release: '2.7'
+          branch: 'voltha-2.7'
+          num-of-openonu: '1'
+          num-of-onos: '3'
+          num-of-atomix: '3'
+          name-extension: '_TT'
+          work-flow: 'TT'
+          test-repo: 'voltha-system-tests'
+          Jenkinsfile: 'Jenkinsfile-voltha-build'
+          configurePod: true
+          profile: 'TP'
+          time: '22'
+
+      # 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: '2.7'
+          branch: 'voltha-2.7'
+          name-extension: '_TT'
+          work-flow: 'TT'
+          power-switch: True
+          pipeline-script: 'voltha-tt-physical-functional-tests.groovy'
+          test-repo: 'voltha-system-tests'
+          profile: 'TP'
+
+    # flex OCP pod with olt/onu - Released versions Default tech profile and timer based job
+      - 'build_voltha_pod_release_timer':
+          build-node: 'qa-testvm-pod'
+          config-pod: 'flex-ocp-cord'
+          release: 'master'
+          branch: 'master'
+          name-extension: '_TT'
+          work-flow: 'TT'
+          profile: 'TP'
+          time: '9'
+
+      # 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: 'master'
+          branch: 'master'
+          name-extension: '_TT'
+          work-flow: 'TT'
+          power-switch: True
+          # TODO do we need different test pipelines for different tests?
+          pipeline-script: 'voltha-tt-physical-functional-tests.groovy'
+          test-repo: 'voltha-system-tests'
+          profile: 'TP'
+
+      # Menlo pod with olt/onu - 1T4GEM tech profile and timer based job
+      - 'build_voltha_pod_release_timer':
+          build-node: 'menlo-demo-pod'
+          config-pod: 'onf-demo-pod'
+          profile: '1T4GEM'
+          in-band-management: true
+          VolthaEtcdPort: 9999
+          time: '1'
+
+      # Menlo pod test job - master test job uses tech profile on voltha branch
+      - 'build_voltha_pod_test':
+          build-node: 'menlo-demo-pod'
+          config-pod: 'onf-demo-pod'
+          release: 'master'
+          branch: 'master'
+          test-repo: 'voltha-system-tests'
+          profile: '1T4GEM'
+          power-switch: True
+
+      # Menlo pod with olt/onu - master branch,  Default tech profile and timer based job
+      - 'build_voltha_pod_release_timer':
+          build-node: 'menlo-demo-pod'
+          config-pod: 'onf-demo-pod'
+          name-extension: '_DT'
+          work-flow: 'DT'
+          profile: '1T8GEM'
+          VolthaEtcdPort: 9999
+          in-band-management: true
+          time: '4'
+
+      # Menlo pod test job - uses tech profile on voltha branch
+      - 'build_voltha_pod_test':
+          build-node: 'menlo-demo-pod'
+          config-pod: 'onf-demo-pod'
+          release: 'master'
+          branch: 'master'
+          name-extension: '_DT'
+          work-flow: 'DT'
+          test-repo: 'voltha-system-tests'
+          profile: '1T8GEM'
+          pipeline-script: 'voltha-dt-physical-functional-tests.groovy'
+          power-switch: True
+
+      # Menlo pod with olt/onu - released branch,  Default tech profile and timer based job
+      - 'build_voltha_pod_release_legacy':
+          build-node: 'menlo-demo-pod'
+          config-pod: 'onf-demo-pod'
+          release: '2.7'
+          branch: 'voltha-2.7'
+          name-extension: '_DT'
+          work-flow: 'DT'
+          num-of-openonu: '1'
+          num-of-onos: '3'
+          num-of-atomix: '3'
+          test-repo: 'voltha-system-tests'
+          Jenkinsfile: 'Jenkinsfile-voltha-build'
+          configurePod: true
+          profile: '1T8GEM'
+          VolthaEtcdPort: '9999'
+          in-band-management: true
+          time: '7'
+
+      # Menlo pod test job - uses tech profile on voltha branch
+      - 'build_voltha_pod_test':
+          build-node: 'menlo-demo-pod'
+          config-pod: 'onf-demo-pod'
+          release: '2.7'
+          branch: 'voltha-2.7'
+          name-extension: '_DT'
+          work-flow: 'DT'
+          test-repo: 'voltha-system-tests'
+          profile: '1T8GEM'
+          pipeline-script: 'voltha-dt-physical-functional-tests.groovy'
+          power-switch: True
+
+      # Menlo DEMO-POD - 1 1TCONT 4 4GEMs TechProfile - Manual build and test job
+      - 'build_pod_manual':
+          build-node: 'menlo-demo-pod'
+          config-pod: 'onf-demo-pod'
+          release: 'master'
+          branch: 'master'
+          test-repo: 'voltha-system-tests'
+          Jenkinsfile: 'Jenkinsfile-voltha-build'
+          configurePod: true
+          profile: '1T4GEM'
+          num-of-openonu: '1'
+          num-of-onos: '3'
+          num-of-atomix: '3'
+          in-band-management: true
+
+      - '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'
+
+      # Menlo DEMO-POD - Default TechProfile - manual build job
+      - 'build_pod_manual':
+          build-node: 'menlo-demo-pod'
+          config-pod: 'onf-demo-pod'
+          release: 'master'
+          branch: 'master'
+          num-of-openonu: '1'
+          num-of-onos: '3'
+          num-of-atomix: '3'
+          test-repo: 'voltha-system-tests'
+          Jenkinsfile: 'Jenkinsfile-voltha-build'
+          configurePod: true
+          profile: 'Default'
+          in-band-management: true
+
+      # ONF DEMO OCP test job - voltha-master branch
+      - 'build_pod_test':
+          build-node: 'menlo-demo-pod'
+          config-pod: 'onf-demo-pod'
+          profile: 'Default'
+          branch: 'master'
+          test-repo: 'voltha-system-tests'
+          Jenkinsfile: 'Jenkinsfile-voltha-test'
+
+      # Menlo pod with olt/onu - Default tech profile and timer based job
+      # ONF Menlo Soak POD build job - voltha-master branch
+      # FIXME once the soak-pod is back use 'build_voltha_pod_release_timer'
+      - 'build_pod_manual':
+          build-node: 'menlo-soak-pod'
+          config-pod: 'onf-soak-pod'
+          release: 'master'
+          installBBSim: true
+          branch: 'master'
+          profile: '1T8GEM'
+          test-repo: 'voltha-system-tests'
+          name-extension: '_DT'
+          work-flow: 'DT'
+          reinstall-olt: false
+          Jenkinsfile: 'Jenkinsfile-voltha-build'
+          configurePod: true
+          num-of-onus: 16
+          num-of-ponports: 8
+
+      # ONF Menlo Soak POD test job - voltha-master branch
+      # FIXME once the soak-pod is back use 'build_voltha_pod_test'
+      - 'build_pod_test':
+          build-node: 'menlo-soak-pod'
+          config-pod: 'onf-soak-pod'
+          'disable-job': true
+          profile: 'Default'
+          branch: 'master'
+          test-repo: 'voltha-system-tests'
+          Jenkinsfile: 'Jenkinsfile-voltha-test'
+
+      # ONF Menlo Soak POD test job - voltha-master branch
+      # Run tests every three days
+      - 'build_voltha_pod_soak_test':
+          build-node: 'menlo-soak-pod'
+          config-pod: 'onf-soak-pod'
+          disable-job: true
+          profile: '1T8GEM'
+          branch: 'master'
+          release: 'master'
+          work-flow: 'DT'
+          name-extension: '_DT_soak_Func'
+          test-type: 'Functional'
+          test-repo: 'voltha-system-tests'
+          pipeline-script: 'voltha-physical-soak-dt-tests.groovy'
+          time-trigger: "H H 2 * *"
+
+      # ONF Menlo Soak POD test job - voltha-master branch
+      # Run tests every three days
+      - 'build_voltha_pod_soak_test':
+          build-node: 'menlo-soak-pod'
+          config-pod: 'onf-soak-pod'
+          'disable-job': true
+          profile: '1T8GEM'
+          branch: 'master'
+          release: 'master'
+          work-flow: 'DT'
+          name-extension: '_DT_soak_Fail'
+          test-type: 'Failure'
+          test-repo: 'voltha-system-tests'
+          pipeline-script: 'voltha-physical-soak-dt-tests.groovy'
+          time-trigger: "H H */2 * *"
+
+      # ONF Menlo Soak POD test job - voltha-master branch
+      # Run dataplane tests every three days
+      - 'build_voltha_pod_soak_test':
+          build-node: 'menlo-soak-pod'
+          config-pod: 'onf-soak-pod'
+          'disable-job': true
+          profile: '1T8GEM'
+          branch: 'master'
+          release: 'master'
+          work-flow: 'DT'
+          name-extension: '_DT_soak_DP'
+          test-type: 'Dataplane'
+          test-repo: 'voltha-system-tests'
+          pipeline-script: 'voltha-physical-soak-dt-tests.groovy'
+          time-trigger: "H H */3 * *"
+
+      # Berlin pod with olt/onu - master versions timer based job , two OLTs
+      - 'build_voltha_pod_release_timer':
+          build-node: 'dt-berlin-community-pod'
+          config-pod: 'dt-berlin-pod-multi-olt'
+          disable-job: true
+          name-extension: '_DT'
+          work-flow: 'DT'
+          profile: '1T8GEM'
+          # Update this value accordingly once the job is enabled
+          time: ''
+
+      # 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-multi-olt'
+          disable-job: true
+          release: 'master'
+          branch: 'master'
+          name-extension: '_DT'
+          work-flow: 'DT'
+          test-repo: 'voltha-system-tests'
+          profile: '1T8GEM'
+          power-switch: True
+          pipeline-script: 'voltha-dt-physical-functional-tests.groovy'
+
+      # Berlin pod with olt/onu -  voltha-2.7 timer based job , two OLTs
+      - 'build_voltha_pod_release_legacy':
+          build-node: 'dt-berlin-community-pod'
+          config-pod: 'dt-berlin-pod-multi-olt'
+          release: '2.7'
+          branch: 'voltha-2.7'
+          name-extension: '_DT'
+          work-flow: 'DT'
+          num-of-openonu: '1'
+          num-of-onos: '3'
+          num-of-atomix: '3'
+          test-repo: 'voltha-system-tests'
+          Jenkinsfile: 'Jenkinsfile-voltha-build'
+          configurePod: true
+          profile: '1T8GEM'
+          time: '18'
+
+      # Berlin POD test job -  voltha-2.7 versions: two OLTs
+      - 'build_voltha_pod_test':
+          build-node: 'dt-berlin-community-pod'
+          config-pod: 'dt-berlin-pod-multi-olt'
+          release: '2.7'
+          branch: 'voltha-2.7'
+          name-extension: '_DT'
+          work-flow: 'DT'
+          test-repo: 'voltha-system-tests'
+          profile: '1T8GEM'
+          power-switch: True
+          pipeline-script: 'voltha-dt-physical-functional-tests.groovy'
+
+     # Berlin pod with olt/onu - voltha-2.7 Default tech profile and timer based job
+      - 'build_voltha_pod_release_legacy':
+          build-node: 'dt-berlin-community-pod'
+          config-pod: 'dt-berlin-pod'
+          release: '2.7'
+          branch: 'voltha-2.7'
+          num-of-openonu: '1'
+          num-of-onos: '3'
+          num-of-atomix: '3'
+          test-repo: 'voltha-system-tests'
+          Jenkinsfile: 'Jenkinsfile-voltha-build'
+          configurePod: true
+          disable-job: true
+          profile: 'Default'
+          # Update this value accordingly once the job is enabled
+          time: ''
+
+      # Berlin POD test job - released versions: uses tech profile on voltha branch
+      - 'build_voltha_pod_test':
+          build-node: 'dt-berlin-community-pod'
+          config-pod: 'dt-berlin-pod'
+          release: '2.7'
+          branch: 'voltha-2.7'
+          test-repo: 'voltha-system-tests'
+          profile: 'Default'
+          power-switch: True
+
+      # Berlin pod with gpon olt/onu - master 1T8GEM tech profile and timer based job
+      - 'build_voltha_pod_release_timer':
+          build-node: 'dt-berlin-community-pod'
+          config-pod: 'dt-berlin-pod-gpon'
+          name-extension: '_DT'
+          work-flow: 'DT'
+          profile: '1T8GEM'
+          time: '1'
+
+      # Berlin POD test job - master versions: uses 1T8GEM tech profile on voltha branch
+      - 'build_voltha_pod_test':
+          build-node: 'dt-berlin-community-pod'
+          config-pod: 'dt-berlin-pod-gpon'
+          name-extension: '_DT'
+          work-flow: 'DT'
+          release: 'master'
+          branch: 'master'
+          test-repo: 'voltha-system-tests'
+          profile: '1T8GEM'
+          power-switch: True
+          pipeline-script: 'voltha-dt-physical-functional-tests.groovy'
+
+     # Berlin pod with gpon olt/onu - released 1T8GEM tech profile and timer based job
+      - 'build_voltha_pod_release_legacy':
+          build-node: 'dt-berlin-community-pod'
+          config-pod: 'dt-berlin-pod-gpon'
+          release: '2.7'
+          branch: 'voltha-2.7'
+          num-of-openonu: '1'
+          num-of-onos: '3'
+          num-of-atomix: '3'
+          name-extension: '_DT'
+          work-flow: 'DT'
+          test-repo: 'voltha-system-tests'
+          Jenkinsfile: 'Jenkinsfile-voltha-build'
+          configurePod: true
+          profile: '1T8GEM'
+          time: '13'
+
+      # Berlin POD test job - released versions: uses 1T8GEM tech profile on voltha branch
+      - 'build_voltha_pod_test':
+          build-node: 'dt-berlin-community-pod'
+          config-pod: 'dt-berlin-pod-gpon'
+          name-extension: '_DT'
+          work-flow: 'DT'
+          release: '2.7'
+          branch: 'voltha-2.7'
+          test-repo: 'voltha-system-tests'
+          profile: '1T8GEM'
+          power-switch: True
+          pipeline-script: 'voltha-dt-physical-functional-tests.groovy'
+
+     # Berlin pod with gpon olt/onu - master 1T8GEM tech profile and openonu go and timer based job
+      - 'build_voltha_pod_release_timer':
+          build-node: 'dt-berlin-community-pod'
+          config-pod: 'dt-berlin-pod-openonugo'
+          'disable-job': true
+          name-extension: '_DT_openonugo'
+          work-flow: 'DT'
+          configurePod: true
+          profile: '1T8GEM'
+          # Update this value accordingly once the job is enabled
+          time: ''
+
+      # Berlin POD test job - master versions, uses 1T8GEM tech profile and openonu go on voltha branch
+      - 'build_voltha_pod_test':
+          build-node: 'dt-berlin-community-pod'
+          config-pod: 'dt-berlin-pod-openonugo'
+          'disable-job': true
+          name-extension: '_DT_openonugo'
+          work-flow: 'DT'
+          release: 'master'
+          branch: 'master'
+          test-repo: 'voltha-system-tests'
+          profile: '1T8GEM'
+          power-switch: True
+          pipeline-script: 'voltha-dt-physical-functional-tests.groovy'
+
+      # Berlin pod with olt/onu - manual test job, voltha master build job
+      - 'build_pod_manual':
+          build-node: 'dt-berlin-community-pod'
+          config-pod: 'dt-berlin-pod-gpon'
+          release: 'master'
+          branch: 'master'
+          num-of-openonu: '1'
+          test-repo: 'voltha-system-tests'
+          Jenkinsfile: 'Jenkinsfile-voltha-build'
+          profile: 'Default'
+
+      # Berlin pod1 test job - using voltha branch
+      - 'build_pod_test':
+          build-node: 'dt-berlin-community-pod'
+          config-pod: 'dt-berlin-pod-gpon'
+          profile: 'Default'
+          branch: 'master'
+          test-repo: 'voltha-system-tests'
+          Jenkinsfile: 'Jenkinsfile-voltha-test'