Set timeout of Dovetail jobs to be 240 and don't remove the stable images
[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     danube: &danube
24         stream: danube
25         branch: 'stable/{stream}'
26         dovetail-branch: master
27         gs-pathname: '/{stream}'
28         docker-tag: 'cvp.0.5.0'
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             <<: *danube
58         - virtual:
59             slave-label: fuel-virtual
60             SUT: fuel
61             auto-trigger-name: 'daily-trigger-disabled'
62             <<: *danube
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             <<: *danube
79         - virtual:
80             slave-label: compass-virtual
81             SUT: compass
82             auto-trigger-name: 'daily-trigger-disabled'
83             <<: *danube
84 #--------------------------------
85 #    Installers not using labels
86 #            CI PODs
87 # This section should only contain the installers
88 # that have not been switched using labels for slaves
89 #--------------------------------
90 #apex PODs
91         - virtual:
92             slave-label: apex-virtual-master
93             SUT: apex
94             auto-trigger-name: 'daily-trigger-disabled'
95             <<: *master
96         - baremetal:
97             slave-label: apex-baremetal-master
98             SUT: apex
99             auto-trigger-name: 'daily-trigger-disabled'
100             <<: *master
101         - virtual:
102             slave-label: apex-virtual-danube
103             SUT: apex
104             auto-trigger-name: 'daily-trigger-disabled'
105             <<: *danube
106         - baremetal:
107             slave-label: apex-baremetal-danube
108             SUT: apex
109             auto-trigger-name: 'daily-trigger-disabled'
110             <<: *danube
111 #armband CI PODs
112         - armband-baremetal:
113             slave-label: armband-baremetal
114             SUT: fuel
115             auto-trigger-name: 'daily-trigger-disabled'
116             <<: *master
117         - armband-virtual:
118             slave-label: armband-virtual
119             SUT: fuel
120             auto-trigger-name: 'daily-trigger-disabled'
121             <<: *master
122         - armband-baremetal:
123             slave-label: armband-baremetal
124             SUT: fuel
125             auto-trigger-name: 'daily-trigger-disabled'
126             <<: *danube
127         - armband-virtual:
128             slave-label: armband-virtual
129             SUT: fuel
130             auto-trigger-name: 'daily-trigger-disabled'
131             <<: *danube
132 #--------------------------------
133 #        None-CI PODs
134 #--------------------------------
135         - baremetal-centos:
136             slave-label: 'intel-pod8'
137             SUT: compass
138             auto-trigger-name: 'daily-trigger-disabled'
139             <<: *master
140         - arm-pod2:
141             slave-label: '{pod}'
142             SUT: fuel
143             auto-trigger-name: 'daily-trigger-disabled'
144             <<: *master
145         - arm-pod5:
146             slave-label: '{pod}'
147             SUT: fuel
148             auto-trigger-name: 'daily-trigger-disabled'
149             <<: *master
150         - arm-virtual2:
151             slave-label: '{pod}'
152             SUT: fuel
153             auto-trigger-name: 'daily-trigger-disabled'
154             <<: *master
155         - zte-pod1:
156             slave-label: zte-pod1
157             SUT: fuel
158             auto-trigger-name: 'daily-trigger-disabled'
159             <<: *master
160         - zte-pod2:
161             slave-label: zte-pod2
162             SUT: fuel
163             auto-trigger-name: 'daily-trigger-disabled'
164             <<: *master
165         - zte-pod3:
166             slave-label: zte-pod3
167             SUT: fuel
168             auto-trigger-name: 'daily-trigger-disabled'
169             <<: *master
170         - zte-pod1:
171             slave-label: zte-pod1
172             SUT: fuel
173             auto-trigger-name: 'daily-trigger-disabled'
174             <<: *danube
175         - zte-pod3:
176             slave-label: zte-pod3
177             SUT: fuel
178             auto-trigger-name: 'daily-trigger-disabled'
179             <<: *danube
180 #--------------------------------
181     testsuite:
182         - 'compliance_set'
183         - 'proposed_tests'
184
185     jobs:
186         - 'dovetail-{SUT}-{pod}-{testsuite}-{stream}'
187
188 ################################
189 # job templates
190 ################################
191 - job-template:
192     name: 'dovetail-{SUT}-{pod}-{testsuite}-{stream}'
193
194     disabled: false
195
196     concurrent: true
197
198     properties:
199         - logrotate-default
200         - throttle:
201             enabled: true
202             max-per-node: 1
203             option: 'project'
204
205     wrappers:
206         - build-name:
207             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
208         - timeout:
209             timeout: 240
210             abort: true
211         - fix-workspace-permissions
212
213     triggers:
214         - '{auto-trigger-name}'
215
216     parameters:
217         - project-parameter:
218             project: '{project}'
219             branch: '{dovetail-branch}'
220         - '{SUT}-defaults'
221         - '{slave-label}-defaults'
222         - string:
223             name: DEPLOY_SCENARIO
224             default: 'os-nosdn-nofeature-ha'
225         - string:
226             name: DOCKER_TAG
227             default: '{docker-tag}'
228             description: 'Tag to pull dovetail docker image'
229         - string:
230             name: CI_DEBUG
231             default: 'true'
232             description: "Show debug output information"
233         - string:
234             name: TESTSUITE
235             default: '{testsuite}'
236             description: "dovetail testsuite to run"
237         - string:
238             name: DOVETAIL_REPO_DIR
239             default: "/home/opnfv/dovetail"
240             description: "Directory where the dovetail repository is cloned"
241         - string:
242             name: SUT_BRANCH
243             default: '{branch}'
244             description: "SUT branch"
245
246     scm:
247         - git-scm
248
249     builders:
250         - description-setter:
251             description: "POD: $NODE_NAME"
252         - 'dovetail-cleanup'
253         - 'dovetail-run'
254
255     publishers:
256         - archive:
257             artifacts: 'results/**/*'
258             allow-empty: true
259             fingerprint: true
260         - email-jenkins-admins-on-failure
261
262 #--------------------------
263 # builder macros
264 #--------------------------
265 - builder:
266     name: dovetail-run
267     builders:
268         - shell:
269             !include-raw: ./dovetail-run.sh
270
271 - builder:
272     name: dovetail-cleanup
273     builders:
274         - shell:
275             !include-raw: ./dovetail-cleanup.sh