python: introduce qmp-shell-wrap convenience tool
commit439125293cc9cfb684eb4db23db04199f5f435a2
authorDaniel P. Berrangé <berrange@redhat.com>
Fri, 28 Jan 2022 16:11:56 +0000 (28 16:11 +0000)
committerJohn Snow <jsnow@redhat.com>
Wed, 23 Feb 2022 22:07:26 +0000 (23 17:07 -0500)
tree28d4356bed0cf6a1f3fa700ce273a8964d4b0023
parent31e3caf21b6cdf54d11f3744b8b341f07a30b5d7
python: introduce qmp-shell-wrap convenience tool

With the current 'qmp-shell' tool developers must first spawn QEMU with
a suitable -qmp arg and then spawn qmp-shell in a separate terminal
pointing to the right socket.

With 'qmp-shell-wrap' developers can ignore QMP sockets entirely and
just pass the QEMU command and arguments they want. The program will
listen on a UNIX socket and tell QEMU to connect QMP to that.

For example, this:

 # qmp-shell-wrap -- qemu-system-x86_64 -display none

Is roughly equivalent of running:

 # qemu-system-x86_64 -display none -qmp qmp-shell-1234 &
 # qmp-shell qmp-shell-1234

Except that 'qmp-shell-wrap' switches the socket peers around so that
it is the UNIX socket server and QEMU is the socket client. This makes
QEMU reliably go away when qmp-shell-wrap exits, closing the server
socket.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Message-id: 20220128161157.36261-2-berrange@redhat.com
[Edited for rebase. --js]
Signed-off-by: John Snow <jsnow@redhat.com>
python/qemu/aqmp/qmp_shell.py
python/setup.cfg
scripts/qmp/qmp-shell-wrap [new file with mode: 0755]