[PATCH v4 2/3] remove sysconfig files

Jim Fehlig jfehlig at suse.com
Thu Dec 16 04:06:20 UTC 2021


On 12/14/21 08:37, Olaf Hering wrote:
> sysconfig files are owned by the admin of the host. They have the
> liberty to put anything they want into these files. This makes it
> difficult to provide different built-in defaults.
> 
> Remove the sysconfig file and place the current desired default into
> the service file.
> 
> Local customizations can now go either into /etc/sysconfig/name
> or /etc/systemd/system/name.service.d/my-knobs.conf

I've spent a fair bit of time testing package upgrade scenarios with this patch. 
The only "interesting" thing I noticed was a small behavior change wrt adding a 
new default.

E.g. consider adding a new default and the existing installation includes a 
/etc/sysconfig/name file unmodified by the local admin that also contains an 
uncommented entry. Before this patch, the new default would be placed in 
/etc/sysconfig/name and when upgrading the package, /etc/sysconfig/name would be 
replaced and the new default would take affect on daemon restart. After this 
patch the new default would be placed in the service file, but the existing 
/etc/sysconfig/name would override any Environment= in the service file and the 
new default would not be in affect after daemon restart.

I'd tend to agree with the argument that packagers should not be placing service 
defaults in a file owned by the local admin and don't think this small behavior 
change should block consideration of this improvement.

Regards,
Jim

> Attempt to handle upgrades in libvirt.spec.
> Dirty files which are marked as %config will be renamed to file.rpmsave.
> To restore them automatically, move stale .rpmsave files away, and
> catch any new rpmsave files in %posttrans.
> 
> Signed-off-by: Olaf Hering <olaf at aepfle.de>
> ---
>   docs/daemons.rst                        | 20 ++++++++
>   docs/remote.html.in                     |  6 +--
>   libvirt.spec.in                         | 67 +++++++++++++++++++------
>   src/ch/meson.build                      |  5 --
>   src/ch/virtchd.service.in               |  1 +
>   src/ch/virtchd.sysconf                  |  3 --
>   src/interface/meson.build               |  5 --
>   src/interface/virtinterfaced.service.in |  1 +
>   src/interface/virtinterfaced.sysconf    |  3 --
>   src/libxl/meson.build                   |  5 --
>   src/libxl/virtxend.service.in           |  1 +
>   src/libxl/virtxend.sysconf              |  3 --
>   src/locking/meson.build                 |  5 --
>   src/locking/virtlockd.service.in        |  1 +
>   src/locking/virtlockd.sysconf           |  3 --
>   src/logging/meson.build                 |  5 --
>   src/logging/virtlogd.sysconf            |  3 --
>   src/lxc/meson.build                     |  5 --
>   src/lxc/virtlxcd.service.in             |  1 +
>   src/lxc/virtlxcd.sysconf                |  3 --
>   src/meson.build                         | 16 ------
>   src/network/meson.build                 |  5 --
>   src/network/virtnetworkd.service.in     |  1 +
>   src/network/virtnetworkd.sysconf        |  3 --
>   src/node_device/meson.build             |  5 --
>   src/node_device/virtnodedevd.service.in |  1 +
>   src/node_device/virtnodedevd.sysconf    |  3 --
>   src/nwfilter/meson.build                |  5 --
>   src/nwfilter/virtnwfilterd.service.in   |  1 +
>   src/nwfilter/virtnwfilterd.sysconf      |  3 --
>   src/qemu/meson.build                    |  5 --
>   src/qemu/virtqemud.service.in           |  7 +++
>   src/qemu/virtqemud.sysconf              | 12 -----
>   src/remote/libvirtd.service.in          |  7 +++
>   src/remote/libvirtd.sysconf             | 21 --------
>   src/remote/meson.build                  | 10 ----
>   src/remote/virtproxyd.service.in        |  1 +
>   src/remote/virtproxyd.sysconf           |  3 --
>   src/secret/meson.build                  |  5 --
>   src/secret/virtsecretd.service.in       |  1 +
>   src/secret/virtsecretd.sysconf          |  3 --
>   src/storage/meson.build                 |  5 --
>   src/storage/virtstoraged.service.in     |  1 +
>   src/storage/virtstoraged.sysconf        |  3 --
>   src/vbox/meson.build                    |  5 --
>   src/vbox/virtvboxd.service.in           |  1 +
>   src/vbox/virtvboxd.sysconf              |  3 --
>   src/vz/meson.build                      |  5 --
>   src/vz/virtvzd.service.in               |  1 +
>   src/vz/virtvzd.sysconf                  |  3 --
>   tools/libvirt-guests.sh.in              | 40 +++++++++++++++
>   tools/libvirt-guests.sysconf            | 50 ------------------
>   tools/meson.build                       |  6 ---
>   53 files changed, 142 insertions(+), 245 deletions(-)
>   delete mode 100644 src/ch/virtchd.sysconf
>   delete mode 100644 src/interface/virtinterfaced.sysconf
>   delete mode 100644 src/libxl/virtxend.sysconf
>   delete mode 100644 src/locking/virtlockd.sysconf
>   delete mode 100644 src/logging/virtlogd.sysconf
>   delete mode 100644 src/lxc/virtlxcd.sysconf
>   delete mode 100644 src/network/virtnetworkd.sysconf
>   delete mode 100644 src/node_device/virtnodedevd.sysconf
>   delete mode 100644 src/nwfilter/virtnwfilterd.sysconf
>   delete mode 100644 src/qemu/virtqemud.sysconf
>   delete mode 100644 src/remote/libvirtd.sysconf
>   delete mode 100644 src/remote/virtproxyd.sysconf
>   delete mode 100644 src/secret/virtsecretd.sysconf
>   delete mode 100644 src/storage/virtstoraged.sysconf
>   delete mode 100644 src/vbox/virtvboxd.sysconf
>   delete mode 100644 src/vz/virtvzd.sysconf
>   delete mode 100644 tools/libvirt-guests.sysconf
> 
> diff --git a/docs/daemons.rst b/docs/daemons.rst
> index 8a05ee77a7..1b6396d2af 100644
> --- a/docs/daemons.rst
> +++ b/docs/daemons.rst
> @@ -686,3 +686,23 @@ socket unit names into the service. When using these old versions, the
>   ``unix_sock_dir`` setting in ``virtlockd.conf`` must be changed in
>   lock-step with the equivalent setting in the unit files to ensure that
>   ``virtlockd`` can identify the sockets.
> +
> +Changing command line options for daemons
> +=========================================
> +
> +Two ways exist to override the defaults in the provided service files:
> +Either a systemd "drop-in" configuration file, or a ``/etc/sysconfig/$daemon``
> +file must be created.  For example, changing the command line option
> +for a debug session of ``libvirtd``, create a file
> +``/etc/systemd/system/libvirtd.service.d/my.conf`` with the following content:
> +
> +   ::
> +
> +      [Unit]
> +      Description=Virtualization daemon, with override from my.conf
> +      [Service]
> +      Environment=G_DEBUG=fatal-warnings
> +      Environment=LIBVIRTD_ARGS="--listen --verbose"
> +
> +After changes to systemd "drop-in" configuration files it is required to run
> +``systemctl daemon-reload``.
> diff --git a/docs/remote.html.in b/docs/remote.html.in
> index efdb2b3253..47fb2d4df3 100644
> --- a/docs/remote.html.in
> +++ b/docs/remote.html.in
> @@ -138,9 +138,9 @@ Blank lines and comments beginning with <code>#</code> are ignored.
>           <td> 1 (on) </td>
>           <td>
>     Listen for secure TLS connections on the public TCP/IP port.
> -  Note: it is also necessary to start the server in listening mode by
> -  running it with --listen or editing /etc/sysconfig/libvirtd by uncommenting the LIBVIRTD_ARGS="--listen" line
> -  to cause the server to come up in listening mode whenever it is started.
> +  Note: it is also necessary to start the server in listening mode
> +  by running it with --listen or adding a LIBVIRTD_ARGS="--listen"
> +  line to /etc/sysconfig/libvirtd.
>   </td>
>         </tr>
>         <tr>
> diff --git a/libvirt.spec.in b/libvirt.spec.in
> index 66eff7c7e8..ecb07b8541 100644
> --- a/libvirt.spec.in
> +++ b/libvirt.spec.in
> @@ -206,6 +206,18 @@
>   
>   %define tls_priority "@LIBVIRT,SYSTEM"
>   
> +%define libvirt_sc_pre() \
> +	for sc in %{?*} ; do \
> +	test -f "%{_sysconfdir}/sysconfig/${sc}.rpmsave" || continue ; \
> +	mv -v "%{_sysconfdir}/sysconfig/${sc}.rpmsave" "%{_sysconfdir}/sysconfig/${sc}.rpmsave.old" ; \
> +	done \
> +	%{nil}
> +%define libvirt_sc_posttrans() \
> +	for sc in %{?*} ; do \
> +	test -f "%{_sysconfdir}/sysconfig/${sc}.rpmsave" || continue ; \
> +	mv -v "%{_sysconfdir}/sysconfig/${sc}.rpmsave" "%{_sysconfdir}/sysconfig/${sc}" ; \
> +	done \
> +	%{nil}
>   
>   Summary: Library providing a simple virtualization API
>   Name: libvirt
> @@ -1288,6 +1300,7 @@ fi \
>   %define libvirt_daemon_systemd_preun_inet() %systemd_preun %1.service %1-ro.socket %1-admin.socket %1-tls.socket %1-tcp.socket %1.socket
>   
>   %pre daemon
> +%libvirt_sc_pre libvirtd virtproxyd virtlogd virtlockd libvirt-guests
>   # 'libvirt' group is just to allow password-less polkit access to
>   # libvirtd. The uid number is irrelevant, so we use dynamic allocation
>   # described at the above link.
> @@ -1336,6 +1349,7 @@ if [ $1 -ge 1 ] ; then
>   fi
>   
>   %posttrans daemon
> +%libvirt_sc_posttrans libvirtd virtproxyd virtlogd virtlockd libvirt-guests
>   if test %libvirt_daemon_needs_restart libvirtd
>   then
>       # See if user has previously modified their install to
> @@ -1465,6 +1479,7 @@ fi
>   
>   %if %{with_qemu}
>   %pre daemon-driver-qemu
> +%libvirt_sc_pre virtqemud
>   # We want soft static allocation of well-known ids, as disk images
>   # are commonly shared across NFS mounts by id rather than name; see
>   # https://fedoraproject.org/wiki/Packaging:UsersAndGroups
> @@ -1489,6 +1504,7 @@ exit 0
>   %libvirt_daemon_systemd_preun virtqemud
>   
>   %posttrans daemon-driver-qemu
> +%libvirt_sc_posttrans virtqemud
>   %libvirt_daemon_perform_restart virtqemud
>   %endif
>   
> @@ -1636,16 +1652,11 @@ exit 0
>   %{_unitdir}/virtlockd.socket
>   %{_unitdir}/virtlockd-admin.socket
>   %{_unitdir}/libvirt-guests.service
> -%config(noreplace) %{_sysconfdir}/sysconfig/libvirtd
> -%config(noreplace) %{_sysconfdir}/sysconfig/virtproxyd
> -%config(noreplace) %{_sysconfdir}/sysconfig/virtlogd
> -%config(noreplace) %{_sysconfdir}/sysconfig/virtlockd
>   %config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf
>   %config(noreplace) %{_sysconfdir}/libvirt/virtproxyd.conf
>   %config(noreplace) %{_sysconfdir}/libvirt/virtlogd.conf
>   %config(noreplace) %{_sysconfdir}/libvirt/virtlockd.conf
>   %config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf
> -%config(noreplace) %{_sysconfdir}/sysconfig/libvirt-guests
>   %config(noreplace) %{_prefix}/lib/sysctl.d/60-libvirtd.conf
>   
>   %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd
> @@ -1716,8 +1727,11 @@ exit 0
>   %{_datadir}/libvirt/nwfilter/*.xml
>   %ghost %{_sysconfdir}/libvirt/nwfilter/*.xml
>   
> +%pre daemon-driver-interface
> +%libvirt_sc_pre virtinterfaced
> +%posttrans daemon-driver-interface
> +%libvirt_sc_posttrans virtinterfaced
>   %files daemon-driver-interface
> -%config(noreplace) %{_sysconfdir}/sysconfig/virtinterfaced
>   %config(noreplace) %{_sysconfdir}/libvirt/virtinterfaced.conf
>   %{_datadir}/augeas/lenses/virtinterfaced.aug
>   %{_datadir}/augeas/lenses/tests/test_virtinterfaced.aug
> @@ -1729,8 +1743,11 @@ exit 0
>   %{_libdir}/%{name}/connection-driver/libvirt_driver_interface.so
>   %{_mandir}/man8/virtinterfaced.8*
>   
> +%pre daemon-driver-network
> +%libvirt_sc_pre virtnetworkd
> +%posttrans daemon-driver-network
> +%libvirt_sc_posttrans virtnetworkd
>   %files daemon-driver-network
> -%config(noreplace) %{_sysconfdir}/sysconfig/virtnetworkd
>   %config(noreplace) %{_sysconfdir}/libvirt/virtnetworkd.conf
>   %{_datadir}/augeas/lenses/virtnetworkd.aug
>   %{_datadir}/augeas/lenses/tests/test_virtnetworkd.aug
> @@ -1753,8 +1770,11 @@ exit 0
>   %{_prefix}/lib/firewalld/zones/libvirt.xml
>   %endif
>   
> +%pre daemon-driver-nodedev
> +%libvirt_sc_pre virtnodedevd
> +%posttrans daemon-driver-nodedev
> +%libvirt_sc_posttrans virtnodedevd
>   %files daemon-driver-nodedev
> -%config(noreplace) %{_sysconfdir}/sysconfig/virtnodedevd
>   %config(noreplace) %{_sysconfdir}/libvirt/virtnodedevd.conf
>   %{_datadir}/augeas/lenses/virtnodedevd.aug
>   %{_datadir}/augeas/lenses/tests/test_virtnodedevd.aug
> @@ -1766,8 +1786,11 @@ exit 0
>   %{_libdir}/%{name}/connection-driver/libvirt_driver_nodedev.so
>   %{_mandir}/man8/virtnodedevd.8*
>   
> +%pre daemon-driver-nwfilter
> +%libvirt_sc_pre virtnwfilterd
> +%posttrans daemon-driver-nwfilter
> +%libvirt_sc_posttrans virtnwfilterd
>   %files daemon-driver-nwfilter
> -%config(noreplace) %{_sysconfdir}/sysconfig/virtnwfilterd
>   %config(noreplace) %{_sysconfdir}/libvirt/virtnwfilterd.conf
>   %{_datadir}/augeas/lenses/virtnwfilterd.aug
>   %{_datadir}/augeas/lenses/tests/test_virtnwfilterd.aug
> @@ -1781,8 +1804,11 @@ exit 0
>   %{_libdir}/%{name}/connection-driver/libvirt_driver_nwfilter.so
>   %{_mandir}/man8/virtnwfilterd.8*
>   
> +%pre daemon-driver-secret
> +%libvirt_sc_pre virtsecretd
> +%posttrans daemon-driver-secret
> +%libvirt_sc_posttrans virtsecretd
>   %files daemon-driver-secret
> -%config(noreplace) %{_sysconfdir}/sysconfig/virtsecretd
>   %config(noreplace) %{_sysconfdir}/libvirt/virtsecretd.conf
>   %{_datadir}/augeas/lenses/virtsecretd.aug
>   %{_datadir}/augeas/lenses/tests/test_virtsecretd.aug
> @@ -1796,8 +1822,11 @@ exit 0
>   
>   %files daemon-driver-storage
>   
> +%pre daemon-driver-storage-core
> +%libvirt_sc_pre virtstoraged
> +%posttrans daemon-driver-storage-core
> +%libvirt_sc_posttrans virtstoraged
>   %files daemon-driver-storage-core
> -%config(noreplace) %{_sysconfdir}/sysconfig/virtstoraged
>   %config(noreplace) %{_sysconfdir}/libvirt/virtstoraged.conf
>   %{_datadir}/augeas/lenses/virtstoraged.aug
>   %{_datadir}/augeas/lenses/tests/test_virtstoraged.aug
> @@ -1855,7 +1884,6 @@ exit 0
>   
>   %if %{with_qemu}
>   %files daemon-driver-qemu
> -%config(noreplace) %{_sysconfdir}/sysconfig/virtqemud
>   %config(noreplace) %{_sysconfdir}/libvirt/virtqemud.conf
>   %config(noreplace) %{_prefix}/lib/sysctl.d/60-qemu-postcopy-migration.conf
>   %{_datadir}/augeas/lenses/virtqemud.aug
> @@ -1884,8 +1912,11 @@ exit 0
>   %endif
>   
>   %if %{with_lxc}
> +%pre daemon-driver-lxc
> +%libvirt_sc_pre virtlxcd
> +%posttrans daemon-driver-lxc
> +%libvirt_sc_posttrans virtlxcd
>   %files daemon-driver-lxc
> -%config(noreplace) %{_sysconfdir}/sysconfig/virtlxcd
>   %config(noreplace) %{_sysconfdir}/libvirt/virtlxcd.conf
>   %{_datadir}/augeas/lenses/virtlxcd.aug
>   %{_datadir}/augeas/lenses/tests/test_virtlxcd.aug
> @@ -1907,8 +1938,11 @@ exit 0
>   %endif
>   
>   %if %{with_libxl}
> +%pre daemon-driver-libxl
> +%libvirt_sc_pre virtxend
> +%posttrans daemon-driver-libxl
> +%libvirt_sc_posttrans virtxend
>   %files daemon-driver-libxl
> -%config(noreplace) %{_sysconfdir}/sysconfig/virtxend
>   %config(noreplace) %{_sysconfdir}/libvirt/virtxend.conf
>   %{_datadir}/augeas/lenses/virtxend.aug
>   %{_datadir}/augeas/lenses/tests/test_virtxend.aug
> @@ -1930,8 +1964,11 @@ exit 0
>   %endif
>   
>   %if %{with_vbox}
> +%pre daemon-driver-vbox
> +%libvirt_sc_pre virtvboxd
> +%posttrans daemon-driver-vbox
> +%libvirt_sc_posttrans virtvboxd
>   %files daemon-driver-vbox
> -%config(noreplace) %{_sysconfdir}/sysconfig/virtvboxd
>   %config(noreplace) %{_sysconfdir}/libvirt/virtvboxd.conf
>   %{_datadir}/augeas/lenses/virtvboxd.aug
>   %{_datadir}/augeas/lenses/tests/test_virtvboxd.aug
> diff --git a/src/ch/meson.build b/src/ch/meson.build
> index e34974d56c..22d4366a21 100644
> --- a/src/ch/meson.build
> +++ b/src/ch/meson.build
> @@ -62,11 +62,6 @@ if conf.has('WITH_CH')
>       'sockets': [ 'main', 'ro', 'admin' ],
>     }
>   
> -  sysconf_files += {
> -    'name': 'virtchd',
> -    'file': files('virtchd.sysconf'),
> -  }
> -
>     virt_install_dirs += [
>       localstatedir / 'lib' / 'libvirt' / 'ch',
>       runstatedir / 'libvirt' / 'ch',
> diff --git a/src/ch/virtchd.service.in b/src/ch/virtchd.service.in
> index cc1e85d1df..f08339f211 100644
> --- a/src/ch/virtchd.service.in
> +++ b/src/ch/virtchd.service.in
> @@ -18,6 +18,7 @@ Documentation=https://libvirt.org
>   
>   [Service]
>   Type=notify
> +Environment=VIRTCHD_ARGS="--timeout 120"
>   EnvironmentFile=- at sysconfdir@/sysconfig/virtchd
>   ExecStart=@sbindir@/virtchd $VIRTCHD_ARGS
>   ExecReload=/bin/kill -HUP $MAINPID
> diff --git a/src/ch/virtchd.sysconf b/src/ch/virtchd.sysconf
> deleted file mode 100644
> index 5ee44be5cf..0000000000
> --- a/src/ch/virtchd.sysconf
> +++ /dev/null
> @@ -1,3 +0,0 @@
> -# Customizations for the virtchd.service systemd unit
> -
> -VIRTCHD_ARGS="--timeout 120"
> diff --git a/src/interface/meson.build b/src/interface/meson.build
> index 2d4e30362c..f9f378aeb0 100644
> --- a/src/interface/meson.build
> +++ b/src/interface/meson.build
> @@ -54,9 +54,4 @@ if conf.has('WITH_INTERFACE')
>       'name': 'virtinterfaced',
>       'in_file': files('virtinterfaced.init.in')
>     }
> -
> -  sysconf_files += {
> -    'name': 'virtinterfaced',
> -    'file': files('virtinterfaced.sysconf'),
> -  }
>   endif
> diff --git a/src/interface/virtinterfaced.service.in b/src/interface/virtinterfaced.service.in
> index 73d409b81b..3d944e17a9 100644
> --- a/src/interface/virtinterfaced.service.in
> +++ b/src/interface/virtinterfaced.service.in
> @@ -13,6 +13,7 @@ Documentation=https://libvirt.org
>   
>   [Service]
>   Type=notify
> +Environment=VIRTINTERFACED_ARGS="--timeout 120"
>   EnvironmentFile=- at sysconfdir@/sysconfig/virtinterfaced
>   ExecStart=@sbindir@/virtinterfaced $VIRTINTERFACED_ARGS
>   ExecReload=/bin/kill -HUP $MAINPID
> diff --git a/src/interface/virtinterfaced.sysconf b/src/interface/virtinterfaced.sysconf
> deleted file mode 100644
> index 0685da31b8..0000000000
> --- a/src/interface/virtinterfaced.sysconf
> +++ /dev/null
> @@ -1,3 +0,0 @@
> -# Customizations for the virtinterfaced.service systemd unit
> -
> -VIRTINTERFACED_ARGS="--timeout 120"
> diff --git a/src/libxl/meson.build b/src/libxl/meson.build
> index 9793899106..8347a3c966 100644
> --- a/src/libxl/meson.build
> +++ b/src/libxl/meson.build
> @@ -78,11 +78,6 @@ if conf.has('WITH_LIBXL')
>       'in_file': files('virtxend.init.in'),
>     }
>   
> -  sysconf_files += {
> -    'name': 'virtxend',
> -    'file': files('virtxend.sysconf'),
> -  }
> -
>     virt_install_dirs += [
>       localstatedir / 'lib' / 'libvirt' / 'libxl',
>       runstatedir / 'libvirt' / 'libxl',
> diff --git a/src/libxl/virtxend.service.in b/src/libxl/virtxend.service.in
> index 19b19ce3e6..2b5163e179 100644
> --- a/src/libxl/virtxend.service.in
> +++ b/src/libxl/virtxend.service.in
> @@ -18,6 +18,7 @@ ConditionPathExists=/proc/xen/capabilities
>   
>   [Service]
>   Type=notify
> +Environment=VIRTXEND_ARGS="--timeout 120"
>   EnvironmentFile=- at sysconfdir@/sysconfig/virtxend
>   ExecStart=@sbindir@/virtxend $VIRTXEND_ARGS
>   ExecReload=/bin/kill -HUP $MAINPID
> diff --git a/src/libxl/virtxend.sysconf b/src/libxl/virtxend.sysconf
> deleted file mode 100644
> index 301da47e8d..0000000000
> --- a/src/libxl/virtxend.sysconf
> +++ /dev/null
> @@ -1,3 +0,0 @@
> -# Customizations for the virtxend.service systemd unit
> -
> -VIRTXEND_ARGS="--timeout 120"
> diff --git a/src/locking/meson.build b/src/locking/meson.build
> index 184d3c3f56..72f7780438 100644
> --- a/src/locking/meson.build
> +++ b/src/locking/meson.build
> @@ -156,11 +156,6 @@ if conf.has('WITH_LIBVIRTD')
>       'in_file': files('virtlockd.init.in'),
>     }
>   
> -  sysconf_files += {
> -    'name': 'virtlockd',
> -    'file': files('virtlockd.sysconf'),
> -  }
> -
>     if conf.has('WITH_SANLOCK')
>       virt_helpers += {
>         'name': 'libvirt_sanlock_helper',
> diff --git a/src/locking/virtlockd.service.in b/src/locking/virtlockd.service.in
> index 4a6fab05ab..19271d1e7d 100644
> --- a/src/locking/virtlockd.service.in
> +++ b/src/locking/virtlockd.service.in
> @@ -7,6 +7,7 @@ Documentation=man:virtlockd(8)
>   Documentation=https://libvirt.org
>   
>   [Service]
> +Environment=VIRTLOCKD_ARGS=
>   EnvironmentFile=- at sysconfdir@/sysconfig/virtlockd
>   ExecStart=@sbindir@/virtlockd $VIRTLOCKD_ARGS
>   ExecReload=/bin/kill -USR1 $MAINPID
> diff --git a/src/locking/virtlockd.sysconf b/src/locking/virtlockd.sysconf
> deleted file mode 100644
> index 03aea9e1bc..0000000000
> --- a/src/locking/virtlockd.sysconf
> +++ /dev/null
> @@ -1,3 +0,0 @@
> -# Customizations for the virtlockd.service systemd unit
> -
> -VIRTLOCKD_ARGS=""
> diff --git a/src/logging/meson.build b/src/logging/meson.build
> index 996d4265fc..f06be6050d 100644
> --- a/src/logging/meson.build
> +++ b/src/logging/meson.build
> @@ -96,11 +96,6 @@ if conf.has('WITH_LIBVIRTD')
>       'name': 'virtlogd',
>       'in_file': files('virtlogd.init.in'),
>     }
> -
> -  sysconf_files += {
> -    'name': 'virtlogd',
> -    'file': files('virtlogd.sysconf'),
> -  }
>   endif
>   
>   log_inc_dir = include_directories('.')
> diff --git a/src/logging/virtlogd.sysconf b/src/logging/virtlogd.sysconf
> deleted file mode 100644
> index 67993e83ce..0000000000
> --- a/src/logging/virtlogd.sysconf
> +++ /dev/null
> @@ -1,3 +0,0 @@
> -# Customizations for the virtlogd.service systemd unit
> -
> -VIRTLOGD_ARGS=""
> diff --git a/src/lxc/meson.build b/src/lxc/meson.build
> index ad5c659dba..c1f71b43e1 100644
> --- a/src/lxc/meson.build
> +++ b/src/lxc/meson.build
> @@ -175,11 +175,6 @@ if conf.has('WITH_LXC')
>       'in_file': files('virtlxcd.init.in'),
>     }
>   
> -  sysconf_files += {
> -    'name': 'virtlxcd',
> -    'file': files('virtlxcd.sysconf'),
> -  }
> -
>     virt_install_dirs += [
>       localstatedir / 'lib' / 'libvirt' / 'lxc',
>       runstatedir / 'libvirt' / 'lxc',
> diff --git a/src/lxc/virtlxcd.service.in b/src/lxc/virtlxcd.service.in
> index 3af7c1a52d..d58bde9f5d 100644
> --- a/src/lxc/virtlxcd.service.in
> +++ b/src/lxc/virtlxcd.service.in
> @@ -18,6 +18,7 @@ Documentation=https://libvirt.org
>   
>   [Service]
>   Type=notify
> +Environment=VIRTLXCD_ARGS="--timeout 120"
>   EnvironmentFile=- at sysconfdir@/sysconfig/virtlxcd
>   ExecStart=@sbindir@/virtlxcd $VIRTLXCD_ARGS
>   ExecReload=/bin/kill -HUP $MAINPID
> diff --git a/src/lxc/virtlxcd.sysconf b/src/lxc/virtlxcd.sysconf
> deleted file mode 100644
> index 119a4a23f3..0000000000
> --- a/src/lxc/virtlxcd.sysconf
> +++ /dev/null
> @@ -1,3 +0,0 @@
> -# Customizations for the virtlxcd.service systemd unit
> -
> -VIRTLXCD_ARGS="--timeout 120"
> diff --git a/src/meson.build b/src/meson.build
> index 2bd88e6699..9ee8b987ae 100644
> --- a/src/meson.build
> +++ b/src/meson.build
> @@ -208,12 +208,6 @@ virt_daemon_units = []
>   #   * in_file - source init file (required)
>   openrc_init_files = []
>   
> -# sysconf_files
> -#   install libvirt daemon sysconf files
> -#   * name - daemon name (required)
> -#   * file - source sysconf file (required)
> -sysconf_files = []
> -
>   # virt_install_dirs:
>   #   list of directories to create during installation
>   virt_install_dirs = []
> @@ -868,16 +862,6 @@ if conf.has('WITH_LIBVIRTD')
>     endif
>   endif
>   
> -if init_script != 'none'
> -  foreach sysconf : sysconf_files
> -    install_data(
> -      sysconf['file'],
> -      install_dir: sysconfdir / 'sysconfig',
> -      rename: [ sysconf['name'] ],
> -    )
> -  endforeach
> -endif
> -
>   if conf.has('WITH_DTRACE_PROBES')
>     custom_target(
>       'libvirt_functions.stp',
> diff --git a/src/network/meson.build b/src/network/meson.build
> index d6fb624bb7..e7c43bc4c4 100644
> --- a/src/network/meson.build
> +++ b/src/network/meson.build
> @@ -72,11 +72,6 @@ if conf.has('WITH_NETWORK')
>       'in_file': files('virtnetworkd.init.in'),
>     }
>   
> -  sysconf_files += {
> -    'name': 'virtnetworkd',
> -    'file': files('virtnetworkd.sysconf'),
> -  }
> -
>     virt_install_dirs += [
>       localstatedir / 'lib' / 'libvirt' / 'network',
>       localstatedir / 'lib' / 'libvirt' / 'dnsmasq',
> diff --git a/src/network/virtnetworkd.service.in b/src/network/virtnetworkd.service.in
> index 4c39d2a5d7..3decfbbf1d 100644
> --- a/src/network/virtnetworkd.service.in
> +++ b/src/network/virtnetworkd.service.in
> @@ -16,6 +16,7 @@ Documentation=https://libvirt.org
>   
>   [Service]
>   Type=notify
> +Environment=VIRTNETWORKD_ARGS="--timeout 120"
>   EnvironmentFile=- at sysconfdir@/sysconfig/virtnetworkd
>   ExecStart=@sbindir@/virtnetworkd $VIRTNETWORKD_ARGS
>   ExecReload=/bin/kill -HUP $MAINPID
> diff --git a/src/network/virtnetworkd.sysconf b/src/network/virtnetworkd.sysconf
> deleted file mode 100644
> index 93f3a7a327..0000000000
> --- a/src/network/virtnetworkd.sysconf
> +++ /dev/null
> @@ -1,3 +0,0 @@
> -# Customizations for the virtnetworkd.service systemd unit
> -
> -VIRTNETWORKD_ARGS="--timeout 120"
> diff --git a/src/node_device/meson.build b/src/node_device/meson.build
> index 15f9c3ad29..5013d825b3 100644
> --- a/src/node_device/meson.build
> +++ b/src/node_device/meson.build
> @@ -62,9 +62,4 @@ if conf.has('WITH_NODE_DEVICES')
>       'name': 'virtnodedevd',
>       'in_file': files('virtnodedevd.init.in'),
>     }
> -
> -  sysconf_files += {
> -    'name': 'virtnodedevd',
> -    'file': files('virtnodedevd.sysconf'),
> -  }
>   endif
> diff --git a/src/node_device/virtnodedevd.service.in b/src/node_device/virtnodedevd.service.in
> index d2453dd620..688cf89822 100644
> --- a/src/node_device/virtnodedevd.service.in
> +++ b/src/node_device/virtnodedevd.service.in
> @@ -13,6 +13,7 @@ Documentation=https://libvirt.org
>   
>   [Service]
>   Type=notify
> +Environment=VIRTNODEDEVD_ARGS="--timeout 120"
>   EnvironmentFile=- at sysconfdir@/sysconfig/virtnodedevd
>   ExecStart=@sbindir@/virtnodedevd $VIRTNODEDEVD_ARGS
>   ExecReload=/bin/kill -HUP $MAINPID
> diff --git a/src/node_device/virtnodedevd.sysconf b/src/node_device/virtnodedevd.sysconf
> deleted file mode 100644
> index fa7faa3a79..0000000000
> --- a/src/node_device/virtnodedevd.sysconf
> +++ /dev/null
> @@ -1,3 +0,0 @@
> -# Customizations for the virtnodedevd.service systemd unit
> -
> -VIRTNODEDEVD_ARGS="--timeout 120"
> diff --git a/src/nwfilter/meson.build b/src/nwfilter/meson.build
> index a21e575925..ebbe712906 100644
> --- a/src/nwfilter/meson.build
> +++ b/src/nwfilter/meson.build
> @@ -61,10 +61,5 @@ if conf.has('WITH_NWFILTER')
>       'in_file': files('virtnwfilterd.init.in'),
>     }
>   
> -  sysconf_files += {
> -    'name': 'virtnwfilterd',
> -    'file': files('virtnwfilterd.sysconf'),
> -  }
> -
>     subdir('xml')
>   endif
> diff --git a/src/nwfilter/virtnwfilterd.service.in b/src/nwfilter/virtnwfilterd.service.in
> index dda7c01a3d..36d00b58f0 100644
> --- a/src/nwfilter/virtnwfilterd.service.in
> +++ b/src/nwfilter/virtnwfilterd.service.in
> @@ -13,6 +13,7 @@ Documentation=https://libvirt.org
>   
>   [Service]
>   Type=notify
> +Environment=VIRTNWFILTERD_ARGS="--timeout 120"
>   EnvironmentFile=- at sysconfdir@/sysconfig/virtnwfilterd
>   ExecStart=@sbindir@/virtnwfilterd $VIRTNWFILTERD_ARGS
>   ExecReload=/bin/kill -HUP $MAINPID
> diff --git a/src/nwfilter/virtnwfilterd.sysconf b/src/nwfilter/virtnwfilterd.sysconf
> deleted file mode 100644
> index 80cc645ba5..0000000000
> --- a/src/nwfilter/virtnwfilterd.sysconf
> +++ /dev/null
> @@ -1,3 +0,0 @@
> -# Customizations for the virtnwfilterd.service systemd unit
> -
> -VIRTNWFILTERD_ARGS="--timeout 120"
> diff --git a/src/qemu/meson.build b/src/qemu/meson.build
> index 66ef594006..5f82f687c1 100644
> --- a/src/qemu/meson.build
> +++ b/src/qemu/meson.build
> @@ -165,11 +165,6 @@ if conf.has('WITH_QEMU')
>       'in_file': files('virtqemud.init.in'),
>     }
>   
> -  sysconf_files += {
> -    'name': 'virtqemud',
> -    'file': files('virtqemud.sysconf'),
> -  }
> -
>     if conf.has('WITH_SYSCTL')
>       install_data(
>         'postcopy-migration.sysctl',
> diff --git a/src/qemu/virtqemud.service.in b/src/qemu/virtqemud.service.in
> index 20e1b43a6e..1296d7d766 100644
> --- a/src/qemu/virtqemud.service.in
> +++ b/src/qemu/virtqemud.service.in
> @@ -20,6 +20,13 @@ Documentation=https://libvirt.org
>   
>   [Service]
>   Type=notify
> +# Override the QEMU/SDL default audio driver probing when
> +# starting virtual machines using SDL graphics
> +# NB these have no effect for VMs using VNC, unless vnc_allow_host_audio
> +# is enabled in /etc/libvirt/qemu.conf
> +#Environment=QEMU_AUDIO_DRV=sdl
> +#Environment=SDL_AUDIODRIVER=pulse
> +Environment=VIRTQEMUD_ARGS="--timeout 120"
>   EnvironmentFile=- at sysconfdir@/sysconfig/virtqemud
>   ExecStart=@sbindir@/virtqemud $VIRTQEMUD_ARGS
>   ExecReload=/bin/kill -HUP $MAINPID
> diff --git a/src/qemu/virtqemud.sysconf b/src/qemu/virtqemud.sysconf
> deleted file mode 100644
> index 87b626e3ed..0000000000
> --- a/src/qemu/virtqemud.sysconf
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -# Customizations for the virtqemud.service systemd unit
> -
> -VIRTQEMUD_ARGS="--timeout 120"
> -
> -# Override the QEMU/SDL default audio driver probing when
> -# starting virtual machines using SDL graphics
> -#
> -# NB these have no effect for VMs using VNC, unless vnc_allow_host_audio
> -# is enabled in /etc/libvirt/qemu.conf
> -#QEMU_AUDIO_DRV=sdl
> -#
> -#SDL_AUDIODRIVER=pulse
> diff --git a/src/remote/libvirtd.service.in b/src/remote/libvirtd.service.in
> index cc0d4e3693..4d6b0510ae 100644
> --- a/src/remote/libvirtd.service.in
> +++ b/src/remote/libvirtd.service.in
> @@ -28,6 +28,13 @@ Documentation=https://libvirt.org
>   
>   [Service]
>   Type=notify
> +# Override the QEMU/SDL default audio driver probing when
> +# starting virtual machines using SDL graphics
> +# NB these have no effect for VMs using VNC, unless vnc_allow_host_audio
> +# is enabled in /etc/libvirt/qemu.conf
> +#Environment=QEMU_AUDIO_DRV=sdl
> +#Environment=SDL_AUDIODRIVER=pulse
> +Environment=LIBVIRTD_ARGS="--timeout 120"
>   EnvironmentFile=- at sysconfdir@/sysconfig/libvirtd
>   ExecStart=@sbindir@/libvirtd $LIBVIRTD_ARGS
>   ExecReload=/bin/kill -HUP $MAINPID
> diff --git a/src/remote/libvirtd.sysconf b/src/remote/libvirtd.sysconf
> deleted file mode 100644
> index 18aec1ba67..0000000000
> --- a/src/remote/libvirtd.sysconf
> +++ /dev/null
> @@ -1,21 +0,0 @@
> -# Customizations for the libvirtd.service systemd unit
> -
> -# Default behaviour is for libvirtd.service to start on boot
> -# so that VM autostart can be performed. We then want it to
> -# shutdown again if nothing was started and rely on systemd
> -# socket activation to start it again when some client app
> -# connects.
> -LIBVIRTD_ARGS="--timeout 120"
> -
> -# If systemd socket activation is disabled, then the following
> -# can be used to listen on TCP/TLS sockets
> -#LIBVIRTD_ARGS="--listen"
> -
> -# Override the QEMU/SDL default audio driver probing when
> -# starting virtual machines using SDL graphics
> -#
> -# NB these have no effect for VMs using VNC, unless vnc_allow_host_audio
> -# is enabled in /etc/libvirt/qemu.conf
> -#QEMU_AUDIO_DRV=sdl
> -#
> -#SDL_AUDIODRIVER=pulse
> diff --git a/src/remote/meson.build b/src/remote/meson.build
> index 0a188268b5..fc98d0e5be 100644
> --- a/src/remote/meson.build
> +++ b/src/remote/meson.build
> @@ -204,11 +204,6 @@ if conf.has('WITH_REMOTE')
>         'confd': files('libvirtd.confd'),
>       }
>   
> -    sysconf_files += {
> -      'name': 'libvirtd',
> -      'file': files('libvirtd.sysconf'),
> -    }
> -
>       virt_daemons += {
>         'name': 'virtproxyd',
>         'c_args': [
> @@ -239,11 +234,6 @@ if conf.has('WITH_REMOTE')
>         'confd': files('virtproxyd.confd'),
>       }
>   
> -    sysconf_files += {
> -      'name': 'virtproxyd',
> -      'file': files('virtproxyd.sysconf'),
> -    }
> -
>       virt_install_dirs += [
>         localstatedir / 'log' / 'libvirt',
>       ]
> diff --git a/src/remote/virtproxyd.service.in b/src/remote/virtproxyd.service.in
> index f43ce9ee6e..10e8cf7263 100644
> --- a/src/remote/virtproxyd.service.in
> +++ b/src/remote/virtproxyd.service.in
> @@ -13,6 +13,7 @@ Documentation=https://libvirt.org
>   
>   [Service]
>   Type=notify
> +Environment=VIRTPROXYD_ARGS="--timeout 120"
>   EnvironmentFile=- at sysconfdir@/sysconfig/virtproxyd
>   ExecStart=@sbindir@/virtproxyd $VIRTPROXYD_ARGS
>   ExecReload=/bin/kill -HUP $MAINPID
> diff --git a/src/remote/virtproxyd.sysconf b/src/remote/virtproxyd.sysconf
> deleted file mode 100644
> index 0fc5c61096..0000000000
> --- a/src/remote/virtproxyd.sysconf
> +++ /dev/null
> @@ -1,3 +0,0 @@
> -# Customizations for the virtproxyd.service systemd unit
> -
> -VIRTPROXYD_ARGS="--timeout 120"
> diff --git a/src/secret/meson.build b/src/secret/meson.build
> index a487055cde..efc0ebb1e6 100644
> --- a/src/secret/meson.build
> +++ b/src/secret/meson.build
> @@ -43,9 +43,4 @@ if conf.has('WITH_SECRETS')
>       'name': 'virtsecretd',
>       'in_file': files('virtsecretd.init.in'),
>     }
> -
> -  sysconf_files += {
> -    'name': 'virtsecretd',
> -    'file': files('virtsecretd.sysconf'),
> -  }
>   endif
> diff --git a/src/secret/virtsecretd.service.in b/src/secret/virtsecretd.service.in
> index 8444142a3a..cbd63fe0b2 100644
> --- a/src/secret/virtsecretd.service.in
> +++ b/src/secret/virtsecretd.service.in
> @@ -13,6 +13,7 @@ Documentation=https://libvirt.org
>   
>   [Service]
>   Type=notify
> +Environment=VIRTSECRETD_ARGS="--timeout 120"
>   EnvironmentFile=- at sysconfdir@/sysconfig/virtsecretd
>   ExecStart=@sbindir@/virtsecretd $VIRTSECRETD_ARGS
>   ExecReload=/bin/kill -HUP $MAINPID
> diff --git a/src/secret/virtsecretd.sysconf b/src/secret/virtsecretd.sysconf
> deleted file mode 100644
> index 2247d05964..0000000000
> --- a/src/secret/virtsecretd.sysconf
> +++ /dev/null
> @@ -1,3 +0,0 @@
> -# Customizations for the virtsecretd.service systemd unit
> -
> -VIRTSECRETD_ARGS="--timeout 120"
> diff --git a/src/storage/meson.build b/src/storage/meson.build
> index d1aa66b147..c43707461d 100644
> --- a/src/storage/meson.build
> +++ b/src/storage/meson.build
> @@ -125,11 +125,6 @@ if conf.has('WITH_STORAGE')
>       'name': 'virtstoraged',
>       'in_file': files('virtstoraged.init.in'),
>     }
> -
> -  sysconf_files += {
> -    'name': 'virtstoraged',
> -    'file': files('virtstoraged.sysconf'),
> -  }
>   endif
>   
>   if conf.has('WITH_STORAGE_DISK')
> diff --git a/src/storage/virtstoraged.service.in b/src/storage/virtstoraged.service.in
> index fc3e9a1b69..f72f8426fd 100644
> --- a/src/storage/virtstoraged.service.in
> +++ b/src/storage/virtstoraged.service.in
> @@ -15,6 +15,7 @@ Documentation=https://libvirt.org
>   
>   [Service]
>   Type=notify
> +Environment=VIRTSTORAGED_ARGS="--timeout 120"
>   EnvironmentFile=- at sysconfdir@/sysconfig/virtstoraged
>   ExecStart=@sbindir@/virtstoraged $VIRTSTORAGED_ARGS
>   ExecReload=/bin/kill -HUP $MAINPID
> diff --git a/src/storage/virtstoraged.sysconf b/src/storage/virtstoraged.sysconf
> deleted file mode 100644
> index 122373eb7c..0000000000
> --- a/src/storage/virtstoraged.sysconf
> +++ /dev/null
> @@ -1,3 +0,0 @@
> -# Customizations for the virtstoraged.service systemd unit
> -
> -VIRTSTORAGED_ARGS="--timeout 120"
> diff --git a/src/vbox/meson.build b/src/vbox/meson.build
> index df0cfb40e8..240f2389a9 100644
> --- a/src/vbox/meson.build
> +++ b/src/vbox/meson.build
> @@ -68,9 +68,4 @@ if conf.has('WITH_VBOX')
>       'name': 'virtvboxd',
>       'in_file': files('virtvboxd.init.in'),
>     }
> -
> -  sysconf_files += {
> -    'name': 'virtvboxd',
> -    'file': files('virtvboxd.sysconf'),
> -  }
>   endif
> diff --git a/src/vbox/virtvboxd.service.in b/src/vbox/virtvboxd.service.in
> index ebb31dde07..cfdafc39d2 100644
> --- a/src/vbox/virtvboxd.service.in
> +++ b/src/vbox/virtvboxd.service.in
> @@ -14,6 +14,7 @@ Documentation=https://libvirt.org
>   
>   [Service]
>   Type=notify
> +Environment=VIRTVBOXD_ARGS="--timeout 120"
>   EnvironmentFile=- at sysconfdir@/sysconfig/virtvboxd
>   ExecStart=@sbindir@/virtvboxd $VIRTVBOXD_ARGS
>   ExecReload=/bin/kill -HUP $MAINPID
> diff --git a/src/vbox/virtvboxd.sysconf b/src/vbox/virtvboxd.sysconf
> deleted file mode 100644
> index 37ad353d54..0000000000
> --- a/src/vbox/virtvboxd.sysconf
> +++ /dev/null
> @@ -1,3 +0,0 @@
> -# Customizations for the virtvboxd.service systemd unit
> -
> -VIRTVBOXD_ARGS="--timeout 120"
> diff --git a/src/vz/meson.build b/src/vz/meson.build
> index 14f7280f66..d102696943 100644
> --- a/src/vz/meson.build
> +++ b/src/vz/meson.build
> @@ -58,9 +58,4 @@ if conf.has('WITH_VZ')
>       'name': 'virtvzd',
>       'in_file': files('virtvzd.init.in'),
>     }
> -
> -  sysconf_files += {
> -    'name': 'virtvzd',
> -    'file': files('virtvzd.sysconf'),
> -  }
>   endif
> diff --git a/src/vz/virtvzd.service.in b/src/vz/virtvzd.service.in
> index f551cb8fbf..7636bf2b9e 100644
> --- a/src/vz/virtvzd.service.in
> +++ b/src/vz/virtvzd.service.in
> @@ -14,6 +14,7 @@ Documentation=https://libvirt.org
>   
>   [Service]
>   Type=notify
> +Environment=VIRTVZD_ARGS="--timeout 120"
>   EnvironmentFile=- at sysconfdir@/sysconfig/virtvzd
>   ExecStart=@sbindir@/virtvzd $VIRTVZD_ARGS
>   ExecReload=/bin/kill -HUP $MAINPID
> diff --git a/src/vz/virtvzd.sysconf b/src/vz/virtvzd.sysconf
> deleted file mode 100644
> index a86b9dfb6c..0000000000
> --- a/src/vz/virtvzd.sysconf
> +++ /dev/null
> @@ -1,3 +0,0 @@
> -# Customizations for the virtvzd.service systemd unit
> -
> -VIRTVZD_ARGS="--timeout 120"
> diff --git a/tools/libvirt-guests.sh.in b/tools/libvirt-guests.sh.in
> index 87f96af14d..74ca969468 100644
> --- a/tools/libvirt-guests.sh.in
> +++ b/tools/libvirt-guests.sh.in
> @@ -30,13 +30,53 @@ test ! -r "$sysconfdir"/rc.d/init.d/functions ||
>   
>   export TEXTDOMAIN="@PACKAGE@" TEXTDOMAINDIR="@localedir@"
>   
> +# URIs to check for running guests
> +# example: URIS='default xen:///system vbox+tcp://host/system lxc:///system'
>   URIS="default"
> +
> +# action taken on host boot
> +# - start   all guests which were running on shutdown are started on boot
> +#           regardless on their autostart settings
> +# - ignore  libvirt-guests init script won't start any guest on boot, however,
> +#           guests marked as autostart will still be automatically started by
> +#           libvirtd
>   ON_BOOT="start"
> +
> +# action taken on host shutdown
> +# - suspend   all running guests are suspended using virsh managedsave
> +# - shutdown  all running guests are asked to shutdown. Please be careful with
> +#             this settings since there is no way to distinguish between a
> +#             guest which is stuck or ignores shutdown requests and a guest
> +#             which just needs a long time to shutdown. When setting
> +#             ON_SHUTDOWN=shutdown, you must also set SHUTDOWN_TIMEOUT to a
> +#             value suitable for your guests.
>   ON_SHUTDOWN="suspend"
> +
> +# Number of seconds we're willing to wait for a guest to shut down. If parallel
> +# shutdown is enabled, this timeout applies as a timeout for shutting down all
> +# guests on a single URI defined in the variable URIS. If this is 0, then there
> +# is no time out (use with caution, as guests might not respond to a shutdown
> +# request). The default value is 300 seconds (5 minutes).
>   SHUTDOWN_TIMEOUT=300
> +
> +# Number of guests will be shutdown concurrently, taking effect when
> +# "ON_SHUTDOWN" is set to "shutdown". If Set to 0, guests will be shutdown one
> +# after another. Number of guests on shutdown at any time will not exceed number
> +# set in this variable.
>   PARALLEL_SHUTDOWN=0
> +
> +# Number of seconds to wait between each guest start. Set to 0 to allow
> +# parallel startup.
>   START_DELAY=0
> +
> +# If non-zero, try to bypass the file system cache when saving and
> +# restoring guests, even though this may give slower operation for
> +# some file systems.
>   BYPASS_CACHE=0
> +
> +# If non-zero, try to sync guest time on domain resume. Be aware, that
> +# this requires guest agent with support for time synchronization
> +# running in the guest. By default, this functionality is turned off.
>   SYNC_TIME=0
>   
>   test -f "$sysconfdir"/sysconfig/libvirt-guests &&
> diff --git a/tools/libvirt-guests.sysconf b/tools/libvirt-guests.sysconf
> deleted file mode 100644
> index 4f83edab90..0000000000
> --- a/tools/libvirt-guests.sysconf
> +++ /dev/null
> @@ -1,50 +0,0 @@
> -# Customizations for the libvirt-guests.service systemd unit
> -
> -# URIs to check for running guests
> -# example: URIS='default xen:///system vbox+tcp://host/system lxc:///system'
> -#URIS=default
> -
> -# action taken on host boot
> -# - start   all guests which were running on shutdown are started on boot
> -#           regardless on their autostart settings
> -# - ignore  libvirt-guests init script won't start any guest on boot, however,
> -#           guests marked as autostart will still be automatically started by
> -#           libvirtd
> -#ON_BOOT=start
> -
> -# Number of seconds to wait between each guest start. Set to 0 to allow
> -# parallel startup.
> -#START_DELAY=0
> -
> -# action taken on host shutdown
> -# - suspend   all running guests are suspended using virsh managedsave
> -# - shutdown  all running guests are asked to shutdown. Please be careful with
> -#             this settings since there is no way to distinguish between a
> -#             guest which is stuck or ignores shutdown requests and a guest
> -#             which just needs a long time to shutdown. When setting
> -#             ON_SHUTDOWN=shutdown, you must also set SHUTDOWN_TIMEOUT to a
> -#             value suitable for your guests.
> -#ON_SHUTDOWN=suspend
> -
> -# Number of guests will be shutdown concurrently, taking effect when
> -# "ON_SHUTDOWN" is set to "shutdown". If Set to 0, guests will be shutdown one
> -# after another. Number of guests on shutdown at any time will not exceed number
> -# set in this variable.
> -#PARALLEL_SHUTDOWN=0
> -
> -# Number of seconds we're willing to wait for a guest to shut down. If parallel
> -# shutdown is enabled, this timeout applies as a timeout for shutting down all
> -# guests on a single URI defined in the variable URIS. If this is 0, then there
> -# is no time out (use with caution, as guests might not respond to a shutdown
> -# request). The default value is 300 seconds (5 minutes).
> -#SHUTDOWN_TIMEOUT=300
> -
> -# If non-zero, try to bypass the file system cache when saving and
> -# restoring guests, even though this may give slower operation for
> -# some file systems.
> -#BYPASS_CACHE=0
> -
> -# If non-zero, try to sync guest time on domain resume. Be aware, that
> -# this requires guest agent with support for time synchronization
> -# running in the guest. By default, this functionality is turned off.
> -#SYNC_TIME=1
> diff --git a/tools/meson.build b/tools/meson.build
> index 3fba313e5f..52b08b8526 100644
> --- a/tools/meson.build
> +++ b/tools/meson.build
> @@ -305,12 +305,6 @@ configure_file(
>   )
>   
>   if init_script == 'systemd'
> -  install_data(
> -    'libvirt-guests.sysconf',
> -    install_dir: sysconfdir / 'sysconfig',
> -    rename: 'libvirt-guests',
> -  )
> -
>     configure_file(
>       input: 'libvirt-guests.service.in',
>       output: '@BASENAME@',
> 




More information about the libvir-list mailing list