From: Anthony Liguori <anthony@codemonkey.ws>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [RFC] QEMU Dbus support - a proposal management API
Date: Tue, 11 Dec 2007 09:48:22 -0600 [thread overview]
Message-ID: <475EB146.9000105@codemonkey.ws> (raw)
In-Reply-To: <475EAF65.5050809@redhat.com>
Richard W.M. Jones wrote:
> Anthony Liguori wrote:
>> Daniel P. Berrange wrote:
>>> Or have 2 monitor interaction modes. One mode uses the command line
>>> style
>>> suitable for people / scripting languages. The other umode ses a
>>> binary XDR
>>> protocol for serializing the args & returns values for formal control
>>> APIs to use in a easy manner. It ought to be reasonably
>>> straightforward to
>>> add a binary serialization format for all existing commands
>>>
>>
>> I don't think binary is inherently easier to parse than text provided
>> that some thought is put into the format of the textual output.
>
> XDR (aka RFC 1014 & RFC 4506) does let you generate complex interfaces
> with relative ease. For example, here's the description of the remote
> protocol used by libvirt:
>
> http://git.et.redhat.com/?p=libvirt.git;a=blob;f=qemud/remote_protocol.x;h=d409c74387c2642651896136aba9bc1e2b62b621;hb=HEAD
>
>
> "Parsing" is done for you by stubs that are generated from the above
> file.
>
> On the downside it turns out that it's not very well supported under
> Windows. For libvirt I had to basically port an XDR implementation by
> hand to MinGW and add extra functions from glibc to it.
>
>> I think we just want to levels of verbosity.
>
> This would work too.
>
> On the point of controlling multiple qemu instances on a machine from
> a single place: Easiest way to do this would be to direct all the
> monitor sockets into a single known directory. Something along the
> lines of:
>
> qemu -monitor unix:/var/lib/qemu-monitors/`uuidgen`,nowait
>
> A control process can then just keep an eye on entries under that
> directory, and (unlike libvirtd) it's robust against the control
> process restarting.
Actually, this was the original intention of the -name parameter. What
a management tool would want to do is:
1) if -name is specified by user, generate one with uuidgen
2) pass -name <name> and -pidfile /path/to/well/known/location/name.pid
This will ensure uniqueness of name without requiring the creation tool
to maintain any state (so no daemon is required). Right now, you would
also have to store a monitor socket in that well known path. However,
I'm working on a VNC tunnels patch right now that would allow the
monitor to be tunneled through a VNC session. The idea here is that a
management tool could just store a hint about the VNC location and then
you can get at the rest of the character devices through the VNC session.
Otherwise, you end up with a bunch of temporary sockets for things like
the monitor, serial devices, parallel devices, etc.
Regards,
Anthony Liguori
> Rich.
>
next prev parent reply other threads:[~2007-12-11 15:48 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-10 8:28 [Qemu-devel] [RFC] QEMU Dbus support - a proposal management API Yuval Kashtan
2007-12-10 20:51 ` Blue Swirl
2007-12-11 7:16 ` Yuval Kashtan
2007-12-11 9:10 ` Fabrice Bellard
2007-12-11 9:23 ` Laurent Vivier
2007-12-11 10:06 ` Brad Campbell
2007-12-11 10:07 ` Dor Laor
2007-12-11 14:51 ` Anthony Liguori
2007-12-11 15:00 ` Daniel P. Berrange
2007-12-11 15:21 ` Yuval Kashtan
2007-12-11 15:31 ` Daniel P. Berrange
2007-12-11 15:36 ` Anthony Liguori
2007-12-11 15:59 ` Avi Kivity
2007-12-11 16:18 ` Paul Brook
2007-12-11 16:40 ` Avi Kivity
2007-12-11 15:02 ` Daniel P. Berrange
2007-12-11 15:15 ` Anthony Liguori
2007-12-11 15:40 ` Richard W.M. Jones
2007-12-11 15:48 ` Anthony Liguori [this message]
2007-12-11 15:58 ` Daniel P. Berrange
2007-12-11 16:49 ` Anthony Liguori
2007-12-11 17:04 ` Daniel P. Berrange
2007-12-11 15:59 ` Dor Laor
2007-12-11 15:17 ` Jean-Christian de Rivaz
2007-12-11 15:24 ` Daniel P. Berrange
2007-12-11 10:20 ` Andreas Färber
2007-12-11 10:29 ` Laurent Vivier
2007-12-11 10:50 ` Andreas Färber
2007-12-11 10:21 ` Heikki Lindholm
2007-12-11 11:05 ` Avi Kivity
2007-12-11 14:43 ` Anthony Liguori
2007-12-11 14:56 ` Daniel P. Berrange
2007-12-11 15:57 ` Avi Kivity
2007-12-11 16:07 ` Richard W.M. Jones
2007-12-11 15:44 ` Daniel P. Berrange
2007-12-11 16:10 ` Fabrice Bellard
2007-12-11 14:53 ` Daniel P. Berrange
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=475EB146.9000105@codemonkey.ws \
--to=anthony@codemonkey.ws \
--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).