Quoting Daniel P. Berrange (berrange@xxxxxxxxxx): > On Wed, Sep 28, 2011 at 02:14:52PM -0500, Serge E. Hallyn wrote: > > Nova (openstack) calls libvirt to create a container, then > > periodically checks using GetInfo to see whether the container > > is up. If it does this too quickly, then libvirt returns an > > error, which in libvirt.py causes an exception to be raised, > > the same type as if the container was bad. > lxcDomainGetInfo(), holds a mutex on 'dom' for the duration of > its execution. It checks for virDomainObjIsActive() before > trying to use the cgroups. Yes, it does, but > lxcDomainStart(), holds the mutex on 'dom' for the duration of > its execution, and does not return until the container is running > and cgroups are present. No. It calls the lxc_controller with --background. The controller main task in turn exits before the cgroups have been set up. There is the race. -serge -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list