[ovs-dev] [PATCH 1/2] fedora: Ability to auto enable openvswitch service.
Timothy Redaelli
tredaelli at redhat.com
Fri May 10 15:13:45 UTC 2019
On Fri, 3 May 2019 00:05:34 -0700
Gurucharan Shetty <guru at ovn.org> wrote:
> We currently have rhel/openvswitch.spec.in that automatically
> enables openvswitch service when the package is installed using
> chkconfig.
>
> But fedora rpm may not enable openvswitch service automatically.
> The macro currently being used in fedora rpm (systemd_post) will
> look for preset files in /etc/systemd/system-preset/ to figure
> out whether openvswitch service needs to be automatically enabled.
> But, the fedora package does not provide such a file. The argument
> is that people may want to install the package for binaries and
> not necessarily to run OVS.
>
> If someone now wants to install the fedora package and automatically
> enable openvswitch, he will have to create a new package that OVS
> package depends on to install the preset file. This is unwieldy.
>
> This commit, provides a rpm build time option to enable the openvswitch
> service automatically. If you now run the below command, openvswitch
> service will be automatically enabled during package installation.
>
> make rpm-fedora RPMBUILD_OPT="--with autoenable"
>
> Signed-off-by: Gurucharan Shetty <guru at ovn.org>
> ---
> rhel/openvswitch-fedora.spec.in | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/rhel/openvswitch-fedora.spec.in b/rhel/openvswitch-fedora.spec.in
> index ce728b4..e8165f9 100644
> --- a/rhel/openvswitch-fedora.spec.in
> +++ b/rhel/openvswitch-fedora.spec.in
> @@ -32,6 +32,9 @@
> # This is enabled by default for versions of the distribution that
> # have Python 3 by default (Fedora > 22).
> %bcond_with build_python3
> +# If there is a need to automatically enable the package after installation,
> +# specify the "--with autoenable"
> +%bcond_with autoenable
>
> # Enable PIE, bz#955181
> %global _hardened_build 1
> @@ -382,6 +385,7 @@ fi
> %endif
>
> %if 0%{?systemd_post:1}
> + # This may not enable openvswitch service or do daemon-reload.
> %systemd_post %{name}.service
> %else
> # Package install, not upgrade
> @@ -390,6 +394,11 @@ fi
> fi
> %endif
>
> +%if %{with autoenable}
> + systemctl daemon-reload
> + systemctl enable openvswitch
> +%endif
> +
> %post selinux-policy
> %selinux_modules_install -s targeted %{_datadir}/selinux/packages/%{name}/openvswitch-custom.pp
>
Hi,
usually a package on Fedora/RHEL7+ is never enabled by default, unless
it's necessary to enable it for a really good reason.
So any Fedora/RHEL7+ user knows (and expect) that he need to manually
enable/start a service after it's installed.
Probably it's better to put something like (postun?):
if /sbin/chkconfig --level 3 openvswitch; then
/bin/systemctl enable openvswitch.service >/dev/null 2>&1 || :
/bin/systemctl restart openvswitch.service >/dev/null 2>&1 || :
fi
Just to enable it if it was enabled before on sysv?
I didn't tested it, but usually (on Fedora spec files) it's the correct
way to do that.
Thank you
More information about the dev
mailing list