libvirt/docs/manpages
Daniel P. Berrangé 83c6d80abc tools: add virt-qemu-qmp-proxy for proxying QMP via libvirt QEMU guests
Libvirt provides QMP passthrough APIs for the QEMU driver and these are
exposed in virsh. It is not especially pleasant, however, using the raw
QMP JSON syntax. QEMU has a tool 'qmp-shell' which can speak QMP and
exposes a human friendly interactive shell. It is not possible to use
this with libvirt managed guest, however, since only one client can
attach to the QMP socket at any point in time. While it would be
possible to configure a second QMP socket for a VM, it may not be
an known requirement at the time the guest is provisioned.

The virt-qmp-proxy tool aims to solve this problem. It opens a UNIX
socket and listens for incoming client connections, speaking QMP on
the connected socket. It will forward any QMP commands received onto
the running libvirt QEMU guest, and forward any replies back to the
QMP client. It will also forward back events.

  $ virsh start demo
  $ virt-qmp-proxy demo demo.qmp &
  $ qmp-shell demo.qmp
  Welcome to the QMP low-level shell!
  Connected to QEMU 6.2.0

  (QEMU) query-kvm
  {
      "return": {
          "enabled": true,
          "present": true
      }
  }

Note this tool of course has the same risks as the raw libvirt
QMP passthrough. It is safe to run query commands to fetch information
but commands which change the QEMU state risk disrupting libvirt's
management of QEMU, potentially resulting in data loss/corruption in
the worst case. Any use of this tool will cause the guest to be marked
as tainted as an warning that it could be in an unexpected state.

Since this tool introduces a python dependency it is not desirable
to include it in any of the existing RPMs in libvirt. This tool is
also QEMU specific, so isn't appropriate to bundle with the generic
tools. Thus a new RPM is introduced 'libvirt-clients-qemu', to
contain additional QEMU specific tools, with extra external deps.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2022-10-07 14:32:36 +01:00
..
index.rst docs: Add man page for libvirt-guests 2022-01-17 18:20:55 +01:00
libvirt-guests.rst manpages: libvirt-guests: Fix typos 2022-01-19 14:52:27 +01:00
libvirtd.rst libvirt-guests: Fix dependency ordering in service file 2022-09-26 13:04:48 +02:00
meson.build tools: add virt-qemu-qmp-proxy for proxying QMP via libvirt QEMU guests 2022-10-07 14:32:36 +01:00
virsh.rst qemu: Add UNDEFINE_TPM and UNDEFINE_KEEP_TPM flags 2022-10-04 16:34:28 +02:00
virt-admin.rst virt-admin: Introduce 'daemon-timeout' 2022-07-07 14:35:30 +02:00
virt-host-validate.rst docs: convert virt-host-validate man page from pod to rst 2019-12-11 14:28:41 +00:00
virt-login-shell.rst docs: use "::" instead of ".. code-block::" 2020-10-05 13:05:47 +01:00
virt-pki-query-dn.rst virt-pki-query-dn: Add manual page 2021-12-10 18:40:10 +01:00
virt-pki-validate.rst docs: convert virt-pki-validate man page from pod to rst 2019-12-11 14:28:41 +00:00
virt-qemu-qmp-proxy.rst tools: add virt-qemu-qmp-proxy for proxying QMP via libvirt QEMU guests 2022-10-07 14:32:36 +01:00
virt-qemu-run.rst virt-qemu-run: Improve manual page 2021-12-10 18:39:56 +01:00
virt-sanlock-cleanup.rst man: fix section of virt-sanlock-cleanup 2020-01-17 15:34:10 +01:00
virt-ssh-helper.rst virt-ssh-helper: Move manual page to section 8 2022-01-13 16:07:56 +01:00
virt-xml-validate.rst virt-xml-validate: Add more XML formats support 2022-05-13 17:15:24 +02:00
virtbhyved.rst docs: add manpage for virtbhyved 2021-01-15 19:08:00 +00:00
virtinterfaced.rst docs: add manpage for virtinterfaced 2021-01-15 19:08:00 +00:00
virtlockd.rst docs: don't hardcode an ancient version in manpage examples 2021-01-15 19:08:00 +00:00
virtlogd.rst docs: don't hardcode an ancient version in manpage examples 2021-01-15 19:08:00 +00:00
virtlxcd.rst libvirt-guests: Fix dependency ordering in service file 2022-09-26 13:04:48 +02:00
virtnetworkd.rst docs: add manpage for virtnetworkd 2021-01-15 19:08:00 +00:00
virtnodedevd.rst docs: add manpage for virtnodedevd 2021-01-15 19:08:00 +00:00
virtnwfilterd.rst docs: add manpage for virtnwfilterd 2021-01-15 19:08:00 +00:00
virtproxyd.rst Fix spelling 2021-04-15 15:42:21 +02:00
virtqemud.rst libvirt-guests: Fix dependency ordering in service file 2022-09-26 13:04:48 +02:00
virtsecretd.rst docs: add manpage for virtsecretd 2021-01-15 19:08:00 +00:00
virtstoraged.rst docs: add manpage for virtstoraged 2021-01-15 19:08:00 +00:00
virtvboxd.rst libvirt-guests: Fix dependency ordering in service file 2022-09-26 13:04:48 +02:00
virtvzd.rst libvirt-guests: Fix dependency ordering in service file 2022-09-26 13:04:48 +02:00
virtxend.rst libvirt-guests: Fix dependency ordering in service file 2022-09-26 13:04:48 +02:00