rhel: Packaging for OVN is split as per functionality
authorbschanmu@redhat.com <bschanmu@redhat.com>
Thu, 24 Mar 2016 06:07:29 +0000 (11:37 +0530)
committerRussell Bryant <russell@ovn.org>
Fri, 25 Mar 2016 00:00:23 +0000 (20:00 -0400)
rhel packaging for OVN is split to host(controller), central(northd),
common(command line utilities) and docker(docker network plugin). This is
similar to OVN packaging for Debian.

Signed-off-by: Babu Shanmugam <bschanmu@redhat.com>
[russell@ovn.org Updated INSTALL.Fedora.md]
Signed-off-by: Russell Bryant <russell@ovn.org>
INSTALL.Fedora.md
rhel/openvswitch-fedora.spec.in

index 588760a..12d9a72 100644 (file)
@@ -64,8 +64,9 @@ make rpm-fedora
 ```
 
 This will create the RPMs `openvswitch`, `python-openvswitch`,
-`openvswitch-test`, `openvswitch-devel`, `openvswitch-ovn`,
-and `openvswitch-debuginfo`.
+`openvswitch-test`, `openvswitch-devel`, `openvswitch-ovn-common`,
+`openvswitch-ovn-central`, `openvswitch-ovn-host`, `openvswitch-ovn-vtep`,
+`openvswitch-ovn-docker`, and `openvswitch-debuginfo`.
 
 To enable DPDK support in the openvswitch package,
 the `--with dpdk` option can be added:
@@ -110,9 +111,12 @@ module is to be used. The openvswitch-kmod RPM should not be installed if
 only the in-tree Linux datapath or user-space datapath is needed. See [FAQ.md]
 for more information about the various Open vSwitch datapath options.
 
-In most cases only the `openvswitch` and (when using OVN) `openvswitch-ovn` RPMs
-will need to be installed. The `python-openvswitch`, `openvswitch-test`, `openvswitch-devel`,
-and `openvswitch-debuginfo` RPMs are optional unless required for a specific purpose.
+In most cases only the `openvswitch` RPM will need to be installed. The
+`python-openvswitch`, `openvswitch-test`, `openvswitch-devel`, and
+`openvswitch-debuginfo` RPMs are optional unless required for a specific
+purpose.
+
+The `openvswitch-ovn-*` packages are only needed when using OVN.
 
 See [rhel/README.RHEL] for additional usage and configuration information.
 
index bfd9411..0759096 100644 (file)
@@ -112,17 +112,51 @@ Provides: openvswitch-static = %{version}-%{release}
 This provides static library, libopenswitch.a and the openvswitch header
 files needed to build an external application.
 
-%package ovn
+%package ovn-central
 Summary: Open vSwitch - Open Virtual Network support
 License: ASL 2.0
-Requires: openvswitch
+Requires: openvswitch openvswitch-ovn-common
 
-%description ovn
+%description ovn-central
 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.
 
+%package ovn-host
+Summary: Open vSwitch - Open Virtual Network support
+License: ASL 2.0
+Requires: openvswitch openvswitch-ovn-common
+
+%description ovn-host
+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.
+
+%package ovn-vtep
+Summary: Open vSwitch - Open Virtual Network support
+License: ASL 2.0
+Requires: openvswitch openvswitch-ovn-common
+
+%description ovn-vtep
+OVN vtep controller
+
+%package ovn-common
+Summary: Open vSwitch - Open Virtual Network support
+License: ASL 2.0
+Requires: openvswitch
+
+%description ovn-common
+Utilities that are use to diagnose and manage the OVN components.
+
+%package ovn-docker
+Summary: Open vSwitch - Open Virtual Network support
+License: ASL 2.0
+Requires: openvswitch openvswitch-ovn-common python-openvswitch
+
+%description ovn-docker
+Docker network plugins for OVN.
 
 %prep
 %setup -q
@@ -213,26 +247,42 @@ rm -rf $RPM_BUILD_ROOT
     %systemd_preun %{name}.service
 %else
     if [ $1 -eq 0 ] ; then
-    # Package removal, not upgrade
+        # Package removal, not upgrade
         /bin/systemctl --no-reload disable %{name}.service >/dev/null 2>&1 || :
         /bin/systemctl stop %{name}.service >/dev/null 2>&1 || :
     fi
 %endif
 
-%preun ovn
+%preun ovn-central
 %if 0%{?systemd_preun:1}
-    %systemd_preun ovn-controller.service
-    %systemd_preun ovn-controller-vtep.service
     %systemd_preun ovn-northd.service
 %else
     if [ $1 -eq 0 ] ; then
-    # Package removal, not upgrade
+        # Package removal, not upgrade
+        /bin/systemctl --no-reload disable ovn-northd.service >/dev/null 2>&1 || :
+        /bin/systemctl stop ovn-northd.service >/dev/null 2>&1 || :
+    fi
+%endif
+
+%preun ovn-host
+%if 0%{?systemd_preun:1}
+    %systemd_preun ovn-controller.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 || :
+    fi
+%endif
+
+%preun ovn-vtep
+%if 0%{?systemd_preun:1}
+    %systemd_preun ovn-controller-vtep.service
+%else
+    if [ $1 -eq 0 ] ; then
+        # Package removal, not upgrade
         /bin/systemctl --no-reload disable ovn-controller-vtep.service >/dev/null 2>&1 || :
         /bin/systemctl stop ovn-controller-vtep.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
 
@@ -246,11 +296,29 @@ rm -rf $RPM_BUILD_ROOT
     fi
 %endif
 
-%post ovn
+%post ovn-central
+%if 0%{?systemd_post:1}
+    %systemd_post ovn-northd.service
+%else
+    # Package install, not upgrade
+    if [ $1 -eq 1 ]; then
+        /bin/systemctl daemon-reload >dev/null || :
+    fi
+%endif
+
+%post ovn-host
 %if 0%{?systemd_post:1}
     %systemd_post ovn-controller.service
+%else
+    # Package install, not upgrade
+    if [ $1 -eq 1 ]; then
+        /bin/systemctl daemon-reload >dev/null || :
+    fi
+%endif
+
+%post ovn-vtep
+%if 0%{?systemd_post:1}
     %systemd_post ovn-controller-vtep.service
-    %systemd_post ovn-northd.service
 %else
     # Package install, not upgrade
     if [ $1 -eq 1 ]; then
@@ -272,18 +340,36 @@ rm -rf $RPM_BUILD_ROOT
     fi
 %endif
 
-%postun ovn
+%postun ovn-central
 %if 0%{?systemd_postun_with_restart:1}
-    %systemd_postun_with_restart ovn-controller.service
-    %systemd_postun_with_restart ovn-controller-vtep.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-northd.service >/dev/null 2>&1 || :
+    fi
+%endif
+
+%postun ovn-host
+%if 0%{?systemd_postun_with_restart:1}
+    %systemd_postun_with_restart ovn-controller.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 || :
+    fi
+%endif
+
+%postun ovn-vtep
+%if 0%{?systemd_postun_with_restart:1}
+    %systemd_postun_with_restart ovn-controller-vtep.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-vtep.service >/dev/null 2>&1 || :
-        /bin/systemctl try-restart ovn-northd.service >/dev/null 2>&1 || :
     fi
 %endif
 
@@ -376,32 +462,40 @@ fi
 /var/log/openvswitch
 %ghost %attr(755,root,root) %{_rundir}/openvswitch
 
-%files ovn
-%{_bindir}/ovn-controller
-%{_bindir}/ovn-controller-vtep
+%files ovn-docker
 %{_bindir}/ovn-docker-overlay-driver
 %{_bindir}/ovn-docker-underlay-driver
+
+%files ovn-common
 %{_bindir}/ovn-nbctl
-%{_bindir}/ovn-northd
 %{_bindir}/ovn-sbctl
 %{_datadir}/openvswitch/scripts/ovn-ctl
 %{_datadir}/openvswitch/scripts/ovn-bugtool-nbctl-show
 %{_datadir}/openvswitch/scripts/ovn-bugtool-sbctl-lflow-list
 %{_datadir}/openvswitch/scripts/ovn-bugtool-sbctl-show
-%{_mandir}/man5/ovn-nb.5*
-%{_mandir}/man5/ovn-sb.5*
-%{_mandir}/man7/ovn-architecture.7*
-%{_mandir}/man8/ovn-controller.8*
-%{_mandir}/man8/ovn-controller-vtep.8*
 %{_mandir}/man8/ovn-ctl.8*
 %{_mandir}/man8/ovn-nbctl.8*
-%{_mandir}/man8/ovn-northd.8*
+%{_mandir}/man7/ovn-architecture.7*
 %{_mandir}/man8/ovn-sbctl.8*
+%{_mandir}/man5/ovn-nb.5*
+%{_mandir}/man5/ovn-sb.5*
+
+%files ovn-central
+%{_bindir}/ovn-northd
+%{_mandir}/man8/ovn-northd.8*
 %config %{_datadir}/openvswitch/ovn-nb.ovsschema
 %config %{_datadir}/openvswitch/ovn-sb.ovsschema
+%{_unitdir}/ovn-northd.service
+
+%files ovn-host
+%{_bindir}/ovn-controller
+%{_mandir}/man8/ovn-controller.8*
 %{_unitdir}/ovn-controller.service
+
+%files ovn-vtep
+%{_bindir}/ovn-controller-vtep
+%{_mandir}/man8/ovn-controller-vtep.8*
 %{_unitdir}/ovn-controller-vtep.service
-%{_unitdir}/ovn-northd.service
 
 %changelog
 * Wed Jan 12 2011 Ralf Spenneberg <ralf@os-s.net>