cedebdacd2
This is a very simple shell written in Python for demonstration purposes. Unfortunately it's a bit awkward right now, as the user has to specify the arguments names and the printed data can be a raw dictionary or list, like the following example: (QEMU) pci_add pci_addr=auto type=nic {u'slot': 5, u'bus': 0, u'domain': 0, u'function': 0} (QEMU) It's worth to note that the shell is broken into two files. One is the shell itself, the other is the QMP class which handles the communication with QEMU. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> |
||
---|---|---|
.. | ||
qmp-events.txt | ||
qmp-shell | ||
qmp-spec.txt | ||
qmp.py | ||
README |
QEMU Monitor Protocol ===================== Introduction ------------- The QEMU Monitor Protocol (QMP) is a JSON[1] based protocol for QEMU. By using it applications can control QEMU in reliable and "parseable" way, QMP also provides asynchronous events support. For more information, please, refer to the following files: o qmp-spec.txt QEMU Monitor Protocol current draft specification o qmp-events.txt List of available asynchronous events There are also two simple Python scripts available: o qmp-shell A shell o vm-info Show some informations about the Virtal Machine [1] http://www.json.org Usage ----- To enable QMP, QEMU has to be started in "control mode". This is done by passing the flag "control" to the "-monitor" command-line option. For example: $ qemu [...] -monitor control,tcp:localhost:4444,server Will start QEMU in control mode, waiting for a client TCP connection on localhost port 4444. To manually test it you can connect with telnet and issue commands: $ telnet localhost 4444 Trying ::1... Connected to localhost. Escape character is '^]'. {"QMP": {"capabilities": []}} { "execute": "query-version" } {"return": "0.11.50"} Contact ------- http://www.linux-kvm.org/page/MonitorProtocol Luiz Fernando N. Capitulino <lcapitulino@redhat.com>