[openstack-dev] [nova] issues with fakelibvirt in tests

Daniel P. Berrange berrange at redhat.com
Thu Feb 12 18:10:59 UTC 2015


On Thu, Feb 12, 2015 at 11:49:12AM -0600, Matt Riedemann wrote:
> 
> 
> On 2/12/2015 11:32 AM, Sean Dague wrote:
> >Looking recently at the following failure -
> >http://logs.openstack.org/04/154804/1/gate/gate-nova-python27/1fe94bf/console.html#_2015-02-12_15_02_19_593
> >
> >It appears that the fakelibvirt fixture is potentially causing races in
> >tests because after the first test in a worker starts a libvirt
> >connection, the libvirt python library spawns a thread which keeps
> >running in a loop for the duration of the tests. This is happening
> >regardless of whether or not the test in question is using libvirt (as
> >in this case). Having threads thumping around in the background means
> >that doing things like testing for when sleep is called can fail because
> >libvirt's thread is getting in the way.
> >
> >What's the proper method of completely tearing down all the libvirt
> >resources so that when this fixture exits it will actually do that
> >correctly -
> >https://github.com/openstack/nova/blob/master/nova/tests/unit/virt/libvirt/fakelibvirt.py#L1181-L1202
> >and not impact unrelated tests?
> >
> >	-Sean
> >
> 
> fakelibvirt shouldn't be using libvirt-python at all since this change:
> 
> https://review.openstack.org/#/c/150148/
> 
> I'm not saying there isn't a thing going on, but not sure how libvirt-python
> would be involved since it's not in test-requirements.txt, unless it's in
> site-packages on the test nodes.

The log Sean links to does indeed show fakelibvirt in the stack trace

2015-02-12 15:02:19.595 |       File "nova/tests/unit/virt/libvirt/fakelibvirt.py", line 1144, in virEventRunDefaultImpl
2015-02-12 15:02:19.595 |         time.sleep(1)

Which almost certainly comes from the '_init_events' method on
nova.virt.libvirt.host.Host class spawning the events processing
thread.

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|



More information about the OpenStack-dev mailing list