[ovs-dev] [PATCH] rhel: move conf.db to /var/lib/openvswitch, using symlinks

Flavio Leitner fbl at sysclose.org
Thu Sep 17 20:24:49 UTC 2020


On Thu, Sep 10, 2020 at 03:38:04PM +0200, Timothy Redaelli wrote:
> conf.db is by default at /etc/openvswitch, but it should be at
> /var/lib/openvswitch like on Debian or like ovnnb_db.db and ovnsb_db.db.
> 
> If conf.db already exists in /etc/openvswitch then it's moved to
> /var/lib/openvswitch.
> Symlinks are created for conf.db and .conf.db.~lock~ into /etc/openvswitch
> for backward compatibility.
> 
> Reported-at: https://bugzilla.redhat.com/1830857
> Reported-by: Yedidyah Bar David <didi at redhat.com>
> Signed-off-by: Timothy Redaelli <tredaelli at redhat.com>
> ---
>  rhel/openvswitch-fedora.spec.in | 23 +++++++++++++++++++----
>  1 file changed, 19 insertions(+), 4 deletions(-)
> 
> diff --git a/rhel/openvswitch-fedora.spec.in b/rhel/openvswitch-fedora.spec.in
> index e3e0d8acf..d70959eba 100644
> --- a/rhel/openvswitch-fedora.spec.in
> +++ b/rhel/openvswitch-fedora.spec.in
> @@ -244,8 +244,6 @@ rm -rf $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/
>  
>  install -d -m 0755 $RPM_BUILD_ROOT/%{_sharedstatedir}/openvswitch
>  
> -touch $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/conf.db
> -touch $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/.conf.db.~lock~
>  touch $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/system-id.conf
>  
>  install -p -m 644 -D selinux/openvswitch-custom.pp \
> @@ -333,6 +331,23 @@ if [ $1 -eq 1 ]; then
>  fi
>  %endif
>  
> +# Ensure that /etc/openvswitch/conf.db links to /var/lib/openvswitch,
> +# moving an existing file if there is one.
> +#
> +# Ditto for .conf.db.~lock~.
> +for base in conf.db .conf.db.~lock~; do
> +    new=/var/lib/openvswitch/$base
> +    old=/etc/openvswitch/$base
> +    if test -f $old && test ! -e $new; then
> +        mv $old $new
> +    fi
> +    if test ! -e $old && test ! -h $old; then

This doesn't look correct to me. The -e covers -h.

> +        ln -s $new $old
> +    fi
> +    touch $new
> +    chown openvswitch: $new

This should consider if dpdk is enabled or not and then
set the correct group?

Thanks,
fbl

> +done
> +
>  %if 0%{?systemd_post:1}
>      # This may not enable openvswitch service or do daemon-reload.
>      %systemd_post %{name}.service
> @@ -418,8 +433,8 @@ fi
>  %endif
>  %dir %{_sysconfdir}/openvswitch
>  %{_sysconfdir}/openvswitch/default.conf
> -%config %ghost %{_sysconfdir}/openvswitch/conf.db
> -%ghost %{_sysconfdir}/openvswitch/.conf.db.~lock~
> +%config %ghost %{_sharedstatedir}/openvswitch/conf.db
> +%ghost %{_sharedstatedir}/openvswitch/.conf.db.~lock~
>  %config %ghost %{_sysconfdir}/openvswitch/system-id.conf
>  %config(noreplace) %{_sysconfdir}/sysconfig/openvswitch
>  %defattr(-,root,root)
> -- 
> 2.26.2
> 
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev

-- 
fbl


More information about the dev mailing list