set timer of compass-master-jobs
[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     concurrent: true
62
63     properties:
64         - throttle:
65             enabled: true
66             max-per-node: 1
67         - build-blocker:
68             use-build-blocker: true
69             blocking-jobs:
70                 - 'compass-os-.*?-{pod}-daily-.*?'
71                 - 'compass-verify-[^-]*'
72             block-level: 'NODE'
73
74     wrappers:
75         - build-name:
76             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
77
78     parameters:
79         - project-parameter:
80             project: '{project}'
81         - compass-ci-parameter:
82             installer: '{installer}'
83             gs-pathname: '{gs-pathname}'
84         - string:
85             name: DEPLOY_SCENARIO
86             default: '{scenario}'
87         - '{pod}-defaults'
88         - '{installer}-defaults'
89
90     triggers:
91         - '{auto-trigger-name}'
92
93     builders:
94         - trigger-builds:
95             - project: 'compass-deploy-{pod}-daily-{stream}'
96               current-parameters: false
97               predefined-parameters:
98                 DEPLOY_SCENARIO={scenario}
99               same-node: true
100               block: true
101         - trigger-builds:
102             - project: 'functest-compass-{pod}-daily-{stream}'
103               current-parameters: false
104               predefined-parameters:
105                 DEPLOY_SCENARIO={scenario}
106               same-node: true
107               block: true
108               block-thresholds:
109                 build-step-failure-threshold: 'never'
110                 failure-threshold: 'never'
111                 unstable-threshold: 'FAILURE'
112         - trigger-builds:
113             - project: 'yardstick-compass-{pod}-daily-{stream}'
114               current-parameters: false
115               predefined-parameters:
116                 DEPLOY_SCENARIO={scenario}
117               block: true
118               same-node: true
119               block-thresholds:
120                 build-step-failure-threshold: 'never'
121                 failure-threshold: 'never'
122                 unstable-threshold: 'FAILURE'
123
124 - job-template:
125     name: 'compass-deploy-{pod}-daily-{stream}'
126
127     disabled: false
128
129     concurrent: true
130
131     properties:
132         - throttle:
133             enabled: true
134             max-per-node: 1
135         - build-blocker:
136             use-build-blocker: true
137             blocking-jobs:
138                 - 'compass-deploy-{pod}-daily-.*?'
139                 - 'compass-verify-deploy-.*?'
140             block-level: 'NODE'
141
142     wrappers:
143         - build-name:
144             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
145         - timeout:
146             timeout: 120
147             abort: true
148
149     parameters:
150         - project-parameter:
151             project: '{project}'
152         - compass-ci-parameter:
153             installer: '{installer}'
154             gs-pathname: '{gs-pathname}'
155         - '{pod}-defaults'
156         - '{installer}-defaults'
157
158     scm:
159         - git-scm:
160             credentials-id: '{ssh-credentials}'
161             refspec: ''
162             branch: '{branch}'
163
164     wrappers:
165         - build-name:
166             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
167
168
169     builders:
170         - shell:
171             !include-raw-escape: ./compass-download-artifact.sh
172         - shell:
173             !include-raw-escape: ./compass-deploy.sh
174
175     publishers:
176         - archive:
177             artifacts: 'ansible.log'
178             allow-empty: 'true'
179             fingerprint: true
180
181 ########################
182 # parameter macros
183 ########################
184 - parameter:
185     name: compass-ci-parameter
186     parameters:
187         - string:
188             name: BUILD_DIRECTORY
189             default: $WORKSPACE/build_output
190             description: "Directory where the build artifact will be located upon the completion of the build."
191         - string:
192             name: GS_URL
193             default: '$GS_BASE{gs-pathname}'
194             description: "URL to Google Storage."
195         - choice:
196             name: COMPASS_OPENSTACK_VERSION
197             choices:
198                 - 'liberty'
199                 - 'juno'
200         - choice:
201             name: COMPASS_OS_VERSION
202             choices:
203                 - 'trusty'
204                 - 'centos7'
205
206 ########################
207 # trigger macros
208 ########################
209 - trigger:
210     name: 'compass-os-nosdn-nofeature-ha-huawei-us-deploy-bare-1-trigger'
211     triggers:
212         - timed: '0 3 * * * '
213 - trigger:
214     name: 'compass-os-odl_l2-nofeature-ha-huawei-us-deploy-bare-1-trigger'
215     triggers:
216         - timed: '0 21 * * *'
217 - trigger:
218     name: 'compass-os-onos-nofeature-ha-huawei-us-deploy-bare-1-trigger'
219     triggers:
220         - timed: '0 15 * * *'
221 - trigger:
222     name: 'compass-os-ocl-nofeature-ha-huawei-us-deploy-bare-1-trigger'
223     triggers:
224         - timed: '0 9 * * *'
225 - trigger:
226     name: 'compass-os-nosdn-nofeature-ha-intel-pod8-trigger'
227     triggers:
228         - timed: '0 3 * * *'
229 - trigger:
230     name: 'compass-os-odl_l2-nofeature-ha-intel-pod8-trigger'
231     triggers:
232         - timed: '0 21 * * *'
233 - trigger:
234     name: 'compass-os-onos-nofeature-ha-intel-pod8-trigger'
235     triggers:
236         - timed: '0 15 * * *'
237 - trigger:
238     name: 'compass-os-ocl-nofeature-ha-intel-pod8-trigger'
239     triggers:
240         - timed: '0 9 * * *'
241 - trigger:
242     name: 'compass-os-nosdn-nofeature-ha-huawei-virtual-trigger'
243     triggers:
244         - timed: '0 3 * * *'
245 - trigger:
246     name: 'compass-os-odl_l2-nofeature-ha-huawei-virtual-trigger'
247     triggers:
248         - timed: '0 21 * * *'
249 - trigger:
250     name: 'compass-os-onos-nofeature-ha-huawei-virtual-trigger'
251     triggers:
252         - timed: '0 15 * * *'
253 - trigger:
254     name: 'compass-os-ocl-nofeature-ha-huawei-virtual-trigger'
255     triggers:
256         - timed: '0 9 * * *'