Merge "Don't trigger danube branch"
[releng.git] / jjb / daisy4nfv / daisy-daily-jobs.yml
1 # jenkins job templates for Daisy
2 # TODO
3 # [ ] enable baremetal jobs after baremetal deployment finish
4 # [ ] enable jobs in danuble
5 # [ ] add more scenarios
6 # [ ] integration with yardstick
7
8 - project:
9
10     name: 'daisy'
11     project: '{name}'
12     installer: '{name}'
13
14 #--------------------------------
15 # BRANCH ANCHORS
16 #--------------------------------
17     master: &master
18         stream: master
19         branch: '{stream}'
20         disabled: false
21         gs-pathname: ''
22     euphrates: &euphrates
23         stream: euphrates
24         branch: 'stable/{stream}'
25         gs-pathname: '/{stream}'
26         disabled: false
27
28 #--------------------------------
29 # POD, INSTALLER, AND BRANCH MAPPING
30 #--------------------------------
31 #        CI PODs
32 #--------------------------------
33     pod:
34         - baremetal:
35             slave-label: daisy-baremetal
36             <<: *master
37         - virtual:
38             slave-label: daisy-virtual
39             <<: *master
40 #--------------------------------
41 #        None-CI PODs
42 #--------------------------------
43
44 #--------------------------------
45 #       scenarios
46 #--------------------------------
47     scenario:
48         # HA scenarios
49         - 'os-nosdn-nofeature-ha':
50             auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
51         # NOHA scenarios
52         - 'os-nosdn-nofeature-noha':
53             auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
54         # ODL_L3 scenarios
55         - 'os-odl-nofeature-ha':
56             auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
57
58     jobs:
59         - '{project}-{scenario}-{pod}-daily-{stream}'
60         - '{project}-deploy-{pod}-daily-{stream}'
61
62 ########################
63 # job templates
64 ########################
65 - job-template:
66     name: '{project}-{scenario}-{pod}-daily-{stream}'
67
68     disabled: '{obj:disabled}'
69
70     concurrent: false
71
72     properties:
73         - logrotate-default
74         - throttle:
75             enabled: true
76             max-total: 4
77             max-per-node: 1
78             option: 'project'
79         - build-blocker:
80             use-build-blocker: true
81             blocking-jobs:
82                 - 'daisy-daily-.*'
83             block-level: 'NODE'
84
85     wrappers:
86         - build-name:
87             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
88
89     triggers:
90         - '{auto-trigger-name}'
91
92     parameters:
93         - project-parameter:
94             project: '{project}'
95             branch: '{branch}'
96         - '{installer}-defaults'
97         - '{slave-label}-defaults':
98             installer: '{installer}'
99         - string:
100             name: DEPLOY_SCENARIO
101             default: '{scenario}'
102         - 'daisy-project-parameter':
103             gs-pathname: '{gs-pathname}'
104
105     builders:
106         - description-setter:
107             description: "POD: $NODE_NAME"
108         - trigger-builds:
109             - project: 'daisy-deploy-{pod}-daily-{stream}'
110               current-parameters: false
111               predefined-parameters:
112                 DEPLOY_SCENARIO={scenario}
113               same-node: true
114               block: true
115         - trigger-builds:
116             - project: 'functest-daisy-{pod}-daily-{stream}'
117               current-parameters: false
118               predefined-parameters:
119                 DEPLOY_SCENARIO={scenario}
120               same-node: true
121               block: true
122               block-thresholds:
123                 build-step-failure-threshold: 'never'
124                 failure-threshold: 'never'
125                 unstable-threshold: 'FAILURE'
126
127 - job-template:
128     name: '{project}-deploy-{pod}-daily-{stream}'
129
130     disabled: '{obj:disabled}'
131
132     concurrent: true
133
134     properties:
135         - logrotate-default
136         - throttle:
137             enabled: true
138             max-total: 4
139             max-per-node: 1
140             option: 'project'
141         - build-blocker:
142             use-build-blocker: true
143             blocking-jobs:
144                 - 'daisy.*-deploy-({pod})?-daily-.*'
145             block-level: 'NODE'
146
147     parameters:
148         - project-parameter:
149             project: '{project}'
150             branch: '{branch}'
151         - '{installer}-defaults'
152         - '{slave-label}-defaults':
153             installer: '{installer}'
154         - string:
155             name: DEPLOY_SCENARIO
156             default: 'os-nosdn-nofeature-ha'
157         - 'daisy-project-parameter':
158             gs-pathname: '{gs-pathname}'
159         - string:
160             name: DEPLOY_TIMEOUT
161             default: '150'
162             description: 'Deployment timeout in minutes'
163
164     scm:
165         - git-scm
166
167     wrappers:
168         - build-name:
169             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
170
171     builders:
172         - description-setter:
173             description: "POD: $NODE_NAME"
174         - shell:
175             !include-raw-escape: ./daisy4nfv-download-artifact.sh
176         - shell:
177             !include-raw-escape: ./daisy-deploy.sh
178
179
180 ########################
181 # trigger macros
182 ########################
183 #-----------------------------------------------
184 # Triggers for job running on daisy-baremetal against master branch
185 #-----------------------------------------------
186 # Basic HA Scenarios
187 - trigger:
188     name: 'daisy-os-nosdn-nofeature-ha-baremetal-daily-master-trigger'
189     triggers:
190         - timed: '0 16 * * *'
191 # Basic NOHA Scenarios
192 - trigger:
193     name: 'daisy-os-nosdn-nofeature-noha-baremetal-daily-master-trigger'
194     triggers:
195         - timed: ''
196 # ODL Scenarios
197 - trigger:
198     name: 'daisy-os-odl-nofeature-ha-baremetal-daily-master-trigger'
199     triggers:
200         - timed: '0 12 * * *'
201 #-----------------------------------------------
202 # Triggers for job running on daisy-virtual against master branch
203 #-----------------------------------------------
204 # Basic HA Scenarios
205 - trigger:
206     name: 'daisy-os-nosdn-nofeature-ha-virtual-daily-master-trigger'
207     triggers:
208         - timed: '0 16 * * *'
209 # Basic NOHA Scenarios
210 - trigger:
211     name: 'daisy-os-nosdn-nofeature-noha-virtual-daily-master-trigger'
212     triggers:
213         - timed: ''
214 # ODL Scenarios
215 - trigger:
216     name: 'daisy-os-odl-nofeature-ha-virtual-daily-master-trigger'
217     triggers:
218         - timed: '0 12 * * *'
219
220 #-----------------------------------------------
221 # Triggers for job running on daisy-baremetal against euphrates branch
222 #-----------------------------------------------
223 # Basic HA Scenarios
224 - trigger:
225     name: 'daisy-os-nosdn-nofeature-ha-baremetal-daily-euphrates-trigger'
226     triggers:
227         - timed: '0 0 * * *'
228 # ODL Scenarios
229 - trigger:
230     name: 'daisy-os-odl-nofeature-ha-baremetal-daily-euphrates-trigger'
231     triggers:
232         - timed: '0 20 * * *'
233 #-----------------------------------------------
234 # Triggers for job running on daisy-virtual against euphrates branch
235 #-----------------------------------------------
236 # Basic HA Scenarios
237 - trigger:
238     name: 'daisy-os-nosdn-nofeature-ha-virtual-daily-euphrates-trigger'
239     triggers:
240         - timed: '0 0 * * *'
241 # ODL Scenarios
242 - trigger:
243     name: 'daisy-os-odl-nofeature-ha-virtual-daily-euphrates-trigger'
244     triggers:
245         - timed: '0 20 * * *'