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