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