diskimage-builder/.zuul.d/jobs.yaml
Ian Wienand 5d899d97a0 Switch functional tests to containers
This switches the functional tests to container based build jobs.
This is mostly transparent for the existing build and boot jobs.

The release test is a bit interesting here.  The nodepool
container-based release job doesn't work in this context because it
doesn't have a way to also include dib from the zuul checkout into the
container -- ergo it's pointless to run in the dib gate.

We should probably reorganise the nodepool siblings job so it can
check some projects out from tags, then we could run something similar
to this with nodepool/openstacksdk/glean etc checked out from tags if
we want.

We can handle this in a future update so we can test these images
which we want to build in our production container asap.

Depends-On: https://review.opendev.org/722556
Depends-On: https://review.opendev.org/722549
Change-Id: Ieaf07438c145ba609d4d7b9a055e91b894eca6d9
2020-04-24 14:44:51 +10:00

377 lines
11 KiB
YAML

- job:
name: dib-functests-base
abstract: true
parent: base
run: playbooks/dib-functests/run.yaml
post-run: playbooks/dib-functests/post.yaml
timeout: 5400
required-projects:
- openstack/diskimage-builder
- openstack/requirements
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- job:
name: dib-functests-default
description: |
This is the base set of stable tests
abstract: true
parent: dib-functests-base
vars:
dib_functests:
- apt-sources/test-sources
- centos-minimal/7-build-succeeds
- centos-minimal/8-build-succeeds
- pip-and-virtualenv/source-install-ubuntu
- ubuntu-minimal/trusty-build-succeeds
- ubuntu-minimal/xenial-build-succeeds
- ubuntu-minimal/bionic-build-succeeds
- job:
name: dib-functests-image
description: |
This is tests that rely on downloading an upstream
image. We generally do not have mirrors for these images
so they can be slighlty unreliable.
abstract: true
voting: false
parent: dib-functests-base
vars:
dib_functests:
- centos7/build-succeeds
- centos/8-build-succeeds
- opensuse/build-succeeds
- opensuse/opensuse15-build-succeeds
- ubuntu/trusty-build-succeeds
- ubuntu/xenial-build-succeeds
- ubuntu/bionic-build-succeeds
- job:
name: dib-functests-extras
description: |
These are tests which are not as widely supported as the
core platforms
abstract: true
voting: false
parent: dib-functests-base
vars:
dib_functests:
- gentoo/build-succeeds
- debian-minimal/stable-vm
- job:
name: dib-functests-containers
description: |
These are tests for elements focused on containers or other
small deployments
abstract: true
voting: false
parent: dib-functests-base
vars:
dib_functests:
- ubuntu-systemd-container/bionic-build-succeeds
- ubuntu-systemd-container/xenial-build-succeeds
- job:
name: dib-functests-arm64
description: |
ARM64 build tests
abstract: true
parent: dib-functests-base
vars:
dib_functests:
- ubuntu-minimal/bionic-arm64-build-succeeds
- centos-minimal/8-aarch64-build-succeeds
# Bionic / Python3 tests
- job:
name: dib-functests-bionic-python3
description: |
Run the default tests on a Bionic build host with Python 3
parent: dib-functests-default
nodeset: ubuntu-bionic
vars:
# These can only build on bionic
dib_functests_extra:
- fedora-minimal/build-succeeds
- job:
name: dib-functests-bionic-python3-image
description: |
The image tests on a Bionic build host with Python 3
parent: dib-functests-image
nodeset: ubuntu-bionic
vars:
dib_functests_extra:
- fedora/build-succeeds
voting: false
- job:
name: dib-functests-bionic-python3-extras
description: |
The extras tests on a Bionic build host with Python 3
parent: dib-functests-extras
nodeset: ubuntu-bionic
voting: false
- job:
name: dib-functests-bionic-python3-containers
description: |
The containers tests on a Bionic build host with Python 3
parent: dib-functests-containers
nodeset: ubuntu-bionic
voting: false
# Xenial / Python3 tests
- job:
name: dib-functests-xenial-python3
description: |
Run the default tests on a Xenial build host with Python 3
parent: dib-functests-default
nodeset: ubuntu-xenial
- job:
name: dib-functests-xenial-python3-image
description: |
The image tests on a Xenial build host with Python 3
parent: dib-functests-image
nodeset: ubuntu-xenial
- job:
name: dib-functests-xenial-python3-extras
description: |
The extras tests on a Xenial build host with Python 3
parent: dib-functests-extras
nodeset: ubuntu-xenial
vars:
# opensuse-minimal can only build on xenial ATM, as other
# platforms don't have zypper
dib_functests_extra:
- opensuse-minimal/opensuse15-build-succeeds
- job:
name: dib-functests-xenial-python3-containers
description: |
The containers tests on a Xenial build host with Python 3
parent: dib-functests-containers
nodeset: ubuntu-xenial
voting: false
# Centos 7 / Python2 tests
- job:
name: dib-functests-centos7-python2
description: |
Run the default tests on a Centos 7 build host with Python 2
parent: dib-functests-default
nodeset: centos-7
vars:
dib_python: python2
- job:
name: dib-functests-centos7-python2-image
description: |
The image tests on a Centos 7 build host with Python 2
parent: dib-functests-image
nodeset: centos-7
vars:
dib_python: python2
- job:
name: dib-functests-centos7-python2-extras
description: |
The extras tests on a Centos 7 build host with Python 2
parent: dib-functests-extras
nodeset: centos-7
vars:
dib_python: python2
# ARM64 tests
- job:
name: dib-functests-arm64-bionic
description: |
ARM64 image tests building on am ARM64 Bionic host
nodeset: ubuntu-bionic-arm64
parent: dib-functests-arm64
#
# Build and boot functional tests
#
- job:
name: dib-nodepool-functional-src-base
description: |
Base job for DIB functional tests, which build and boot a node
under nodepool, using source versions of dependencies such as
nodepool, dib, openstacksdk and glean.
parent: nodepool-functional-container-openstack-siblings-base
vars:
nodepool_debug: true
- job:
name: dib-nodepool-functional-openstack-centos-7-src
description: |
Test building and booting a Centos 7 image with Nodepool and OpenStack
parent: dib-nodepool-functional-src-base
vars:
nodepool_diskimage:
base_element: centos-minimal
release: '7'
mirror: "http://{{ zuul_site_mirror_fqdn }}/centos"
- job:
name: dib-nodepool-functional-openstack-centos-8-src
description: |
Test building and booting a Centos 8 image with Nodepool and OpenStack
parent: dib-nodepool-functional-src-base
vars:
nodepool_diskimage:
base_element: centos-minimal
release: '8'
mirror: "http://{{ zuul_site_mirror_fqdn }}/centos"
- job:
name: dib-nodepool-functional-openstack-fedora-30-src
description: |
Test building and booting a Fedora 30 image with Nodepool and OpenStack
parent: dib-nodepool-functional-src-base
vars:
nodepool_diskimage:
base_element: fedora-minimal
release: '30'
- job:
name: dib-nodepool-functional-openstack-fedora-31-src
description: |
Test building and booting a Fedora 31 image with Nodepool and OpenStack
parent: dib-nodepool-functional-src-base
vars:
nodepool_diskimage:
base_element: fedora-minimal
release: '31'
- job:
name: dib-nodepool-functional-openstack-ubuntu-xenial-src
description: |
Test building and booting an Ubuntu xenial image with Nodepool
and OpenStack
parent: dib-nodepool-functional-src-base
pre-run: playbooks/dib-nodepool/debootstrap.yaml
vars:
nodepool_diskimage:
base_element: ubuntu-minimal
release: 'xenial'
mirror: "http://{{ zuul_site_mirror_fqdn }}/ubuntu"
env-vars:
DIB_APT_LOCAL_CACHE: '0'
DIB_DISABLE_APT_CLEANUP: '1'
DIB_DEBOOTSTRAP_EXTRA_ARGS: '--no-check-gpg'
- job:
name: dib-nodepool-functional-openstack-ubuntu-bionic
description: |
Test building and booting an Ubuntu bionic image with Nodepool
and OpenStack (using released libraries)
parent: nodepool-functional-openstack-base
pre-run: playbooks/dib-nodepool/debootstrap.yaml
vars:
nodepool_debug: true
nodepool_extra_packages:
- debootstrap
nodepool_diskimage:
base_element: ubuntu-minimal
release: 'bionic'
mirror: "http://{{ zuul_site_mirror_fqdn }}/ubuntu"
env-vars:
DIB_APT_LOCAL_CACHE: '0'
DIB_DISABLE_APT_CLEANUP: '1'
DIB_DEBOOTSTRAP_EXTRA_ARGS: '--no-check-gpg'
- job:
name: dib-nodepool-functional-openstack-ubuntu-bionic-src
description: |
Test building and booting an Ubuntu bionic image with Nodepool
and OpenStack
parent: dib-nodepool-functional-src-base
pre-run: playbooks/dib-nodepool/debootstrap.yaml
vars:
nodepool_diskimage:
base_element: ubuntu-minimal
release: 'bionic'
mirror: "http://{{ zuul_site_mirror_fqdn }}/ubuntu"
env-vars:
DIB_APT_LOCAL_CACHE: '0'
DIB_DISABLE_APT_CLEANUP: '1'
DIB_DEBOOTSTRAP_EXTRA_ARGS: '--no-check-gpg'
- job:
name: dib-nodepool-functional-openstack-gentoo-src
description: |
Test building and booting a Gentoo image with Nodepool and OpenStack
parent: dib-nodepool-functional-src-base
vars:
nodepool_diskimage:
base_element: gentoo
release: ''
env-vars:
GENTOO_PROFILE: 'default/linux/amd64/17.1/systemd'
- job:
name: dib-nodepool-functional-openstack-debian-stretch-src
description: |
Test building and booting a Debian stretch image with Nodepool
and OpenStack
parent: dib-nodepool-functional-src-base
pre-run: playbooks/dib-nodepool/debootstrap.yaml
vars:
nodepool_diskimage:
base_element: debian-minimal
release: 'stretch'
mirror: "http://{{ zuul_site_mirror_fqdn }}/debian"
env-vars:
DIB_APT_LOCAL_CACHE: '0'
DIB_DISABLE_APT_CLEANUP: '1'
DIB_DEBOOTSTRAP_EXTRA_ARGS: '--no-check-gpg'
- job:
name: dib-nodepool-functional-openstack-debian-buster-src
description: |
Test building and booting a Debian buster image with Nodepool
and OpenStack
parent: dib-nodepool-functional-src-base
pre-run: playbooks/dib-nodepool/debootstrap.yaml
vars:
nodepool_diskimage:
base_element: debian-minimal
release: 'buster'
mirror: "http://{{ zuul_site_mirror_fqdn }}/debian"
env-vars:
DIB_APT_LOCAL_CACHE: '0'
DIB_DISABLE_APT_CLEANUP: '1'
DIB_DEBOOTSTRAP_EXTRA_ARGS: '--no-check-gpg'
- job:
name: dib-nodepool-functional-openstack-opensuse-15-src
description: |
Test building and booting an openSUSE 15.x image with Nodepool
and OpenStack
parent: dib-nodepool-functional-src-base
nodeset: ubuntu-xenial # Bionic lacks zypper
vars:
nodepool_diskimage:
base_element: opensuse-minimal
release: '15.1'
mirror: "http://{{ zuul_site_mirror_fqdn }}/opensuse"
- job:
name: dib-nodepool-functional-openstack-opensuse-tumbleweed-src
description: |
Test building and booting an openSUSE tumbleweed image with
Nodepool and OpenStack
parent: dib-nodepool-functional-src-base
nodeset: ubuntu-xenial # Bionic lacks zypper
vars:
nodepool_diskimage:
base_element: opensuse-minimal
release: 'tumbleweed'