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',
   arguments: {
     'command': 'read-file',
     'arguments': {
         'path': '/var/log/messages'
     }
  }
}

This serves to decouple the two protocols, which may have different support lifetimes (hopefully not).

We could also have a more proper namespace in the protocol.  Like:

{ 'execute': { 'namespace': 'guest', 'command': 'read-file' }, 'arguments': { 'path': '/var/log/messages' } }

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.

In addition to commands we may also implement a key-value store. A large number of commands may be easy to implement using a single key/value, and it's also easy to live migrate (key/values being stored in but not understood by qemu).

Do you mean the guest querying QEMU for key-values? QMP doesn't have a reverse direction RPC. It only has events which is one of the things that makes live migration work nicely.

Regards,

Anthony Liguori



Reply via email to