All of lore.kernel.org
 help / color / mirror / Atom feed
From: Luiz Capitulino <lcapitulino@redhat.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: Kevin Wolf <kwolf@redhat.com>,
	Stefan Hajnoczi <stefanha@gmail.com>,
	qemu-devel <qemu-devel@nongnu.org>,
	libvir-list@redhat.com, Adam Litke <agl@us.ibm.com>
Subject: Re: [Qemu-devel] Transitioning from HMP to QMP for QEMU
Date: Thu, 15 Dec 2011 12:52:03 -0200	[thread overview]
Message-ID: <20111215125203.698b2c07@doriath> (raw)
In-Reply-To: <4EE9FEF1.4080709@codemonkey.ws>

On Thu, 15 Dec 2011 08:06:41 -0600
Anthony Liguori <anthony@codemonkey.ws> wrote:

> On 12/15/2011 07:57 AM, Luiz Capitulino wrote:
> > On Thu, 15 Dec 2011 13:02:40 +0000
> > Stefan Hajnoczi<stefanha@gmail.com>  wrote:
> >
> >> What is the status of QEMU's transition from HMP to the QMP interface?
> >
> > Depends on what you consider the transition to be.
> >
> > For management tools the transition can be considered done already because we
> > do not support HMP as a stable interface.
> >
> >> My current understanding is that QEMU provides new HMP commands for
> >> humans, but HMP is being phased out as an API.
> >
> > It already did.
> >
> >>   Management tools
> >> should rely only on QMP for new commands.  That would mean new HMP
> >> commands are not guaranteed to produce backwards-compatible output
> >> because tools are not supposed to parse the output.
> >
> > Exactly.
> >
> >> On the libvirt side, new QEMU features should only be supported via
> >> the json monitor in the future (i.e. human monitor patches should not
> >> be sent/merged)? Existing HMP commands will still need the human
> >> monitor support in order to handle old QEMU versions gracefully, but
> >> I'm thinking about new commands only.
> >
> > Maybe it's a matter of terminology, but I have the impression you're
> > talking about two things here:
> >
> >   1. HMP will always exist, in the meaning that qemu will always provide
> >      a human interface. If we move it to a python script or some kind of
> >      external process, that's an implementation detail.
> >
> >      This means that, if you're adding new functionality to qemu and it
> >      does make sense for humans to use it, then it should have a HMP
> >      version.
> >
> >   2. If you do add the HMP interface, that's for humans to consume and
> >      its output/semantics should make sense for humans, not for management tools.
> 
> 3. All HMP commands will be implemented in terms of QMP commands (and only in 
> terms of QMP commands).

Right.

> There are still a lot of HMP commands that don't have an QMP analog.  Luiz, it 
> might make sense to setup a wiki page which instructions on how to convert an 
> HMP command to a QMP command using QAPI.

I wrote on how to write new QMP commands using the QAPI
(docs/writing-qmp-commands.txt), going from there to a conversion shouldn't
be difficult, but I can write a wiki page.

Btw, counting with a series I haven't posted yet, we have less than 10 QMP
commands left to be converted to the QAPI. I expect to start working on HMP
conversions in January.

> If we did that, we could probably get more folks involved in the conversion process.

That would be wonderful.

> 
> Regards,
> 
> Anthony Liguori
> 
> >
> >> Does everyone agree on this?  I think this is an important discussion
> >> if we want our management interface to get better and more consistent
> >> in the future.
> >>
> >> Stefan
> >>
> >
> >
> 

  reply	other threads:[~2011-12-15 14:52 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-15 13:02 [Qemu-devel] Transitioning from HMP to QMP for QEMU Stefan Hajnoczi
2011-12-15 13:18 ` Jan Kiszka
2011-12-15 13:33   ` Kevin Wolf
2011-12-15 13:37     ` Jan Kiszka
2011-12-15 13:38     ` Lucas Meneghel Rodrigues
2011-12-15 13:39       ` Jan Kiszka
2011-12-15 13:45         ` Stefan Hajnoczi
2011-12-15 13:49         ` Kevin Wolf
2011-12-15 13:53           ` Stefan Hajnoczi
2011-12-15 13:57             ` Jan Kiszka
2011-12-15 15:01               ` Luiz Capitulino
2011-12-15 13:31 ` [Qemu-devel] [libvirt] " Stefan Berger
2011-12-15 13:57 ` [Qemu-devel] " Luiz Capitulino
2011-12-15 14:06   ` Anthony Liguori
2011-12-15 14:52     ` Luiz Capitulino [this message]
2011-12-15 14:57       ` Anthony Liguori
2011-12-15 14:23   ` Stefan Hajnoczi

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=20111215125203.698b2c07@doriath \
    --to=lcapitulino@redhat.com \
    --cc=agl@us.ibm.com \
    --cc=anthony@codemonkey.ws \
    --cc=kwolf@redhat.com \
    --cc=libvir-list@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.