QAPI merge plans
- should be 100% back compat
- qmp moved over
- hmp moved over
- 1st pass, core infrastructure (includes test framework)
- 2nd pass, command conversion
- 3rd pass, more controversial bits
- adds dependencies: glib and python
- some testing based on kvm-unit-test micro-os instance (e.g. added a balloon
and run commands against it to test)
- add more functionality here? (kvm autotest is slow, above is quick)
- will hit some point where full functionality is needed
- have a mini linux to do this (lags where driver updates are part of test)
- generated code can obfuscate the debugging process
- code generator has some ugly corners (python writing C...)
- but generated code should be debuggable, readable, etc.
- some grumbling regarding glib dependency
- reducing NIH and relying on external functionality is solid way to
grow qemu as a project
Read wiki here and review closely:
http://wiki.qemu.org/Features/QAPI
virt-agent
- json string converted to command (and vice versa)
- add to qmp schema - allows generated marshalling code to sanity check in/out
- problem with qmp not being bi-directional (rpc - in, events - out)
- posted events allow migration to save and send unposted events
- any issues with guest agent interface extensibility
- will add command to return schema
- can add (optional) parameters to commands
- make libqmp a shared object for 0.16 (too much going on for 0.15)
- can terminate in qemu (e.g. vnc server internally qmp client to interact
with guest cut 'n paste) or externally proxying to/from endpoint
- possibly revisit dynamic schema in future
glib, main loop, events
- (context was setfd changes from amit)
- iothread work is more critical to do first and get merged
- glib work starting just in qapi
iothread merge?
- progressing slowly, marcelo working on it
- have found regressions (signal handling code) (ifdef'd away for now)