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