diff --git a/.zuul.d/jobs.yaml b/.zuul.d/jobs.yaml index 65c828b4..a9666d63 100644 --- a/.zuul.d/jobs.yaml +++ b/.zuul.d/jobs.yaml @@ -27,6 +27,7 @@ # Image based tests - centos/8-build-succeeds - centos/8-stream-build-succeeds + - centos/9-stream-build-succeeds - fedora/build-succeeds - opensuse/build-succeeds - opensuse/opensuse15-build-succeeds diff --git a/diskimage_builder/elements/centos/root.d/10-centos-cloud-image b/diskimage_builder/elements/centos/root.d/10-centos-cloud-image index 29c6ba78..ed7964b0 100755 --- a/diskimage_builder/elements/centos/root.d/10-centos-cloud-image +++ b/diskimage_builder/elements/centos/root.d/10-centos-cloud-image @@ -29,7 +29,12 @@ else elif [[ "arm64" =~ "$ARCH" ]]; then ARCH="aarch64" fi - DIB_CLOUD_IMAGES=${DIB_CLOUD_IMAGES:-http://cloud.centos.org/centos/${DIB_RELEASE}/${ARCH}/images} + if [[ "${DIB_RELEASE}" == "9" ]]; then + dib_release_path=9-stream + else + dib_release_path=${DIB_RELEASE} + fi + DIB_CLOUD_IMAGES=${DIB_CLOUD_IMAGES:-http://cloud.centos.org/centos/${dib_release_path}/${ARCH}/images} else echo 'centos root element only support the x86_64, aarch64 and ppc64le values for $ARCH' exit 1 @@ -51,7 +56,12 @@ else if [[ "${DIB_RELEASE}" = 7 ]]; then BASE_IMAGE_FILE=${BASE_IMAGE_FILE:-CentOS-${DIB_RELEASE}-${ARCH}-${DIB_FLAVOR}.qcow2.xz} else - BASE_IMAGE_FILE=${BASE_IMAGE_FILE:-$(curl -s https://cloud.centos.org/centos/${DIB_RELEASE}/${ARCH}/images/ | grep -o "CentOS-.[^>]*${DIB_FLAVOR}-.[^>]*.qcow2" | sort -r | head -1)} + if [[ "${DIB_RELEASE}" == "9" ]]; then + dib_release_path=9-stream + else + dib_release_path=${DIB_RELEASE} + fi + BASE_IMAGE_FILE=${BASE_IMAGE_FILE:-$(curl -s https://cloud.centos.org/centos/${dib_release_path}/${ARCH}/images/ | grep -o "CentOS-.[^>]*${DIB_FLAVOR}-.[^>]*.qcow2" | sort -r | head -1)} fi BASE_IMAGE_TAR=$BASE_IMAGE_FILE.tgz IMAGE_LOCATION=$DIB_CLOUD_IMAGES/$BASE_IMAGE_FILE diff --git a/diskimage_builder/elements/centos/test-elements/9-stream-build-succeeds/README.rst b/diskimage_builder/elements/centos/test-elements/9-stream-build-succeeds/README.rst new file mode 100644 index 00000000..9b5793d2 --- /dev/null +++ b/diskimage_builder/elements/centos/test-elements/9-stream-build-succeeds/README.rst @@ -0,0 +1 @@ +Centos Stream 9 test diff --git a/diskimage_builder/elements/centos/test-elements/9-stream-build-succeeds/element-deps b/diskimage_builder/elements/centos/test-elements/9-stream-build-succeeds/element-deps new file mode 100644 index 00000000..3a391e3e --- /dev/null +++ b/diskimage_builder/elements/centos/test-elements/9-stream-build-succeeds/element-deps @@ -0,0 +1,3 @@ +base +epel +openstack-ci-mirrors diff --git a/diskimage_builder/elements/centos/test-elements/9-stream-build-succeeds/environment.d/10-set-distro.bash b/diskimage_builder/elements/centos/test-elements/9-stream-build-succeeds/environment.d/10-set-distro.bash new file mode 100644 index 00000000..29a6ae5e --- /dev/null +++ b/diskimage_builder/elements/centos/test-elements/9-stream-build-succeeds/environment.d/10-set-distro.bash @@ -0,0 +1 @@ +export DIB_RELEASE='9-stream' diff --git a/diskimage_builder/elements/centos/test-elements/9-stream-build-succeeds/test-output-formats b/diskimage_builder/elements/centos/test-elements/9-stream-build-succeeds/test-output-formats new file mode 100644 index 00000000..7895a833 --- /dev/null +++ b/diskimage_builder/elements/centos/test-elements/9-stream-build-succeeds/test-output-formats @@ -0,0 +1 @@ +qcow2 \ No newline at end of file diff --git a/diskimage_builder/elements/epel/pre-install.d/05-rpm-epel-release b/diskimage_builder/elements/epel/pre-install.d/05-rpm-epel-release index 5810e4ed..1d3816a9 100755 --- a/diskimage_builder/elements/epel/pre-install.d/05-rpm-epel-release +++ b/diskimage_builder/elements/epel/pre-install.d/05-rpm-epel-release @@ -6,7 +6,7 @@ fi set -eu set -o pipefail -if [[ ${DISTRO_NAME} =~ "centos" ]]; then +if [[ ${DISTRO_NAME} =~ "centos" && "${DIB_RELEASE%-stream}" -lt '9' ]]; then # Centos has "epel-release" in extras, which is default enabled. ${YUM} install -y epel-release else diff --git a/diskimage_builder/elements/grub2/pkg-map b/diskimage_builder/elements/grub2/pkg-map index e747eb69..94f877e0 100644 --- a/diskimage_builder/elements/grub2/pkg-map +++ b/diskimage_builder/elements/grub2/pkg-map @@ -6,6 +6,13 @@ "signed_shim_efi": "shim", "grub_bios": "grub2" } + }, + "centos": { + "9": { + "signed_grub_efi": "efibootmgr grub2-efi-x64", + "signed_shim_efi": "shim", + "grub_bios": "grub2" + } } }, "family":{ 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 e5b70b79..1cde1a26 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 @@ -33,8 +33,13 @@ elif [[ "${DISTRO_NAME}" == "debian" ]]; then elif [[ "${DISTRO_NAME}" == "fedora" ]]; then export DIB_DISTRIBUTION_MIRROR=$NODEPOOL_FEDORA_MIRROR elif [[ "${DISTRO_NAME}" == "centos" ]]; then - export DIB_DISTRIBUTION_MIRROR=$NODEPOOL_CENTOS_MIRROR - export DIB_EPEL_MIRROR=$NODEPOOL_EPEL_MIRROR + if [[ "${DIB_RELEASE}" == '9-stream' ]]; then + # NOTE(ianw) 2021-10-18 : no 9-stream mirrors, yet + : + else + export DIB_DISTRIBUTION_MIRROR=$NODEPOOL_CENTOS_MIRROR + export DIB_EPEL_MIRROR=$NODEPOOL_EPEL_MIRROR + fi elif [[ "${DISTRO_NAME}" == "centos7" ]]; then export DIB_DISTRIBUTION_MIRROR=$NODEPOOL_CENTOS_MIRROR export DIB_EPEL_MIRROR=$NODEPOOL_EPEL_MIRROR