[PATCH] ci: Install python RPMs from libvirt/libvirt-python CI artifacts

Daniel P. Berrangé berrange at redhat.com
Thu Oct 13 09:44:49 UTC 2022


On Thu, Oct 13, 2022 at 11:42:06AM +0200, Erik Skultety wrote:
> On Thu, Oct 13, 2022 at 09:06:53AM +0100, Daniel P. Berrangé wrote:
> > On Thu, Oct 13, 2022 at 09:43:50AM +0200, Erik Skultety wrote:
> > > On Mon, Oct 10, 2022 at 11:09:51AM +0100, Daniel P. Berrangé wrote:
> > > > On Mon, Oct 10, 2022 at 11:46:43AM +0200, Peter Krempa wrote:
> > > > > After addition of the new libvirt-client-qemu sub-package which is using
> > > > > python bindings (thus creating a circular dependency between the libvirt
> > > > > and libvirt-python projects) the integration jobs fail with:
> > > > > 
> > > > >   Error:
> > > > >    Problem: conflicting requests
> > > > >     - nothing provides python3-libvirt >= 8.9.0-1.el9 needed by libvirt-client-qemu-8.9.0-1.el9.x86_64
> > > > 
> > > > Hmm, I wonder, should we really be trying to install *all* RPMs ?
> > > > 
> > > > IIUC, we're only running integration tests for QEMU, so it ought
> > > > to be sufficient to do only have the QEMU driver and virsh client
> > > > and Perl APIs. eg can we change ci/integrate-templates.yml to
> > > > do
> > > > 
> > > >    createrepo libvirt-rpms
> > > >    createrepo libvirt-perl
> > > >    dnf install libvirt-daemon-qemu libvirt-client perl-Sys-Virt
> > > 
> > > Sorry for the delay, I was actually integrating ^this suggestion and GitLab is,
> > > well, slow to test these changes with. Anyhow, I vote for Peter's original
> > > patch as it's the simplest and cleanest way to fix the problem, why? Here's
> > > what I ended up with on my branch:
> > > 
> > > diff --git a/ci/integration-template.yml b/ci/integration-template.yml
> > > index d4799b2ca8..9c58a1b71c 100644
> > > --- a/ci/integration-template.yml
> > > +++ b/ci/integration-template.yml
> > > @@ -25,7 +25,31 @@
> > > 
> > > 
> > >  .install-deps: &install-deps
> > > -  - sudo dnf install -y libvirt-rpms/* libvirt-perl-rpms/*
> > > +  - sudo dnf install -y createrepo
> > > +  - createrepo libvirt-rpms
> > > +  - createrepo libvirt-perl-rpms
> > > +  - |-
> > > +    for repo in libvirt-rpms libvirt-perl-rpms; do
> > > +    cat << EOF >> "$SCRATCH_DIR/ci.repo"
> > > +    [CI-$repo]
> > > +    name=ci-$repo
> > > +    baseurl=file://$(pwd)/$repo
> > > +    enabled=1
> > > +    gpgcheck=0
> > > +    EOF
> > > +    done
> > > +  - sudo mv "$SCRATCH_DIR/ci.repo" /etc/yum.repos.d/
> > > +  - sudo dnf install -y
> > > +          libvirt-daemon-config-nwfilter
> > > +          libvirt-daemon-config-network
> > > +          libvirt-daemon-driver-interface
> > > +          libvirt-daemon-driver-network
> > > +          libvirt-daemon-driver-nodedev
> > > +          libvirt-daemon-driver-nwfilter
> > > +          libvirt-daemon-driver-qemu
> > > +          libvirt-daemon-driver-secret
> > > +          libvirt-daemon-driver-storage
> > > +          perl-Sys-Virt
> > >    - sudo pip3 install --prefix=/usr avocado-framework
> > 
> > FYI, can be simplified to:
> > 
> >   - sudo dnf install -y createrepo
> >   - createrepo libvirt-rpms
> >   - createrepo libvirt-perl-rpms
> >   - dnf config-manager --add-repo libvirt-rpms
> >   - dnf config-manager --add-repo libvirt-perl-rpms
> 
> Oh, I didn't know DNF could do this^^^, that's neat. I still prefer the
> simplicity of Peter's patch though.

Ok, I don't mind.


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


More information about the libvir-list mailing list