qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Luiz Capitulino <lcapitulino@redhat.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: "libvir-list@redhat.com" <libvir-list@redhat.com>,
	Paul Brook <paul@codesourcery.com>,
	qemu-devel@nongnu.org, Avi Kivity <avi@redhat.com>
Subject: Re: [Qemu-devel] Re: [libvirt] Supporting hypervisor specific APIs in libvirt
Date: Fri, 26 Mar 2010 09:52:38 -0300	[thread overview]
Message-ID: <20100326095238.6814997a@redhat.com> (raw)
In-Reply-To: <4BAB6B5E.5040101@codemonkey.ws>

On Thu, 25 Mar 2010 08:55:42 -0500
Anthony Liguori <anthony@codemonkey.ws> wrote:

> On 03/25/2010 08:23 AM, Luiz Capitulino wrote:
> > On Wed, 24 Mar 2010 16:40:18 -0500
> > Anthony Liguori<anthony@codemonkey.ws>  wrote:
> >
> >    
> >>>> We need to have a common management interface for third party tools.
> >>>>
> >>>>          
> >>>    QMP? :-)
> >>>        
> >> Only if QMP is compatible with libvirt.  I don't want a user to have to
> >> choose between QMP and libvirt.
> >>      
> >   Why not? If all they want is a simple qemu session, they can use
> > QMP directly, on the other hand if what they want is more complex,
> > what's the problem of using a management API like libivrt?
> >    
> 
> My point is that libvirt should not be a separate management API but 
> effectively an add-on API that provides higher level features, better 
> integration with Linux host services, etc.

 Okay, I fully agree here.

> >>> If so, what C clients you expected beyond libvirt?
> >>>        
> >> Users want a C API.  I don't agree that libvirt is the only C interface
> >> consumer out there.
> >>      
> >   Actually, I do agree. Maybe, we don't have other C consumers because they
> > weren't crazy enough to parse the crap of the user Monitor (or they do,
> > but for simple things).
> >
> >   One possible future client is perf, for example.
> >
> >   Here is my solution (actually it's not mine, you have suggested
> > it some time ago): let's provide a convenient way for C clients to
> > use QMP. That is, let's have an overly simple library which takes
> > QDitcs, sends them to qemu through QMP and returns others QDicts.
> >
> >   Something like the _sketch_ below:
> >
> > // Open a connection
> > int qmp_open(..., QDict **greeting);
> >
> > // Register a callback for async messages, BUT note that the async message
> > // object is passed verbatim
> > void qmp_async_mes_handler(..., void (*async_mes_handler)(QDict *mes));
> >
> > // Send a QMP command
> > int qmp_send(..., const char *command, QDict *params, QDict **res);
> >    
> 
> Yes, this is the core API.  It's missing a mechanism to create a 
> QMPContext.  I'll also argue that we want a set of auto generated 
> wrappers like:

 Having the wrappers is one of the points we disagree, but as we have agreed
on starting with the core only, I don't see why keep arguing here.

 If, in the near feature, the need of having wrappers become evident
I'll be all for it (this statement is a bit dangerous though, as
this need can be subjective).

[...]

> > but the two main ideas are:
> >
> > 1. We don't do management
> >    
> 
> I really believe we need to stop thinking this way.  I'm not saying that 
> qemu-devel is the place where we design virt-manager, but we ought to 
> consider the whole stack as part of "we".

 Depends, if you mean that we should be involved with libvirt development,
than I completely agree.

 On the other hand, if you mean than qemu should provide its own management
API, than I tend to disagree. And I think this is a very important point of
the whole discussion, if you think this way I guess we should start a new
thread to collect feedback, listing pros and cons.

> >> I really think what we want is for a libvirt user to be able to call
> >> libqemu functions directly.  There shouldn't have to be libvirt specific
> >> functions for every operation we expose.
> >>      
> >   Not sure if this is too crazy but, considering this user wants to
> > use qemu features not implemented by libvirt yet, what about using both
> > libqmp (above) and libvirt at the same time?
> >    
> 
> Yes, that's *exactly* what I want.  Except I want to call it libqemu 
> because qmp is an implementation detail.

 libqemu is fine.

  reply	other threads:[~2010-03-26 12:58 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-22 19:25 [Qemu-devel] Supporting hypervisor specific APIs in libvirt Anthony Liguori
2010-03-22 20:10 ` [Qemu-devel] Re: [libvirt] " Daniel P. Berrange
2010-03-22 21:33   ` Gerd Hoffmann
2010-03-22 21:53     ` Anthony Liguori
2010-03-23  8:54       ` Jes Sorensen
2010-03-23 10:25         ` Gerd Hoffmann
2010-03-23 10:31           ` Jes Sorensen
2010-03-23 10:58             ` Gerd Hoffmann
2010-03-22 23:36     ` Cole Robinson
2010-03-22 21:49   ` Anthony Liguori
2010-03-23  7:35     ` Alexander Graf
2010-03-23 23:25       ` Jamie Lokier
2010-03-24  0:55         ` Anthony Liguori
2010-03-24 10:05           ` Markus Armbruster
2010-03-24 12:25             ` Paul Brook
2010-03-24 12:48               ` Anthony Liguori
2010-03-25  2:43                 ` Jamie Lokier
2010-03-23 11:33     ` Daniel P. Berrange
2010-03-24 10:23     ` Daniel P. Berrange
2010-03-22 20:25 ` [Qemu-devel] " Daniel P. Berrange
2010-03-23 10:06 ` [Qemu-devel] " Juan Quintela
2010-03-23 10:41   ` Gerd Hoffmann
2010-03-23 10:50     ` Juan Quintela
2010-03-23 11:08       ` Daniel P. Berrange
2010-03-23 12:19         ` Juan Quintela
2010-03-23 23:13     ` Jamie Lokier
2010-03-24  7:59       ` Gerd Hoffmann
2010-03-24 13:52         ` Cole Robinson
2010-03-24 14:00           ` Gerd Hoffmann
2010-03-23 23:19   ` Jamie Lokier
2010-03-24  2:22   ` Andi Kleen
2010-03-24  8:49     ` Juan Quintela
     [not found] ` <20100323145105.GV16253@redhat.com>
2010-03-23 15:05   ` [Qemu-devel] Re: [libvirt] " Anthony Liguori
2010-03-23 15:57     ` Paul Brook
2010-03-23 16:06       ` Anthony Liguori
2010-03-23 18:00         ` Avi Kivity
2010-03-23 18:23           ` [libvirt] [Qemu-devel] " Daniel P. Berrange
2010-03-24  1:05             ` Anthony Liguori
2010-03-24  4:48             ` Avi Kivity
2010-03-23 19:28           ` [Qemu-devel] Re: [libvirt] " Anthony Liguori
2010-03-23 23:09             ` Jamie Lokier
2010-03-24  5:17           ` Avi Kivity
2010-03-24 10:36             ` Daniel P. Berrange
2010-03-24 10:42               ` Avi Kivity
2010-03-24 12:23                 ` Anthony Liguori
2010-03-24 12:29                   ` Avi Kivity
2010-03-24 12:32                     ` Anthony Liguori
2010-03-24 12:33                       ` Avi Kivity
2010-03-25  0:28                         ` Jamie Lokier
2010-03-24 16:42                 ` Luiz Capitulino
2010-03-24 19:49                   ` Avi Kivity
2010-03-24 20:12                     ` Luiz Capitulino
2010-03-24 20:32                       ` Anthony Liguori
2010-03-24 20:54                         ` Alexander Graf
2010-03-24 21:33                           ` Luiz Capitulino
2010-03-25  7:49                             ` Alexander Graf
2010-03-24 21:25                         ` Luiz Capitulino
2010-03-24 21:40                           ` Anthony Liguori
2010-03-25  8:26                             ` Vincent Hanquez
2010-03-25  8:49                               ` Avi Kivity
2010-03-25 12:33                               ` Anthony Liguori
2010-03-25 12:37                                 ` Avi Kivity
2010-03-25 13:44                                   ` Anthony Liguori
2010-03-25 13:48                                     ` Avi Kivity
2010-03-25 13:57                                       ` Anthony Liguori
2010-03-25 14:09                                         ` Luiz Capitulino
2010-03-25 15:59                                           ` Anthony Liguori
2010-03-26  2:11                                             ` Jamie Lokier
2010-03-25 14:21                                         ` Avi Kivity
2010-03-25 14:22                                         ` Vincent Hanquez
2010-03-25 16:50                                     ` Markus Armbruster
2010-03-25 17:40                                       ` Anthony Liguori
2010-03-26  7:37                                         ` Markus Armbruster
2010-03-26  9:26                                           ` [libvirt] [Qemu-devel] " Paolo Bonzini
2010-03-26  9:51                                           ` [Qemu-devel] Re: [libvirt] " Avi Kivity
2010-03-26 12:53                                             ` Anthony Liguori
2010-03-26 13:53                                           ` Anthony Liguori
2010-03-25 13:37                                 ` Gildas Le Nadan
2010-03-25 13:59                               ` Daniel P. Berrange
2010-03-25 14:56                                 ` Vincent Hanquez
2010-03-25 15:07                                   ` Daniel P. Berrange
2010-03-25 15:14                                     ` Vincent Hanquez
2010-03-25 15:16                                       ` Daniel P. Berrange
2010-03-25 16:01                                         ` Anthony Liguori
2010-03-25 16:30                                           ` Alexander Graf
2010-03-26  2:18                                           ` Jamie Lokier
2010-03-25 13:23                             ` Luiz Capitulino
2010-03-25 13:55                               ` Anthony Liguori
2010-03-26 12:52                                 ` Luiz Capitulino [this message]
2010-03-25  6:37                         ` Avi Kivity
2010-03-25  8:18                           ` Alexander Graf
2010-03-26 16:01                             ` Avi Kivity
2010-03-24 12:19             ` Anthony Liguori
2010-03-24 12:27               ` Avi Kivity
2010-03-24 12:30                 ` Anthony Liguori
2010-03-24 12:32                   ` Avi Kivity
2010-03-23 18:07         ` Daniel P. Berrange
2010-03-23 19:24           ` Anthony Liguori
2010-03-24  5:49             ` Avi Kivity
2010-03-24 12:30               ` Paul Brook
2010-03-24 12:34                 ` Avi Kivity
2010-03-24 13:03                   ` Paul Brook
2010-03-24 15:55                     ` Markus Armbruster
2010-03-24 16:12                       ` Paul Brook
2010-03-23 23:22         ` Jamie Lokier
2010-03-23 17:57 ` [Qemu-devel] " Avi Kivity
2010-03-23 19:31   ` Anthony Liguori
2010-03-24  4:53     ` Avi Kivity
2010-03-26  2:31       ` Jamie Lokier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100326095238.6814997a@redhat.com \
    --to=lcapitulino@redhat.com \
    --cc=anthony@codemonkey.ws \
    --cc=avi@redhat.com \
    --cc=libvir-list@redhat.com \
    --cc=paul@codesourcery.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).