Skip to content

Commit

Permalink
rhel: Packaging for OVN is split as per functionality
Browse files Browse the repository at this point in the history
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 <[email protected]>
[[email protected] Updated INSTALL.Fedora.md]
Signed-off-by: Russell Bryant <[email protected]>
  • Loading branch information
anbu-enovance authored and russellb committed Mar 25, 2016
1 parent 7915b9c commit 0e12c2a
Show file tree
Hide file tree
Showing 2 changed files with 130 additions and 32 deletions.
14 changes: 9 additions & 5 deletions INSTALL.Fedora.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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.

Expand Down
148 changes: 121 additions & 27 deletions rhel/openvswitch-fedora.spec.in
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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

Expand All @@ -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
Expand All @@ -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

Expand Down Expand Up @@ -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 <[email protected]>
Expand Down

0 comments on commit 0e12c2a

Please sign in to comment.