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