[email protected]
[Top] [All Lists]

Re: [Qemu-devel] ANN: QEMU Monitor Protocol git tree

Subject: Re: [Qemu-devel] ANN: QEMU Monitor Protocol git tree
From: "Daniel P. Berrange"
Date: Wed, 23 Sep 2009 18:08:16 +0100
On Wed, Sep 23, 2009 at 10:57:01AM +0100, Daniel P. Berrange wrote:
> On Tue, Sep 22, 2009 at 08:56:04PM -0500, Anthony Liguori wrote:
> > Luiz Capitulino wrote:
> > >Now the controversial part: it's json based. ;)
> > >
> > >I have chosen json because of the reasons already explained by others in
> > >the original QMP thread. Basically, json is so simple that if we design
> > >a small protocol from scratch, chances are it will look like json.
> > >  
> > 
> > json is not a deal break.  My main concern was our ability to extend 
> > json and whether supporting stock json libraries was a hard 
> > requirement.  I also would like to see a C client library since our 
> > biggest consumer (libvirt) is based in C.
> I've googled around quickly and there are at least 5 pieces of C code
> and/or C libraries that can parse JSON. Hopefully one of them will be
> sufficient / suitable for libvirt's needs. We'll just need to try it
> out and see what happens....

I'm in the process of re-factoring the libvirt monitor handling code to
make it possible for us to add in support for QMP in parallel to the 
legacy monitor support. Once the Luiz'  QMP branch progresses a little
further I'll aim to make available a libvirt branch which supports QMP.

To help priortization, the one critical command we need implemented
which isn't there yet is 'cont', since all our VMs are launched with
CPUs initially stopped. 

The next priorities would be 'stop', 'info cpus', 'balloon' and 
'info balloon'  (all except info cpus are there in Luiz tree already
I believe).

With those we could do some useful testing & validation of the QMP work
in libvirt.

Then in no particular order of preference the other commands we
currently make use of are

 - migrate / migrate_set_speed / info migrate
 - pci_add / pci_del
 - host_net_add / host_net_del / getfd / closefd
 - eject / change
 - usb_add / usb_del
 - info block     (desirable to allow query of a single device at a time)
 - memsave / pmemsave

Figuring out how to handle password prompts for 'cont' for encrypted
qcow is probably another unusal area. Perhaps we should have explicit
commands to set the decryption passwords ahead of time, rather than
having QEMU prompt in response to 'cont'

|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

<Prev in Thread] Current Thread [Next in Thread>