From: Russell Bryant Date: Fri, 12 Jun 2015 16:51:24 +0000 (-0400) Subject: fedora.spec: Create openvswitch-ovn package. X-Git-Tag: v2.5.0~1062 X-Git-Url: http://git.cascardo.eti.br/?p=cascardo%2Fovs.git;a=commitdiff_plain;h=c05ea879009f8a0be3eb21581b7cadb500aebfcd fedora.spec: Create openvswitch-ovn package. This patch creates a new subpackage for OVN, openvswitch-ovn. It also installs systemd unit files for ovn-controller and ovn-northd. If you want to run ovn-controller: # systemctl start ovn-controller If you want to run ovn-northd: # systemctl start ovn-northd Both systemd units are currently set to depend on openvswitch. If further ovsdb initialization is required for the OVN databases before ovn-northd can start, that will be handled automatically by ovn-ctl when you start the ovn-northd service. This currently assumes that ovn-northd runs on the same host as ovsdb-server that is hosting the OVN databases. That seems like a reasonable assumption in the current architecture and can be evolved later when needed. Signed-off-by: Russell Bryant CC: Flavio Leitner CC: Ben Pfaff Signed-off-by: Ben Pfaff --- diff --git a/rhel/automake.mk b/rhel/automake.mk index 9c3433bac..f6272a311 100644 --- a/rhel/automake.mk +++ b/rhel/automake.mk @@ -24,7 +24,9 @@ EXTRA_DIST += \ rhel/usr_share_openvswitch_scripts_sysconfig.template \ rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template \ rhel/usr_lib_systemd_system_openvswitch.service \ - rhel/usr_lib_systemd_system_openvswitch-nonetwork.service + rhel/usr_lib_systemd_system_openvswitch-nonetwork.service \ + rhel/usr_lib_systemd_system_ovn-controller.service \ + rhel/usr_lib_systemd_system_ovn-northd.service update_rhel_spec = \ $(AM_V_GEN)($(ro_shell) && sed -e 's,[@]VERSION[@],$(VERSION),g') \ diff --git a/rhel/openvswitch-fedora.spec.in b/rhel/openvswitch-fedora.spec.in index 2c6f6e939..08cd5ef2b 100644 --- a/rhel/openvswitch-fedora.spec.in +++ b/rhel/openvswitch-fedora.spec.in @@ -83,6 +83,17 @@ Provides: openvswitch-static = %{version}-%{release} This provides static library, libopenswitch.a and the openvswitch header files needed to build an external application. +%package ovn +Summary: Open vSwitch - Open Virtual Network support +License: ASL 2.0 +Requires: openvswitch + +%description ovn +OVN, the Open Virtual Network, is a system to support virtual network +abstraction. OVN complements the existing capabilities of OVS to add +native support for virtual network abstractions, such as virtual L2 and L3 +overlays and security groups. + %prep %setup -q @@ -100,13 +111,11 @@ install -d -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch install -p -D -m 0644 \ rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template \ $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/openvswitch -install -p -D -m 0644 \ - rhel/usr_lib_systemd_system_openvswitch.service \ - $RPM_BUILD_ROOT%{_unitdir}/openvswitch.service -install -p -D -m 0644 \ - rhel/usr_lib_systemd_system_openvswitch-nonetwork.service \ - $RPM_BUILD_ROOT%{_unitdir}/openvswitch-nonetwork.service - +for service in openvswitch openvswitch-nonetwork ovn-controller ovn-northd; do + install -p -D -m 0644 \ + rhel/usr_lib_systemd_system_${service}.service \ + $RPM_BUILD_ROOT%{_unitdir}/${service}.service +done install -m 0755 rhel/etc_init.d_openvswitch \ $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/openvswitch.init @@ -156,6 +165,19 @@ rm -rf $RPM_BUILD_ROOT fi %endif +%preun ovn +%if 0%{?systemd_preun:1} + %systemd_preun ovn-controller.service + %systemd_preun ovn-northd.service +%else + if [ $1 -eq 0 ] ; then + # Package removal, not upgrade + /bin/systemctl --no-reload disable ovn-controller.service >/dev/null 2>&1 || : + /bin/systemctl stop ovn-controller.service >/dev/null 2>&1 || : + /bin/systemctl --no-reload disable ovn-northd.service >/dev/null 2>&1 || : + /bin/systemctl stop ovn-northd.service >/dev/null 2>&1 || : + fi +%endif %post %if 0%{?systemd_post:1} @@ -167,6 +189,16 @@ rm -rf $RPM_BUILD_ROOT fi %endif +%post ovn +%if 0%{?systemd_post:1} + %systemd_post ovn-controller.service + %systemd_post ovn-northd.service +%else + # Package install, not upgrade + if [ $1 -eq 1 ]; then + /bin/systemctl daemon-reload >dev/null || : + fi +%endif %postun %if 0%{?systemd_postun_with_restart:1} @@ -179,6 +211,18 @@ rm -rf $RPM_BUILD_ROOT fi %endif +%postun ovn +%if 0%{?systemd_postun_with_restart:1} + %systemd_postun_with_restart ovn-controller.service + %systemd_postun_with_restart ovn-northd.service +%else + /bin/systemctl daemon-reload >/dev/null 2>&1 || : + if [ "$1" -ge "1" ] ; then + # Package upgrade, not uninstall + /bin/systemctl try-restart ovn-controller.service >/dev/null 2>&1 || : + /bin/systemctl try-restart ovn-northd.service >/dev/null 2>&1 || : + fi +%endif %files -n python-openvswitch %{python_sitelib}/ovs @@ -272,6 +316,25 @@ rm -rf $RPM_BUILD_ROOT %exclude %{_mandir}/man8/ovs-vlan-bug-workaround.8.gz %exclude %{_datadir}/openvswitch/scripts/ovs-save +%files ovn +%{_bindir}/ovn-controller +%{_bindir}/ovn-nbctl +%{_bindir}/ovn-northd +%{_datadir}/openvswitch/scripts/ovn-ctl +%{_mandir}/man8/ovs-testcontroller.8* +%{_mandir}/man5/ovn-nb.5* +%{_mandir}/man5/ovn-sb.5* +%{_mandir}/man7/ovn-architecture.7* +%{_mandir}/man8/ovn-controller.8* +%{_mandir}/man8/ovn-ctl.8* +%{_mandir}/man8/ovn-nbctl.8* +%config %{_datadir}/openvswitch/ovn-nb.ovsschema +%config %{_datadir}/openvswitch/ovn-sb.ovsschema +%{_unitdir}/ovn-controller.service +%{_unitdir}/ovn-northd.service +%ghost %attr(755,root,root) %{_rundir}/ovn-controller +%ghost %attr(755,root,root) %{_rundir}/ovn-northd + %changelog * Wed Jan 12 2011 Ralf Spenneberg - First build on F14 diff --git a/rhel/usr_lib_systemd_system_ovn-controller.service b/rhel/usr_lib_systemd_system_ovn-controller.service new file mode 100644 index 000000000..4fdcfd22c --- /dev/null +++ b/rhel/usr_lib_systemd_system_ovn-controller.service @@ -0,0 +1,16 @@ +[Unit] +Description=OVN controller daemon +After=syslog.target +Requires=openvswitch.service +After=openvswitch.service + +[Service] +Type=simple +RuntimeDirectory=ovn-controller +RuntimeDirectoryMode=0755 +PIDFile=%t/ovn-controller/ovn-controller.pid +Environment=OVS_RUNDIR=%t/ovn-controller +ExecStart=/usr/bin/ovn-controller -vconsole:emer -vsyslog:err -vfile:info \ + --log-file=/var/log/openvswitch/ovn-controller.log \ + --no-chdir --pidfile=%t/ovn-controller/ovn-controller.pid \ + unix:/var/run/openvswitch/db.sock diff --git a/rhel/usr_lib_systemd_system_ovn-northd.service b/rhel/usr_lib_systemd_system_ovn-northd.service new file mode 100644 index 000000000..fcbf6462f --- /dev/null +++ b/rhel/usr_lib_systemd_system_ovn-northd.service @@ -0,0 +1,15 @@ +[Unit] +Description=OVN northd management daemon +After=syslog.target +Requires=openvswitch.service +After=openvswitch.service + +[Service] +Type=oneshot +RemainAfterExit=yes +RuntimeDirectory=ovn-northd +RuntimeDirectoryMode=0755 +PIDFile=%t/ovn-northd/ovn-northd.pid +Environment=OVN_RUNDIR=%t/ovn-northd OVS_RUNDIR=%t/openvswitch OVS_DBDIR=/var/lib/openvswitch +ExecStart=/usr/share/openvswitch/scripts/ovn-ctl start_northd +ExecStop=/usr/share/openvswitch/scripts/ovn-ctl stop_northd