[libvirt] [PATCH] qemu: turn on virtlockd by default

Cole Robinson crobinso at redhat.com
Fri Jan 22 20:35:33 UTC 2016


On 01/22/2016 02:35 PM, Kashyap Chamarthy wrote:
> On Fri, Jan 22, 2016 at 03:56:08PM +0000, Daniel P. Berrange wrote:
>> We have had virtlockd available for a long time now but
>> have always defaulted to the 'nop' lock driver which does
>> no locking. This gives users an unsafe deployment by
>> default unless they know to turn on lockd. virtlockd will
>> auto-activate via systemd when guests launch, so setting
>> it on by default will only cause upgrade pain for people
>> on non-systemd distros.
> 
> I tried to test this patch in the below way after applying to my local
> Git master, and my test seems to fail.
> 
> Compile and `virtlockd` setup
> -----------------------------
> 
> After applying the patch, I'm here:
> 
>     $ git describe
>     v1.3.1-34-gd3a39cd
> 
> Compile:
> 
>     $ cd ~/build/libvirt
>     $ ~/src/libvirt/./autgen.sh --system && make -j8
> 
> Stop the system libvirtd and virtlockd:
> 
>     $ systemctl stop libvirtd
>     $ systemctl stop virtlockd
> 
> Enable `virtlockd` for the QEMU driver:
> 
>     $ augtool -s  set /files/etc/libvirt/qemu.conf/lock_manager lockd
> 
> Invoke just compiled virtlockd and libvirtd (in that order):
> 
>     $ sudo ./run src/virtlockd &
>     $ sudo ./run daemon/libvirtd &
> 
> Test
> ----
> 
> Purposefully make two libvirt VMs point to the same disk image:
> 
>     $ sudo ./run tools/virsh dumpxml cvm1 | grep 'source file'
>           <source file='/var/lib/libvirt/images/cirros-0.3.3-x86_64-disk.img'/>
>     $ sudo ./run tools/virsh dumpxml cvm2 | grep 'source file'
>           <source file='/var/lib/libvirt/images/cirros-0.3.3-x86_64-disk.img'/>
> 
> Start the first VM (with `virsh` from the build dir), it fails:
> 
>     $ sudo ./run tools/virsh start cvm1
>     error: Failed to start domain cvm1
>     error: Failed to connect socket to '/var/run/libvirt/virtlogd-sock': No such file or directory
> 
> However, the virtlogd-sock file exists in the said path:
> 
>     $ ls -lsrt /var/run/libvirt/virtlockd-sock                                                                                                             
>     0 srwx------. 1 root root 0 Jan 22 19:49 /var/run/libvirt/virtlockd-sock
>  

You're mixing up virtlogd and virtlockd :) virtlogd was added recently and
should be started. But maybe there's another issue if it wasn't started
automatically.

- Cole




More information about the libvir-list mailing list