[Libvir] virDomainDump() API (equivalent to xm dump) in libvirt?

Daniel P. Berrange berrange at redhat.com
Wed Nov 15 12:59:09 UTC 2006


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




More information about the libvir-list mailing list