#--------------------------------
# POD, INSTALLER, AND BRANCH MAPPING
#--------------------------------
-# brahmaputra
+# CI PODs
#--------------------------------
pod:
- - intel-pod5:
+ - baremetal:
+ slave-label: joid-baremetal
+ <<: *master
+ - virtual:
+ slave-label: joid-virtual
+ <<: *master
+ - baremetal:
+ slave-label: joid-baremetal
+ <<: *brahmaputra
+ - virtual:
+ slave-label: joid-virtual
<<: *brahmaputra
#--------------------------------
-# master
+# None-CI PODs
#--------------------------------
- - intel-pod6:
- <<: *master
- orange-pod2:
+ slave-label: orange-pod2
+ <<: *brahmaputra
+ - orange-pod2:
+ slave-label: orange-pod2
+ <<: *master
+ - juniper-pod1:
+ slave-label: juniper-pod1
<<: *master
#--------------------------------
-# please check the triggers before enabling any of the controllers!!!
- sdn-controller:
- - 'odl':
- disabled: false
-# commented out below controllers to get Arno scenario settled first
-# - 'nosdn':
-# disabled: true
-# - 'onos':
-# disabled: true
-# - 'opencontrail':
-# disabled: true
+# new scenario descriptions
+ scenario:
+ - 'os-nosdn-nofeature-noha':
+ auto-trigger-name: 'daily-trigger-disabled'
+ - 'os-nosdn-nofeature-ha':
+ auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
+ - 'os-nosdn-lxd-ha':
+ auto-trigger-name: 'daily-trigger-disabled'
+ - 'os-nosdn-lxd-noha':
+ auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
+ - 'os-odl_l2-nofeature-ha':
+ auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
+ - 'os-onos-nofeature-ha':
+ auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
+ - 'os-odl_l2-nofeature-noha':
+ auto-trigger-name: 'daily-trigger-disabled'
+ - 'os-onos-nofeature-noha':
+ auto-trigger-name: 'daily-trigger-disabled'
+ - 'os-ocl-nofeature-ha':
+ auto-trigger-name: 'daily-trigger-disabled'
+ - 'os-ocl-nofeature-noha':
+ auto-trigger-name: 'daily-trigger-disabled'
jobs:
- - 'joid-{sdn-controller}-{pod}-daily-{stream}'
+ - 'joid-{scenario}-{pod}-daily-{stream}'
- 'joid-deploy-{pod}-daily-{stream}'
########################
# job templates
########################
- job-template:
- name: 'joid-{sdn-controller}-{pod}-daily-{stream}'
-
- project-type: multijob
-
- disabled: '{obj:disabled}'
+ name: 'joid-{scenario}-{pod}-daily-{stream}'
concurrent: false
+ properties:
+ - throttle:
+ enabled: true
+ max-total: 4
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'joid-os-.*?-{pod}-daily-{stream}'
+ block-level: 'NODE'
+
wrappers:
- build-name:
- name: '$BUILD_NUMBER - SDN: $SDN_CONTROLLER Scenario: $DEPLOY_SCENARIO'
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
triggers:
- - 'joid-{pod}-{sdn-controller}-trigger'
+ - '{auto-trigger-name}'
parameters:
- project-parameter:
project: '{project}'
- - '{pod}-defaults'
- '{installer}-defaults'
- - string:
- name: SDN_CONTROLLER
- default: '{sdn-controller}'
+ - '{slave-label}-defaults':
+ installer: '{installer}'
- string:
name: DEPLOY_SCENARIO
- default: 'none'
-
- scm:
- - git-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- branch: '{branch}'
+ default: '{scenario}'
builders:
- - '{installer}-multijob-{pod}-builder':
- pod: '{pod}'
- stream: '{stream}'
+ - trigger-builds:
+ - project: 'joid-deploy-{pod}-daily-{stream}'
+ current-parameters: true
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ same-node: true
+ block: true
+ - trigger-builds:
+ - project: 'yardstick-joid-{pod}-daily-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
+ - trigger-builds:
+ - project: 'functest-joid-{pod}-daily-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
- job-template:
name: 'joid-deploy-{pod}-daily-{stream}'
- disabled: false
+ concurrent: true
- concurrent: false
+ properties:
+ - throttle:
+ enabled: true
+ max-total: 4
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'joid-deploy-{pod}-daily-{stream}'
+ block-level: 'NODE'
wrappers:
- build-name:
- name: '$BUILD_NUMBER - SDN: $SDN_CONTROLLER Scenario: $DEPLOY_SCENARIO'
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
- timeout:
timeout: 180
fail: true
parameters:
- project-parameter:
project: '{project}'
- - '{pod}-defaults'
- '{installer}-defaults'
+ - '{slave-label}-defaults':
+ installer: '{installer}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-odl_l2-nofeature-ha'
scm:
- git-scm:
branch: '{branch}'
builders:
- - '{pod}-builder'
-
-########################
-# multijob builder macros
-########################
-# intel-pod5 is CI POD so full CI will run on it
-# deploy, functest, yardstick
-- builder:
- name: joid-multijob-intel-pod5-builder
- builders:
- - multijob:
- name: deploy
- condition: SUCCESSFUL
- projects:
- - name: 'joid-deploy-{pod}-daily-{stream}'
- current-parameters: true
- git-revision: true
- kill-phase-on: FAILURE
- - multijob:
- name: functest
- condition: COMPLETED
- projects:
- - name: 'functest-joid-{pod}-daily-{stream}'
- current-parameters: true
- kill-phase-on: NEVER
- - multijob:
- name: yardstick
- condition: COMPLETED
- projects:
- - name: 'yardstick-joid-{pod}-daily-{stream}'
- current-parameters: true
- kill-phase-on: NEVER
-# intel-pod6 is CI POD so full CI will run on it
-# deploy, functest, yardstick
-- builder:
- name: joid-multijob-intel-pod6-builder
- builders:
- - multijob:
- name: deploy
- condition: SUCCESSFUL
- projects:
- - name: 'joid-deploy-{pod}-daily-{stream}'
- current-parameters: true
- git-revision: true
- kill-phase-on: FAILURE
- - multijob:
- name: functest
- condition: COMPLETED
- projects:
- - name: 'functest-joid-{pod}-daily-{stream}'
- current-parameters: true
- kill-phase-on: NEVER
- - multijob:
- name: yardstick
- condition: COMPLETED
- projects:
- - name: 'yardstick-joid-{pod}-daily-{stream}'
- current-parameters: true
- kill-phase-on: NEVER
-# yardstick placeholder
-# - multijob:
-# name: yardstick
-# condition: COMPLETED
-# projects:
-# - name: 'yardstick-joid-{pod}-daily-{stream}'
-# current-parameters: true
-# kill-phase-on: NEVER
-
-# orange-pod2 is NOT a CI POD so only the selected jobs will run
-# deploy and functest currently
-- builder:
- name: joid-multijob-orange-pod2-builder
- builders:
- - multijob:
- name: deploy
- condition: SUCCESSFUL
- projects:
- - name: 'joid-deploy-{pod}-daily-{stream}'
- current-parameters: true
- git-revision: true
- kill-phase-on: FAILURE
- - multijob:
- name: functest
- condition: COMPLETED
- projects:
- - name: 'functest-joid-{pod}-daily-{stream}'
- current-parameters: true
- kill-phase-on: NEVER
+ - 'builder-macro'
########################
# builder macros
########################
- builder:
- name: intel-pod5-builder
- builders:
- - shell: |
- #!/bin/bash
- echo "Running $INSTALLER_TYPE with controller $SDN_CONTROLLER"
- echo
- echo "Executing clean.sh"
- cd $WORKSPACE/ci
- ./clean.sh
- echo
- echo "Executing 02-maasdeploy.sh intelpod5"
- ./02-maasdeploy.sh intelpod5
- echo
- echo "Executing deploy.sh -o liberty -s $SDN_CONTROLLER -t ha -l intelpod5"
- ./deploy.sh -o liberty -s $SDN_CONTROLLER -t ha -l intelpod5
-
-- builder:
- name: intel-pod6-builder
+ name: 'builder-macro'
builders:
- shell: |
#!/bin/bash
echo "Running $INSTALLER_TYPE with controller $SDN_CONTROLLER"
echo
- echo "Executing clean.sh"
- cd $WORKSPACE/ci
- ./clean.sh
- echo
- echo "Executing 02-maasdeploy.sh intelpod6"
- ./02-maasdeploy.sh intelpod6
- echo
- echo "Executing deploy.sh -o liberty -s $SDN_CONTROLLER -t ha -l intelpod6"
- ./deploy.sh -o liberty -s $SDN_CONTROLLER -t ha -l intelpod6
-
-- builder:
- name: orange-pod2-builder
- builders:
- - shell: |
- #!/bin/bash
- echo "Running $INSTALLER_TYPE with controller $SDN_CONTROLLER"
- echo "Please note that this is WIP generic builder"
- echo
- echo "Executing clean.sh"
+ echo "------ First Executing clean.sh ------"
cd $WORKSPACE/ci
./clean.sh
- shell:
- !include-raw ./joid-deploy.sh
+ !include-raw: ./joid-deploy.sh
+
########################
# trigger macros
########################
+# os-nosdn-nofeature-ha trigger - branch: master
- trigger:
- name: 'joid-intel-pod5-odl-trigger'
+ name: 'joid-os-nosdn-nofeature-ha-baremetal-master-trigger'
triggers:
- timed: '0 2 * * *'
- trigger:
- name: 'joid-intel-pod6-odl-trigger'
+ name: 'joid-os-nosdn-nofeature-ha-virtual-master-trigger'
triggers:
- - timed: '0 2 * * *'
+ - timed: ''
+- trigger:
+ name: 'joid-os-nosdn-nofeature-ha-orange-pod2-master-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'joid-os-nosdn-nofeature-ha-juniper-pod1-master-trigger'
+ triggers:
+ - timed: ''
+
+# os-nosdn-nofeature-ha trigger - branch: stable/brahmaputra
+- trigger:
+ name: 'joid-os-nosdn-nofeature-ha-baremetal-brahmaputra-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'joid-os-nosdn-nofeature-ha-virtual-brahmaputra-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'joid-os-nosdn-nofeature-ha-orange-pod2-brahmaputra-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'joid-os-nosdn-nofeature-ha-juniper-pod1-brahmaputra-trigger'
+ triggers:
+ - timed: ''
+
+# os-odl_l2-nofeature-ha trigger - branch: master
+- trigger:
+ name: 'joid-os-odl_l2-nofeature-ha-baremetal-master-trigger'
+ triggers:
+ - timed: '0 10 * * *'
+- trigger:
+ name: 'joid-os-odl_l2-nofeature-ha-virtual-master-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'joid-os-odl_l2-nofeature-ha-orange-pod2-master-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'joid-os-odl_l2-nofeature-ha-juniper-pod1-master-trigger'
+ triggers:
+ - timed: ''
+
+# os-odl_l2-nofeature-ha trigger - branch: stable/brahmaputra
+- trigger:
+ name: 'joid-os-odl_l2-nofeature-ha-baremetal-brahmaputra-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'joid-os-odl_l2-nofeature-ha-virtual-brahmaputra-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'joid-os-odl_l2-nofeature-ha-orange-pod2-brahmaputra-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'joid-os-odl_l2-nofeature-ha-juniper-pod1-brahmaputra-trigger'
+ triggers:
+ - timed: ''
+
+# os-onos-nofeature-ha trigger - branch: master
+- trigger:
+ name: 'joid-os-onos-nofeature-ha-baremetal-master-trigger'
+ triggers:
+ - timed: '0 18 * * *'
+- trigger:
+ name: 'joid-os-onos-nofeature-ha-virtual-master-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'joid-os-onos-nofeature-ha-orange-pod2-master-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'joid-os-onos-nofeature-ha-juniper-pod1-master-trigger'
+ triggers:
+ - timed: ''
+
+# os-onos-nofeature-ha trigger - branch: stable/brahmaputra
+- trigger:
+ name: 'joid-os-onos-nofeature-ha-baremetal-brahmaputra-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'joid-os-onos-nofeature-ha-virtual-brahmaputra-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'joid-os-onos-nofeature-ha-orange-pod2-brahmaputra-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'joid-os-onos-nofeature-ha-juniper-pod1-brahmaputra-trigger'
+ triggers:
+ - timed: ''
+
+# os-nosdn-lxd-noha trigger - branch: master
+- trigger:
+ name: 'joid-os-nosdn-lxd-noha-baremetal-master-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'joid-os-nosdn-lxd-noha-virtual-master-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'joid-os-nosdn-lxd-noha-orange-pod2-master-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'joid-os-nosdn-lxd-noha-juniper-pod1-master-trigger'
+ triggers:
+ - timed: ''
+
+# os-nosdn-lxd-noha trigger - branch: stable/brahmaputra
+- trigger:
+ name: 'joid-os-nosdn-lxd-noha-baremetal-brahmaputra-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'joid-os-nosdn-lxd-noha-virtual-brahmaputra-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'joid-os-nosdn-lxd-noha-orange-pod2-brahmaputra-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'joid-os-nosdn-lxd-noha-juniper-pod1-brahmaputra-trigger'
+ triggers:
+ - timed: ''
+
+# os-nosdn-lxd-ha trigger - branch: master
+- trigger:
+ name: 'joid-os-nosdn-lxd-ha-baremetal-master-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'joid-os-nosdn-lxd-ha-virtual-master-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'joid-os-nosdn-lxd-ha-orange-pod2-master-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'joid-os-nosdn-lxd-ha-juniper-pod1-master-trigger'
+ triggers:
+ - timed: ''
+
+# os-nosdn-lxd-ha trigger - branch: stable/brahmaputra
+- trigger:
+ name: 'joid-os-nosdn-lxd-ha-baremetal-brahmaputra-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'joid-os-nosdn-lxd-ha-virtual-brahmaputra-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'joid-os-nosdn-lxd-ha-orange-pod2-brahmaputra-trigger'
+ triggers:
+ - timed: ''
- trigger:
- name: 'joid-orange-pod2-odl-trigger'
+ name: 'joid-os-nosdn-lxd-ha-juniper-pod1-brahmaputra-trigger'
triggers:
- timed: ''