Message ID | 20240412132415.282354-5-thuth@redhat.com |
---|---|
State | New |
Headers | show |
Series | Drop old distros, bump glib and switch to glib URI parsing code | expand |
On Fri, Apr 12, 2024 at 03:24:06PM +0200, Thomas Huth wrote: > RHEL 9 (and thus also the derivatives) are available since two years > now, so according to QEMU's support policy, we can drop the active > support for the previous major version 8 now. > Thus upgrade our CentOS Stream container to major version 9 now. > > Signed-off-by: Thomas Huth <thuth@redhat.com> > --- > .gitlab-ci.d/buildtest.yml | 16 ++++----- > .gitlab-ci.d/container-core.yml | 4 +-- > .../{centos8.docker => centos9.docker} | 34 +++++++------------ > tests/lcitool/mappings.yml | 20 ----------- > tests/lcitool/refresh | 2 +- > tests/vm/centos | 4 +-- > 6 files changed, 26 insertions(+), 54 deletions(-) > rename tests/docker/dockerfiles/{centos8.docker => centos9.docker} (82%) Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> With regards, Daniel
On Fri, Apr 12, 2024 at 03:24:06PM +0200, Thomas Huth wrote: > RHEL 9 (and thus also the derivatives) are available since two years > now, so according to QEMU's support policy, we can drop the active > support for the previous major version 8 now. > Thus upgrade our CentOS Stream container to major version 9 now. The second reason for doing this is that Centos Stream 8 will go EOL in about 1 month: https://blog.centos.org/2023/04/end-dates-are-coming-for-centos-stream-8-and-centos-linux-7/ "After May 31, 2024, CentOS Stream 8 will be archived and no further updates will be provided." I'm seeking confirmation, but I suspect after that date we will be unable to build centos8 containers, as the package repos will likely be archived. RHEL-8 and other derivatives (Alma Linux, Rocky Linux, etc) remain actively supported by their respective vendors / communities. Only CentOS Stream EOLs. This has implications for our CI on stable branches. It is valid for our stable branches to continue targetting the RHEL-8 family of distros, as a 2 year cutoff in our support policy is evaluated at time of each given major release. IOW, cherry-picking this change to switch to CentOS Stream 9 is possibly inappropriate for stable branches. lcitool supports Alma Linux as target, so we could switch stable branches to Alma Linux 8 if desired to keep CI coverage of RHEL-8 family. Thoughts ? > > Signed-off-by: Thomas Huth <thuth@redhat.com> > --- > .gitlab-ci.d/buildtest.yml | 16 ++++----- > .gitlab-ci.d/container-core.yml | 4 +-- > .../{centos8.docker => centos9.docker} | 34 +++++++------------ > tests/lcitool/mappings.yml | 20 ----------- > tests/lcitool/refresh | 2 +- > tests/vm/centos | 4 +-- > 6 files changed, 26 insertions(+), 54 deletions(-) > rename tests/docker/dockerfiles/{centos8.docker => centos9.docker} (82%) > > diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml > index cfdff175c3..9f34c650d6 100644 > --- a/.gitlab-ci.d/buildtest.yml > +++ b/.gitlab-ci.d/buildtest.yml > @@ -158,9 +158,9 @@ build-system-centos: > - .native_build_job_template > - .native_build_artifact_template > needs: > - job: amd64-centos8-container > + job: amd64-centos9-container > variables: > - IMAGE: centos8 > + IMAGE: centos9 > CONFIGURE_ARGS: --disable-nettle --enable-gcrypt --enable-vfio-user-server > --enable-modules --enable-trace-backends=dtrace --enable-docs > TARGETS: ppc64-softmmu or1k-softmmu s390x-softmmu > @@ -242,7 +242,7 @@ check-system-centos: > - job: build-system-centos > artifacts: true > variables: > - IMAGE: centos8 > + IMAGE: centos9 > MAKE_CHECK_ARGS: check > > avocado-system-centos: > @@ -251,7 +251,7 @@ avocado-system-centos: > - job: build-system-centos > artifacts: true > variables: > - IMAGE: centos8 > + IMAGE: centos9 > MAKE_CHECK_ARGS: check-avocado > AVOCADO_TAGS: arch:ppc64 arch:or1k arch:s390x arch:x86_64 arch:rx > arch:sh4 arch:nios2 > @@ -327,9 +327,9 @@ avocado-system-flaky: > build-tcg-disabled: > extends: .native_build_job_template > needs: > - job: amd64-centos8-container > + job: amd64-centos9-container > variables: > - IMAGE: centos8 > + IMAGE: centos9 > script: > - mkdir build > - cd build > @@ -651,9 +651,9 @@ build-tci: > build-without-defaults: > extends: .native_build_job_template > needs: > - job: amd64-centos8-container > + job: amd64-centos9-container > variables: > - IMAGE: centos8 > + IMAGE: centos9 > CONFIGURE_ARGS: > --without-default-devices > --without-default-features > diff --git a/.gitlab-ci.d/container-core.yml b/.gitlab-ci.d/container-core.yml > index 08f8450fa1..5459447676 100644 > --- a/.gitlab-ci.d/container-core.yml > +++ b/.gitlab-ci.d/container-core.yml > @@ -1,10 +1,10 @@ > include: > - local: '/.gitlab-ci.d/container-template.yml' > > -amd64-centos8-container: > +amd64-centos9-container: > extends: .container_job_template > variables: > - NAME: centos8 > + NAME: centos9 > > amd64-fedora-container: > extends: .container_job_template > diff --git a/tests/docker/dockerfiles/centos8.docker b/tests/docker/dockerfiles/centos9.docker > similarity index 82% > rename from tests/docker/dockerfiles/centos8.docker > rename to tests/docker/dockerfiles/centos9.docker > index ea618bf352..6cf47ce786 100644 > --- a/tests/docker/dockerfiles/centos8.docker > +++ b/tests/docker/dockerfiles/centos9.docker > @@ -1,15 +1,14 @@ > # THIS FILE WAS AUTO-GENERATED > # > -# $ lcitool dockerfile --layers all centos-stream-8 qemu > +# $ lcitool dockerfile --layers all centos-stream-9 qemu > # > # https://gitlab.com/libvirt/libvirt-ci > > -FROM quay.io/centos/centos:stream8 > +FROM quay.io/centos/centos:stream9 > > RUN dnf distro-sync -y && \ > dnf install 'dnf-command(config-manager)' -y && \ > - dnf config-manager --set-enabled -y powertools && \ > - dnf install -y centos-release-advanced-virtualization && \ > + dnf config-manager --set-enabled -y crb && \ > dnf install -y epel-release && \ > dnf install -y epel-next-release && \ > dnf install -y \ > @@ -42,7 +41,6 @@ RUN dnf distro-sync -y && \ > glib2-static \ > glibc-langpack-en \ > glibc-static \ > - glusterfs-api-devel \ > gnutls-devel \ > gtk3-devel \ > hostname \ > @@ -82,6 +80,7 @@ RUN dnf distro-sync -y && \ > lzo-devel \ > make \ > mesa-libgbm-devel \ > + meson \ > mtools \ > ncurses-devel \ > nettle-devel \ > @@ -95,25 +94,25 @@ RUN dnf distro-sync -y && \ > pixman-devel \ > pkgconfig \ > pulseaudio-libs-devel \ > - python38 \ > - python38-PyYAML \ > - python38-numpy \ > - python38-pip \ > - python38-setuptools \ > - python38-wheel \ > + python3 \ > + python3-PyYAML \ > + python3-numpy \ > + python3-pillow \ > + python3-pip \ > + python3-sphinx \ > + python3-sphinx_rtd_theme \ > + python3-tomli \ > rdma-core-devel \ > sed \ > snappy-devel \ > socat \ > spice-protocol \ > - spice-server-devel \ > swtpm \ > systemd-devel \ > systemtap-sdt-devel \ > tar \ > usbredir-devel \ > util-linux \ > - virglrenderer-devel \ > vte291-devel \ > which \ > xfsprogs-devel \ > @@ -132,18 +131,11 @@ RUN dnf distro-sync -y && \ > ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \ > ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc > > -RUN /usr/bin/pip3.8 install \ > - meson==0.63.2 \ > - pillow \ > - sphinx \ > - sphinx-rtd-theme \ > - tomli > - > ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" > ENV LANG "en_US.UTF-8" > ENV MAKE "/usr/bin/make" > ENV NINJA "/usr/bin/ninja" > -ENV PYTHON "/usr/bin/python3.8" > +ENV PYTHON "/usr/bin/python3" > # As a final step configure the user (if env is defined) > ARG USER > ARG UID > diff --git a/tests/lcitool/mappings.yml b/tests/lcitool/mappings.yml > index 407c03301b..03b974ad02 100644 > --- a/tests/lcitool/mappings.yml > +++ b/tests/lcitool/mappings.yml > @@ -1,66 +1,50 @@ > mappings: > flake8: > - CentOSStream8: > OpenSUSELeap15: > > meson: > - CentOSStream8: > OpenSUSELeap15: > > python3: > - CentOSStream8: python38 > OpenSUSELeap15: python311-base > > python3-PyYAML: > - CentOSStream8: python38-PyYAML > OpenSUSELeap15: > > python3-devel: > - CentOSStream8: python38-devel > OpenSUSELeap15: python311-devel > > python3-docutils: > - CentOSStream8: > OpenSUSELeap15: > > python3-numpy: > - CentOSStream8: python38-numpy > OpenSUSELeap15: > > python3-opencv: > - CentOSStream8: > OpenSUSELeap15: > > python3-pillow: > - CentOSStream8: > OpenSUSELeap15: > > python3-pip: > - CentOSStream8: python38-pip > OpenSUSELeap15: python311-pip > > python3-pillow: > - CentOSStream8: > OpenSUSELeap15: > > python3-selinux: > - CentOSStream8: > OpenSUSELeap15: > > python3-setuptools: > - CentOSStream8: python38-setuptools > OpenSUSELeap15: python311-setuptools > > python3-sphinx: > - CentOSStream8: > OpenSUSELeap15: > > python3-sphinx-rtd-theme: > - CentOSStream8: > OpenSUSELeap15: > > python3-sqlite3: > - CentOSStream8: python38 > OpenSUSELeap15: python311 > > python3-tomli: > @@ -69,15 +53,11 @@ mappings: > Fedora: > Debian12: > OpenSUSELeap15: > - # Not available for Python 3.8 > - CentOSStream8: > > python3-venv: > - CentOSStream8: python38 > OpenSUSELeap15: python311-base > > python3-wheel: > - CentOSStream8: python38-wheel > OpenSUSELeap15: python311-pip > > pypi_mappings: > diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh > index 692752a3df..24a735a3f2 100755 > --- a/tests/lcitool/refresh > +++ b/tests/lcitool/refresh > @@ -125,7 +125,7 @@ try: > # Standard native builds > # > generate_dockerfile("alpine", "alpine-318") > - generate_dockerfile("centos8", "centos-stream-8") > + generate_dockerfile("centos9", "centos-stream-9") > generate_dockerfile("debian", "debian-12", > trailer="".join(debian12_extras)) > generate_dockerfile("fedora", "fedora-38") > diff --git a/tests/vm/centos b/tests/vm/centos > index 097a9ca14d..d25c8f8b5b 100755 > --- a/tests/vm/centos > +++ b/tests/vm/centos > @@ -26,8 +26,8 @@ class CentosVM(basevm.BaseVM): > export SRC_ARCHIVE=/dev/vdb; > sudo chmod a+r $SRC_ARCHIVE; > tar -xf $SRC_ARCHIVE; > - make docker-test-block@centos8 {verbose} J={jobs} NETWORK=1; > - make docker-test-quick@centos8 {verbose} J={jobs} NETWORK=1; > + make docker-test-block@centos9 {verbose} J={jobs} NETWORK=1; > + make docker-test-quick@centos9 {verbose} J={jobs} NETWORK=1; > """ > > def build_image(self, img): > -- > 2.44.0 > With regards, Daniel
On 17/04/2024 18.15, Daniel P. Berrangé wrote: > On Fri, Apr 12, 2024 at 03:24:06PM +0200, Thomas Huth wrote: >> RHEL 9 (and thus also the derivatives) are available since two years >> now, so according to QEMU's support policy, we can drop the active >> support for the previous major version 8 now. >> Thus upgrade our CentOS Stream container to major version 9 now. > > The second reason for doing this is that Centos Stream 8 > will go EOL in about 1 month: > > https://blog.centos.org/2023/04/end-dates-are-coming-for-centos-stream-8-and-centos-linux-7/ > > "After May 31, 2024, CentOS Stream 8 will be archived > and no further updates will be provided." > > I'm seeking confirmation, but I suspect after that date we > will be unable to build centos8 containers, as the package > repos will likely be archived. > > RHEL-8 and other derivatives (Alma Linux, Rocky Linux, > etc) remain actively supported by their respective vendors > / communities. Only CentOS Stream EOLs. > > > This has implications for our CI on stable branches. It is > valid for our stable branches to continue targetting the > RHEL-8 family of distros, as a 2 year cutoff in our support > policy is evaluated at time of each given major release. > > IOW, cherry-picking this change to switch to CentOS Stream > 9 is possibly inappropriate for stable branches. > > lcitool supports Alma Linux as target, so we could switch > stable branches to Alma Linux 8 if desired to keep CI > coverage of RHEL-8 family. > > Thoughts ? Either use AlmaLinux for the stable branches, or drop the EL 8 testing in the stable CI completely ... I assume that the probability will be rather low that we break something there by backporting some few patches (and if so, people can still complain by opening a bug ticket, then we can fix it in the following stable release). Thomas
diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml index cfdff175c3..9f34c650d6 100644 --- a/.gitlab-ci.d/buildtest.yml +++ b/.gitlab-ci.d/buildtest.yml @@ -158,9 +158,9 @@ build-system-centos: - .native_build_job_template - .native_build_artifact_template needs: - job: amd64-centos8-container + job: amd64-centos9-container variables: - IMAGE: centos8 + IMAGE: centos9 CONFIGURE_ARGS: --disable-nettle --enable-gcrypt --enable-vfio-user-server --enable-modules --enable-trace-backends=dtrace --enable-docs TARGETS: ppc64-softmmu or1k-softmmu s390x-softmmu @@ -242,7 +242,7 @@ check-system-centos: - job: build-system-centos artifacts: true variables: - IMAGE: centos8 + IMAGE: centos9 MAKE_CHECK_ARGS: check avocado-system-centos: @@ -251,7 +251,7 @@ avocado-system-centos: - job: build-system-centos artifacts: true variables: - IMAGE: centos8 + IMAGE: centos9 MAKE_CHECK_ARGS: check-avocado AVOCADO_TAGS: arch:ppc64 arch:or1k arch:s390x arch:x86_64 arch:rx arch:sh4 arch:nios2 @@ -327,9 +327,9 @@ avocado-system-flaky: build-tcg-disabled: extends: .native_build_job_template needs: - job: amd64-centos8-container + job: amd64-centos9-container variables: - IMAGE: centos8 + IMAGE: centos9 script: - mkdir build - cd build @@ -651,9 +651,9 @@ build-tci: build-without-defaults: extends: .native_build_job_template needs: - job: amd64-centos8-container + job: amd64-centos9-container variables: - IMAGE: centos8 + IMAGE: centos9 CONFIGURE_ARGS: --without-default-devices --without-default-features diff --git a/.gitlab-ci.d/container-core.yml b/.gitlab-ci.d/container-core.yml index 08f8450fa1..5459447676 100644 --- a/.gitlab-ci.d/container-core.yml +++ b/.gitlab-ci.d/container-core.yml @@ -1,10 +1,10 @@ include: - local: '/.gitlab-ci.d/container-template.yml' -amd64-centos8-container: +amd64-centos9-container: extends: .container_job_template variables: - NAME: centos8 + NAME: centos9 amd64-fedora-container: extends: .container_job_template diff --git a/tests/docker/dockerfiles/centos8.docker b/tests/docker/dockerfiles/centos9.docker similarity index 82% rename from tests/docker/dockerfiles/centos8.docker rename to tests/docker/dockerfiles/centos9.docker index ea618bf352..6cf47ce786 100644 --- a/tests/docker/dockerfiles/centos8.docker +++ b/tests/docker/dockerfiles/centos9.docker @@ -1,15 +1,14 @@ # THIS FILE WAS AUTO-GENERATED # -# $ lcitool dockerfile --layers all centos-stream-8 qemu +# $ lcitool dockerfile --layers all centos-stream-9 qemu # # https://gitlab.com/libvirt/libvirt-ci -FROM quay.io/centos/centos:stream8 +FROM quay.io/centos/centos:stream9 RUN dnf distro-sync -y && \ dnf install 'dnf-command(config-manager)' -y && \ - dnf config-manager --set-enabled -y powertools && \ - dnf install -y centos-release-advanced-virtualization && \ + dnf config-manager --set-enabled -y crb && \ dnf install -y epel-release && \ dnf install -y epel-next-release && \ dnf install -y \ @@ -42,7 +41,6 @@ RUN dnf distro-sync -y && \ glib2-static \ glibc-langpack-en \ glibc-static \ - glusterfs-api-devel \ gnutls-devel \ gtk3-devel \ hostname \ @@ -82,6 +80,7 @@ RUN dnf distro-sync -y && \ lzo-devel \ make \ mesa-libgbm-devel \ + meson \ mtools \ ncurses-devel \ nettle-devel \ @@ -95,25 +94,25 @@ RUN dnf distro-sync -y && \ pixman-devel \ pkgconfig \ pulseaudio-libs-devel \ - python38 \ - python38-PyYAML \ - python38-numpy \ - python38-pip \ - python38-setuptools \ - python38-wheel \ + python3 \ + python3-PyYAML \ + python3-numpy \ + python3-pillow \ + python3-pip \ + python3-sphinx \ + python3-sphinx_rtd_theme \ + python3-tomli \ rdma-core-devel \ sed \ snappy-devel \ socat \ spice-protocol \ - spice-server-devel \ swtpm \ systemd-devel \ systemtap-sdt-devel \ tar \ usbredir-devel \ util-linux \ - virglrenderer-devel \ vte291-devel \ which \ xfsprogs-devel \ @@ -132,18 +131,11 @@ RUN dnf distro-sync -y && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc -RUN /usr/bin/pip3.8 install \ - meson==0.63.2 \ - pillow \ - sphinx \ - sphinx-rtd-theme \ - tomli - ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" ENV LANG "en_US.UTF-8" ENV MAKE "/usr/bin/make" ENV NINJA "/usr/bin/ninja" -ENV PYTHON "/usr/bin/python3.8" +ENV PYTHON "/usr/bin/python3" # As a final step configure the user (if env is defined) ARG USER ARG UID diff --git a/tests/lcitool/mappings.yml b/tests/lcitool/mappings.yml index 407c03301b..03b974ad02 100644 --- a/tests/lcitool/mappings.yml +++ b/tests/lcitool/mappings.yml @@ -1,66 +1,50 @@ mappings: flake8: - CentOSStream8: OpenSUSELeap15: meson: - CentOSStream8: OpenSUSELeap15: python3: - CentOSStream8: python38 OpenSUSELeap15: python311-base python3-PyYAML: - CentOSStream8: python38-PyYAML OpenSUSELeap15: python3-devel: - CentOSStream8: python38-devel OpenSUSELeap15: python311-devel python3-docutils: - CentOSStream8: OpenSUSELeap15: python3-numpy: - CentOSStream8: python38-numpy OpenSUSELeap15: python3-opencv: - CentOSStream8: OpenSUSELeap15: python3-pillow: - CentOSStream8: OpenSUSELeap15: python3-pip: - CentOSStream8: python38-pip OpenSUSELeap15: python311-pip python3-pillow: - CentOSStream8: OpenSUSELeap15: python3-selinux: - CentOSStream8: OpenSUSELeap15: python3-setuptools: - CentOSStream8: python38-setuptools OpenSUSELeap15: python311-setuptools python3-sphinx: - CentOSStream8: OpenSUSELeap15: python3-sphinx-rtd-theme: - CentOSStream8: OpenSUSELeap15: python3-sqlite3: - CentOSStream8: python38 OpenSUSELeap15: python311 python3-tomli: @@ -69,15 +53,11 @@ mappings: Fedora: Debian12: OpenSUSELeap15: - # Not available for Python 3.8 - CentOSStream8: python3-venv: - CentOSStream8: python38 OpenSUSELeap15: python311-base python3-wheel: - CentOSStream8: python38-wheel OpenSUSELeap15: python311-pip pypi_mappings: diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh index 692752a3df..24a735a3f2 100755 --- a/tests/lcitool/refresh +++ b/tests/lcitool/refresh @@ -125,7 +125,7 @@ try: # Standard native builds # generate_dockerfile("alpine", "alpine-318") - generate_dockerfile("centos8", "centos-stream-8") + generate_dockerfile("centos9", "centos-stream-9") generate_dockerfile("debian", "debian-12", trailer="".join(debian12_extras)) generate_dockerfile("fedora", "fedora-38") diff --git a/tests/vm/centos b/tests/vm/centos index 097a9ca14d..d25c8f8b5b 100755 --- a/tests/vm/centos +++ b/tests/vm/centos @@ -26,8 +26,8 @@ class CentosVM(basevm.BaseVM): export SRC_ARCHIVE=/dev/vdb; sudo chmod a+r $SRC_ARCHIVE; tar -xf $SRC_ARCHIVE; - make docker-test-block@centos8 {verbose} J={jobs} NETWORK=1; - make docker-test-quick@centos8 {verbose} J={jobs} NETWORK=1; + make docker-test-block@centos9 {verbose} J={jobs} NETWORK=1; + make docker-test-quick@centos9 {verbose} J={jobs} NETWORK=1; """ def build_image(self, img):
RHEL 9 (and thus also the derivatives) are available since two years now, so according to QEMU's support policy, we can drop the active support for the previous major version 8 now. Thus upgrade our CentOS Stream container to major version 9 now. Signed-off-by: Thomas Huth <thuth@redhat.com> --- .gitlab-ci.d/buildtest.yml | 16 ++++----- .gitlab-ci.d/container-core.yml | 4 +-- .../{centos8.docker => centos9.docker} | 34 +++++++------------ tests/lcitool/mappings.yml | 20 ----------- tests/lcitool/refresh | 2 +- tests/vm/centos | 4 +-- 6 files changed, 26 insertions(+), 54 deletions(-) rename tests/docker/dockerfiles/{centos8.docker => centos9.docker} (82%)