8c06679a8a0ff15cbfa961e1da1ebac8c3a03031
[releng.git] / jjb / fuel / fuel-ci-jobs.yml
1 # jenkins job templates for Fuel
2 - project:
3
4     name: 'fuel'
5
6     project: '{name}'
7
8     installer: '{name}'
9
10 #--------------------------------
11 # BRANCH ANCHORS
12 #--------------------------------
13     master: &master
14         stream: master
15         branch: '{stream}'
16         gs-pathname: ''
17     brahmaputra: &brahmaputra
18         stream: brahmaputra
19         branch: 'stable/{stream}'
20         gs-pathname: '/{stream}'
21 #--------------------------------
22 # POD, INSTALLER, AND BRANCH MAPPING
23 #--------------------------------
24 #        brahmaputra
25 #--------------------------------
26     pod:
27         - opnfv-jump-2:
28             <<: *brahmaputra
29         - virtual:
30             <<: *brahmaputra
31 #--------------------------------
32 #        master
33 #--------------------------------
34         - ericsson-pod1:
35             <<: *master
36         - ericsson-pod2:
37             <<: *master
38         - virtual:
39             <<: *master
40 #--------------------------------
41
42 # new scenario descriptions
43     scenario:
44         # HA scenarios
45         - 'os-odl_l2-nofeature-ha':
46             auto-trigger-name: 'fuel-{scenario}-{pod}-trigger'
47         - 'os-odl_l3-nofeature-ha':
48             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
49         - 'os-onos-nofeature-ha':
50             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
51         - 'os-nosdn-nofeature-ha':
52             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
53         - 'os-nosdn-kvm-ha':
54             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
55         - 'os-nosdn-kvm_ovs-ha':
56             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
57         - 'os-nosdn-ovs-ha':
58             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
59         - 'os-nosdn-vlan-ha':
60             auto-trigger-name: 'fuel-{scenario}-{pod}-trigger'
61         # NOHA scenarios
62         - 'os-odl_l2-nofeature-noha':
63             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
64         - 'os-odl_l3-nofeature-noha':
65             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
66         - 'os-onos-nofeature-noha':
67             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
68         - 'os-nosdn-nofeature-noha':
69             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
70         - 'os-nosdn-kvm-noha':
71             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
72         - 'os-nosdn-kvm_ovs-noha':
73             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
74         - 'os-nosdn-ovs-noha':
75             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
76         - 'os-odl_l2-bgpvpn-noha':
77             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
78
79     jobs:
80         - 'fuel-{scenario}-{pod}-daily-{stream}'
81         - 'fuel-deploy-{pod}-daily-{stream}'
82
83 ########################
84 # job templates
85 ########################
86 - job-template:
87     name: 'fuel-{scenario}-{pod}-daily-{stream}'
88
89     project-type: multijob
90
91     node: intel-build
92
93     concurrent: false
94
95     properties:
96         - throttle:
97             enabled: true
98             max-total: 1
99             max-per-node: 1
100         - build-blocker:
101             use-build-blocker: true
102             blocking-jobs:
103                 - 'fuel-os-.*?-{pod}-daily-{stream}'
104
105     wrappers:
106         - build-name:
107             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
108
109     triggers:
110         - '{auto-trigger-name}'
111
112     parameters:
113         - project-parameter:
114             project: '{project}'
115         - '{installer}-defaults'
116         - string:
117             name: DEPLOY_SCENARIO
118             default: '{scenario}'
119         - fuel-ci-parameter:
120             gs-pathname: '{gs-pathname}'
121
122     builders:
123         - multijob:
124             name: deploy
125             condition: SUCCESSFUL
126             projects:
127                 - name: 'fuel-deploy-{pod}-daily-{stream}'
128                   current-parameters: false
129                   predefined-parameters: 'DEPLOY_SCENARIO={scenario}'
130                   kill-phase-on: FAILURE
131         - multijob:
132             name: functest
133             condition: COMPLETED
134             projects:
135                 - name: 'functest-fuel-{pod}-daily-{stream}'
136                   current-parameters: false
137                   predefined-parameters: 'DEPLOY_SCENARIO={scenario}'
138                   kill-phase-on: NEVER
139         - multijob:
140             name: yardstick
141             condition: COMPLETED
142             projects:
143                 - name: 'yardstick-fuel-{pod}-daily-{stream}'
144                   current-parameters: false
145                   predefined-parameters: 'DEPLOY_SCENARIO={scenario}'
146                   kill-phase-on: NEVER
147
148 - job-template:
149     name: 'fuel-deploy-{pod}-daily-{stream}'
150
151     concurrent: false
152
153     properties:
154         - throttle:
155             enabled: true
156             max-total: 1
157             max-per-node: 1
158         - build-blocker:
159             use-build-blocker: true
160             blocking-jobs:
161                 - 'fuel-deploy-{pod}-daily-{stream}'
162
163     parameters:
164         - project-parameter:
165             project: '{project}'
166         - '{pod}-defaults'
167         - '{installer}-defaults'
168         - fuel-ci-parameter:
169             gs-pathname: '{gs-pathname}'
170
171     scm:
172         - git-scm:
173             credentials-id: '{ssh-credentials}'
174             refspec: ''
175             branch: '{branch}'
176
177     wrappers:
178         - build-name:
179             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
180
181     builders:
182         - shell:
183             !include-raw-escape: ./fuel-download-artifact.sh
184         - shell:
185             !include-raw-escape: ./fuel-deploy.sh
186
187     publishers:
188         - email:
189             recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
190
191 ########################
192 # parameter macros
193 ########################
194 - parameter:
195     name: fuel-ci-parameter
196     parameters:
197         - string:
198             name: BUILD_DIRECTORY
199             default: $WORKSPACE/build_output
200             description: "Directory where the build artifact will be located upon the completion of the build."
201         - string:
202             name: CACHE_DIRECTORY
203             default: $HOME/opnfv/cache/$INSTALLER_TYPE
204             description: "Directory where the cache to be used during the build is located."
205         - string:
206             name: GS_URL
207             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
208             description: "URL to Google Storage."
209 - parameter:
210     name: 'virtual-defaults'
211     parameters:
212         - label:
213             name: SLAVE_LABEL
214             default: 'fuel-deploy-virtual'
215         - string:
216             name: GIT_BASE
217             default: https://gerrit.opnfv.org/gerrit/$PROJECT
218             description: 'Git URL to use on these Jenkins Slaves'
219 ########################
220 # trigger macros
221 ########################
222 - trigger:
223     name: 'fuel-os-odl_l2-nofeature-ha-opnfv-jump-2-trigger'
224     triggers:
225         - timed: '0 2 * * *'
226 - trigger:
227     name: 'fuel-os-odl_l2-nofeature-ha-ericsson-pod1-trigger'
228     triggers:
229         - timed: '0 2 * * *'
230 - trigger:
231     name: 'fuel-os-odl_l2-nofeature-ha-ericsson-pod2-trigger'
232     triggers:
233         - timed: '0 2 * * *'
234 - trigger:
235     name: 'fuel-os-odl_l2-nofeature-ha-virtual-trigger'
236     triggers:
237         - timed: ''
238 - trigger:
239     name: 'fuel-os-nosdn-vlan-ha-opnfv-jump-2-trigger'
240     triggers:
241         - timed: ''
242 - trigger:
243     name: 'fuel-os-nosdn-vlan-ha-ericsson-pod1-trigger'
244     triggers:
245         - timed: '0 2 * * *'
246 - trigger:
247     name: 'fuel-os-nosdn-vlan-ha-ericsson-pod2-trigger'
248     triggers:
249         - timed: ''
250 - trigger:
251     name: 'fuel-os-nosdn-vlan-ha-virtual-trigger'
252     triggers:
253         - timed: ''