diff --git a/.zuul.d/jobs.yaml b/.zuul.d/jobs.yaml index 6492ca5e..f0659bd6 100644 --- a/.zuul.d/jobs.yaml +++ b/.zuul.d/jobs.yaml @@ -75,6 +75,16 @@ - 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 + # Trusty / Python 2 tests - job: name: dib-functests-trusty-python2 @@ -199,8 +209,15 @@ vars: dib_python: python2 -# Build and boot functional tests +# 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: | diff --git a/.zuul.d/project.yaml b/.zuul.d/project.yaml index 5a589600..77c5e5af 100644 --- a/.zuul.d/project.yaml +++ b/.zuul.d/project.yaml @@ -32,6 +32,9 @@ - dib-functests-bionic-python3-image - dib-functests-bionic-python3-extras - dib-functests-bionic-python3-containers + check-arm64: + jobs: + - dib-functests-arm64-bionic gate: jobs: - openstack-tox-pylint diff --git a/diskimage_builder/elements/openstack-ci-mirrors/environment.d/11-dib-distribution-mirror.bash b/diskimage_builder/elements/openstack-ci-mirrors/environment.d/11-dib-distribution-mirror.bash index 92c94f13..28dbb54b 100644 --- a/diskimage_builder/elements/openstack-ci-mirrors/environment.d/11-dib-distribution-mirror.bash +++ b/diskimage_builder/elements/openstack-ci-mirrors/environment.d/11-dib-distribution-mirror.bash @@ -21,7 +21,11 @@ $_xtrace # note 11- is after 10- which is where DISTRO_NAME is set usually if [[ "${DISTRO_NAME}" == "ubuntu" ]]; then - export DIB_DISTRIBUTION_MIRROR=$NODEPOOL_UBUNTU_MIRROR + if [[ "${ARCH}" == "arm64" ]]; then + export DIB_DISTRIBUTION_MIRROR=${NODEPOOL_UBUNTU_PORTS_MIRROR} + elif [[ "${ARCH}" == "amd64" ]]; then + export DIB_DISTRIBUTION_MIRROR=$NODEPOOL_UBUNTU_MIRROR + fi export DIB_DEBOOTSTRAP_EXTRA_ARGS+=" --no-check-gpg" elif [[ "${DISTRO_NAME}" == "debian" ]]; then export DIB_DISTRIBUTION_MIRROR=$NODEPOOL_DEBIAN_MIRROR diff --git a/diskimage_builder/elements/ubuntu-minimal/test-elements/bionic-arm64-build-succeeds/README.rst b/diskimage_builder/elements/ubuntu-minimal/test-elements/bionic-arm64-build-succeeds/README.rst new file mode 100644 index 00000000..624e34e4 --- /dev/null +++ b/diskimage_builder/elements/ubuntu-minimal/test-elements/bionic-arm64-build-succeeds/README.rst @@ -0,0 +1,4 @@ +Verify we can build a ubuntu-minimal image. + +Note this test includes the vm element to test the bootloader install, +and specifies to output a .qcow2 diff --git a/diskimage_builder/elements/ubuntu-minimal/test-elements/bionic-arm64-build-succeeds/element-deps b/diskimage_builder/elements/ubuntu-minimal/test-elements/bionic-arm64-build-succeeds/element-deps new file mode 100644 index 00000000..99857b0c --- /dev/null +++ b/diskimage_builder/elements/ubuntu-minimal/test-elements/bionic-arm64-build-succeeds/element-deps @@ -0,0 +1,3 @@ +block-device-efi +openstack-ci-mirrors +vm diff --git a/diskimage_builder/elements/ubuntu-minimal/test-elements/bionic-arm64-build-succeeds/environment.d/10-set-distro.bash b/diskimage_builder/elements/ubuntu-minimal/test-elements/bionic-arm64-build-succeeds/environment.d/10-set-distro.bash new file mode 100644 index 00000000..ba2fb47d --- /dev/null +++ b/diskimage_builder/elements/ubuntu-minimal/test-elements/bionic-arm64-build-succeeds/environment.d/10-set-distro.bash @@ -0,0 +1 @@ +export DIB_RELEASE=bionic diff --git a/diskimage_builder/elements/ubuntu-minimal/test-elements/bionic-arm64-build-succeeds/test-output-formats b/diskimage_builder/elements/ubuntu-minimal/test-elements/bionic-arm64-build-succeeds/test-output-formats new file mode 100644 index 00000000..c780936b --- /dev/null +++ b/diskimage_builder/elements/ubuntu-minimal/test-elements/bionic-arm64-build-succeeds/test-output-formats @@ -0,0 +1 @@ +tar,qcow2 \ No newline at end of file