From 0e12c2a45cf91aa7391b6f1948f1cbd978843cbe Mon Sep 17 00:00:00 2001 From: "bschanmu@redhat.com" Date: Thu, 24 Mar 2016 11:37:29 +0530 Subject: [PATCH] rhel: Packaging for OVN is split as per functionality 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 [russell@ovn.org Updated INSTALL.Fedora.md] Signed-off-by: Russell Bryant --- INSTALL.Fedora.md | 14 +-- rhel/openvswitch-fedora.spec.in | 148 ++++++++++++++++++++++++++------ 2 files changed, 130 insertions(+), 32 deletions(-) diff --git a/INSTALL.Fedora.md b/INSTALL.Fedora.md index 588760af099..12d9a72cd3b 100644 --- a/INSTALL.Fedora.md +++ b/INSTALL.Fedora.md @@ -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. diff --git a/rhel/openvswitch-fedora.spec.in b/rhel/openvswitch-fedora.spec.in index bfd9411f458..0759096b0fa 100644 --- a/rhel/openvswitch-fedora.spec.in +++ b/rhel/openvswitch-fedora.spec.in @@ -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