[gate] nova-compute failing with python 3.6 + libvirt-python 6.8.0
Kashyap Chamarthy
kchamart at redhat.com
Mon Oct 26 12:17:17 UTC 2020
On Sun, Oct 25, 2020 at 12:45:57AM -0700, melanie witt wrote:
> I've updated subject line to more specifically describe the issue. Details
> inline.
[...]
Hi, Mel
> I tried another DNM patch to revert the libvirt-python bump from 6.6.0 to
> 6.8.0:
>
> https://review.opendev.org/759552
>
> and rechecked my nova patch that Depends-On it:
>
> https://review.opendev.org/759506
>
> And it nova-compute runs successfully. So it's definitely the libvirt-python
> patch bump that's causing the failure.
>
> Yet, on the upper-constraints bump patch, nova-compute ran fine with the new
> libvirt-python version 6.8.0. WHY?!
Yeah, that really is puzzling / strange.
> I found that the upper-constraints patch ran tempest with python 3.8 and it
> passed with libvirt-python 6.8.0 [2] BUT our jobs (and some other projects
> jobs) run with python 3.6 [3] and it fails with libvirt-python 6.8.0.
>
> So there appears to be some kind of incompatibility between python 3.6 and
> libvirt-python 6.8.0. I'm not sure what we can do here besides revert the
> libvirt-python bump and go back to 6.6.0. AFAIK we still need to have
> integration test coverage for python 3.6 still (correct me if I'm wrong).
> I'm also not sure if there's way we could configure libvirt-python 6.8.0 for
> python 3.8 and libvirt python 6.6.0 for python 3.6.
>
> Our jobs running python 3.8 are passing: nova-next, nova-ceph-multistore,
> nova-multi-cell, tempest-ipv6-only.
>
> Our jobs running python 3.6 are failing: tempest-integrated-compute,
> grenade, nova-live-migration.
>
> I had a look through the libvirt-python repo to see what changed between
> 6.6.0 and 6.8.0 and can't tell what's the root cause. We get the TypeError
> raised in nova-compute when we call the libvirt openAuth method but nothing
> in this diff [4] looks problematic?
Great sleuthing so far. (Not to mention the terribly cryptic orignal
error message)
As a small addendum, was talking to Dan Berrangé from libvirt and
pointed to the openAuth() method ... and he wrote a quick
'libvirt-python' unit test for the openAuth() method:
https://gitlab.com/libvirt/libvirt-python/-/merge_requests/28/diffs
... and it seems to be working as expected (based on the CI result):
https://gitlab.com/libvirt/libvirt-python/-/merge_requests/28/pipelines
... it seems to validate several operating system platforms (and Python
versions), including Ubuntu 18.04:
https://gitlab.com/berrange/libvirt-python/-/pipelines/207610554
> I've opened a bug to capture the info I found so far:
>
> https://bugs.launchpad.net/nova/+bug/1901383
>
> -melanie
>
> > [1] https://zuul.opendev.org/t/openstack/build/20f1d309663347c28112b711b82b9c03/log/controller/logs/screen-n-cpu.txt?severity=4#861
>
> [2] https://zuul.opendev.org/t/openstack/build/81f1f400b43b4e22bdae3ce1c2de92a8/log/job-output.txt#1283
> [3] https://zuul.opendev.org/t/openstack/build/96b64d8e869f46d1a88ee0f728f013f6/log/job-output.txt#1234
> [4] https://github.com/libvirt/libvirt-python/compare/v6.6.0...v6.8.0#diff-a3d0475c2dfecd386f36307bc70befd9d5bd69daceadc61a5589ee86413d04c7L91
>
--
/kashyap
More information about the openstack-discuss
mailing list