[PATCH v5 2/3] remove sysconfig files
Daniel P. Berrangé
berrange at redhat.com
Fri Dec 17 14:58:27 UTC 2021
On Thu, Dec 16, 2021 at 04:14:18PM +0100, 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
>
> 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>
> diff --git a/libvirt.spec.in b/libvirt.spec.in
> index 4675e67d15..d1a950fb55 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}
Could you just put a comment before this to remind us
why we're doing this
# libvirt 8.0.0 stops distributing any sysconfig files.
# If the user has customized their sysconfig file,
# the RPM upgrade path will rename it to .rpmsave
# because the file is no longer managed by RPM.
# To prevent a regression we rename it back after the
# transaction to preserve the user's modifications
>
> Summary: Library providing a simple virtualization API
> Name: libvirt
> @@ -1290,6 +1302,7 @@ fi \
> %define libvirt_daemon_systemd_preun_priv() %systemd_preun %1.service %1-admin.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.
> @@ -1338,6 +1351,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
> @@ -1467,6 +1481,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
> @@ -1491,6 +1506,7 @@ exit 0
> %libvirt_daemon_systemd_preun virtqemud
>
> %posttrans daemon-driver-qemu
> +%libvirt_sc_posttrans virtqemud
> %libvirt_daemon_perform_restart virtqemud
> %endif
>
> @@ -1638,16 +1654,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
> @@ -1718,8 +1729,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
There is alreadya '%posttrans' script defined for this
package much earlier in the file, resulting in build
errors. I don't think the errors come from rpmbuild
itself, but rather the 'rpmspec' tool that Fedora/RHEL's
build tools use.
error: line 1738: Second %posttrans
error: query of specfile /home/berrange/src/fedora/libvirt/libvirt.spec failed, can't parse
Also, as a style point, it isn't nice to mix the
scripts in with the %files sections.
Overall though, I think the upgrade path you've
done ought to work
> %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
> @@ -1731,8 +1745,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
> @@ -1755,8 +1772,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
> @@ -1768,8 +1788,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
> @@ -1783,8 +1806,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
> @@ -1798,8 +1824,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
> @@ -1857,7 +1886,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
> @@ -1886,8 +1914,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
> @@ -1909,8 +1940,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
> @@ -1932,8 +1966,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 89e06a0d5a..7066f16fad 100644
> --- a/src/logging/meson.build
> +++ b/src/logging/meson.build
> @@ -101,11 +101,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 2408344ef7..fc6c77f5d1 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 22fa3604ba..0b1d82b059 100644
> --- a/tools/meson.build
> +++ b/tools/meson.build
> @@ -307,12 +307,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@',
>
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 :|
More information about the libvir-list
mailing list