On Tue, Jan 16, 2007 at 07:09:30PM +0000, Daniel P. Berrange wrote:
On Tue, Jan 16, 2007 at 05:21:15PM +0000, Mark McLoughlin wrote:
> - Or perhaps, libvirt would *always* talk to a daemon ... whether
> local or remote. That way you don't have the race condition where
> multiple apps can create a guest of the same name or uuid at once.
Possibly :-) I think I'll draw another diagram...
One way is to move the entire driver model out of libvirt and into a daemon,
so that libvirt itself is just a very thin layer which marshalls APIs calls
onto the wire. So whether local or remote the diagram looks the same:
http://people.redhat.com/berrange/libvirt/libvirt-arch-local-1.png
http://people.redhat.com/berrange/libvirt/libvirt-arch-remote-3.png
Now you might say this will make the Xen stack inefficient, because there
will be yet another daemon in the stack. This could certainly be true if
the libvirt daemon only ever talked to XenD, but all our performance
critical calls go straight to the HV. So when talking to a remote daemon
I think libvirt -> libvirt daemon -> HV ought to be faster than libvirt ->
XenD -> HV, simply by virtue of not involving python. It would also make
it practical to run virt-manager as an unprivileged app even when managing
the local Xen instance. So we could remove the need to su to root for
the local instance.
Regards,
Dan.
--
|=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=|
|=- Perl modules:
http://search.cpan.org/~danberr/ -=|
|=- Projects:
http://freshmeat.net/~danielpb/ -=|
|=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|