jjb: xci: Add postbuild publisher script to remove clean VM
[releng.git] / jjb / xci / bifrost-verify-jobs.yml
1 ---
2 - project:
3     name: 'openstack-bifrost-verify'
4     # -------------------------------
5     # branches
6     # -------------------------------
7     stream:
8       - master:
9           branch: '{stream}'
10     # -------------------------------
11     # distros
12     # -------------------------------
13     distro:
14       - 'xenial':
15           disabled: false
16           dib-os-release: 'xenial'
17           dib-os-element: 'ubuntu-minimal'
18           dib-os-packages: 'vlan,vim,less,bridge-utils,language-pack-en,iputils-ping,rsyslog,curl'
19           extra-dib-elements: 'openssh-server'
20       - 'centos7':
21           disabled: false
22           dib-os-release: '7'
23           dib-os-element: 'centos-minimal'
24           dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
25           extra-dib-elements: 'openssh-server'
26       - 'opensuse423':
27           disabled: false
28           dib-os-release: '42.3'
29           dib-os-element: 'opensuse-minimal'
30           dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
31           extra-dib-elements: 'openssh-server'
32     # -------------------------------
33     # type
34     # -------------------------------
35     type:
36       - virtual
37     # -------------------------------
38     # jobs
39     # -------------------------------
40     jobs:
41       - 'openstack-bifrost-verify-{distro}-{type}-{stream}'
42
43 # -------------------------------
44 # VM defaults
45 # -------------------------------
46 - defaults:
47     name: verify_vm_defaults
48     test-vm-num-nodes: '3'
49     test-vm-node-names: 'opnfv controller00 compute00'
50     vm-domain-type: 'kvm'
51     vm-cpu: '2'
52     vm-disk: '30'
53     vm-memory-size: '4096'
54     vm-disk-cache: 'unsafe'
55
56 # -------------------------------
57 # job templates
58 # -------------------------------
59 - job-template:
60     name: 'openstack-bifrost-verify-{distro}-{type}-{stream}'
61
62     disabled: '{obj:disabled}'
63
64     defaults: verify_vm_defaults
65
66     concurrent: false
67
68     properties:
69       - logrotate-default
70       - build-blocker:
71           use-build-blocker: true
72           blocking-jobs:
73             - 'xci-verify-{distro}-.*'
74             - 'xci-.*-{distro}-merge-.*'
75             - '.*-bifrost-verify.*-{type}'
76       - throttle:
77           max-per-node: 2
78           max-total: 10
79           categories:
80             - xci-verify-virtual
81           option: category
82
83           block-level: 'NODE'
84
85     parameters:
86       - string:
87           name: PROJECT_REPO
88           default: 'https://git.openstack.org/openstack/bifrost'
89       - string:
90           name: DISTRO
91           default: '{distro}'
92       - string:
93           name: DIB_OS_RELEASE
94           default: '{dib-os-release}'
95       - string:
96           name: DIB_OS_ELEMENT
97           default: '{dib-os-element}'
98       - string:
99           name: EXTRA_DIB_ELEMENTS
100           default: '{extra-dib-elements}'
101       - string:
102           name: DIB_OS_PACKAGES
103           default: '{dib-os-packages}'
104       - string:
105           name: TEST_VM_NUM_NODES
106           default: '{test-vm-num-nodes}'
107       - string:
108           name: TEST_VM_NODE_NAMES
109           default: '{test-vm-node-names}'
110       - string:
111           name: VM_DOMAIN_TYPE
112           default: '{vm-domain-type}'
113       - string:
114           name: VM_CPU
115           default: '{vm-cpu}'
116       - string:
117           name: VM_DISK
118           default: '{vm-disk}'
119       - string:
120           name: VM_MEMORY_SIZE
121           default: '{vm-memory-size}'
122       - string:
123           name: VM_DISK_CACHE
124           default: '{vm-disk-cache}'
125       - string:
126           name: CLEAN_DIB_IMAGES
127           default: 'true'
128       - label:
129           name: SLAVE_LABEL
130           default: 'xci-virtual'
131       - string:
132           name: CI_LOOP
133           default: 'verify'
134
135     scm:
136       - git:
137           url: '$PROJECT_REPO'
138           refspec: '$GERRIT_REFSPEC'
139           branches:
140             - 'origin/$BRANCH'
141           skip-tag: true
142           choosing-strategy: 'gerrit'
143           timeout: 10
144           wipe-workspace: true
145
146     triggers:
147       - 'openstack-gerrit-trigger':
148           branch: '{branch}'
149
150     builders:
151       - bifrost-set-name
152       - bifrost-build
153
154     wrappers:
155       - fix-workspace-permissions
156       - build-timeout:
157           timeout: 180
158
159     publishers:
160       # yamllint disable rule:line-length
161       - email:
162           recipients: fatih.degirmenci@ericsson.com yroblamo@redhat.com mchandras@suse.de jack.morgan@intel.com julienjut@gmail.com
163       # yamllint enable rule:line-length
164       - email-jenkins-admins-on-failure
165       - postbuildscript:
166           script-only-if-succeeded: false
167           script-only-if-failed: false
168           builders:
169             - shell:
170                 !include-raw: ./xci-cleanup.sh
171
172 # -------------------------------
173 # trigger macros
174 # -------------------------------
175 - trigger:
176     name: 'openstack-gerrit-trigger'
177     triggers:
178       - gerrit:
179           server-name: 'review.openstack.org'
180           escape-quotes: true
181           trigger-on:
182             - patchset-created-event:
183                 exclude-drafts: 'false'
184                 exclude-trivial-rebase: 'false'
185                 exclude-no-code-change: 'false'
186             - comment-added-contains-event:
187                 comment-contains-value: 'recheck'
188           silent-start: true
189           custom-url: '* $JOB_NAME $BUILD_URL'
190           projects:
191             - project-compare-type: 'PLAIN'
192               project-pattern: 'openstack/bifrost'
193               branches:
194                 - branch-compare-type: 'ANT'
195                   branch-pattern: '**/{branch}'
196               disable-strict-forbidden-file-verification: 'true'
197               forbidden-file-paths:
198                 - compare-type: ANT
199                   pattern: 'doc/**'
200                 - compare-type: ANT
201                   pattern: 'releasenotes/**'
202           readable-message: true
203
204 # --------------------------
205 # builder macros
206 # --------------------------
207 - builder:
208     name: bifrost-set-name
209     builders:
210       - description-setter:
211           description: "Built on $NODE_NAME"
212
213 - builder:
214     name: bifrost-build
215     builders:
216       - shell:
217           !include-raw: ./bifrost-verify.sh