Build Functest Kubernetes Virtual Machines
[releng.git] / jjb / functest / xtesting-ci-vm.yaml
1 ---
2 - scm:
3     name: xtesting-ci-vm-scm
4     scm:
5       - git:
6           url: https://github.com/collivier/ansible-role-xtesting.git
7           branches:
8             - master
9           git-config-name:
10           git-config-email:
11
12 - scm:
13     name: xtesting-vm-scm
14     scm:
15       - git:
16           url: https://git.opnfv.org/functest-xtesting.git
17           branches:
18             - master
19           git-config-name:
20           git-config-email:
21
22 - scm:
23     name: functest-vm-scm
24     scm:
25       - git:
26           url: https://git.opnfv.org/functest.git
27           branches:
28             - master
29           git-config-name:
30           git-config-email:
31
32 - scm:
33     name: functest-kubernetes-vm-scm
34     scm:
35       - git:
36           url: https://git.opnfv.org/functest-kubernetes.git
37           branches:
38             - master
39           git-config-name:
40           git-config-email:
41
42 - builder:
43     name: xtesting-ci-vm-builder
44     builders:
45       - shell: |
46           curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
47           echo "deb https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee \
48             /etc/apt/sources.list.d/google-cloud-sdk.list
49           sudo apt-get -o DPkg::Lock::Timeout=300 update && \
50           DEBIAN_FRONTEND=noninteractive sudo apt-get \
51             -o DPkg::Lock::Timeout=300 install python3-diskimage-builder -y
52           export ELEMENTS_PATH=$(pwd)/elements
53           export DIB_DEBIAN_COMPONENTS=main,contrib,non-free
54           export DIB_DEV_USER_SHELL=/bin/bash
55           export DIB_OPENSSH_SERVER_HARDENING=0
56           export DIB_DEV_USER_PASSWORD=xtesting
57           export DIB_DEV_USER_PWDLESS_SUDO=yes
58           export DIB_CLOUD_INIT_ALLOW_SSH_PWAUTH=Yes
59           export DIB_RELEASE=bookworm
60           export DIB_DEV_USER_USERNAME=xtesting
61           disk-image-create --image-size 20 -o xtestingci-4.1.0.qcow2 debian vm devuser openssh-server xtestingci
62           gsutil cp xtestingci-4.1.0.qcow2 gs://artifacts.opnfv.org/xtestingci/xtestingci-4.1.0.qcow2
63
64
65 - builder:
66     name: xtesting-vm-builder
67     builders:
68       - shell: |
69           curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
70           echo "deb https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee \
71             /etc/apt/sources.list.d/google-cloud-sdk.list
72           sudo apt-get -o DPkg::Lock::Timeout=300 update && \
73           DEBIAN_FRONTEND=noninteractive sudo apt-get \
74             -o DPkg::Lock::Timeout=300 install python3-diskimage-builder -y
75           git clone https://github.com/collivier/ansible-role-xtesting.git
76           export ELEMENTS_PATH=$(pwd)/elements:$(pwd)/ansible-role-xtesting/elements
77           export DIB_DEBIAN_COMPONENTS=main,contrib,non-free
78           export DIB_DEV_USER_SHELL=/bin/bash
79           export DIB_OPENSSH_SERVER_HARDENING=0
80           export DIB_DEV_USER_PASSWORD=xtesting
81           export DIB_DEV_USER_PWDLESS_SUDO=yes
82           export DIB_CLOUD_INIT_ALLOW_SSH_PWAUTH=Yes
83           export DIB_RELEASE=bookworm
84           export DIB_DEV_USER_USERNAME=xtesting
85           disk-image-create --image-size 20 -o xtesting-latest.qcow2 debian vm devuser openssh-server xtesting
86           gsutil cp xtesting-latest.qcow2 gs://artifacts.opnfv.org/xtesting/xtesting-latest.qcow2
87
88 - builder:
89     name: functest-vm-builder
90     builders:
91       - shell: |
92           curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
93           echo "deb https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee \
94             /etc/apt/sources.list.d/google-cloud-sdk.list
95           sudo apt-get -o DPkg::Lock::Timeout=300 update && \
96           DEBIAN_FRONTEND=noninteractive sudo apt-get \
97             -o DPkg::Lock::Timeout=300 install python3-diskimage-builder -y
98           git clone https://github.com/collivier/ansible-role-xtesting.git
99           export ELEMENTS_PATH=$(pwd)/elements:$(pwd)/ansible-role-xtesting/elements
100           export DIB_DEBIAN_COMPONENTS=main,contrib,non-free
101           export DIB_DEV_USER_SHELL=/bin/bash
102           export DIB_OPENSSH_SERVER_HARDENING=0
103           export DIB_DEV_USER_PASSWORD=xtesting
104           export DIB_DEV_USER_PWDLESS_SUDO=yes
105           export DIB_CLOUD_INIT_ALLOW_SSH_PWAUTH=Yes
106           export DIB_RELEASE=bookworm
107           export DIB_DEV_USER_USERNAME=xtesting
108           disk-image-create --image-size 20 -o functest-latest.qcow2 debian vm devuser openssh-server functest
109           gsutil cp functest-latest.qcow2 gs://artifacts.opnfv.org/functest/functest-latest.qcow2
110
111 - builder:
112     name: functest-kubernetes-vm-builder
113     builders:
114       - shell: |
115           curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
116           echo "deb https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee \
117             /etc/apt/sources.list.d/google-cloud-sdk.list
118           sudo apt-get -o DPkg::Lock::Timeout=300 update && \
119           DEBIAN_FRONTEND=noninteractive sudo apt-get \
120             -o DPkg::Lock::Timeout=300 install python3-diskimage-builder -y
121           git clone https://github.com/collivier/ansible-role-xtesting.git
122           export ELEMENTS_PATH=$(pwd)/elements:$(pwd)/ansible-role-xtesting/elements
123           export DIB_DEBIAN_COMPONENTS=main,contrib,non-free
124           export DIB_DEV_USER_SHELL=/bin/bash
125           export DIB_OPENSSH_SERVER_HARDENING=0
126           export DIB_DEV_USER_PASSWORD=xtesting
127           export DIB_DEV_USER_PWDLESS_SUDO=yes
128           export DIB_CLOUD_INIT_ALLOW_SSH_PWAUTH=Yes
129           export DIB_RELEASE=bookworm
130           export DIB_DEV_USER_USERNAME=xtesting
131           disk-image-create --image-size 20 -o functest-kubernetes-latest.qcow2 \
132             debian vm devuser openssh-server functest-kubernetes
133           gsutil cp functest-kubernetes-latest.qcow2 \
134             gs://artifacts.opnfv.org/functest-kubernetes/functest-kubernetes-latest.qcow2
135
136 - trigger:
137     name: xtesting-ci-vm-trigger
138     triggers:
139       - timed: '@daily'
140
141 - parameter:
142     name: xtesting-ci-vm-parameter
143     parameters:
144       - label:
145           name: node
146           default: 'opnfv-build'
147
148 - job-template:
149     name: 'xtesting-ci-vm'
150     scm:
151       - xtesting-ci-vm-scm
152     triggers:
153       - xtesting-ci-vm-trigger
154     parameters:
155       - xtesting-ci-vm-parameter
156     properties:
157       - build-blocker:
158           use-build-blocker: true
159           blocking-level: 'NODE'
160           blocking-jobs:
161             - '^.*-vm$'
162     builders:
163       - xtesting-ci-vm-builder
164
165 - job-template:
166     name: 'xtesting-vm'
167     scm:
168       - xtesting-vm-scm
169     triggers:
170       - xtesting-ci-vm-trigger
171     parameters:
172       - xtesting-ci-vm-parameter
173     builders:
174       - xtesting-vm-builder
175
176 - job-template:
177     name: 'functest-vm'
178     scm:
179       - functest-vm-scm
180     triggers:
181       - xtesting-ci-vm-trigger
182     parameters:
183       - xtesting-ci-vm-parameter
184     builders:
185       - functest-vm-builder
186
187 - job-template:
188     name: 'functest-kubernetes-vm'
189     scm:
190       - functest-kubernetes-vm-scm
191     triggers:
192       - xtesting-ci-vm-trigger
193     parameters:
194       - xtesting-ci-vm-parameter
195     builders:
196       - functest-kubernetes-vm-builder
197
198 - project:
199     name: 'xtesting-ci-vm'
200     jobs:
201       - 'xtesting-ci-vm'
202       - 'xtesting-vm'
203       - 'functest-vm'
204       - 'functest-kubernetes-vm'
205
206 - view:
207     name: xtesting-ci-vm
208     view-type: list
209     columns:
210       - status
211       - weather
212       - job
213       - last-success
214       - last-failure
215       - last-duration
216     regex: ^.*-vm$