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