On Tue, Dec 22, 2020 at 1:24 PM <[email protected]> wrote: > > From: Vladislav Odintsov <[email protected]>
Hi Vladislav, I applied the first 2 patches of this series to master. Waiting for review comments from Han for the 3rd patch. Thanks Numan > > This commit adds new systemd-unit `ovn-ic.service` to manage OVN > Interconnection > daemons using systemd. > > Signed-off-by: Vladislav Odintsov <[email protected]> > --- > rhel/automake.mk | 1 + > rhel/ovn-fedora.spec.in | 58 +++++++++++++++++++--- > rhel/usr_lib_systemd_system_ovn-ic.service | 32 ++++++++++++ > 3 files changed, 85 insertions(+), 6 deletions(-) > create mode 100644 rhel/usr_lib_systemd_system_ovn-ic.service > > diff --git a/rhel/automake.mk b/rhel/automake.mk > index 661975ea96..0e8795feb3 100644 > --- a/rhel/automake.mk > +++ b/rhel/automake.mk > @@ -13,6 +13,7 @@ EXTRA_DIST += \ > rhel/ovn-fedora.spec.in \ > rhel/usr_lib_systemd_system_ovn-controller.service \ > rhel/usr_lib_systemd_system_ovn-controller-vtep.service \ > + rhel/usr_lib_systemd_system_ovn-ic.service \ > rhel/usr_lib_systemd_system_ovn-northd.service \ > rhel/usr_lib_firewalld_services_ovn-central-firewall-service.xml \ > rhel/usr_lib_firewalld_services_ovn-host-firewall-service.xml \ > diff --git a/rhel/ovn-fedora.spec.in b/rhel/ovn-fedora.spec.in > index 6b11ef3e89..6938deee6a 100644 > --- a/rhel/ovn-fedora.spec.in > +++ b/rhel/ovn-fedora.spec.in > @@ -84,6 +84,14 @@ Provides: openvswitch-ovn-central = > %{?epoch:%{epoch}:}%{version}-%{release} > %description central > OVN DB servers and ovn-northd running on a central node. > > +%package ic > +Summary: Open Virtual Network interconnection support > +License: ASL 2.0 > +Requires: ovn > + > +%description ic > +OVN IC DB servers and ovn-ic. > + > %package host > Summary: Open Virtual Network support > License: ASL 2.0 > @@ -161,7 +169,7 @@ install -p -D -m 0644 \ > rhel/usr_share_ovn_scripts_systemd_sysconfig.template \ > $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/ovn > > -for service in ovn-controller ovn-controller-vtep ovn-northd; do > +for service in ovn-controller ovn-controller-vtep ovn-northd ovn-ic; do > install -p -D -m 0644 \ > rhel/usr_lib_systemd_system_${service}.service \ > $RPM_BUILD_ROOT%{_unitdir}/${service}.service > @@ -256,7 +264,7 @@ if [ $1 -eq 1 ] ; then > if [[ "$?" = "0" && "$ovn_status" = "0" ]]; then > # ovn-controller-vtep service is running which means old > # openvswitch-ovn-vtep is installed and it will be cleaned up. So > - # start ovn-controller-vtep service when posttrans host is called. > + # start ovn-controller-vtep service when posttrans vtep is called. > touch %{_localstatedir}/lib/rpm-state/ovn-controller-vtep > fi > fi > @@ -272,6 +280,17 @@ fi > fi > %endif > > +%preun ic > +%if 0%{?systemd_preun:1} > + %systemd_preun ovn-ic.service > +%else > + if [ $1 -eq 0 ] ; then > + # Package removal, not upgrade > + /bin/systemctl --no-reload disable ovn-ic.service >/dev/null 2>&1 || > : > + /bin/systemctl stop ovn-ic.service >/dev/null 2>&1 || : > + fi > +%endif > + > %preun host > %if 0%{?systemd_preun:1} > %systemd_preun ovn-controller.service > @@ -312,6 +331,16 @@ fi > fi > %endif > > +%post ic > +%if 0%{?systemd_post:1} > + %systemd_post ovn-ic.service > +%else > + # Package install, not upgrade > + if [ $1 -eq 1 ]; then > + /bin/systemctl daemon-reload >dev/null || : > + fi > +%endif > + > %post host > %if 0%{?systemd_post:1} > %systemd_post ovn-controller.service > @@ -345,6 +374,17 @@ fi > fi > %endif > > +%postun ic > +%if 0%{?systemd_postun_with_restart:1} > + %systemd_postun_with_restart ovn-ic.service > +%else > + /bin/systemctl daemon-reload >/dev/null 2>&1 || : > + if [ "$1" -ge "1" ] ; then > + # Package upgrade, not uninstall > + /bin/systemctl try-restart ovn-ic.service >/dev/null 2>&1 || : > + fi > +%endif > + > %postun host > %if 0%{?systemd_postun_with_restart:1} > %systemd_postun_with_restart ovn-controller.service > @@ -421,7 +461,6 @@ fi > %{_mandir}/man5/ovn-sb.5* > %{_mandir}/man8/ovn-ic-nbctl.8* > %{_mandir}/man8/ovn-ic-sbctl.8* > -%{_mandir}/man8/ovn-ic.8* > %{_mandir}/man5/ovn-ic-nb.5* > %{_mandir}/man5/ovn-ic-sb.5* > %{_prefix}/lib/ocf/resource.d/ovn/ovndb-servers > @@ -433,15 +472,19 @@ fi > > %files central > %{_bindir}/ovn-northd > -%{_bindir}/ovn-ic > %{_mandir}/man8/ovn-northd.8* > %config %{_datadir}/ovn/ovn-nb.ovsschema > %config %{_datadir}/ovn/ovn-sb.ovsschema > -%config %{_datadir}/ovn/ovn-ic-nb.ovsschema > -%config %{_datadir}/ovn/ovn-ic-sb.ovsschema > %{_unitdir}/ovn-northd.service > %{_prefix}/lib/firewalld/services/ovn-central-firewall-service.xml > > +%files ic > +%{_bindir}/ovn-ic > +%{_mandir}/man8/ovn-ic.8* > +%config %{_datadir}/ovn/ovn-ic-nb.ovsschema > +%config %{_datadir}/ovn/ovn-ic-sb.ovsschema > +%{_unitdir}/ovn-ic.service > + > %files host > %{_bindir}/ovn-controller > %{_mandir}/man8/ovn-controller.8* > @@ -454,5 +497,8 @@ fi > %{_unitdir}/ovn-controller-vtep.service > > %changelog > +* Wed Dec 9 2020 Vladislav Odintsov <[email protected]> > +- Added ovn-ic systemd-unit and subpackage. > + > * Thu Dec 20 2018 Numan Siddique <[email protected]> > - OVS/OVN split. > diff --git a/rhel/usr_lib_systemd_system_ovn-ic.service > b/rhel/usr_lib_systemd_system_ovn-ic.service > new file mode 100644 > index 0000000000..46ca0cff12 > --- /dev/null > +++ b/rhel/usr_lib_systemd_system_ovn-ic.service > @@ -0,0 +1,32 @@ > +# See ovn-ic(8) for details about ovn-ic. > +# > +# To customize the ovn-ic service, you may create a configuration file > +# in the /etc/systemd/system/ovn-ic.d/ directory. For example, to specify > +# additional options to be passed to the "ovn-ctl start_ic" command, you > +# could place the following contents in > +# /etc/systemd/system/ovn-ic.d/local.conf: > +# > +# [System] > +# > Environment="OVN_IC_OPTS=--db-ic-nb-sock=/usr/local/var/run/ovn/ovn_ic_nb_db.sock > --db-ic-sb-sock=/usr/local/var/run/ovn/ovn_ic_sb_db.sock" > +# > +# Alternatively, you may specify environment variables in the file > /etc/sysconfig/ovn-ic: > +# > +# OVN_IC_OPTS="--db-ic-nb-sock=/usr/local/var/run/ovn/ovn_ic_nb_db.sock > --db-ic-sb-sock=/usr/local/var/run/ovn/ovn_ic_sb_db.sock" > + > +[Unit] > +Description=OVN ic management daemon > +After=syslog.target > + > +[Service] > +Type=oneshot > +RemainAfterExit=yes > +Environment=OVN_RUNDIR=%t/ovn OVN_DBDIR=/var/lib/ovn > +EnvironmentFile=-/etc/sysconfig/ovn > +EnvironmentFile=-/etc/sysconfig/ovn-ic > +ExecStartPre=-/usr/bin/chown -R ${OVN_USER_ID} ${OVN_DBDIR} > +ExecStart=/usr/share/ovn/scripts/ovn-ctl \ > + --ovn-user=${OVN_USER_ID} start_ic $OVN_IC_OPTS > +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_ic > + > +[Install] > +WantedBy=multi-user.target > -- > 2.29.2 > > _______________________________________________ > dev mailing list > [email protected] > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
