xci: Introduce XCI_LOOP variable to control what to do properly
[releng.git] / jjb / xci / bifrost-periodic-jobs.yml
1 - project:
2     project: 'releng'
3
4     name: 'bifrost-periodic'
5 #--------------------------------
6 # Branch Anchors
7 #--------------------------------
8 # the versions stated here default to branches which then later
9 # on used for checking out the branches, pulling in head of the branch.
10     master: &master
11         stream: master
12         openstack-bifrost-version: '{stream}'
13         opnfv-releng-version: 'master'
14         gs-pathname: ''
15     ocata: &ocata
16         stream: ocata
17         openstack-bifrost-version: 'stable/{stream}'
18         opnfv-releng-version: 'master'
19         gs-pathname: '/{stream}'
20 #--------------------------------
21 #        XCI PODs
22 #--------------------------------
23     pod:
24         - virtual:
25             <<: *master
26         - virtual:
27             <<: *ocata
28 #--------------------------------
29 # XCI PODs
30 #--------------------------------
31 #--------------------------------
32 # Supported Distros
33 #--------------------------------
34     distro:
35         - 'xenial':
36             disabled: false
37             slave-label: xci-xenial-virtual
38             dib-os-release: 'xenial'
39             dib-os-element: 'ubuntu-minimal'
40             dib-os-packages: 'vlan,vim,less,bridge-utils,sudo,language-pack-en,iputils-ping,rsyslog,curl,python,debootstrap,ifenslave,ifenslave-2.6,lsof,lvm2,tcpdump,nfs-kernel-server,chrony,iptables'
41             extra-dib-elements: 'openssh-server'
42         - 'centos7':
43             disabled: true
44             slave-label: xci-centos7-virtual
45             dib-os-release: '7'
46             dib-os-element: 'centos7'
47             dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
48             extra-dib-elements: 'openssh-server'
49         - 'suse':
50             disabled: true
51             slave-label: xci-suse-virtual
52             dib-os-release: '42.2'
53             dib-os-element: 'opensuse-minimal'
54             dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
55             extra-dib-elements: 'openssh-server'
56
57 #--------------------------------
58 # jobs
59 #--------------------------------
60     jobs:
61         - 'bifrost-provision-{pod}-{distro}-periodic-{stream}'
62
63 #--------------------------------
64 # job templates
65 #--------------------------------
66 - job-template:
67     name: 'bifrost-provision-{pod}-{distro}-periodic-{stream}'
68
69     disabled: '{obj:disabled}'
70
71     concurrent: false
72
73     properties:
74         - build-blocker:
75             use-build-blocker: true
76             blocking-jobs:
77                 - '^xci-os.*'
78                 - '^xci-deploy.*'
79                 - '^xci-functest.*'
80                 - '^bifrost-.*periodic.*'
81                 - '^osa-.*periodic.*'
82             block-level: 'NODE'
83         - logrotate-default
84
85     parameters:
86         - project-parameter:
87             project: '{project}'
88             branch: '{opnfv-releng-version}'
89         - string:
90             name: GIT_BASE
91             default: https://gerrit.opnfv.org/gerrit/$PROJECT
92         - string:
93             name: XCI_FLAVOR
94             default: 'ha'
95         - string:
96             name: OPENSTACK_BIFROST_VERSION
97             default: '{openstack-bifrost-version}'
98         - string:
99             name: OPNFV_RELENG_VERSION
100             default: '{opnfv-releng-version}'
101         - string:
102             name: DISTRO
103             default: '{distro}'
104         - string:
105             name: DIB_OS_RELEASE
106             default: '{dib-os-release}'
107         - string:
108             name: DIB_OS_ELEMENT
109             default: '{dib-os-element}'
110         - string:
111             name: DIB_OS_PACKAGES
112             default: '{dib-os-packages}'
113         - string:
114             name: EXTRA_DIB_ELEMENTS
115             default: '{extra-dib-elements}'
116         - string:
117             name: CLEAN_DIB_IMAGES
118             default: 'true'
119         - label:
120             name: SLAVE_LABEL
121             default: '{slave-label}'
122         - string:
123             name: ANSIBLE_VERBOSITY
124             default: ''
125         - string:
126             name: XCI_LOOP
127             default: 'periodic'
128
129     wrappers:
130         - fix-workspace-permissions
131
132     scm:
133         - git-scm
134
135     # trigger is disabled until we know which jobs we will have
136     # and adjust stuff accordingly
137     triggers:
138         - timed: '#@midnight'
139
140     builders:
141         - description-setter:
142             description: "Built on $NODE_NAME - Flavor: $XCI_FLAVOR"
143         - 'bifrost-provision-builder'
144
145 #---------------------------
146 # builder macros
147 #---------------------------
148 - builder:
149     name: bifrost-provision-builder
150     builders:
151         - shell:
152             !include-raw: ./bifrost-provision.sh