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 :|