
On Tue, Jul 30, 2019 at 11:05:25AM +0200, Christophe de Dinechin wrote:
Daniel P. Berrangé writes:
This is what all the driver refactoring I've done has been about enabling.
We gain new daemons for each driver, for the primary virt drivers:
virtlibxld
virtxend?
virtlxcd virtqemud virtvboxd virtvzd
And again for the secondary drivers
virtinterfaced virtnetworkd virtnodedevd virtnwfilterd virtsecretd virtstoraged
Finally to support IP connectivity, and also the legacy lbivirtd UNIX domain socket (for the old libvirt remote driver SSH tunnelling):
virtproxyd
The the sake of facilitating upgrades, the existing libvirtd still exists and works the same way it always has.
You either run libvirtd, or you run the per-driver daemons, never both.
What happens if you run both? (I'll try to figure out by reviewing the rest of the code and/or testing)
The drivers acquire an exclusive lock, causing the 2nd daemon to fail to startup $ ./src/libvirtd & $ ./src/virtqemud 2019-07-30 09:36:34.339+0000: 22809: info : libvirt version: 5.6.0 2019-07-30 09:36:34.339+0000: 22809: info : hostname: dhcp-16-132.lcy.redhat.com 2019-07-30 09:36:34.339+0000: 22809: error : virPidFileAcquirePath:376 : Failed to acquire pid file '/run/user/501/libvirt/qemu/run/driver.pid': Resource temporarily unavailable 2019-07-30 09:36:34.339+0000: 22809: error : virStateInitialize:688 : Initialisation of QEMU state driver failed: Failed to acquire pid file '/run/user/501/libvirt/qemu/run/driver.pid': Resource temporarily unavailable 2019-07-30 09:36:34.339+0000: 22809: error : daemonRunStateInit:821 : Driver state initialisation failed The same works the other way around too $ ./src/virtqemud & $ ./src/libvirtd 2019-07-30 09:37:45.398+0000: 23109: info : libvirt version: 5.6.0 2019-07-30 09:37:45.398+0000: 23109: info : hostname: dhcp-16-132.lcy.redhat.com 2019-07-30 09:37:45.398+0000: 23109: error : virPidFileAcquirePath:376 : Failed to acquire pid file '/run/user/501/libvirt/qemu/run/driver.pid': Resource temporarily unavailable 2019-07-30 09:37:45.398+0000: 23109: error : virStateInitialize:688 : Initialisation of QEMU state driver failed: Failed to acquire pid file '/run/user/501/libvirt/qemu/run/driver.pid': Resource temporarily unavailable 2019-07-30 09:37:45.398+0000: 23109: error : daemonRunStateInit:821 : Driver state initialisation failed the systemd unit files also have Conflicts rules which should prevent even getting that far 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 :|