80e21f50ea1e5702e4a84b43cb2db90a372627a2
[releng.git] / jjb / joid / joid-ci-jobs.yml
1 ########################
2 # Job configuration for joid
3 ########################
4 - project:
5
6     name: 'joid'
7
8     project: '{name}'
9
10     installer: '{name}'
11
12 #--------------------------------
13 # BRANCH ANCHORS
14 #--------------------------------
15     master: &master
16         stream: master
17         branch: '{stream}'
18         gs-pathname: ''
19     brahmaputra: &brahmaputra
20         stream: brahmaputra
21         branch: 'stable/{stream}'
22         gs-pathname: '/{stream}'
23 #--------------------------------
24 # POD, INSTALLER, AND BRANCH MAPPING
25 #--------------------------------
26 #        brahmaputra
27 #--------------------------------
28     pod:
29         - intel-pod5:
30             <<: *brahmaputra
31 #--------------------------------
32 #           master
33 #--------------------------------
34         - intel-pod6:
35             <<: *master
36         - orange-pod2:
37             <<: *master
38 #--------------------------------
39 # please check the triggers before enabling any of the controllers!!!
40     sdn-controller:
41         - 'odl':
42             disabled: false
43 # commented out below controllers to get Arno scenario settled first
44 #        - 'nosdn':
45 #            disabled: true
46 #        - 'onos':
47 #            disabled: true
48 #        - 'opencontrail':
49 #            disabled: true
50
51     jobs:
52         - 'joid-{sdn-controller}-{pod}-daily-{stream}'
53         - 'joid-deploy-{pod}-daily-{stream}'
54
55 ########################
56 # job templates
57 ########################
58 - job-template:
59     name: 'joid-{sdn-controller}-{pod}-daily-{stream}'
60
61     project-type: multijob
62
63     disabled: '{obj:disabled}'
64
65     concurrent: false
66
67     wrappers:
68         - build-name:
69             name: '$BUILD_NUMBER - SDN: $SDN_CONTROLLER Scenario: $DEPLOY_SCENARIO'
70
71     triggers:
72         - 'joid-{pod}-{sdn-controller}-trigger'
73
74     parameters:
75         - project-parameter:
76             project: '{project}'
77         - '{pod}-defaults'
78         - '{installer}-defaults'
79         - string:
80             name: SDN_CONTROLLER
81             default: '{sdn-controller}'
82         - string:
83             name: DEPLOY_SCENARIO
84             default: 'none'
85
86     scm:
87         - git-scm:
88             credentials-id: '{ssh-credentials}'
89             refspec: ''
90             branch: '{branch}'
91
92     builders:
93         - '{installer}-multijob-{pod}-builder':
94             pod: '{pod}'
95             stream: '{stream}'
96
97 - job-template:
98     name: 'joid-deploy-{pod}-daily-{stream}'
99
100     disabled: false
101
102     concurrent: false
103
104     wrappers:
105         - build-name:
106             name: '$BUILD_NUMBER - SDN: $SDN_CONTROLLER Scenario: $DEPLOY_SCENARIO'
107         - timeout:
108             timeout: 180
109             fail: true
110
111     parameters:
112         - project-parameter:
113             project: '{project}'
114         - '{pod}-defaults'
115         - '{installer}-defaults'
116
117     scm:
118         - git-scm:
119             credentials-id: '{ssh-credentials}'
120             refspec: ''
121             branch: '{branch}'
122
123     builders:
124         - '{pod}-builder'
125
126 ########################
127 # multijob builder macros
128 ########################
129 # intel-pod5 is CI POD so full CI will run on it
130 # deploy, functest, yardstick
131 - builder:
132     name: joid-multijob-intel-pod5-builder
133     builders:
134         - multijob:
135             name: deploy
136             condition: SUCCESSFUL
137             projects:
138                 - name: 'joid-deploy-{pod}-daily-{stream}'
139                   current-parameters: true
140                   git-revision: true
141                   kill-phase-on: FAILURE
142         - multijob:
143             name: functest
144             condition: COMPLETED
145             projects:
146                 - name: 'functest-joid-{pod}-daily-{stream}'
147                   current-parameters: true
148                   kill-phase-on: NEVER
149         - multijob:
150             name: yardstick
151             condition: COMPLETED
152             projects:
153                 - name: 'yardstick-joid-{pod}-daily-{stream}'
154                   current-parameters: true
155                   kill-phase-on: NEVER
156 # intel-pod6 is CI POD so full CI will run on it
157 # deploy, functest, yardstick
158 - builder:
159     name: joid-multijob-intel-pod6-builder
160     builders:
161         - multijob:
162             name: deploy
163             condition: SUCCESSFUL
164             projects:
165                 - name: 'joid-deploy-{pod}-daily-{stream}'
166                   current-parameters: true
167                   git-revision: true
168                   kill-phase-on: FAILURE
169         - multijob:
170             name: functest
171             condition: COMPLETED
172             projects:
173                 - name: 'functest-joid-{pod}-daily-{stream}'
174                   current-parameters: true
175                   kill-phase-on: NEVER
176         - multijob:
177             name: yardstick
178             condition: COMPLETED
179             projects:
180                 - name: 'yardstick-joid-{pod}-daily-{stream}'
181                   current-parameters: true
182                   kill-phase-on: NEVER
183 # yardstick placeholder
184 #        - multijob:
185 #            name: yardstick
186 #            condition: COMPLETED
187 #            projects:
188 #                - name: 'yardstick-joid-{pod}-daily-{stream}'
189 #                  current-parameters: true
190 #                  kill-phase-on: NEVER
191
192 # orange-pod2 is NOT a CI POD so only the selected jobs will run
193 # deploy and functest currently
194 - builder:
195     name: joid-multijob-orange-pod2-builder
196     builders:
197         - multijob:
198             name: deploy
199             condition: SUCCESSFUL
200             projects:
201                 - name: 'joid-deploy-{pod}-daily-{stream}'
202                   current-parameters: true
203                   git-revision: true
204                   kill-phase-on: FAILURE
205         - multijob:
206             name: functest
207             condition: COMPLETED
208             projects:
209                 - name: 'functest-joid-{pod}-daily-{stream}'
210                   current-parameters: true
211                   kill-phase-on: NEVER
212 ########################
213 # builder macros
214 ########################
215 - builder:
216     name: intel-pod5-builder
217     builders:
218         - shell: |
219             #!/bin/bash
220             echo "Running $INSTALLER_TYPE with controller $SDN_CONTROLLER"
221             echo
222             echo "Executing clean.sh"
223             cd $WORKSPACE/ci
224             ./clean.sh
225             echo
226             echo "Executing 02-maasdeploy.sh intelpod5"
227             ./02-maasdeploy.sh intelpod5
228             echo
229             echo "Executing deploy.sh -o liberty -s $SDN_CONTROLLER -t ha -l intelpod5"
230             ./deploy.sh -o liberty -s $SDN_CONTROLLER -t ha -l intelpod5
231
232 - builder:
233     name: intel-pod6-builder
234     builders:
235         - shell: |
236             #!/bin/bash
237             echo "Running $INSTALLER_TYPE with controller $SDN_CONTROLLER"
238             echo
239             echo "Executing clean.sh"
240             cd $WORKSPACE/ci
241             ./clean.sh
242             echo
243             echo "Executing 02-maasdeploy.sh intelpod6"
244             ./02-maasdeploy.sh intelpod6
245             echo
246             echo "Executing deploy.sh -o liberty -s $SDN_CONTROLLER -t ha -l intelpod6"
247             ./deploy.sh -o liberty -s $SDN_CONTROLLER -t ha -l intelpod6
248
249 - builder:
250     name: orange-pod2-builder
251     builders:
252         - shell: |
253             #!/bin/bash
254             echo "Running $INSTALLER_TYPE with controller $SDN_CONTROLLER"
255             echo "Please note that this is WIP generic builder"
256             echo
257             echo "Executing clean.sh"
258             cd $WORKSPACE/ci
259             ./clean.sh
260         - shell:
261             !include-raw ./joid-deploy.sh
262 ########################
263 # trigger macros
264 ########################
265 - trigger:
266     name: 'joid-intel-pod5-odl-trigger'
267     triggers:
268         - timed: '0 2 * * *'
269 - trigger:
270     name: 'joid-intel-pod6-odl-trigger'
271     triggers:
272         - timed: '0 2 * * *'
273 - trigger:
274     name: 'joid-orange-pod2-odl-trigger'
275     triggers:
276         - timed: ''