[libvirt] [PATCH 0/8] Second take on slirp-helper & dbus-vmstate

marcandre.lureau@redhat.com posted 8 patches 29 weeks ago
Test syntax-check failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20200114134646.3317599-1-marcandre.lureau@redhat.com
m4/virt-driver-qemu.m4             |   6 +
src/qemu/Makefile.inc.am           |   6 +-
src/qemu/libvirtd_qemu.aug         |   1 +
src/qemu/qemu.conf                 |   3 +
src/qemu/qemu_alias.c              |  17 +-
src/qemu/qemu_alias.h              |   3 +-
src/qemu/qemu_command.c            |  65 +++----
src/qemu/qemu_command.h            |   6 +-
src/qemu/qemu_conf.c               |   9 +
src/qemu/qemu_conf.h               |   2 +
src/qemu/qemu_dbus.c               | 283 +++++++++++++++++++++++++----
src/qemu/qemu_dbus.h               |  30 +--
src/qemu/qemu_domain.c             |  30 +--
src/qemu/qemu_domain.h             |   9 +-
src/qemu/qemu_extdevice.c          |   4 +-
src/qemu/qemu_hotplug.c            | 165 +++++++++--------
src/qemu/qemu_hotplug.h            |  17 +-
src/qemu/qemu_migration.c          |  57 +++++-
src/qemu/qemu_monitor.c            |  21 +++
src/qemu/qemu_monitor.h            |   3 +
src/qemu/qemu_monitor_json.c       |  15 ++
src/qemu/qemu_monitor_json.h       |   5 +
src/qemu/qemu_process.c            |   6 +
src/qemu/qemu_slirp.c              | 126 ++-----------
src/qemu/qemu_slirp.h              |   4 +-
src/qemu/test_libvirtd_qemu.aug.in |   1 +
tests/Makefile.am                  |   1 +
27 files changed, 564 insertions(+), 331 deletions(-)

[libvirt] [PATCH 0/8] Second take on slirp-helper & dbus-vmstate

Posted by marcandre.lureau@redhat.com 29 weeks ago
From: Marc-André Lureau <marcandre.lureau@redhat.com>

Hi,

The series "[libvirt] [PATCH v2 00/23] Use a slirp helper process" has
been merged and partially reverted. Meanwhile, qemu dbus-vmstate
design has been changed and merged upstream.

This new series fixes the slirp-helper support. The significant change
is that dbus-vmstate now requires a bus (instead of the earlier
peer-to-peer connection). The current series doesn't attempt to
enforce strict policies on the bus. As long as you can connect to the
bus, you can send/receive from/to anyone. A follow-up series should
implement the recommendations from
https://qemu.readthedocs.io/en/latest/interop/dbus.html#security.

The libslirp-rs slirp-helper hasn't yet received an official release.
For testing, you may:
$ cargo install --features=all --git https://gitlab.freedesktop.org/slirp/libslirp-rs

The resulting binary should be ~/.cargo/bin/slirp-helper, so qemu.conf
slirp_helper location should be adjusted. With that in place, a VM
with user networking (slirp) should now start with the helper process.

thanks

Marc-André Lureau (8):
  qemu: remove dbus-vmstate code
  qemu-conf: add configurable dbus-daemon location
  qemu-conf: add dbusStateDir
  qemu: add a DBus daemon helper unit
  domain: save/restore the state of dbus-daemon running
  qemu: prepare and stop the dbus daemon
  qemu: add dbus-vmstate helper migration support
  qemu-slirp: register helper for migration

 m4/virt-driver-qemu.m4             |   6 +
 src/qemu/Makefile.inc.am           |   6 +-
 src/qemu/libvirtd_qemu.aug         |   1 +
 src/qemu/qemu.conf                 |   3 +
 src/qemu/qemu_alias.c              |  17 +-
 src/qemu/qemu_alias.h              |   3 +-
 src/qemu/qemu_command.c            |  65 +++----
 src/qemu/qemu_command.h            |   6 +-
 src/qemu/qemu_conf.c               |   9 +
 src/qemu/qemu_conf.h               |   2 +
 src/qemu/qemu_dbus.c               | 283 +++++++++++++++++++++++++----
 src/qemu/qemu_dbus.h               |  30 +--
 src/qemu/qemu_domain.c             |  30 +--
 src/qemu/qemu_domain.h             |   9 +-
 src/qemu/qemu_extdevice.c          |   4 +-
 src/qemu/qemu_hotplug.c            | 165 +++++++++--------
 src/qemu/qemu_hotplug.h            |  17 +-
 src/qemu/qemu_migration.c          |  57 +++++-
 src/qemu/qemu_monitor.c            |  21 +++
 src/qemu/qemu_monitor.h            |   3 +
 src/qemu/qemu_monitor_json.c       |  15 ++
 src/qemu/qemu_monitor_json.h       |   5 +
 src/qemu/qemu_process.c            |   6 +
 src/qemu/qemu_slirp.c              | 126 ++-----------
 src/qemu/qemu_slirp.h              |   4 +-
 src/qemu/test_libvirtd_qemu.aug.in |   1 +
 tests/Makefile.am                  |   1 +
 27 files changed, 564 insertions(+), 331 deletions(-)

-- 
2.25.0.rc2.1.g09a9a1a997

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [PATCH 0/8] Second take on slirp-helper & dbus-vmstate

Posted by Marc-André Lureau 25 weeks ago
Hi

On Tue, Jan 14, 2020 at 2:47 PM <marcandre.lureau@redhat.com> wrote:
>
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
>
> Hi,
>
> The series "[libvirt] [PATCH v2 00/23] Use a slirp helper process" has
> been merged and partially reverted. Meanwhile, qemu dbus-vmstate
> design has been changed and merged upstream.
>
> This new series fixes the slirp-helper support. The significant change
> is that dbus-vmstate now requires a bus (instead of the earlier
> peer-to-peer connection). The current series doesn't attempt to
> enforce strict policies on the bus. As long as you can connect to the
> bus, you can send/receive from/to anyone. A follow-up series should
> implement the recommendations from
> https://qemu.readthedocs.io/en/latest/interop/dbus.html#security.
>
> The libslirp-rs slirp-helper hasn't yet received an official release.
> For testing, you may:
> $ cargo install --features=all --git https://gitlab.freedesktop.org/slirp/libslirp-rs
>
> The resulting binary should be ~/.cargo/bin/slirp-helper, so qemu.conf
> slirp_helper location should be adjusted. With that in place, a VM
> with user networking (slirp) should now start with the helper process.
>
> thanks
>
> Marc-André Lureau (8):
>   qemu: remove dbus-vmstate code
>   qemu-conf: add configurable dbus-daemon location
>   qemu-conf: add dbusStateDir
>   qemu: add a DBus daemon helper unit
>   domain: save/restore the state of dbus-daemon running
>   qemu: prepare and stop the dbus daemon
>   qemu: add dbus-vmstate helper migration support
>   qemu-slirp: register helper for migration

Can I get some feedback/review on the series?

Fwiw, in the past month, we have seen a new implementation emerge
(https://github.com/majek/slirpnetstack) and this made me reconsider a
number of CLI/capabilities things from the spec. I moved the spec on a
wiki for now: https://gitlab.freedesktop.org/slirp/libslirp/-/wikis/Slirp-Helper.
We are also discussing with podman developpers about it.

Given that this is not frozen, and no helper was released so far, I
understand that libvirt may want to back off a little. Yet, your
feedback could also help shape/define the helper behaviour!

So please, take a look :)
thanks

>
>  m4/virt-driver-qemu.m4             |   6 +
>  src/qemu/Makefile.inc.am           |   6 +-
>  src/qemu/libvirtd_qemu.aug         |   1 +
>  src/qemu/qemu.conf                 |   3 +
>  src/qemu/qemu_alias.c              |  17 +-
>  src/qemu/qemu_alias.h              |   3 +-
>  src/qemu/qemu_command.c            |  65 +++----
>  src/qemu/qemu_command.h            |   6 +-
>  src/qemu/qemu_conf.c               |   9 +
>  src/qemu/qemu_conf.h               |   2 +
>  src/qemu/qemu_dbus.c               | 283 +++++++++++++++++++++++++----
>  src/qemu/qemu_dbus.h               |  30 +--
>  src/qemu/qemu_domain.c             |  30 +--
>  src/qemu/qemu_domain.h             |   9 +-
>  src/qemu/qemu_extdevice.c          |   4 +-
>  src/qemu/qemu_hotplug.c            | 165 +++++++++--------
>  src/qemu/qemu_hotplug.h            |  17 +-
>  src/qemu/qemu_migration.c          |  57 +++++-
>  src/qemu/qemu_monitor.c            |  21 +++
>  src/qemu/qemu_monitor.h            |   3 +
>  src/qemu/qemu_monitor_json.c       |  15 ++
>  src/qemu/qemu_monitor_json.h       |   5 +
>  src/qemu/qemu_process.c            |   6 +
>  src/qemu/qemu_slirp.c              | 126 ++-----------
>  src/qemu/qemu_slirp.h              |   4 +-
>  src/qemu/test_libvirtd_qemu.aug.in |   1 +
>  tests/Makefile.am                  |   1 +
>  27 files changed, 564 insertions(+), 331 deletions(-)
>
> --
> 2.25.0.rc2.1.g09a9a1a997
>
> --
> libvir-list mailing list
> libvir-list@redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list



-- 
Marc-André Lureau


Re: [libvirt] [PATCH 0/8] Second take on slirp-helper & dbus-vmstate

Posted by Michal Privoznik 24 weeks ago
On 1/14/20 2:46 PM, marcandre.lureau@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>


Sorry for late review. I will reply to individual patches with suggested 
changes. I have them locally as a fixup patches, so I can squash them 
and resend (keeping your authorship of course). You can also find them 
on my branch (if you want to test them):

   https://github.com/zippy2/libvirt/commits/qemu_dbus_review

Michal

Re: [libvirt] [PATCH 0/8] Second take on slirp-helper & dbus-vmstate

Posted by Marc-André Lureau 23 weeks ago
Hi

On Thu, Feb 20, 2020 at 10:04 AM Michal Privoznik <mprivozn@redhat.com> wrote:
>
> On 1/14/20 2:46 PM, marcandre.lureau@redhat.com wrote:
> > From: Marc-André Lureau <marcandre.lureau@redhat.com>
>
>
> Sorry for late review. I will reply to individual patches with suggested
> changes. I have them locally as a fixup patches, so I can squash them
> and resend (keeping your authorship of course). You can also find them
> on my branch (if you want to test them):
>
>    https://github.com/zippy2/libvirt/commits/qemu_dbus_review

thanks for the review and the patches, I'll send a new version soon.