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

Daniel Veillard veillard at redhat.com
Wed Nov 22 17:01:40 UTC 2006


On Thu, Nov 16, 2006 at 10:36:29AM -0500, Daniel Veillard wrote:
> On Fri, Nov 03, 2006 at 11:56:55AM -0500, Daniel Veillard wrote:
> > On Fri, Nov 03, 2006 at 11:36:32AM -0500, Lon Hohberger wrote:
> > > On Fri, 2006-11-03 at 10:53 -0500, Daniel Veillard wrote:
> > > >     - can we implement it with current xen, again yes, we should be able
> > > >       if we have a full connection (root) to do the same as 'xm dump-core'
> > > 
> > > Yes, given that xm dump-core can do it ;)
> > > 
> > > >     - is the API clean enough, I guess the semantic is relatively clear
> > > >       instead of stating 'If you set the lowest-bit in flags' I would rather
> > > >       define a DumpFlags enum and state that flags is an or'ing of any of them
> > > >       I would probably name the function virDomainDumpCore though to not
> > > >       confuse with virDomainSave 
> > > 
> > > Totally correct here, it should be an enum of flags (with only one
> > > defined initially; I don't know what other flags there might be.
> > > 
> > > >  So yes, why not, you want to work on it ? Or should I (or any candidate).
> > > 
> > > Give me a few; I'll check on this.  I don't have problems trying it, but
> > > I will have a learning curve of course.
> > 
> >   Let's see if I was to do it I would:
> >     0/ check out a CVS tree http://libvirt.org/downloads.html
> >     1/ look how xm communicate with xend on that command
> 
>   Bad news, I looked at this and it seems xm can only use the XML-RPC interface
> to xend to request the dump command, while libvirt uses the HTTP POST interface.
> Adding the support would either require to hack xend or add support for the
> intermediary xml-rpc access which was added in 3.0.2 and likely to disapear soon
> when the new Xen API is used by xm.

  Good news: the fix at the xend level is fairly small and has been accepted
upstream:
  http://lists.xensource.com/archives/html/xen-devel/2006-11/msg01120.html
  http://lists.xensource.com/archives/html/xen-devel/2006-11/msg01121.html

  So adding dump support was a matter of introducing the new API and calling
the usual xend back-end code. I added it and commited it, it's a new entry
point in the driver interface, I still kept the extra flags argument, even if
upon inspection xend doesn't use any of the 'live' or 'crash' argument it
exposes at this API, I just didn't defined any constant for it at this point.
So the new entry is just:

  int  virDomainCoreDump (virDomainPtr domain, const char *to, int flags);

  I commited it to CVS, I also added the 'dump' command to virsh taking the
filename as the only argument (after the domain name or id).

Daniel

-- 
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard      | virtualization library  http://libvirt.org/
veillard at redhat.com  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine  http://rpmfind.net/




More information about the libvir-list mailing list