qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: "Daniel P. Berrange" <berrange@redhat.com>, qemu-devel@nongnu.org
Cc: Amit Shah <amit.shah@redhat.com>,
	chrisw@redhat.com, dlaor@redhat.com,
	"Richard W.M. Jones" <rjones@redhat.com>
Subject: Re: [Qemu-devel] Re: Machine-readable or parseable qemu output
Date: Wed, 14 Jan 2009 16:05:47 +0200	[thread overview]
Message-ID: <496DF13B.4080309@redhat.com> (raw)
In-Reply-To: <20090114114538.GH24995@redhat.com>

Daniel P. Berrange wrote:
> Well if we have async messages over a separate channel, 

I dislike this intensely; IMO this is indicates the protocol is badly 
designed.  Of course, the qemu monitor protocol wasn't designed to do 
this, but we should fix this instead of finding workarounds.

> we can already
> reliably resynchronize with the output, because QEMU will eventually
> produce its '(qemu) ' prompt on a new line.

That's just begging for a nic or some other object named '(qemu) '.

Also, "if something goes wrong", recovering the prompt isn't helpful.  
The VM and the management interface are out of sync, any surprise can 
follow.  Better to disconnect, reconnect, and query for all state (like 
you do when the management application recovers from a crash).

>  So if something goes wrong
> you just need to skip until you find the prompt again.  Changing QEMU
> monitor prompt will just break all existing libvirt deployments, and
> any other programs relying on currently prompt.
>
> IMHO, any libqemumonitor.so should be made to work with current monitor
> format as its starting point, and then extend from there, not change
> any existing characteristics. This provides forwards & backwards compat
> for all apps, albeit at cost of slightly more complex internals for
> the libqemumonitor.so - but this complexity will be centralized in one
> place instead of all apps using QEMU, so this is still a net win.
>   

That means we'll be doomed to ad-hoc extensions forever, with extension 
N+1 needing to check the previous N extensions for compatibility.  I'd 
like to see a protocol with extensibility, asynchronity, and 
discoverability built in, not tacked on.  The old protocol can be 
supported separately but not extended any more.

-- 
error compiling committee.c: too many arguments to function

  parent reply	other threads:[~2009-01-14 14:05 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-14 11:10 [Qemu-devel] Machine-readable or parseable qemu output Amit Shah
2009-01-14 11:23 ` [Qemu-devel] " Daniel P. Berrange
2009-01-15 20:27   ` Anthony Liguori
2009-01-15 20:58     ` Daniel P. Berrange
2009-01-15 21:30       ` Anthony Liguori
2009-01-15 21:48       ` Avi Kivity
2009-01-15 22:26         ` Anthony Liguori
2009-01-14 11:28 ` Avi Kivity
2009-01-15 20:28   ` Anthony Liguori
2009-01-14 11:29 ` Richard W.M. Jones
2009-01-14 11:31   ` Avi Kivity
2009-01-14 11:36     ` Richard W.M. Jones
2009-01-14 11:45   ` Daniel P. Berrange
2009-01-14 12:37     ` Dor Laor
2009-01-14 14:05     ` Avi Kivity [this message]
2009-01-15 20:31     ` Anthony Liguori
2009-01-14 16:56   ` 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=496DF13B.4080309@redhat.com \
    --to=avi@redhat.com \
    --cc=amit.shah@redhat.com \
    --cc=berrange@redhat.com \
    --cc=chrisw@redhat.com \
    --cc=dlaor@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rjones@redhat.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 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).