> On 30 Jul 2019, at 11:38, Daniel P. Berrangé <berrange@xxxxxxxxxx> wrote: > > 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 Thanks for testing. But that can only work for one deamon which shares the lock file name with libvirtd. What about the other drivers? I guess they can’t all share the same lock file, or I missed something big in the design. (Sorry, still reviewing, so did not really have time to try it yet) > > > 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 :| > > -- > libvir-list mailing list > libvir-list@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/libvir-list -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list