+# jenkins job templates for Fuel
- project:
name: 'fuel'
pod:
- opnfv-jump-2:
<<: *brahmaputra
+ - ericsson-pod1:
+ <<: *brahmaputra
+# - ericsson-pod2:
+# <<: *brahmaputra
+ - virtual:
+ <<: *brahmaputra
#--------------------------------
# master
#--------------------------------
<<: *master
- ericsson-pod2:
<<: *master
+ - virtual:
+ <<: *master
#--------------------------------
-
-# please check the triggers before enabling any of the controllers!!!
- sdn-controller:
- - 'nosdn'
+# scenarios
+#--------------------------------
+ scenario:
+ # HA scenarios
+ - 'os-odl_l2-nofeature-ha':
+ auto-trigger-name: 'fuel-{scenario}-{pod}-trigger'
+ - 'os-odl_l3-nofeature-ha':
+ auto-trigger-name: 'fuel-{scenario}-{pod}-trigger'
+ - 'os-onos-nofeature-ha':
+ auto-trigger-name: 'fuel-{scenario}-{pod}-trigger'
+ - 'os-nosdn-kvm-ha':
+ auto-trigger-name: 'fuel-{scenario}-{pod}-trigger'
+ - 'os-nosdn-ovs-ha':
+ auto-trigger-name: 'fuel-{scenario}-{pod}-trigger'
+ - 'os-nosdn-nofeature-ha':
+ auto-trigger-name: 'fuel-{scenario}-{pod}-trigger'
+ - 'os-odl_l2-bgpvpn-ha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+ - 'os-nosdn-kvm_ovs-ha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+ - 'os-nosdn-vlan-ha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+ # NOHA scenarios
+ - 'os-odl_l2-nofeature-noha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+ - 'os-odl_l3-nofeature-noha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+ - 'os-onos-nofeature-noha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+ - 'os-nosdn-nofeature-noha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+ - 'os-nosdn-kvm-noha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+ - 'os-nosdn-kvm_ovs-noha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+ - 'os-nosdn-ovs-noha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+ - 'os-odl_l2-bgpvpn-noha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
jobs:
- - 'fuel-{sdn-controller}-{pod}-daily-{stream}'
+ - 'fuel-{scenario}-{pod}-daily-{stream}'
- 'fuel-deploy-{pod}-daily-{stream}'
########################
-# job templates - old type of defining the scenario
+# job templates
########################
- job-template:
- name: 'fuel-{sdn-controller}-{pod}-daily-{stream}'
-
- project-type: multijob
+ name: 'fuel-{scenario}-{pod}-daily-{stream}'
concurrent: false
- build-blocker:
use-build-blocker: true
blocking-jobs:
- - 'fuel-{sdn-controller}-{pod}-daily-{stream}'
+ - 'fuel-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:
- - 'fuel-{pod}-{sdn-controller}-trigger'
+ - '{auto-trigger-name}'
parameters:
- project-parameter:
project: '{project}'
- - '{pod}-defaults'
- '{installer}-defaults'
- - string:
- name: SDN_CONTROLLER
- default: '{sdn-controller}'
+ - '{pod}-defaults':
+ installer: '{installer}'
- string:
name: DEPLOY_SCENARIO
- default: 'none'
+ default: '{scenario}'
- fuel-ci-parameter:
gs-pathname: '{gs-pathname}'
- scm:
- - git-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- branch: '{branch}'
-
builders:
- - multijob:
- name: deploy
- condition: SUCCESSFUL
- projects:
- - name: 'fuel-deploy-{pod}-daily-{stream}'
- current-parameters: true
- git-revision: true
- kill-phase-on: FAILURE
- - multijob:
- name: functest
- condition: COMPLETED
- projects:
- - name: 'functest-fuel-{pod}-daily-{stream}'
- current-parameters: true
- kill-phase-on: NEVER
- - multijob:
- name: yardstick
- condition: COMPLETED
- projects:
- - name: 'yardstick-fuel-{pod}-daily-{stream}'
- current-parameters: true
- kill-phase-on: NEVER
+ - trigger-builds:
+ - project: 'fuel-deploy-{pod}-daily-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ same-node: true
+ block: true
+ - trigger-builds:
+ - project: 'functest-fuel-{pod}-daily-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ same-node: true
+ block: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
+ - trigger-builds:
+ - project: 'yardstick-fuel-{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: 'fuel-deploy-{pod}-daily-{stream}'
- build-blocker:
use-build-blocker: true
blocking-jobs:
- - 'fuel-deploy-{pod}-daily-{stream}.*'
- - 'functest-fuel-{pod}-daily-{stream}'
- - 'yardstick-fuel-{pod}-daily-{stream}'
+ - 'fuel-deploy-{pod}-daily-{stream}'
+ - 'fuel-deploy-generic-daily-.*'
+ block-level: 'NODE'
parameters:
- project-parameter:
project: '{project}'
- - '{pod}-defaults'
- '{installer}-defaults'
+ - '{pod}-defaults':
+ installer: '{installer}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-odl_l2-nofeature-ha'
- fuel-ci-parameter:
gs-pathname: '{gs-pathname}'
name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
builders:
- - 'builder-{stream}'
+ - shell:
+ !include-raw-escape: ./fuel-download-artifact.sh
+ - shell:
+ !include-raw-escape: ./fuel-deploy.sh
publishers:
- email:
recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
+
########################
# parameter macros
########################
default: artifacts.opnfv.org/$PROJECT{gs-pathname}
description: "URL to Google Storage."
########################
-# builder macros
-########################
-- builder:
- name: 'builder-master'
- builders:
- - shell:
- !include-raw: ./fuel-download-artifact.sh
- - shell:
- !include-raw: ./fuel-deploy-master.sh
-- builder:
- name: 'builder-brahmaputra'
- builders:
- - shell:
- !include-raw: ./fuel-download-artifact.sh
- - shell:
- !include-raw: ./fuel-deploy.sh
-########################
# trigger macros
########################
-# trigger for opnfv-jump-2 is set to run 1 hour ahead of others
-# to prevent doing unnecessary builds
+# os-nosdn-nofeature-ha trigger
- trigger:
- name: 'fuel-opnfv-jump-2-nosdn-trigger'
+ name: 'fuel-os-nosdn-nofeature-ha-opnfv-jump-2-trigger'
triggers:
- timed: '0 2 * * *'
- trigger:
- name: 'fuel-ericsson-pod1-nosdn-trigger'
+ name: 'fuel-os-nosdn-nofeature-ha-ericsson-pod1-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'fuel-os-nosdn-nofeature-ha-ericsson-pod2-trigger'
triggers:
- timed: '0 2 * * *'
- trigger:
- name: 'fuel-ericsson-pod2-nosdn-trigger'
+ name: 'fuel-os-nosdn-nofeature-ha-virtual-trigger'
+ triggers:
+ - timed: ''
+
+# os-nosdn-kvm-ha trigger
+- trigger:
+ name: 'fuel-os-nosdn-kvm-ha-opnfv-jump-2-trigger'
+ triggers:
+ - timed: '0 6 * * *'
+- trigger:
+ name: 'fuel-os-nosdn-kvm-ha-ericsson-pod1-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'fuel-os-nosdn-kvm-ha-ericsson-pod2-trigger'
+ triggers:
+ - timed: '0 6 * * *'
+- trigger:
+ name: 'fuel-os-nosdn-kvm-ha-virtual-trigger'
+ triggers:
+ - timed: ''
+
+# os-odl_l2-nofeature-ha trigger
+- trigger:
+ name: 'fuel-os-odl_l2-nofeature-ha-opnfv-jump-2-trigger'
+ triggers:
+ - timed: '0 10 * * *'
+- trigger:
+ name: 'fuel-os-odl_l2-nofeature-ha-ericsson-pod1-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'fuel-os-odl_l2-nofeature-ha-ericsson-pod2-trigger'
+ triggers:
+ - timed: '0 10 * * *'
+- trigger:
+ name: 'fuel-os-odl_l2-nofeature-ha-virtual-trigger'
+ triggers:
+ - timed: ''
+
+# os-odl_l3-nofeature-ha trigger
+- trigger:
+ name: 'fuel-os-odl_l3-nofeature-ha-opnfv-jump-2-trigger'
+ triggers:
+ - timed: '0 14 * * *'
+- trigger:
+ name: 'fuel-os-odl_l3-nofeature-ha-ericsson-pod1-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'fuel-os-odl_l3-nofeature-ha-ericsson-pod2-trigger'
+ triggers:
+ - timed: '0 14 * * *'
+- trigger:
+ name: 'fuel-os-odl_l3-nofeature-ha-virtual-trigger'
+ triggers:
+ - timed: ''
+
+# os-onos-nofeature-ha trigger
+- trigger:
+ name: 'fuel-os-onos-nofeature-ha-opnfv-jump-2-trigger'
+ triggers:
+ - timed: '0 18 * * *'
+- trigger:
+ name: 'fuel-os-onos-nofeature-ha-ericsson-pod1-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'fuel-os-onos-nofeature-ha-ericsson-pod2-trigger'
+ triggers:
+ - timed: '0 18 * * *'
+- trigger:
+ name: 'fuel-os-onos-nofeature-ha-virtual-trigger'
+ triggers:
+ - timed: ''
+
+
+# os-nosdn-ovs-ha trigger
+- trigger:
+ name: 'fuel-os-nosdn-ovs-ha-opnfv-jump-2-trigger'
+ triggers:
+ - timed: '0 22 * * *'
+- trigger:
+ name: 'fuel-os-nosdn-ovs-ha-ericsson-pod1-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'fuel-os-nosdn-ovs-ha-ericsson-pod2-trigger'
+ triggers:
+ - timed: '0 22 * * *'
+- trigger:
+ name: 'fuel-os-nosdn-ovs-ha-virtual-trigger'
triggers:
- timed: ''