[libvirt] [PATCH 00/23] Enable proper use of systemd socket activation with libvirtd

Daniel P. Berrangé posted 23 patches 4 years, 9 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20190627095452.28217-1-berrange@redhat.com
Test syntax-check failed
There is a newer version of this series
libvirt.spec.in                       |  24 +-
src/libvirt_private.syms              |  10 +-
src/libvirt_remote.syms               |   7 +-
src/locking/lock_daemon.c             | 121 +++----
src/locking/virtlockd-admin.socket.in |   2 +
src/logging/log_daemon.c              | 121 +++----
src/logging/virtlogd-admin.socket.in  |   2 +
src/remote/Makefile.inc.am            |  35 +++
src/remote/libvirtd-admin.socket.in   |  15 +
src/remote/libvirtd-ro.socket.in      |  15 +
src/remote/libvirtd-tcp.socket.in     |  14 +
src/remote/libvirtd-tls.socket.in     |  14 +
src/remote/libvirtd.conf              |  31 ++
src/remote/libvirtd.service.in        |  16 +-
src/remote/libvirtd.socket.in         |  13 +
src/remote/libvirtd.sysconf           |   3 +-
src/remote/remote_daemon.c            | 255 +++++++--------
src/rpc/virnetserver.c                | 162 ++++++++++
src/rpc/virnetserver.h                |  26 ++
src/rpc/virnetserverservice.c         | 238 ++++++--------
src/rpc/virnetserverservice.h         |  24 +-
src/rpc/virnetsocket.c                |  93 ++++--
src/rpc/virnetsocket.h                |   2 +
src/util/viralloc.h                   |  13 +
src/util/vircommand.c                 |  99 ------
src/util/vircommand.h                 |   2 -
src/util/virsocketaddr.c              |  93 ++++++
src/util/virsocketaddr.h              |   4 +
src/util/virsystemd.c                 | 434 ++++++++++++++++++++++++++
src/util/virsystemd.h                 |  30 ++
src/util/virutil.c                    | 116 -------
src/util/virutil.h                    |   3 -
tests/commanddata/test24.log          |   8 -
tests/commandtest.c                   |  58 ----
tests/virsystemdtest.c                | 169 ++++++++++
35 files changed, 1490 insertions(+), 782 deletions(-)
create mode 100644 src/remote/libvirtd-admin.socket.in
create mode 100644 src/remote/libvirtd-ro.socket.in
create mode 100644 src/remote/libvirtd-tcp.socket.in
create mode 100644 src/remote/libvirtd-tls.socket.in
create mode 100644 src/remote/libvirtd.socket.in
delete mode 100644 tests/commanddata/test24.log
[libvirt] [PATCH 00/23] Enable proper use of systemd socket activation with libvirtd
Posted by Daniel P. Berrangé 4 years, 9 months ago
The libvirtd daemon has some support for systemd socket activation
from:

  commit 27a7081c2968ca0d7fbd590629b5a5303851f4a3
  Author: Martin Kletzander <mkletzan@redhat.com>
  Date:   Tue Jul 15 15:28:53 2014 +0200

    daemon: support passing FDs from the calling process

    First FD is the RW unix socket to listen on, second one (if
    applicable) is the RO unix socket.

This was originally intended for use by the libvirt client when doing
auto-spawning of libvirtd, but we later deleted that client side code
in

  commit be78814ae07f092d9c4e71fd82dd1947aba2f029
  Author: Michal Privoznik <mprivozn@redhat.com>
  Date:   Thu Apr 2 14:41:17 2015 +0200

    virNetSocketNewConnectUNIX: Use flocks when spawning a daemon

We never added systemd socket units before as we need libvirtd to start
on boot to perform autostart.

It was recently pointed out by Lennart that these two features are not
mutually exclusive though. Libvirtd can be set to start on boot, and
also have socket unit files.

The idea is that we start libvirtd on boot, perform autostart, and then
libvirtd can exit if nothing is running. The socket unit files are then
there to start it again when a mgmt app connects.

This series implements that strategy. In doing so the current socket
activation support was rewritten to be more flexible, able to cope with
the admin socket and the TCP/TLS sockets, all passed in any order.

NB, I don't believe I have got the RPM upgrade procedure right yet. As
there are alot of scenario to test for upgrades, I need more validation
of that. The series is long enough now though, that it would benefit
from code review already

This socket activation is also going to be important when we split out
the daemons, as we will use the same libvirtd codebase for these new
daemons, simply compiled with different options.

Daniel P. Berrangé (23):
  locking,logging: put a strong dep from admin socket to main socket
  util: add helper API for getting UNIX path from socket address
  rpc: add helper API for getting UNIX path from socket object
  util: add VIR_AUTOSTRUCT for directly calling a struct free function
  util: add API for resolving socket service names
  util: add APIs for facilitating use of systemd activation FDs
  rpc: ensure all sockets bind to same port when service is NULL
  rpc: refactor RPC service constructors to share more code
  rpc: allow creating RPC service from an array of FDs
  rpc: avoid unlinking sockets passed in from systemd
  rpc: add helper APIs for adding services with systemd activation
  rpc: add API for checking whether an auth scheme is in use on a server
  remote: simplify libvirtd code for deciding if SASL auth is needed
  remote: fix handling of systemd activation wrt socket ordering
  rpc: remove unused API for creating services from FDs
  remote: add systemd socket units for UNIX/TCP sockets
  remote: make system libvirtd exit when idle via timeout
  remote: update config files to note usage wrt systemd socket
    activation
  util: remove code spawning with systemd activation env vars
  locking: convert lock daemon to use systemd activation APIs
  logging: convert log daemon to use systemd activation APIs
  util: move code for getting listen FDs into systemd module
  util: remove unused helper for getting UNIX socket path

 libvirt.spec.in                       |  24 +-
 src/libvirt_private.syms              |  10 +-
 src/libvirt_remote.syms               |   7 +-
 src/locking/lock_daemon.c             | 121 +++----
 src/locking/virtlockd-admin.socket.in |   2 +
 src/logging/log_daemon.c              | 121 +++----
 src/logging/virtlogd-admin.socket.in  |   2 +
 src/remote/Makefile.inc.am            |  35 +++
 src/remote/libvirtd-admin.socket.in   |  15 +
 src/remote/libvirtd-ro.socket.in      |  15 +
 src/remote/libvirtd-tcp.socket.in     |  14 +
 src/remote/libvirtd-tls.socket.in     |  14 +
 src/remote/libvirtd.conf              |  31 ++
 src/remote/libvirtd.service.in        |  16 +-
 src/remote/libvirtd.socket.in         |  13 +
 src/remote/libvirtd.sysconf           |   3 +-
 src/remote/remote_daemon.c            | 255 +++++++--------
 src/rpc/virnetserver.c                | 162 ++++++++++
 src/rpc/virnetserver.h                |  26 ++
 src/rpc/virnetserverservice.c         | 238 ++++++--------
 src/rpc/virnetserverservice.h         |  24 +-
 src/rpc/virnetsocket.c                |  93 ++++--
 src/rpc/virnetsocket.h                |   2 +
 src/util/viralloc.h                   |  13 +
 src/util/vircommand.c                 |  99 ------
 src/util/vircommand.h                 |   2 -
 src/util/virsocketaddr.c              |  93 ++++++
 src/util/virsocketaddr.h              |   4 +
 src/util/virsystemd.c                 | 434 ++++++++++++++++++++++++++
 src/util/virsystemd.h                 |  30 ++
 src/util/virutil.c                    | 116 -------
 src/util/virutil.h                    |   3 -
 tests/commanddata/test24.log          |   8 -
 tests/commandtest.c                   |  58 ----
 tests/virsystemdtest.c                | 169 ++++++++++
 35 files changed, 1490 insertions(+), 782 deletions(-)
 create mode 100644 src/remote/libvirtd-admin.socket.in
 create mode 100644 src/remote/libvirtd-ro.socket.in
 create mode 100644 src/remote/libvirtd-tcp.socket.in
 create mode 100644 src/remote/libvirtd-tls.socket.in
 create mode 100644 src/remote/libvirtd.socket.in
 delete mode 100644 tests/commanddata/test24.log

-- 
2.21.0

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 00/23] Enable proper use of systemd socket activation with libvirtd
Posted by Martin Kletzander 4 years, 9 months ago
On Thu, Jun 27, 2019 at 10:54:29AM +0100, Daniel P. Berrangé wrote:
>The libvirtd daemon has some support for systemd socket activation
>from:
>
>  commit 27a7081c2968ca0d7fbd590629b5a5303851f4a3
>  Author: Martin Kletzander <mkletzan@redhat.com>
>  Date:   Tue Jul 15 15:28:53 2014 +0200
>
>    daemon: support passing FDs from the calling process
>
>    First FD is the RW unix socket to listen on, second one (if
>    applicable) is the RO unix socket.
>
>This was originally intended for use by the libvirt client when doing
>auto-spawning of libvirtd, but we later deleted that client side code
>in
>
>  commit be78814ae07f092d9c4e71fd82dd1947aba2f029
>  Author: Michal Privoznik <mprivozn@redhat.com>
>  Date:   Thu Apr 2 14:41:17 2015 +0200
>
>    virNetSocketNewConnectUNIX: Use flocks when spawning a daemon
>
>We never added systemd socket units before as we need libvirtd to start
>on boot to perform autostart.
>
>It was recently pointed out by Lennart that these two features are not
>mutually exclusive though. Libvirtd can be set to start on boot, and
>also have socket unit files.
>
>The idea is that we start libvirtd on boot, perform autostart, and then
>libvirtd can exit if nothing is running. The socket unit files are then
>there to start it again when a mgmt app connects.
>

How do you deal with responding to QEMU events, for example proper support for
<on_poweroff>restart</on_poweroff> ?

>This series implements that strategy. In doing so the current socket
>activation support was rewritten to be more flexible, able to cope with
>the admin socket and the TCP/TLS sockets, all passed in any order.
>
>NB, I don't believe I have got the RPM upgrade procedure right yet. As
>there are alot of scenario to test for upgrades, I need more validation
>of that. The series is long enough now though, that it would benefit
>from code review already
>
>This socket activation is also going to be important when we split out
>the daemons, as we will use the same libvirtd codebase for these new
>daemons, simply compiled with different options.
>
>Daniel P. Berrangé (23):
>  locking,logging: put a strong dep from admin socket to main socket
>  util: add helper API for getting UNIX path from socket address
>  rpc: add helper API for getting UNIX path from socket object
>  util: add VIR_AUTOSTRUCT for directly calling a struct free function
>  util: add API for resolving socket service names
>  util: add APIs for facilitating use of systemd activation FDs
>  rpc: ensure all sockets bind to same port when service is NULL
>  rpc: refactor RPC service constructors to share more code
>  rpc: allow creating RPC service from an array of FDs
>  rpc: avoid unlinking sockets passed in from systemd
>  rpc: add helper APIs for adding services with systemd activation
>  rpc: add API for checking whether an auth scheme is in use on a server
>  remote: simplify libvirtd code for deciding if SASL auth is needed
>  remote: fix handling of systemd activation wrt socket ordering
>  rpc: remove unused API for creating services from FDs
>  remote: add systemd socket units for UNIX/TCP sockets
>  remote: make system libvirtd exit when idle via timeout
>  remote: update config files to note usage wrt systemd socket
>    activation
>  util: remove code spawning with systemd activation env vars
>  locking: convert lock daemon to use systemd activation APIs
>  logging: convert log daemon to use systemd activation APIs
>  util: move code for getting listen FDs into systemd module
>  util: remove unused helper for getting UNIX socket path
>
> libvirt.spec.in                       |  24 +-
> src/libvirt_private.syms              |  10 +-
> src/libvirt_remote.syms               |   7 +-
> src/locking/lock_daemon.c             | 121 +++----
> src/locking/virtlockd-admin.socket.in |   2 +
> src/logging/log_daemon.c              | 121 +++----
> src/logging/virtlogd-admin.socket.in  |   2 +
> src/remote/Makefile.inc.am            |  35 +++
> src/remote/libvirtd-admin.socket.in   |  15 +
> src/remote/libvirtd-ro.socket.in      |  15 +
> src/remote/libvirtd-tcp.socket.in     |  14 +
> src/remote/libvirtd-tls.socket.in     |  14 +
> src/remote/libvirtd.conf              |  31 ++
> src/remote/libvirtd.service.in        |  16 +-
> src/remote/libvirtd.socket.in         |  13 +
> src/remote/libvirtd.sysconf           |   3 +-
> src/remote/remote_daemon.c            | 255 +++++++--------
> src/rpc/virnetserver.c                | 162 ++++++++++
> src/rpc/virnetserver.h                |  26 ++
> src/rpc/virnetserverservice.c         | 238 ++++++--------
> src/rpc/virnetserverservice.h         |  24 +-
> src/rpc/virnetsocket.c                |  93 ++++--
> src/rpc/virnetsocket.h                |   2 +
> src/util/viralloc.h                   |  13 +
> src/util/vircommand.c                 |  99 ------
> src/util/vircommand.h                 |   2 -
> src/util/virsocketaddr.c              |  93 ++++++
> src/util/virsocketaddr.h              |   4 +
> src/util/virsystemd.c                 | 434 ++++++++++++++++++++++++++
> src/util/virsystemd.h                 |  30 ++
> src/util/virutil.c                    | 116 -------
> src/util/virutil.h                    |   3 -
> tests/commanddata/test24.log          |   8 -
> tests/commandtest.c                   |  58 ----
> tests/virsystemdtest.c                | 169 ++++++++++
> 35 files changed, 1490 insertions(+), 782 deletions(-)
> create mode 100644 src/remote/libvirtd-admin.socket.in
> create mode 100644 src/remote/libvirtd-ro.socket.in
> create mode 100644 src/remote/libvirtd-tcp.socket.in
> create mode 100644 src/remote/libvirtd-tls.socket.in
> create mode 100644 src/remote/libvirtd.socket.in
> delete mode 100644 tests/commanddata/test24.log
>
>-- 
>2.21.0
>
>--
>libvir-list mailing list
>libvir-list@redhat.com
>https://www.redhat.com/mailman/listinfo/libvir-list
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 00/23] Enable proper use of systemd socket activation with libvirtd
Posted by Daniel P. Berrangé 4 years, 9 months ago
On Thu, Jun 27, 2019 at 01:56:45PM +0200, Martin Kletzander wrote:
> On Thu, Jun 27, 2019 at 10:54:29AM +0100, Daniel P. Berrangé wrote:
> > The libvirtd daemon has some support for systemd socket activation
> > from:
> > 
> >  commit 27a7081c2968ca0d7fbd590629b5a5303851f4a3
> >  Author: Martin Kletzander <mkletzan@redhat.com>
> >  Date:   Tue Jul 15 15:28:53 2014 +0200
> > 
> >    daemon: support passing FDs from the calling process
> > 
> >    First FD is the RW unix socket to listen on, second one (if
> >    applicable) is the RO unix socket.
> > 
> > This was originally intended for use by the libvirt client when doing
> > auto-spawning of libvirtd, but we later deleted that client side code
> > in
> > 
> >  commit be78814ae07f092d9c4e71fd82dd1947aba2f029
> >  Author: Michal Privoznik <mprivozn@redhat.com>
> >  Date:   Thu Apr 2 14:41:17 2015 +0200
> > 
> >    virNetSocketNewConnectUNIX: Use flocks when spawning a daemon
> > 
> > We never added systemd socket units before as we need libvirtd to start
> > on boot to perform autostart.
> > 
> > It was recently pointed out by Lennart that these two features are not
> > mutually exclusive though. Libvirtd can be set to start on boot, and
> > also have socket unit files.
> > 
> > The idea is that we start libvirtd on boot, perform autostart, and then
> > libvirtd can exit if nothing is running. The socket unit files are then
> > there to start it again when a mgmt app connects.
> > 
> 
> How do you deal with responding to QEMU events, for example proper support for
> <on_poweroff>restart</on_poweroff> ?

If any QEMU guest is running, libvirtd will keep running. The --timeout
option should only let us exit if we have no client apps and no running
QEMUs, unless I'm mis-remembering.


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 00/23] Enable proper use of systemd socket activation with libvirtd
Posted by Martin Kletzander 4 years, 9 months ago
On Thu, Jun 27, 2019 at 02:04:44PM +0100, Daniel P. Berrangé wrote:
>On Thu, Jun 27, 2019 at 01:56:45PM +0200, Martin Kletzander wrote:
>> On Thu, Jun 27, 2019 at 10:54:29AM +0100, Daniel P. Berrangé wrote:
>> > The libvirtd daemon has some support for systemd socket activation
>> > from:
>> >
>> >  commit 27a7081c2968ca0d7fbd590629b5a5303851f4a3
>> >  Author: Martin Kletzander <mkletzan@redhat.com>
>> >  Date:   Tue Jul 15 15:28:53 2014 +0200
>> >
>> >    daemon: support passing FDs from the calling process
>> >
>> >    First FD is the RW unix socket to listen on, second one (if
>> >    applicable) is the RO unix socket.
>> >
>> > This was originally intended for use by the libvirt client when doing
>> > auto-spawning of libvirtd, but we later deleted that client side code
>> > in
>> >
>> >  commit be78814ae07f092d9c4e71fd82dd1947aba2f029
>> >  Author: Michal Privoznik <mprivozn@redhat.com>
>> >  Date:   Thu Apr 2 14:41:17 2015 +0200
>> >
>> >    virNetSocketNewConnectUNIX: Use flocks when spawning a daemon
>> >
>> > We never added systemd socket units before as we need libvirtd to start
>> > on boot to perform autostart.
>> >
>> > It was recently pointed out by Lennart that these two features are not
>> > mutually exclusive though. Libvirtd can be set to start on boot, and
>> > also have socket unit files.
>> >
>> > The idea is that we start libvirtd on boot, perform autostart, and then
>> > libvirtd can exit if nothing is running. The socket unit files are then
>> > there to start it again when a mgmt app connects.
>> >
>>
>> How do you deal with responding to QEMU events, for example proper support for
>> <on_poweroff>restart</on_poweroff> ?
>
>If any QEMU guest is running, libvirtd will keep running. The --timeout
>option should only let us exit if we have no client apps and no running
>QEMUs, unless I'm mis-remembering.
>

As far as I remember the session daemon was basing this on connected clients,
but it might've changed since.  I just wanted to point out this might be
something to keep in mind as the reason for not having this setup was something
along the lines of this issue.

>
>Regards,
>Daniel
>-- 
>|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
>|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
>|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 00/23] Enable proper use of systemd socket activation with libvirtd
Posted by Daniel P. Berrangé 4 years, 9 months ago
On Thu, Jun 27, 2019 at 04:18:12PM +0200, Martin Kletzander wrote:
> On Thu, Jun 27, 2019 at 02:04:44PM +0100, Daniel P. Berrangé wrote:
> > On Thu, Jun 27, 2019 at 01:56:45PM +0200, Martin Kletzander wrote:
> > > On Thu, Jun 27, 2019 at 10:54:29AM +0100, Daniel P. Berrangé wrote:
> > > > The libvirtd daemon has some support for systemd socket activation
> > > > from:
> > > >
> > > >  commit 27a7081c2968ca0d7fbd590629b5a5303851f4a3
> > > >  Author: Martin Kletzander <mkletzan@redhat.com>
> > > >  Date:   Tue Jul 15 15:28:53 2014 +0200
> > > >
> > > >    daemon: support passing FDs from the calling process
> > > >
> > > >    First FD is the RW unix socket to listen on, second one (if
> > > >    applicable) is the RO unix socket.
> > > >
> > > > This was originally intended for use by the libvirt client when doing
> > > > auto-spawning of libvirtd, but we later deleted that client side code
> > > > in
> > > >
> > > >  commit be78814ae07f092d9c4e71fd82dd1947aba2f029
> > > >  Author: Michal Privoznik <mprivozn@redhat.com>
> > > >  Date:   Thu Apr 2 14:41:17 2015 +0200
> > > >
> > > >    virNetSocketNewConnectUNIX: Use flocks when spawning a daemon
> > > >
> > > > We never added systemd socket units before as we need libvirtd to start
> > > > on boot to perform autostart.
> > > >
> > > > It was recently pointed out by Lennart that these two features are not
> > > > mutually exclusive though. Libvirtd can be set to start on boot, and
> > > > also have socket unit files.
> > > >
> > > > The idea is that we start libvirtd on boot, perform autostart, and then
> > > > libvirtd can exit if nothing is running. The socket unit files are then
> > > > there to start it again when a mgmt app connects.
> > > >
> > > 
> > > How do you deal with responding to QEMU events, for example proper support for
> > > <on_poweroff>restart</on_poweroff> ?
> > 
> > If any QEMU guest is running, libvirtd will keep running. The --timeout
> > option should only let us exit if we have no client apps and no running
> > QEMUs, unless I'm mis-remembering.
> > 
> 
> As far as I remember the session daemon was basing this on connected clients,
> but it might've changed since.  I just wanted to point out this might be
> something to keep in mind as the reason for not having this setup was something
> along the lines of this issue.

The stateful drivers get a virStateInhibitCallback function passed in.

The QEMU drivers invokes this callback to inhibit shutdown when any
VMs are running.

The code that handles the auto shutdown timer in libvirtd checks for
whether any clients are connected, and also whether shutdown has been
inhibited.

So everything  will work as needed for thie series.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 00/23] Enable proper use of systemd socket activation with libvirtd
Posted by Daniel P. Berrangé 4 years, 8 months ago
Ping

On Thu, Jun 27, 2019 at 10:54:29AM +0100, Daniel P. Berrangé wrote:
> The libvirtd daemon has some support for systemd socket activation
> from:
> 
>   commit 27a7081c2968ca0d7fbd590629b5a5303851f4a3
>   Author: Martin Kletzander <mkletzan@redhat.com>
>   Date:   Tue Jul 15 15:28:53 2014 +0200
> 
>     daemon: support passing FDs from the calling process
> 
>     First FD is the RW unix socket to listen on, second one (if
>     applicable) is the RO unix socket.
> 
> This was originally intended for use by the libvirt client when doing
> auto-spawning of libvirtd, but we later deleted that client side code
> in
> 
>   commit be78814ae07f092d9c4e71fd82dd1947aba2f029
>   Author: Michal Privoznik <mprivozn@redhat.com>
>   Date:   Thu Apr 2 14:41:17 2015 +0200
> 
>     virNetSocketNewConnectUNIX: Use flocks when spawning a daemon
> 
> We never added systemd socket units before as we need libvirtd to start
> on boot to perform autostart.
> 
> It was recently pointed out by Lennart that these two features are not
> mutually exclusive though. Libvirtd can be set to start on boot, and
> also have socket unit files.
> 
> The idea is that we start libvirtd on boot, perform autostart, and then
> libvirtd can exit if nothing is running. The socket unit files are then
> there to start it again when a mgmt app connects.
> 
> This series implements that strategy. In doing so the current socket
> activation support was rewritten to be more flexible, able to cope with
> the admin socket and the TCP/TLS sockets, all passed in any order.
> 
> NB, I don't believe I have got the RPM upgrade procedure right yet. As
> there are alot of scenario to test for upgrades, I need more validation
> of that. The series is long enough now though, that it would benefit
> from code review already
> 
> This socket activation is also going to be important when we split out
> the daemons, as we will use the same libvirtd codebase for these new
> daemons, simply compiled with different options.
> 
> Daniel P. Berrangé (23):
>   locking,logging: put a strong dep from admin socket to main socket
>   util: add helper API for getting UNIX path from socket address
>   rpc: add helper API for getting UNIX path from socket object
>   util: add VIR_AUTOSTRUCT for directly calling a struct free function
>   util: add API for resolving socket service names
>   util: add APIs for facilitating use of systemd activation FDs
>   rpc: ensure all sockets bind to same port when service is NULL
>   rpc: refactor RPC service constructors to share more code
>   rpc: allow creating RPC service from an array of FDs
>   rpc: avoid unlinking sockets passed in from systemd
>   rpc: add helper APIs for adding services with systemd activation
>   rpc: add API for checking whether an auth scheme is in use on a server
>   remote: simplify libvirtd code for deciding if SASL auth is needed
>   remote: fix handling of systemd activation wrt socket ordering
>   rpc: remove unused API for creating services from FDs
>   remote: add systemd socket units for UNIX/TCP sockets
>   remote: make system libvirtd exit when idle via timeout
>   remote: update config files to note usage wrt systemd socket
>     activation
>   util: remove code spawning with systemd activation env vars
>   locking: convert lock daemon to use systemd activation APIs
>   logging: convert log daemon to use systemd activation APIs
>   util: move code for getting listen FDs into systemd module
>   util: remove unused helper for getting UNIX socket path
> 
>  libvirt.spec.in                       |  24 +-
>  src/libvirt_private.syms              |  10 +-
>  src/libvirt_remote.syms               |   7 +-
>  src/locking/lock_daemon.c             | 121 +++----
>  src/locking/virtlockd-admin.socket.in |   2 +
>  src/logging/log_daemon.c              | 121 +++----
>  src/logging/virtlogd-admin.socket.in  |   2 +
>  src/remote/Makefile.inc.am            |  35 +++
>  src/remote/libvirtd-admin.socket.in   |  15 +
>  src/remote/libvirtd-ro.socket.in      |  15 +
>  src/remote/libvirtd-tcp.socket.in     |  14 +
>  src/remote/libvirtd-tls.socket.in     |  14 +
>  src/remote/libvirtd.conf              |  31 ++
>  src/remote/libvirtd.service.in        |  16 +-
>  src/remote/libvirtd.socket.in         |  13 +
>  src/remote/libvirtd.sysconf           |   3 +-
>  src/remote/remote_daemon.c            | 255 +++++++--------
>  src/rpc/virnetserver.c                | 162 ++++++++++
>  src/rpc/virnetserver.h                |  26 ++
>  src/rpc/virnetserverservice.c         | 238 ++++++--------
>  src/rpc/virnetserverservice.h         |  24 +-
>  src/rpc/virnetsocket.c                |  93 ++++--
>  src/rpc/virnetsocket.h                |   2 +
>  src/util/viralloc.h                   |  13 +
>  src/util/vircommand.c                 |  99 ------
>  src/util/vircommand.h                 |   2 -
>  src/util/virsocketaddr.c              |  93 ++++++
>  src/util/virsocketaddr.h              |   4 +
>  src/util/virsystemd.c                 | 434 ++++++++++++++++++++++++++
>  src/util/virsystemd.h                 |  30 ++
>  src/util/virutil.c                    | 116 -------
>  src/util/virutil.h                    |   3 -
>  tests/commanddata/test24.log          |   8 -
>  tests/commandtest.c                   |  58 ----
>  tests/virsystemdtest.c                | 169 ++++++++++
>  35 files changed, 1490 insertions(+), 782 deletions(-)
>  create mode 100644 src/remote/libvirtd-admin.socket.in
>  create mode 100644 src/remote/libvirtd-ro.socket.in
>  create mode 100644 src/remote/libvirtd-tcp.socket.in
>  create mode 100644 src/remote/libvirtd-tls.socket.in
>  create mode 100644 src/remote/libvirtd.socket.in
>  delete mode 100644 tests/commanddata/test24.log
> 
> -- 
> 2.21.0
> 

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

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