diff --git a/Dockerfile b/Dockerfile index 3751487ba..f4d190f36 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -ARG BASE_IMAGE=quay.io/centos/centos:stream8 +ARG BASE_IMAGE=quay.io/centos/centos:stream9 ## Build iPXE w/ IPv6 Support ## Note: we are pinning to a specific commit for reproducible builds. @@ -15,11 +15,14 @@ FROM $BASE_IMAGE AS ironic-builder # ``Cannot initialize '::'`` # This is due to the conversion table missing codepage 850, included in glibc-gconv-extra RUN dnf install -y gcc git make xz-devel glibc-gconv-extra + WORKDIR /tmp + RUN git clone --depth 1 --branch v1.21.1 https://github.com/ipxe/ipxe.git && \ cd ipxe/src && \ ARCH=$(uname -m | sed 's/aarch/arm/') && \ - make bin/undionly.kpxe bin-$ARCH-efi/ipxe.efi bin-$ARCH-efi/snponly.efi + # NOTE(elfosardo): warning should not be treated as errors by default + NO_WERROR=1 make bin/undionly.kpxe bin-$ARCH-efi/ipxe.efi bin-$ARCH-efi/snponly.efi COPY prepare-efi.sh /bin/ RUN prepare-efi.sh centos @@ -61,3 +64,4 @@ RUN mkdir -p /var/lib/ironic /var/lib/ironic-inspector && \ COPY ironic-inspector-config/ironic-inspector.conf.j2 /etc/ironic-inspector/ COPY ironic-inspector-config/inspector-apache.conf.j2 /etc/httpd/conf.d/ + diff --git a/main-packages-list.txt b/main-packages-list.txt index 60644824d..c1b0e5b47 100644 --- a/main-packages-list.txt +++ b/main-packages-list.txt @@ -1,5 +1,4 @@ dnsmasq -genisoimage httpd httpd-tools ipcalc @@ -12,3 +11,4 @@ python3-mod_wsgi qemu-img sqlite syslinux-nonlinux +xorriso diff --git a/prepare-image.sh b/prepare-image.sh index e5da941ab..cd26fc349 100755 --- a/prepare-image.sh +++ b/prepare-image.sh @@ -8,12 +8,13 @@ echo "install_weak_deps=False" >> /etc/dnf/dnf.conf # Tell RPM to skip installing documentation echo "tsflags=nodocs" >> /etc/dnf/dnf.conf -dnf install -y python3 python3-requests epel-release 'dnf-command(config-manager)' -dnf config-manager --set-disabled epel +dnf install -y python3 python3-requests 'dnf-command(config-manager)' # RPM install # if [[ $INSTALL_TYPE == "rpm" ]]; then curl https://raw.githubusercontent.com/openstack/tripleo-repos/master/plugins/module_utils/tripleo_repos/main.py | python3 - -b master current-tripleo + # NOTE(elfosardo): enable CRB repo for more python3 dependencies + dnf config-manager --set-enabled crb dnf upgrade -y xargs -rtd'\n' dnf install -y < $IRONIC_PKG_LIST fi @@ -46,8 +47,14 @@ if [[ ! -z ${EXTRA_PKGS_LIST:-} ]]; then fi fi +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm +dnf config-manager --set-disabled epel dnf install -y --enablerepo=epel inotify-tools +# NOTE(elfosardo): we need to reinstall tzdata as the base CS9 container removes +# its content, for more info see https://bugzilla.redhat.com/show_bug.cgi?id=2052861 +dnf reinstall -y tzdata + chown ironic:ironic /var/log/ironic # This file is generated after installing mod_ssl and it affects our configuration rm -f /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/autoindex.conf /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.modules.d/*.conf