@@ -29,10 +29,12 @@
# The testsuite is somewhat fragile for continuous testing in OBS
# The testsuite is somewhat fragile for continuous testing in OBS
# but keep it here as an option
# but keep it here as an option
%bcond_with check
%bcond_with check
%define lname libopenvswitch-2_7-1
Name : openvswitch
Name : openvswitch
Version : 2.7.0
Version : 2.7.2
Release : 0
Release : 0
Summary : An open source, production quality, multilayer virtual switch
Summary : A multilayer virtual network switch
# All code is Apache-2.0 except
# All code is Apache-2.0 except
# - lib/sflow* which is SISSL
# - lib/sflow* which is SISSL
# - utilities/bugtool which is LGPL-2.1
# - utilities/bugtool which is LGPL-2.1
@@ -42,10 +44,6 @@ Url: http://openvswitch.org/
Source0 : http://openvswitch.org/releases/openvswitch-%{version} .tar.gz
Source0 : http://openvswitch.org/releases/openvswitch-%{version} .tar.gz
Source1 : preamble
Source1 : preamble
Source89 : Module.supported.updates
Source89 : Module.supported.updates
# PATCh-FIX-UPSTREAM 0001-ofp-util-Fix-buffer-overread-in-ofputil_pull_queue_g.patch
# Upstream fix (present in 2.7 branch) to fix CVE-2017-9214
# See https://nvd.nist.gov/vuln/detail/CVE-2017-9214
Patch1 : 0001-ofp-util-Fix-buffer-overread-in-ofputil_pull_queue_g.patch
Patch99 : 0001-utilities-Add-script-to-support-DPDK-option-migratio.patch
Patch99 : 0001-utilities-Add-script-to-support-DPDK-option-migratio.patch
BuildRequires : autoconf
BuildRequires : autoconf
BuildRequires : automake
BuildRequires : automake
@@ -100,12 +98,12 @@ BuildRequires: libpcap-devel
%endif
%endif
%description
%description
Open vSwitch is a production quality, multilayer virtual switch licensed under
Open vSwitch is a multilayer virtual network Ethernet switch. It is
the open source Apache 2.0 license. It is designed to enable massive network automation
enables network automation through programmatic extension, and
through programmatic extension, while still supporting standard management interfaces
supports standard management interfaces and protocols (e.g. NetFlow,
and protocols (e.g. NetFlow, sFlow, RSPAN, ERSPAN, CLI, LACP, 802.1ag). In addition,
sFlow, RSPAN, ERSPAN, CLI, LACP, 802.1ag). In addition, it supports
it is designed to support distribution across multiple physical servers similar to
distribution across multiple physical servers similar to VMware’ s
VMware’ s vNetwork distributed vswitch or Cisco’ s Nexus 1000V.
vNetwork distributed vswitch or Cisco’ s Nexus 1000V.
%if %{with kmp}
%if %{with kmp}
%package kmp
%package kmp
@@ -119,11 +117,19 @@ BuildRequires: %{kernel_module_package_buildreqs}
Kernel modules supporting the openvswitch datapath.
Kernel modules supporting the openvswitch datapath.
%endif
%endif
%package -n %{lname}
Summary : Open vSwitch core libraries
License : Apache-2.0
Group : System/Libraries
%description -n %{lname}
Contains the shared libraries used by Open vSwitch and any eventual extensions.
%package devel
%package devel
Summary : Op en vSwitch Devel Libraries
Summary : Developm ent files for Open vSwitch
License : Apache-2.0
License : Apache-2.0
Group : Development/Libraries/C and C++
Group : Development/Libraries/C and C++
Requires : %{name} = %{version}
Requires : %{l name} = %{version}
Provides : %{name} -dpdk-devel = %{version}
Provides : %{name} -dpdk-devel = %{version}
Obsoletes : %{name} -dpdk-devel < %{version}
Obsoletes : %{name} -dpdk-devel < %{version}
@@ -131,7 +137,7 @@ Obsoletes: %{name}-dpdk-devel < %{version}
Devel libraries and headers for Open vSwitch.
Devel libraries and headers for Open vSwitch.
%package ovn-central
%package ovn-central
Summary : Open vSwitch - Open Virtual Network support
Summary : Open Virtual Network support for Open vSwitch
License : Apache-2.0
License : Apache-2.0
Group : Productivity/Networking/System
Group : Productivity/Networking/System
Requires : %{name} = %{version}
Requires : %{name} = %{version}
@@ -147,7 +153,7 @@ native support for virtual network abstractions, such as virtual L2 and L3
overlays and security groups.
overlays and security groups.
%package ovn-host
%package ovn-host
Summary : Open vSwitch - Open Virtual Network support
Summary : Open Virtual Network support for Open vSwitch
License : Apache-2.0
License : Apache-2.0
Group : Productivity/Networking/System
Group : Productivity/Networking/System
Requires : %{name} = %{version}
Requires : %{name} = %{version}
@@ -157,13 +163,10 @@ Provides: %{name}-dpdk-ovn:%{_bindir}/ovn-controller
Provides : %{name} -ovn:%{_bindir} /ovn-controller
Provides : %{name} -ovn:%{_bindir} /ovn-controller
%description ovn-host
%description ovn-host
OVN, the Open Virtual Network, is a system to support virtual network
This subpackage contains the OVN host controller.
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
%package ovn-vtep
Summary : Open vSwitch - Open Virtual Network support
Summary : Open Virtual Network VTEP controller for Open vSwitch
License : Apache-2.0
License : Apache-2.0
Group : Productivity/Networking/System
Group : Productivity/Networking/System
Requires : %{name} = %{version}
Requires : %{name} = %{version}
@@ -173,10 +176,10 @@ Provides: %{name}-dpdk-ovn:%{_bindir}/ovn-controller-vtep
Provides : %{name} -ovn:%{_bindir} /ovn-controller-vtep
Provides : %{name} -ovn:%{_bindir} /ovn-controller-vtep
%description ovn-vtep
%description ovn-vtep
OVN vtep controller
This subpackage contains the OVN VTEP (VXLAN Tunnel Endpoint) controller.
%package ovn-common
%package ovn-common
Summary : Open vSwitch - Open Virtual Network support
Summary : Open Virtual Network diagnostic utilities
License : Apache-2.0
License : Apache-2.0
Group : Productivity/Networking/System
Group : Productivity/Networking/System
Requires : %{name} = %{version}
Requires : %{name} = %{version}
@@ -190,7 +193,7 @@ Obsoletes: %{name}-ovn < %{version}
Utilities that are used to diagnose and manage the OVN components.
Utilities that are used to diagnose and manage the OVN components.
%package ovn-docker
%package ovn-docker
Summary : Open vSwitch - Open Virtual Netw ork support
Summary : Docker network plugins f or OVN
License : Apache-2.0
License : Apache-2.0
Group : Productivity/Networking/System
Group : Productivity/Networking/System
Requires : %{name} = %{version}
Requires : %{name} = %{version}
@@ -244,7 +247,7 @@ Requires: python
Requires : python-six
Requires : python-six
%description -n python-openvswitch
%description -n python-openvswitch
This package contains the full Python bindings for Open vSwitch database.
This package contains the Python bindings for Open vSwitch database.
%package -n python-openvswitch-test
%package -n python-openvswitch-test
Summary : Python bindings for Open vSwitch
Summary : Python bindings for Open vSwitch
@@ -256,7 +259,7 @@ Requires: python-openvswitch = %{version}
Requires : python-twisted
Requires : python-twisted
%description -n python-openvswitch-test
%description -n python-openvswitch-test
This package contains the full Python bindings for Open vSwitch database.
This package contains the Python bindings for Open vSwitch database.
%package test
%package test
Summary : Open vSwitch test package
Summary : Open vSwitch test package
@@ -271,14 +274,13 @@ Provides: %{name}-dpdk-test = %{version}
Obsoletes : %{name} -dpdk-test < %{version}
Obsoletes : %{name} -dpdk-test < %{version}
%description test
%description test
Open vSwitch is a software-based Ethernet switch.
This package contains utilities that are useful to diagnose
This package contains utilities that are useful to diagnose
performance and connectivity issues in Open vSwitch setup.
performance and connectivity issues in Open vSwitch setup.
Open vSwitch is a full-featured software-based Ethernet switch.
%prep
%prep
%setup -q -n openvswitch-%{version}
%setup -q -n openvswitch-%{version}
%patch1 -p1
%patch99 -p1
%patch99 -p1
%build
%build
@@ -330,9 +332,8 @@ pushd source
# Recheck tests before we declare them broken. If that fails, dump
# Recheck tests before we declare them broken. If that fails, dump
# the log and exit. >2.5.0 uses the RECHECK env variable so this
# the log and exit. >2.5.0 uses the RECHECK env variable so this
# needs to be taken into consideration for future releases.
# needs to be taken into consideration for future releases.
if make check TESTSUITEFLAGS=" %{?_smp_mflags} " ||
if ! make check TESTSUITEFLAGS=" %{?_smp_mflags} " &&
make check TESTSUITEFLAGS='--recheck' ; then :;
! make check TESTSUITEFLAGS='--recheck' ; then
else
cat tests/testsuite.log
cat tests/testsuite.log
exit 1
exit 1
fi
fi
@@ -427,8 +428,6 @@ fi
%postun
%postun
/sbin/ldconfig
/sbin/ldconfig
%service_del_postun ovsdb-server.service
%service_del_postun ovs-vswitchd.service
# Do not restart the openvswitch service on package updates.
# Do not restart the openvswitch service on package updates.
# Restarting the service may break the existing network state.
# Restarting the service may break the existing network state.
# For example, openflow rules are not automatically re-installed
# For example, openflow rules are not automatically re-installed
@@ -437,9 +436,13 @@ fi
# admin decide when it's the best time for an OvS restart.
# admin decide when it's the best time for an OvS restart.
# 5771f476573445710834234a6a9f7bd999a027e7 ("fedora: do not restart the service on a pkg upgrade")
# 5771f476573445710834234a6a9f7bd999a027e7 ("fedora: do not restart the service on a pkg upgrade")
export DISABLE_RESTART_ON_UPDATE=yes
export DISABLE_RESTART_ON_UPDATE=yes
%service_del_postun ovsdb-server.service
%service_del_postun ovs-vswitchd.service
%service_del_postun openvswitch.service
%service_del_postun openvswitch.service
%pre
%pre
# This prevents networking breakages on package removals
export DISABLE_STOP_ON_REMOVAL=yes
%service_add_pre ovsdb-server.service
%service_add_pre ovsdb-server.service
%service_add_pre ovs-vswitchd.service
%service_add_pre ovs-vswitchd.service
%service_add_pre openvswitch.service
%service_add_pre openvswitch.service
@@ -449,6 +452,9 @@ export DISABLE_RESTART_ON_UPDATE=yes
%service_del_preun ovs-vswitchd.service
%service_del_preun ovs-vswitchd.service
%service_del_preun openvswitch.service
%service_del_preun openvswitch.service
%post -n %{lname} -p /sbin/ldconfig
%postun -n %{lname} -p /sbin/ldconfig
%pre ovn-central
%pre ovn-central
%service_add_pre ovn-northd.service
%service_add_pre ovn-northd.service
@@ -477,12 +483,21 @@ export DISABLE_RESTART_ON_UPDATE=yes
%service_del_preun ovn-controller-vtep.service
%service_del_preun ovn-controller-vtep.service
%postun ovn-central
%postun ovn-central
# 44dd4cc49c8a4f9413baa822f111686fd8964160 ("fedora: do not restart ovn svcs
# automatically on pkg upgrade")
export DISABLE_RESTART_ON_UPDATE=yes
%service_del_postun ovn-northd.service
%service_del_postun ovn-northd.service
%postun ovn-host
%postun ovn-host
# 44dd4cc49c8a4f9413baa822f111686fd8964160 ("fedora: do not restart ovn svcs
# automatically on pkg upgrade")
export DISABLE_RESTART_ON_UPDATE=yes
%service_del_postun ovn-controller.service
%service_del_postun ovn-controller.service
%postun ovn-vtep
%postun ovn-vtep
# 44dd4cc49c8a4f9413baa822f111686fd8964160 ("fedora: do not restart ovn svcs
# automatically on pkg upgrade")
export DISABLE_RESTART_ON_UPDATE=yes
%service_del_postun ovn-controller-vtep.service
%service_del_postun ovn-controller-vtep.service
%preun test
%preun test
@@ -526,10 +541,6 @@ export DISABLE_RESTART_ON_UPDATE=yes
%{_datadir} /openvswitch/scripts/ovs-save
%{_datadir} /openvswitch/scripts/ovs-save
%{_datadir} /openvswitch/scripts/ovs-dpdk-migrate-2.6.sh
%{_datadir} /openvswitch/scripts/ovs-dpdk-migrate-2.6.sh
%{_datadir} /openvswitch/vswitch.ovsschema
%{_datadir} /openvswitch/vswitch.ovsschema
%{_libdir} /libofproto-2.so.*
%{_libdir} /libopenvswitch-2.so.*
%{_libdir} /libovsdb-2.so.*
%{_libdir} /libsflow-2.so.*
%{_mandir} /man1/ovsdb-client.1%{ext_man}
%{_mandir} /man1/ovsdb-client.1%{ext_man}
%{_mandir} /man1/ovsdb-server.1%{ext_man}
%{_mandir} /man1/ovsdb-server.1%{ext_man}
%{_mandir} /man1/ovsdb-tool.1%{ext_man}
%{_mandir} /man1/ovsdb-tool.1%{ext_man}
@@ -560,6 +571,15 @@ export DISABLE_RESTART_ON_UPDATE=yes
%{_localstatedir} /adm/fillup-templates/sysconfig.openvswitch
%{_localstatedir} /adm/fillup-templates/sysconfig.openvswitch
%dir %{_localstatedir} /log/openvswitch
%dir %{_localstatedir} /log/openvswitch
%files -n %{lname}
%defattr (-,root,root)
%{_libdir} /libofproto-2*.so.*
%{_libdir} /libopenvswitch-2*.so.*
%{_libdir} /libovsdb-2*.so.*
%{_libdir} /libsflow-2*.so.*
%{_libdir} /libovn-2*.so.*
%{_libdir} /libvtep-2*.so.*
%files pki
%files pki
%defattr (-,root,root)
%defattr (-,root,root)
%{_mandir} /man8/ovs-pki.8%{ext_man}
%{_mandir} /man8/ovs-pki.8%{ext_man}
@@ -572,7 +592,6 @@ export DISABLE_RESTART_ON_UPDATE=yes
%{_mandir} /man8/vtep-ctl.8%{ext_man}
%{_mandir} /man8/vtep-ctl.8%{ext_man}
%{_datadir} /openvswitch/scripts/ovs-vtep
%{_datadir} /openvswitch/scripts/ovs-vtep
%{_datadir} /openvswitch/vtep.ovsschema
%{_datadir} /openvswitch/vtep.ovsschema
%{_libdir} /libvtep-2.so.*
%files -n python-openvswitch
%files -n python-openvswitch
%defattr (-,root,root)
%defattr (-,root,root)
@@ -597,7 +616,6 @@ export DISABLE_RESTART_ON_UPDATE=yes
%{_datadir} /openvswitch/scripts/ovn-bugtool-nbctl-show
%{_datadir} /openvswitch/scripts/ovn-bugtool-nbctl-show
%{_datadir} /openvswitch/scripts/ovn-bugtool-sbctl-lflow-list
%{_datadir} /openvswitch/scripts/ovn-bugtool-sbctl-lflow-list
%{_datadir} /openvswitch/scripts/ovn-bugtool-sbctl-show
%{_datadir} /openvswitch/scripts/ovn-bugtool-sbctl-show
%{_libdir} /libovn-2.so.*
%{_mandir} /man5/ovn-nb.5%{ext_man}
%{_mandir} /man5/ovn-nb.5%{ext_man}
%{_mandir} /man5/ovn-sb.5%{ext_man}
%{_mandir} /man5/ovn-sb.5%{ext_man}
%{_mandir} /man7/ovn-architecture.7%{ext_man}
%{_mandir} /man7/ovn-architecture.7%{ext_man}