On Wed, Nov 15, 2006 at 10:12:57AM +0100, Karel Zak wrote:
On Tue, Nov 14, 2006 at 11:52:01PM +0000, Daniel P. Berrange wrote:
> On Thu, Nov 09, 2006 at 11:32:41AM +0100, Karel Zak wrote:
> > On Fri, Nov 03, 2006 at 10:53:57AM -0500, Daniel Veillard wrote:
> > >
> > > Okay I can see how this would be useful, the questions I would have
would be:
> > > - how generic is this, i.e. suppose a different hypervisor back-end
> > > would this still make sense. I guess yes, for example with an UML
> > > back-end we could check the process status and force a dump with a
> > > signal and move the core to the given file not trivial but same
semantic
> > > would be doable.
> >
> > Is there any policy what should be included in the library? I think
> > we will see many virtualization projects and an intersection between
> > all projects could be very small. From my point of view include to
> > the library something less generic is not big problem if we provide
> > API with a "non-implemented" (ENOSYS) return codes.
>
> A good sanity check for a proposal is to ask yourself - how would this
> be implemented & data represented for QEMU or UserModeLinux, or VMWare.
> If you can think of plausible implementations / representations then
> that's a good sign the proposal isn't too Xen specific.
Yes, I understand. But what if we found a feature which is supported
by Xen and VMWare, but is not supported by QEMU? What if we will in
future want to support other virtualization project which is poor for
features? Is possible write libvirt based application which is really
useful, but independent on a virtualization technology?
I think it fine to has some APIs which are not supported by every
backend - as long as if QEMU gained that particular feature at a
later date it would be possible to add it in. Take for example the
device hotplug stuff that micheal posted a patch for yesterday. The
original idea was to do an API based on Xen device id - this is clearly
not going to work for a QEMU backend, so we agreed passing in the device
XML blob is a better approach. Now even if we only ever implement the
hotplug stuff for Xen, this API at least gives us option of doing other
implementations if we need to.
Nice example is linux kernel and alsa -- it supports many different
sound cards with different features. The kernel doesn't disable use
digital output for my Live! although this feature is not generic for
all sound cards.
Try implement to the virt-manager (or to the applet, or ...)
migration of virtual machines. This is cool feature, but it's Xen
specific -- it means you have to bypass libvirt :-( The result will
be nice and clean libvirt and a lot of dirty applications with
duplicate code which is specific for a technology. Is it expected
Hopefully not - for most of the stuff we've discussed thus far we've
been able to come up with a representation that is not Xen specific.
I'm optimistic that we'll be able to continue to do this for other
commonly needed things.
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 -=|