[CentOS-devel] [EXT] Re: Re: Qemu VS GlusterFS - liburing rpm conlisions

Thu Jun 29 15:41:47 UTC 2023
Niels de Vos <ndevos at redhat.com>

On Wed, 2023-06-28 at 12:10 +0200, Peter Georg wrote:
> On 09/06/2023 17.12, Niels de Vos wrote:
> > On Fri, 2023-06-09 at 16:18 +0200, Peter Georg wrote:
> > > 
> > > 
> > > On 09/06/2023 15.17, Niels de Vos wrote:
> > > > On Fri, 2023-06-09 at 13:03 +0200, lejeczek via CentOS-devel
> > > > wrote:
> > > > > 
> > > > > 
> > > > > On 01/06/2023 14:46, Niels de Vos wrote:
> > > > > > On Thu, 2023-06-01 at 09:51 +0200, lejeczek via CentOS-
> > > > > > devel
> > > > > > wrote:
> > > > > > > 
> > > > > > > On 31/05/2023 20:30, Troy Dawson wrote:
> > > > > > > > Just to be clear, this is the glusterfs from the
> > > > > > > > glusterfs
> > > > > > > > SIG,
> > > > > > > > not the gluster that comes standard with CentOS Stream
> > > > > > > > 9.
> > > > > > > > 
> > > > > > > > 
> > > > > > > > On Wed, May 31, 2023 at 12:30 AM lejeczek via CentOS-
> > > > > > > > devel
> > > > > > > > <centos-devel at centos.org> wrote:
> > > > > > > > 
> > > > > > > >        Hi guys.
> > > > > > > >        Just to let you know that with GlusterFS &
> > > > > > > > latest
> > > > > > > > qemu
> > > > > > > >        updates - on Centos 9 I'd image most will have
> > > > > > > > these
> > > > > > > > -
> > > > > > > >        there are conflicts which brake update:
> > > > > > > > 
> > > > > > > >        -> $ dnf update
> > > > > > > > 
> > > > > > > >        Error:
> > > > > > > >         Problem 1: package qemu-img-17:8.0.0-
> > > > > > > > 4.el9.x86_64
> > > > > > > >        from appstream requires liburing.so.1()(64bit),
> > > > > > > > but
> > > > > > > >        none of the providers can be installed
> > > > > > > >          - package qemu-img-17:8.0.0-4.el9.x86_64 from
> > > > > > > >        appstream requires
> > > > > > > > liburing.so.1(LIBURING_0.1)(64bit),
> > > > > > > >        but none of the providers can be installed
> > > > > > > >          - package qemu-img-17:8.0.0-4.el9.x86_64 from
> > > > > > > >        appstream requires
> > > > > > > > liburing.so.1(LIBURING_0.2)(64bit),
> > > > > > > >        but none of the providers can be installed
> > > > > > > >          - cannot install both liburing-0.7-
> > > > > > > > 7.el9.x86_64
> > > > > > > > from
> > > > > > > >        appstream and liburing-2.0-1.el9s.x86_64 from
> > > > > > > > @System
> > > > > > > >          - cannot install the best update candidate for
> > > > > > > >        package qemu-img-17:8.0.0-2.el9.x86_64
> > > > > > > >          - cannot install the best update candidate for
> > > > > > > >        package liburing-2.0-1.el9s.x86_64
> > > > > > > >         Problem 2: package
> > > > > > > >        glusterfs-server-11.0-1.el9s.x86_64 from @System
> > > > > > > >        requires liburing.so.2()(64bit), but none of the
> > > > > > > >        providers can be installed
> > > > > > > >          - package glusterfs-server-11.0-1.el9s.x86_64
> > > > > > > > from
> > > > > > > >        @System requires
> > > > > > > > liburing.so.2(LIBURING_2.0)(64bit),
> > > > > > > >        but none of the providers can be installed
> > > > > > > >          - cannot install both liburing-0.7-
> > > > > > > > 7.el9.x86_64
> > > > > > > > from
> > > > > > > >        appstream and liburing-2.0-1.el9s.x86_64 from
> > > > > > > > @System
> > > > > > > >          - cannot install both liburing-0.7-
> > > > > > > > 7.el9.x86_64
> > > > > > > > from
> > > > > > > >        appstream and liburing-2.0-1.el9s.x86_64 from
> > > > > > > >        centos-gluster11
> > > > > > > >          - cannot install both liburing-0.7-
> > > > > > > > 7.el9.x86_64
> > > > > > > > from
> > > > > > > >        appstream and liburing-2.0-1.el9s.x86_64 from
> > > > > > > >        centos-gluster11-test
> > > > > > > >          - package qemu-kvm-core-17:8.0.0-4.el9.x86_64
> > > > > > > > from
> > > > > > > >        appstream requires liburing.so.1()(64bit), but
> > > > > > > > none
> > > > > > > > of
> > > > > > > >        the providers can be installed
> > > > > > > >          - package qemu-kvm-core-17:8.0.0-4.el9.x86_64
> > > > > > > > from
> > > > > > > >        appstream requires
> > > > > > > > liburing.so.1(LIBURING_0.1)(64bit),
> > > > > > > >        but none of the providers can be installed
> > > > > > > >          - package qemu-kvm-core-17:8.0.0-4.el9.x86_64
> > > > > > > > from
> > > > > > > >        appstream requires
> > > > > > > > liburing.so.1(LIBURING_0.2)(64bit),
> > > > > > > >        but none of the providers can be installed
> > > > > > > >          - cannot install the best update candidate for
> > > > > > > >        package qemu-kvm-core-17:8.0.0-2.el9.x86_64
> > > > > > > >          - cannot install the best update candidate for
> > > > > > > >        package glusterfs-server-11.0-1.el9s.x86_64
> > > > > > > >         Problem 3: problem with installed package
> > > > > > > >        liburing-2.0-1.el9s.x86_64
> > > > > > > >          - cannot install both liburing-0.7-
> > > > > > > > 7.el9.x86_64
> > > > > > > > from
> > > > > > > >        appstream and liburing-2.0-1.el9s.x86_64 from
> > > > > > > > @System
> > > > > > > >          - cannot install both liburing-0.7-
> > > > > > > > 7.el9.x86_64
> > > > > > > > from
> > > > > > > >        appstream and liburing-2.0-1.el9s.x86_64 from
> > > > > > > >        centos-gluster11
> > > > > > > >          - cannot install both liburing-0.7-
> > > > > > > > 7.el9.x86_64
> > > > > > > > from
> > > > > > > >        appstream and liburing-2.0-1.el9s.x86_64 from
> > > > > > > >        centos-gluster11-test
> > > > > > > >          - package qemu-kvm-core-17:8.0.0-4.el9.x86_64
> > > > > > > > from
> > > > > > > >        appstream requires liburing.so.1()(64bit), but
> > > > > > > > none
> > > > > > > > of
> > > > > > > >        the providers can be installed
> > > > > > > >          - package qemu-kvm-core-17:8.0.0-4.el9.x86_64
> > > > > > > > from
> > > > > > > >        appstream requires
> > > > > > > > liburing.so.1(LIBURING_0.1)(64bit),
> > > > > > > >        but none of the providers can be installed
> > > > > > > >          - package qemu-kvm-core-17:8.0.0-4.el9.x86_64
> > > > > > > > from
> > > > > > > >        appstream requires
> > > > > > > > liburing.so.1(LIBURING_0.2)(64bit),
> > > > > > > >        but none of the providers can be installed
> > > > > > > >          - problem with installed package
> > > > > > > >        qemu-kvm-core-17:8.0.0-2.el9.x86_64
> > > > > > > >          - package qemu-kvm-core-17:8.0.0-2.el9.x86_64
> > > > > > > > from
> > > > > > > >        @System requires qemu-kvm-common = 17:8.0.0-
> > > > > > > > 2.el9,
> > > > > > > > but
> > > > > > > >        none of the providers can be installed
> > > > > > > >          - package qemu-kvm-core-17:8.0.0-2.el9.x86_64
> > > > > > > > from
> > > > > > > >        appstream requires qemu-kvm-common = 17:8.0.0-
> > > > > > > > 2.el9,
> > > > > > > >        but none of the providers can be installed
> > > > > > > >          - cannot install both
> > > > > > > >        qemu-kvm-common-17:8.0.0-4.el9.x86_64 from
> > > > > > > > appstream
> > > > > > > >        and qemu-kvm-common-17:8.0.0-2.el9.x86_64 from
> > > > > > > > @System
> > > > > > > >          - cannot install both
> > > > > > > >        qemu-kvm-common-17:8.0.0-4.el9.x86_64 from
> > > > > > > > appstream
> > > > > > > >        and qemu-kvm-common-17:8.0.0-2.el9.x86_64 from
> > > > > > > > appstream
> > > > > > > >          - cannot install the best update candidate for
> > > > > > > >        package qemu-kvm-common-17:8.0.0-2.el9.x86_64
> > > > > > > >        (try to add '--allowerasing' to command line to
> > > > > > > >        replace conflicting packages or '--skip-broken'
> > > > > > > > to
> > > > > > > >        skip uninstallable packages or '--nobest' to use
> > > > > > > > not
> > > > > > > >        only best candidate packages)
> > > > > > > > 
> > > > > > > >        many thanks, L.
> > > > > > > >        _______________________________________________
> > > > > > > > 
> > > > > > > Yes, from SIG.
> > > > > > > centos-release-gluster11-1.0-1.el9s.noarch
> > > > > > liburing.so.1(LIBURING_0.1)(64bit) - needed by qemu
> > > > > > liburing.so.2(LIBURING_2.0)(64bit) - needed by glusterfs
> > > > > > 
> > > > > > I guess liburing was not available in earlier versions, and
> > > > > > was
> > > > > > therefore added to the gluster repository. We'll have to
> > > > > > remove
> > > > > > the
> > > > > > gluster version and rebuild the package against the
> > > > > > liburing
> > > > > > version
> > > > > > that is now part of CentOS Stream 9.
> > > > > > 
> > > > > > The gluster repository seems to have a newer liburing
> > > > > > version,
> > > > > > which
> > > > > > makes it difficult to downgrade to the appstream version
> > > > > > for
> > > > > > users
> > > > > > that
> > > > > > have the glusterfs-server package installed. Users in this
> > > > > > situation
> > > > > > may need to add --allowerasing while updating to the a
> > > > > > rebuild
> > > > > > of
> > > > > > the
> > > > > > glusterfs package.
> > > > > > 
> > > > > > Does anyone have an idea on how this can be handled best?
> > > > > > 
> > > > > > Thanks,
> > > > > > Niels
> > > > > > 
> > > > > Do you/devel guys (or anybody) have any fix ready to go into
> > > > > the pipelines?
> > > > > It'd good to know before I, rest of us, begin tinkering with
> > > > > qemu & glusterfs.
> > > > 
> > > > liburing-devel does not seem to be available in the buildroot
> > > > that
> > > > is
> > > > configured for Gluster. Untagging the liburing-2 package causes
> > > > builds
> > > > to fail as it can not be installed.
> > > 
> > > liburing-devel corresponding to the liburing version in appstream
> > > is
> > > available in EPEL. However, EPEL is not enabled for
> > > storage9s-gluster-11-el9s.
> > > 
> > 
> > Thanks for the info! If the EPEL version is compatible, it makes
> > sense
> > to get it added to the buildroot.
> > 
> > > > I am currently tending towards building glusterfs without
> > > > liburing
> > > > support. Maybe it makes sense to have the appstream(-devel?)
> > > > repository
> > > > included for the gluster buildroots, but I am not sure about
> > > > that.
> > 
> > The above is what I'm making available in the ..-test repositories
> > for
> > CentOS Stream 11 & 10. Performance might be a little lower without
> > liburing, but at least there are no conflicts when installing the
> > packages next to QEMU. Test results are very welcome!
> > 
> > > > What do others think about this?
> > > 
> > > Not directly related, but assuming you use liburing by utilizing
> > > EPEL
> > > and at the same time also drop other dependencies from
> > > storage9s-gluster-11-el9s which are satisfied by EPEL, the
> > > resulting
> > > glusterfs rpms might actually end up being the very similar to
> > > what
> > > we
> > > currently provide for EL, i.e., in storage9-gluster-11-el9. The
> > > glusterfs packages provided for EL do not suffers from these
> > > liburing
> > > conflicts. Obviously these are build using RHEL build roots, but
> > > very
> > > likely will work on Stream as well.
> > 
> > I like the idea, but it will still cause issues for users that are
> > updating and have liburing-2.x installed. Maybe the package gets
> > removed when glusterfs-server does not depend on liburing anymore?
> > That
> > would make a clean path for updating to a new version with liburing
> > from EPEL at one point.
> 
> liburing has been updated to 2.3 in CentOS Stream. So we now have a 
> clean path for updating as users who have liburing-2.0 (provided by
> the 
> storage SIG) installed will be updated to 2.3 as well. At some point
> you 
> might want to rebuild glusterfs with liburing enabled targeting the
> new 
> version now included in CentOS Stream.
> 
> In addition liburing-devel-2.3 is available in the CRB repository
> this 
> time. Which also means that liburing-epel [1] should be retired once 
> RHEL 9.3 (or whichever version will include liburing-2.3) has been
> released.

Great, thanks for sharing the latest state!

Niels