Merge "[macro] property logrotate"
[releng.git] / jjb / dovetail / dovetail-ci-jobs.yml
1 ###################################
2 # job configuration for dovetail
3 ###################################
4 - project:
5     name: dovetail
6
7     project: '{name}'
8
9 #---------------------------------------
10 # BRANCH ANCHORS
11 #---------------------------------------
12 # 1)the stream/branch here represents the SUT(System Under Test) stream/branch
13 # 2)docker-tag is the docker tag of dovetail(only master by now, then all latest used)
14 #   the dovetail stream is one-to-one mapping with dovetail docker-tag
15 #   the dovetail is not sync with A/B/C release
16 #
17     master: &master
18         stream: master
19         branch: '{stream}'
20         dovetail-branch: '{stream}'
21         gs-pathname: ''
22         docker-tag: 'latest'
23     colorado: &colorado
24         stream: colorado
25         branch: 'stable/{stream}'
26         dovetail-branch: master
27         gs-pathname: '/{stream}'
28         docker-tag: 'latest'
29
30 #-----------------------------------
31 # POD, PLATFORM, AND BRANCH MAPPING
32 #-----------------------------------
33 #            CI PODs
34 # This section should only contain the SUTs
35 # that have been switched using labels for slaves
36 #------------------------------------------------
37 # the pods, SUTs listed here are just examples to
38 # let the dovetail tool run, there can be more ways beside CI to
39 # run the dovetail tool.
40 # pods, SUTs will be added/adjusted when needed
41     pod:
42 # fuel CI PODs
43         - baremetal:
44             slave-label: fuel-baremetal
45             SUT: fuel
46             auto-trigger-name: 'daily-trigger-disabled'
47             <<: *master
48         - virtual:
49             slave-label: fuel-virtual
50             SUT: fuel
51             auto-trigger-name: 'daily-trigger-disabled'
52             <<: *master
53         - baremetal:
54             slave-label: fuel-baremetal
55             SUT: fuel
56             auto-trigger-name: 'daily-trigger-disabled'
57             <<: *colorado
58         - virtual:
59             slave-label: fuel-virtual
60             SUT: fuel
61             auto-trigger-name: 'daily-trigger-disabled'
62             <<: *colorado
63 #compass CI PODs
64         - baremetal:
65             slave-label: compass-baremetal
66             SUT: compass
67             auto-trigger-name: 'daily-trigger-disabled'
68             <<: *master
69         - virtual:
70             slave-label: compass-virtual
71             SUT: compass
72             auto-trigger-name: 'daily-trigger-disabled'
73             <<: *master
74         - baremetal:
75             slave-label: compass-baremetal
76             SUT: compass
77             auto-trigger-name: 'daily-trigger-disabled'
78             <<: *colorado
79         - virtual:
80             slave-label: compass-virtual
81             SUT: compass
82             auto-trigger-name: 'daily-trigger-disabled'
83             <<: *colorado
84 #apex CI PODs
85         - apex-verify-master:
86             slave-label: '{pod}'
87             SUT: apex
88             auto-trigger-name: 'daily-trigger-disabled'
89             <<: *master
90         - apex-daily-master:
91             slave-label: '{pod}'
92             SUT: apex
93             auto-trigger-name: 'daily-trigger-disabled'
94             <<: *master
95         - apex-verify-colorado:
96             slave-label: '{pod}'
97             SUT: apex
98             auto-trigger-name: 'daily-trigger-disabled'
99             <<: *colorado
100         - apex-daily-colorado:
101             slave-label: '{pod}'
102             SUT: apex
103             auto-trigger-name: 'daily-trigger-disabled'
104             <<: *colorado
105 #armband CI PODs
106         - armband-baremetal:
107             slave-label: armband-baremetal
108             SUT: fuel
109             auto-trigger-name: 'daily-trigger-disabled'
110             <<: *master
111         - armband-virtual:
112             slave-label: armband-virtual
113             SUT: fuel
114             auto-trigger-name: 'daily-trigger-disabled'
115             <<: *master
116         - armband-baremetal:
117             slave-label: armband-baremetal
118             SUT: fuel
119             auto-trigger-name: 'daily-trigger-disabled'
120             <<: *colorado
121         - armband-virtual:
122             slave-label: armband-virtual
123             SUT: fuel
124             auto-trigger-name: 'daily-trigger-disabled'
125             <<: *colorado
126 #--------------------------------
127 #        None-CI PODs
128 #--------------------------------
129         - huawei-pod5:
130             slave-label: '{pod}'
131             SUT: compass
132             auto-trigger-name: 'daily-trigger-disabled'
133             <<: *master
134         - arm-pod2:
135             slave-label: '{pod}'
136             SUT: fuel
137             auto-trigger-name: 'daily-trigger-disabled'
138             <<: *master
139         - arm-pod3:
140             slave-label: '{pod}'
141             SUT: fuel
142             auto-trigger-name: 'daily-trigger-disabled'
143             <<: *master
144 #--------------------------------
145     testsuite:
146         - 'debug'
147         - 'proposed_tests'
148         - 'compliance_set'
149
150     jobs:
151         - 'dovetail-{SUT}-{pod}-{testsuite}-{stream}'
152
153 ################################
154 # job templates
155 ################################
156 - job-template:
157     name: 'dovetail-{SUT}-{pod}-{testsuite}-{stream}'
158
159     disabled: false
160
161     concurrent: true
162
163     properties:
164         - logrotate-default
165         - throttle:
166             enabled: true
167             max-per-node: 1
168             option: 'project'
169
170     wrappers:
171         - build-name:
172             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
173         - timeout:
174             timeout: 180
175             abort: true
176
177     triggers:
178         - '{auto-trigger-name}'
179
180     parameters:
181         - project-parameter:
182             project: '{project}'
183         - gerrit-parameter:
184             branch: '{branch}'
185         - '{SUT}-defaults'
186         - '{slave-label}-defaults'
187         - string:
188             name: DEPLOY_SCENARIO
189             default: 'os-nosdn-nofeature-ha'
190         - string:
191             name: DOCKER_TAG
192             default: '{docker-tag}'
193             description: 'Tag to pull dovetail docker image'
194         - string:
195             name: CI_DEBUG
196             default: 'true'
197             description: "Show debug output information"
198         - string:
199             name: TESTSUITE
200             default: '{testsuite}'
201             description: "dovetail testsuite to run"
202         - string:
203             name: DOVETAIL_REPO_DIR
204             default: "/home/opnfv/dovetail"
205             description: "Directory where the dovetail repository is cloned"
206
207     scm:
208         - git-scm
209
210     builders:
211         - description-setter:
212             description: "POD: $NODE_NAME"
213         - 'dovetail-cleanup'
214         - 'dovetail-run'
215
216     publishers:
217         - archive:
218             artifacts: 'results/**/*'
219             allow-empty: true
220             fingerprint: true
221
222 ########################
223 # builder macros
224 ########################
225 - builder:
226     name: dovetail-run
227     builders:
228         - shell:
229             !include-raw: ./dovetail-run.sh
230
231 - builder:
232     name: dovetail-cleanup
233     builders:
234         - shell:
235             !include-raw: ./dovetail-cleanup.sh