From 99fb497cb7ae6208cd8bffbff94e74215b2a9d3f Mon Sep 17 00:00:00 2001 From: Riccardo Pittau Date: Tue, 27 May 2025 11:09:26 +0200 Subject: [PATCH] Build ironic-python-agent DIB image with CentOS Stream 10 Few changes to enable building IPA ramdisk using CS10 Change-Id: I82da3cd9cf5c4d5e2d924426ff91c41c457c36a6 Signed-off-by: Riccardo Pittau --- dib/extra-hardware/README.rst | 2 +- .../environment.d/10-enable-rdo-deps.bash | 4 +- .../pre-install.d/10-enable-rdo-deps | 3 +- dib/ironic-python-agent-ramdisk/element-deps | 1 + .../notes/cs10support-f8d2996aaf7505ad.yaml | 5 +++ zuul.d/ironic-python-agent-builder-jobs.yaml | 38 +++++++++++++++++++ zuul.d/project.yaml | 4 ++ 7 files changed, 53 insertions(+), 4 deletions(-) create mode 100644 releasenotes/notes/cs10support-f8d2996aaf7505ad.yaml diff --git a/dib/extra-hardware/README.rst b/dib/extra-hardware/README.rst index 7b16fe6..ae3a711 100644 --- a/dib/extra-hardware/README.rst +++ b/dib/extra-hardware/README.rst @@ -20,4 +20,4 @@ doing a source-based installation: install when ``DIB_IPA_HARDWARE_PACKAGE`` is unset. If unset, the latest version will be installed. * ``DIB_IPA_HARDWARE_RDO`` set to ``0`` to prevent the latest RDO package repositories - being installed on CentOS-9-Stream (ignored when ``DIB_YUM_REPO_CONF`` is set). + being installed on CentOS Stream (ignored when ``DIB_YUM_REPO_CONF`` is set). diff --git a/dib/extra-hardware/environment.d/10-enable-rdo-deps.bash b/dib/extra-hardware/environment.d/10-enable-rdo-deps.bash index ed75a30..1075012 100755 --- a/dib/extra-hardware/environment.d/10-enable-rdo-deps.bash +++ b/dib/extra-hardware/environment.d/10-enable-rdo-deps.bash @@ -1,5 +1,5 @@ -if [[ "${DISTRO_NAME}${DIB_RELEASE}" =~ "centos9" ]]; then +if [[ "${DISTRO_NAME}" =~ "centos" ]]; then if [ -n "${DIB_YUM_REPO_CONF:-}" ] ; then # Always disable if DIB_YUM_REPO_CONF is defined @@ -9,6 +9,6 @@ if [[ "${DISTRO_NAME}${DIB_RELEASE}" =~ "centos9" ]]; then export DIB_IPA_HARDWARE_RDO=${DIB_IPA_HARDWARE_RDO:-1} fi else - # Always disable if not centos-9 + # Always disable if not centos export DIB_IPA_HARDWARE_RDO=0 fi diff --git a/dib/extra-hardware/pre-install.d/10-enable-rdo-deps b/dib/extra-hardware/pre-install.d/10-enable-rdo-deps index 03ca8b3..3393e59 100755 --- a/dib/extra-hardware/pre-install.d/10-enable-rdo-deps +++ b/dib/extra-hardware/pre-install.d/10-enable-rdo-deps @@ -5,5 +5,6 @@ set -eux set -o pipefail if [ ${DIB_IPA_HARDWARE_RDO:-0} -ne 0 ]; then - curl -o /etc/yum.repos.d/dlrn-deps.repo https://trunk.rdoproject.org/centos9-master/dlrn-deps.repo + curl -o /etc/yum.repos.d/dlrn-deps.repo https://trunk.rdoproject.org/${DISTRO_NAME}${DIB_RELEASE}-master/dlrn-deps.repo fi + diff --git a/dib/ironic-python-agent-ramdisk/element-deps b/dib/ironic-python-agent-ramdisk/element-deps index 10ac6bd..437718c 100644 --- a/dib/ironic-python-agent-ramdisk/element-deps +++ b/dib/ironic-python-agent-ramdisk/element-deps @@ -1,3 +1,4 @@ +epel ironic-ramdisk-base dhcp-all-interfaces ibft-interfaces diff --git a/releasenotes/notes/cs10support-f8d2996aaf7505ad.yaml b/releasenotes/notes/cs10support-f8d2996aaf7505ad.yaml new file mode 100644 index 0000000..f98320d --- /dev/null +++ b/releasenotes/notes/cs10support-f8d2996aaf7505ad.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + Ironic python agent builder now supports building ironic-python + agent ramdisk using CentOS Stream 10 diff --git a/zuul.d/ironic-python-agent-builder-jobs.yaml b/zuul.d/ironic-python-agent-builder-jobs.yaml index c65f390..c00f18c 100644 --- a/zuul.d/ironic-python-agent-builder-jobs.yaml +++ b/zuul.d/ironic-python-agent-builder-jobs.yaml @@ -27,6 +27,22 @@ image_release: '9-stream' image_target_name: 'centos9' +# NOTE(rpittau): using nested virt nodes to ensure EL10 hw support +- job: + name: ironic-python-agent-build-image-dib-centos10 + nodeset: + nodes: + - name: nested-virt-ubuntu-noble + label: nested-virt-ubuntu-noble + parent: ironic-python-agent-build-image-base + required-projects: + - openstack/diskimage-builder + vars: + image_type: 'dib' + image_distro: 'centos' + image_release: '10-stream' + image_target_name: 'centos10' + - job: name: ironic-python-agent-build-image-dib-debian parent: ironic-python-agent-build-image-base @@ -71,12 +87,34 @@ image_release: '9-stream' image_target_name: centos9 +# NOTE(rpittau): using nested virt nodes to ensure EL10 hw support +- job: + name: ironic-python-agent-check-image-dib-centos10 + nodeset: + nodes: + - name: nested-virt-ubuntu-noble + label: nested-virt-ubuntu-noble + parent: ironic-python-agent-check-image-base + required-projects: + - openstack/diskimage-builder + vars: + image_type: 'dib' + image_distro: 'centos' + image_release: '10-stream' + image_target_name: centos10 + - job: name: ironic-python-agent-check-image-dib-centos9-extra parent: ironic-python-agent-check-image-dib-centos9 vars: extra_elements: ["extra-hardware"] +- job: + name: ironic-python-agent-check-image-dib-centos10-extra + parent: ironic-python-agent-check-image-dib-centos10 + vars: + extra_elements: ["extra-hardware"] + - job: name: ironic-python-agent-check-image-dib-debian parent: ironic-python-agent-check-image-base diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index d37a78c..c4717d7 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -9,6 +9,8 @@ - ironic-standalone-ipa-src - ironic-python-agent-check-image-dib-centos9 - ironic-python-agent-check-image-dib-centos9-extra + - ironic-python-agent-check-image-dib-centos10 + - ironic-python-agent-check-image-dib-centos10-extra - ironic-python-agent-check-image-dib-debian - ironic-python-agent-check-image-dib-debian-arm64 - ironic-python-agent-check-image-dib-debian-extra @@ -31,6 +33,8 @@ - ironic-standalone-ipa-src - ironic-python-agent-check-image-dib-centos9 - ironic-python-agent-check-image-dib-centos9-extra + - ironic-python-agent-check-image-dib-centos10 + - ironic-python-agent-check-image-dib-centos10-extra - ironic-python-agent-check-image-dib-debian - ironic-python-agent-check-image-dib-debian-arm64 - ironic-python-agent-check-image-dib-debian-extra