Re: [Qemu-devel] [PATCH 00/22] QAPI Round 1

2011-03-09 Thread Anthony Liguori
On 03/09/2011 07:55 AM, Avi Kivity wrote: On 03/09/2011 03:51 PM, Anthony Liguori wrote: { execute: 'write-keystore' arguments: { 'key': 'foo', 'value': 'bar' } } This is coming from the guest? Yes. So what about: { 'KeyStore': { '*foo': 'str', '*otherkey': 'str' } } [ 'guest-write-keys

Re: [Qemu-devel] [PATCH 00/22] QAPI Round 1

2011-03-09 Thread Avi Kivity
On 03/09/2011 03:51 PM, Anthony Liguori wrote: { execute: 'write-keystore' arguments: { 'key': 'foo', 'value': 'bar' } } This is coming from the guest? Yes. So what about: { 'KeyStore': { '*foo': 'str', '*otherkey': 'str' } } [ 'guest-write-keystore', { 'keystore': 'KeyStore' }, 'none' ]

Re: [Qemu-devel] [PATCH 00/22] QAPI Round 1

2011-03-09 Thread Michael Roth
On 03/09/2011 07:14 AM, Avi Kivity wrote: On 03/09/2011 03:12 PM, Anthony Liguori wrote: On 03/09/2011 02:51 AM, Avi Kivity wrote: On 03/08/2011 09:19 PM, Anthony Liguori wrote: Both the guest and the management agent (and both can listen for events). I don't see why guest->qemu RPC is problem

Re: [Qemu-devel] [PATCH 00/22] QAPI Round 1

2011-03-09 Thread Anthony Liguori
On 03/09/2011 07:14 AM, Avi Kivity wrote: On 03/09/2011 03:12 PM, Anthony Liguori wrote: On 03/09/2011 02:51 AM, Avi Kivity wrote: On 03/08/2011 09:19 PM, Anthony Liguori wrote: Both the guest and the management agent (and both can listen for events). I don't see why guest->qemu RPC is proble

Re: [Qemu-devel] [PATCH 00/22] QAPI Round 1

2011-03-09 Thread Avi Kivity
On 03/09/2011 03:12 PM, Anthony Liguori wrote: On 03/09/2011 02:51 AM, Avi Kivity wrote: On 03/08/2011 09:19 PM, Anthony Liguori wrote: Both the guest and the management agent (and both can listen for events). I don't see why guest->qemu RPC is problematic for migration - at least when qemu t

Re: [Qemu-devel] [PATCH 00/22] QAPI Round 1

2011-03-09 Thread Anthony Liguori
On 03/09/2011 02:51 AM, Avi Kivity wrote: On 03/08/2011 09:19 PM, Anthony Liguori wrote: Both the guest and the management agent (and both can listen for events). I don't see why guest->qemu RPC is problematic for migration - at least when qemu terminates it. If it's terminated in QEMU, it'

Re: [Qemu-devel] [PATCH 00/22] QAPI Round 1

2011-03-09 Thread Avi Kivity
On 03/08/2011 09:19 PM, Anthony Liguori wrote: Both the guest and the management agent (and both can listen for events). I don't see why guest->qemu RPC is problematic for migration - at least when qemu terminates it. If it's terminated in QEMU, it's fine, but then it's not QMP anymore. Le

Re: [Qemu-devel] [PATCH 00/22] QAPI Round 1

2011-03-08 Thread Anthony Liguori
On 03/08/2011 11:44 AM, Avi Kivity wrote: I'm not sure I see this as all that critical though. I sort of like the idea of it being transparent to the client whether a guest agent implements a command or QEMU does. A qemu command is guaranteed to be executed faithfully, modulo bugs and runt

Re: [Qemu-devel] [PATCH 00/22] QAPI Round 1

2011-03-08 Thread Avi Kivity
On 03/08/2011 05:03 PM, Anthony Liguori wrote: We may want to use a different way of separating the namespaces - enacapsulation: { 'command': 'guest-command', arguments: { 'command': 'read-file', 'arguments': { 'path': '/var/log/messages' } } } This serves to dec

Re: [Qemu-devel] [PATCH 00/22] QAPI Round 1

2011-03-08 Thread Anthony Liguori
On 03/08/2011 08:52 AM, Avi Kivity wrote: On 03/08/2011 04:38 PM, Anthony Liguori wrote: http://wiki.qemu.org/Features/QAPI/GuestAgent Nice. A couple of remarks. We may want to use a different way of separating the namespaces - enacapsulation: { 'command': 'guest-command', argument

Re: [Qemu-devel] [PATCH 00/22] QAPI Round 1

2011-03-08 Thread Avi Kivity
On 03/08/2011 04:38 PM, Anthony Liguori wrote: http://wiki.qemu.org/Features/QAPI/GuestAgent Nice. A couple of remarks. We may want to use a different way of separating the namespaces - enacapsulation: { 'command': 'guest-command', arguments: { 'command': 'read-file', 'arg

Re: [Qemu-devel] [PATCH 00/22] QAPI Round 1

2011-03-08 Thread Anthony Liguori
On 03/08/2011 08:17 AM, Avi Kivity wrote: No, I'm in the process of writing up my latest proposal. The idea is pretty simple. QAPI generates code for libqmp that takes native arguments for a command and generates a QObject. It also generates code for QEMU that takes a QObject and generates n

Re: [Qemu-devel] [PATCH 00/22] QAPI Round 1

2011-03-08 Thread Anthony Liguori
On 03/08/2011 08:17 AM, Avi Kivity wrote: On 03/08/2011 04:10 PM, Anthony Liguori wrote: On 03/08/2011 08:00 AM, Avi Kivity wrote: On 03/08/2011 03:54 PM, Anthony Liguori wrote: (and gah, do we really need a vfs/rpc in qemu?) Fun, eh :-) Unfortunately, our friends at VMware provide a Vix

Re: [Qemu-devel] [PATCH 00/22] QAPI Round 1

2011-03-08 Thread Avi Kivity
On 03/08/2011 04:10 PM, Anthony Liguori wrote: On 03/08/2011 08:00 AM, Avi Kivity wrote: On 03/08/2011 03:54 PM, Anthony Liguori wrote: (and gah, do we really need a vfs/rpc in qemu?) Fun, eh :-) Unfortunately, our friends at VMware provide a VixVM_CopyFileFromGuestToHost API so there's a

Re: [Qemu-devel] [PATCH 00/22] QAPI Round 1

2011-03-08 Thread Anthony Liguori
On 03/08/2011 08:00 AM, Avi Kivity wrote: On 03/08/2011 03:54 PM, Anthony Liguori wrote: (and gah, do we really need a vfs/rpc in qemu?) Fun, eh :-) Unfortunately, our friends at VMware provide a VixVM_CopyFileFromGuestToHost API so there's an expectation that we provide a similar interfa

Re: [Qemu-devel] [PATCH 00/22] QAPI Round 1

2011-03-08 Thread Avi Kivity
On 03/08/2011 03:54 PM, Anthony Liguori wrote: (and gah, do we really need a vfs/rpc in qemu?) Fun, eh :-) Unfortunately, our friends at VMware provide a VixVM_CopyFileFromGuestToHost API so there's an expectation that we provide a similar interface. Yes, but do we have to terminate it

Re: [Qemu-devel] [PATCH 00/22] QAPI Round 1

2011-03-08 Thread Anthony Liguori
On 03/08/2011 07:45 AM, Avi Kivity wrote: On 03/08/2011 03:35 PM, Anthony Liguori wrote: On 03/08/2011 05:12 AM, Avi Kivity wrote: On 03/07/2011 05:59 PM, Anthony Liguori wrote: How do async commands work? You mentioned them when talking about QAPI but it's not obvious to me that there is a

Re: [Qemu-devel] [PATCH 00/22] QAPI Round 1

2011-03-08 Thread Avi Kivity
On 03/08/2011 03:35 PM, Anthony Liguori wrote: On 03/08/2011 05:12 AM, Avi Kivity wrote: On 03/07/2011 05:59 PM, Anthony Liguori wrote: How do async commands work? You mentioned them when talking about QAPI but it's not obvious to me that there is any "native" support for async commands? A

Re: [Qemu-devel] [PATCH 00/22] QAPI Round 1

2011-03-08 Thread Anthony Liguori
On 03/08/2011 05:12 AM, Avi Kivity wrote: On 03/07/2011 05:59 PM, Anthony Liguori wrote: How do async commands work? You mentioned them when talking about QAPI but it's not obvious to me that there is any "native" support for async commands? Async commands are interesting.. Would there be

Re: [Qemu-devel] [PATCH 00/22] QAPI Round 1

2011-03-08 Thread Avi Kivity
On 03/07/2011 05:59 PM, Anthony Liguori wrote: How do async commands work? You mentioned them when talking about QAPI but it's not obvious to me that there is any "native" support for async commands? Async commands are interesting.. Would there be anything in them other than starting each

Re: [Qemu-devel] [PATCH 00/22] QAPI Round 1

2011-03-07 Thread Stefan Hajnoczi
On Mon, Mar 7, 2011 at 8:59 PM, Anthony Liguori wrote: > On 03/07/2011 09:08 AM, Stefan Hajnoczi wrote: >> >> The signals and slots magic makes sense when looking at the patches, >> but I wasn't confident about their semantics just by reading the >> documentation.  I had a vague idea about why the

Re: [Qemu-devel] [PATCH 00/22] QAPI Round 1

2011-03-07 Thread Anthony Liguori
On 03/07/2011 09:08 AM, Stefan Hajnoczi wrote: The signals and slots magic makes sense when looking at the patches, but I wasn't confident about their semantics just by reading the documentation. I had a vague idea about why the Event struct is needed but didn't fully understand. Perhaps it's j

Re: [Qemu-devel] [PATCH 00/22] QAPI Round 1

2011-03-07 Thread Anthony Liguori
On 03/07/2011 09:08 AM, Stefan Hajnoczi wrote: On Mon, Mar 7, 2011 at 1:22 AM, Anthony Liguori wrote: More information about QAPI can be found on the wiki: http://wiki.qemu.org/Features/QAPI Thanks for the good documentation. A few thoughts: A "Naming Conventions" section would be a helpful

Re: [Qemu-devel] [PATCH 00/22] QAPI Round 1

2011-03-07 Thread Stefan Hajnoczi
On Mon, Mar 7, 2011 at 1:22 AM, Anthony Liguori wrote: > More information about QAPI can be found on the wiki: > > http://wiki.qemu.org/Features/QAPI Thanks for the good documentation. A few thoughts: A "Naming Conventions" section would be a helpful summary of the different entities that .json

[Qemu-devel] [PATCH 00/22] QAPI Round 1

2011-03-06 Thread Anthony Liguori
This is the first round of QAPI. This lays all the basic ground work for QAPI including a client library, new server, and new signal/slot mechanism. The QAPI development branch contains conversions of every 0.14 QMP command and also converts all possible HMP commands to use the QMP versions of th