xci: Merge bifrost provisioning scripts and rename
[releng.git] / jjb / xci / bifrost-verify-jobs.yml
1 - project:
2     name: 'openstack-bifrost-verify'
3 #--------------------------------
4 # branches
5 #--------------------------------
6     stream:
7         - master:
8             branch: '{stream}'
9 #--------------------------------
10 # projects
11 #--------------------------------
12     project:
13         - 'openstack':
14             project-repo: 'https://git.openstack.org/openstack/bifrost'
15             clone-location: '/opt/bifrost'
16         - 'opnfv':
17             project-repo: 'https://gerrit.opnfv.org/gerrit/releng'
18             clone-location: '/opt/releng'
19 #--------------------------------
20 # distros
21 #--------------------------------
22     distro:
23         - 'trusty':
24             disabled: false
25             dib-os-release: 'trusty'
26             dib-os-element: 'ubuntu-minimal'
27             dib-os-packages: 'vlan,vim,less,bridge-utils,language-pack-en,iputils-ping,rsyslog,curl'
28             extra-dib-elements: 'openssh-server'
29         - 'centos7':
30             disabled: false
31             dib-os-release: '7'
32             dib-os-element: 'centos7'
33             dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
34             extra-dib-elements: 'openssh-server'
35         - 'suse':
36             disabled: false
37             dib-os-release: '42.2'
38             dib-os-element: 'opensuse-minimal'
39             dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
40             extra-dib-elements: 'openssh-server'
41 #--------------------------------
42 # type
43 #--------------------------------
44     type:
45         - virtual
46 #--------------------------------
47 # jobs
48 #--------------------------------
49     jobs:
50         - '{project}-bifrost-verify-{distro}-{type}-{stream}'
51
52 #--------------------------------
53 # VM defaults
54 #--------------------------------
55 - defaults:
56     name: verify_vm_defaults
57     test-vm-num-nodes: '3'
58     test-vm-node-names: 'xcimaster controller00 compute00'
59     vm-domain-type: 'kvm'
60     vm-cpu: '2'
61     vm-disk: '30'
62     vm-memory-size: '4096'
63     vm-disk-cache: 'unsafe'
64
65 #--------------------------------
66 # job templates
67 #--------------------------------
68 - job-template:
69     name: '{project}-bifrost-verify-{distro}-{type}-{stream}'
70
71     disabled: '{obj:disabled}'
72
73     defaults: verify_vm_defaults
74
75     concurrent: false
76
77     properties:
78         - logrotate-default
79         - build-blocker:
80             use-build-blocker: true
81             blocking-jobs:
82                 - '.*-bifrost-verify.*-{type}'
83             block-level: 'NODE'
84
85     parameters:
86         - string:
87             name: PROJECT
88             default: '{project}'
89         - string:
90             name: PROJECT_REPO
91             default: '{project-repo}'
92         - string:
93             name: CLONE_LOCATION
94             default: '{clone-location}'
95         - string:
96             name: DISTRO
97             default: '{distro}'
98         - string:
99             name: DIB_OS_RELEASE
100             default: '{dib-os-release}'
101         - string:
102             name: DIB_OS_ELEMENT
103             default: '{dib-os-element}'
104         - string:
105             name: EXTRA_DIB_ELEMENTS
106             default: '{extra-dib-elements}'
107         - string:
108             name: DIB_OS_PACKAGES
109             default: '{dib-os-packages}'
110         - string:
111             name: TEST_VM_NUM_NODES
112             default: '{test-vm-num-nodes}'
113         - string:
114             name: TEST_VM_NODE_NAMES
115             default: '{test-vm-node-names}'
116         - string:
117             name: VM_DOMAIN_TYPE
118             default: '{vm-domain-type}'
119         - string:
120             name: VM_CPU
121             default: '{vm-cpu}'
122         - string:
123             name: VM_DISK
124             default: '{vm-disk}'
125         - string:
126             name: VM_MEMORY_SIZE
127             default: '{vm-memory-size}'
128         - string:
129             name: VM_DISK_CACHE
130             default: '{vm-disk-cache}'
131         - string:
132             name: CLEAN_DIB_IMAGES
133             default: 'true'
134         - label:
135             name: SLAVE_LABEL
136             default: 'infra-{type}-{distro}'
137         - string:
138             name: BIFROST_LOG_URL
139             default: 'http://artifacts.opnfv.org/cross-community-ci/openstack/bifrost/$GERRIT_NAME/$GERRIT_CHANGE_NUMBER/$GERRIT_PATCHSET_NUMBER/$JOB_NAME'
140
141     scm:
142         - git:
143             url: '$PROJECT_REPO'
144             refspec: '$GERRIT_REFSPEC'
145             branches:
146                 - 'origin/$BRANCH'
147             skip-tag: true
148             choosing-strategy: 'gerrit'
149             timeout: 10
150             wipe-workspace: true
151
152     triggers:
153         - '{project}-gerrit-trigger':
154             branch: '{branch}'
155
156     builders:
157         - bifrost-set-name
158         - bifrost-build
159
160     wrappers:
161         - bifrost-fix-perms-workspace
162
163     publishers:
164         - email:
165             recipients: fatih.degirmenci@ericsson.com yroblamo@redhat.com mchandras@suse.de jack.morgan@intel.com julienjut@gmail.com
166 #--------------------------------
167 # trigger macros
168 #--------------------------------
169 - trigger:
170     name: 'openstack-gerrit-trigger'
171     triggers:
172         - gerrit:
173             server-name: 'review.openstack.org'
174             escape-quotes: true
175             trigger-on:
176                 - patchset-created-event:
177                     exclude-drafts: 'false'
178                     exclude-trivial-rebase: 'false'
179                     exclude-no-code-change: 'false'
180                 - comment-added-contains-event:
181                     comment-contains-value: 'recheck'
182             custom-url: '* $JOB_NAME $BIFROST_LOG_URL/index.html'
183             silent-start: true
184             projects:
185               - project-compare-type: 'PLAIN'
186                 project-pattern: 'openstack/bifrost'
187                 branches:
188                   - branch-compare-type: 'ANT'
189                     branch-pattern: '**/{branch}'
190                 disable-strict-forbidden-file-verification: 'true'
191                 forbidden-file-paths:
192                   - compare-type: ANT
193                     pattern: 'doc/**'
194                   - compare-type: ANT
195                     pattern: 'releasenotes/**'
196                 disable-strict-forbidden-file-verification: 'true'
197             readable-message: true
198 - trigger:
199     name: 'opnfv-gerrit-trigger'
200     triggers:
201         - gerrit:
202             server-name: 'gerrit.opnfv.org'
203             trigger-on:
204                 - patchset-created-event:
205                     exclude-drafts: 'false'
206                     exclude-trivial-rebase: 'false'
207                     exclude-no-code-change: 'false'
208                 - draft-published-event
209                 - comment-added-contains-event:
210                     comment-contains-value: 'recheck'
211                 - comment-added-contains-event:
212                     comment-contains-value: 'reverify'
213             custom-url: '* $JOB_NAME $BIFROST_LOG_URL/index.html'
214             projects:
215               - project-compare-type: 'ANT'
216                 project-pattern: 'releng'
217                 branches:
218                   - branch-compare-type: 'ANT'
219                     branch-pattern: '**/{branch}'
220                 file-paths:
221                   - compare-type: ANT
222                     pattern: 'prototypes/bifrost/**'
223             readable-message: true
224
225 #---------------------------
226 # wrapper macros
227 #---------------------------
228 - wrapper:
229     name: bifrost-fix-perms-workspace
230     wrappers:
231         - pre-scm-buildstep:
232           - shell: |
233                 #!/bin/bash
234                 sudo chown -R $USER $WORKSPACE || exit 1
235
236 #---------------------------
237 # builder macros
238 #---------------------------
239 - builder:
240     name: bifrost-set-name
241     builders:
242         - description-setter:
243             description: "Built on $NODE_NAME"
244
245 - builder:
246     name: bifrost-build
247     builders:
248         - shell:
249             !include-raw: ./bifrost-verify.sh