msantana / rpms / openvswitch

Forked from rpms/openvswitch 3 years ago
Clone
a93e80
# Copyright (C) 2009, 2010, 2013, 2014 Nicira Networks, Inc.
a93e80
#
a93e80
# Copying and distribution of this file, with or without modification,
a93e80
# are permitted in any medium without royalty provided the copyright
a93e80
# notice and this notice are preserved.  This file is offered as-is,
a93e80
# without warranty of any kind.
a93e80
#
a93e80
# If tests have to be skipped while building, specify the '--without check'
a93e80
# option. For example:
a93e80
# rpmbuild -bb --without check rhel/openvswitch-fedora.spec
a93e80
a93e80
# This defines the base package name's version.
a93e80
a93e80
%define pkgname openvswitch2.13
a93e80
a93e80
#%%global commit0 2a4f006c79c06628634490627ac72d8c76477e56
a93e80
#%%global date 20200121
a93e80
#%%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
a93e80
# DPDK commit
a93e80
#%%global commit1 ef8b7c505f10897621c0801d8ef3e961385246f8
a93e80
#%%global shortcommit1 %(c=%{commit1}; echo ${c:0:7})
a93e80
a93e80
# Enable PIE, bz#955181
a93e80
%global _hardened_build 1
a93e80
a93e80
# RHEL-7 doesn't define _rundir macro yet
a93e80
# Fedora 15 onwards uses /run as _rundir
a93e80
%if 0%{!?_rundir:1}
a93e80
%define _rundir /run
a93e80
%endif
a93e80
a93e80
# FIXME Test "STP - flush the fdb and mdb when topology changed" fails on s390x
a93e80
# FIXME 2 tests fails on ppc64le. They will be hopefully fixed before official 2.11
a93e80
%ifarch %{ix86} x86_64 aarch64
Jenkins Automation Server 57219e
%bcond_without check
a93e80
%else
a93e80
%bcond_with check
a93e80
%endif
a93e80
# option to run kernel datapath tests, requires building as root!
a93e80
%bcond_with check_datapath_kernel
a93e80
# option to build with libcap-ng, needed for running OVS as regular user
a93e80
%bcond_without libcapng
a93e80
# option to build with ipsec support
a93e80
%bcond_with ipsec
a93e80
a93e80
# Build python2 (that provides python) and python3 subpackages on Fedora
a93e80
# Build only python3 (that provides python) subpackage on RHEL8
a93e80
# Build only python subpackage on RHEL7
a93e80
%if 0%{?rhel} > 7 || 0%{?fedora}
a93e80
# On RHEL8 Sphinx is included in buildroot
a93e80
%global external_sphinx 1
a93e80
%else
a93e80
# Don't use external sphinx (RHV doesn't have optional repositories enabled)
a93e80
%global external_sphinx 0
a93e80
%endif
a93e80
a93e80
Name: %{pkgname}
a93e80
Summary: Open vSwitch
a93e80
Group: System Environment/Daemons daemon/database/utilities
a93e80
URL: http://www.openvswitch.org/
a93e80
Version: 2.13.0
Jenkins Automation Server 6c631a
Release: 60%{?commit0:.%{date}git%{shortcommit0}}%{?commit1:dpdk%{shortcommit1}}%{?dist}
a93e80
a93e80
# Nearly all of openvswitch is ASL 2.0.  The bugtool is LGPLv2+, and the
a93e80
# lib/sflow*.[ch] files are SISSL
a93e80
# datapath/ is GPLv2 (although not built into any of the binary packages)
a93e80
License: ASL 2.0 and LGPLv2+ and SISSL
a93e80
Jenkins Automation Server 57219e
%define dpdkver %{?commit1}%{!?commit1:19.11}
a93e80
%define dpdkdir dpdk
a93e80
%define dpdksver %(echo %{dpdkver} | cut -d. -f-2)
a93e80
# NOTE: DPDK does not currently build for s390x
a93e80
# DPDK on aarch64 is not stable enough to be enabled in FDP
a93e80
%define dpdkarches x86_64 ppc64le
a93e80
a93e80
%if 0%{?commit0:1}
a93e80
Source: https://github.com/openvswitch/ovs/archive/%{commit0}.tar.gz#/openvswitch-%{shortcommit0}.tar.gz
a93e80
%else
a93e80
Source: https://github.com/openvswitch/ovs/archive/v%{version}.tar.gz#/openvswitch-%{version}.tar.gz
a93e80
%endif
a93e80
%if 0%{?commit1:1}
a93e80
Source10: https://git.dpdk.org/dpdk/snapshot/dpdk-%{dpdkver}.tar.xz
a93e80
%else
a93e80
Source10: https://fast.dpdk.org/rel/dpdk-%{dpdkver}.tar.xz
a93e80
%endif
a93e80
a93e80
%define docutilsver 0.12
a93e80
%define pygmentsver 1.4
a93e80
%define sphinxver   1.1.3
a93e80
Source100: https://pypi.io/packages/source/d/docutils/docutils-%{docutilsver}.tar.gz
a93e80
Source101: https://pypi.io/packages/source/P/Pygments/Pygments-%{pygmentsver}.tar.gz
a93e80
Source102: https://pypi.io/packages/source/S/Sphinx/Sphinx-%{sphinxver}.tar.gz
a93e80
a93e80
Source500: configlib.sh
a93e80
Source502: set_config.sh
a93e80
a93e80
# Important: source503 is used as the actual copy file
a93e80
# @TODO: this causes a warning - fix it?
a93e80
Source504: arm64-armv8a-linuxapp-gcc-config
a93e80
Source505: ppc_64-power8-linuxapp-gcc-config
a93e80
Source506: x86_64-native-linuxapp-gcc-config
a93e80
a93e80
Patch:     openvswitch-%{version}.patch
a93e80
a93e80
# The DPDK is designed to optimize througput of network traffic using, among
a93e80
# other techniques, carefully crafted assembly instructions.  As such it
a93e80
# needs extensive work to port it to other architectures.
a93e80
ExclusiveArch: x86_64 aarch64 ppc64le s390x
a93e80
a93e80
# Do not enable this otherwise YUM will break on any upgrade.
a93e80
# Provides: openvswitch
a93e80
Conflicts: openvswitch < 2.13
a93e80
Conflicts: openvswitch-dpdk < 2.13
a93e80
a93e80
# dpdk_mach_arch maps between rpm and dpdk arch name, often same as _target_cpu
a93e80
# dpdk_mach_tmpl is the config template dpdk_mach name, often "native"
a93e80
# dpdk_mach is the actual dpdk_mach name used in the dpdk make system
a93e80
%ifarch x86_64
a93e80
%define dpdk_mach_arch x86_64
a93e80
%define dpdk_mach_tmpl native
a93e80
%define dpdk_mach default
a93e80
%endif
a93e80
%ifarch aarch64
a93e80
%define dpdk_mach_arch arm64
a93e80
%define dpdk_mach_tmpl armv8a
a93e80
%define dpdk_mach armv8a
a93e80
%endif
a93e80
%ifarch ppc64le
a93e80
%define dpdk_mach_arch ppc_64
a93e80
%define dpdk_mach_tmpl power8
a93e80
%define dpdk_mach power8
a93e80
%endif
a93e80
a93e80
%define dpdktarget %{dpdk_mach_arch}-%{dpdk_mach_tmpl}-linuxapp-gcc
a93e80
a93e80
# FIXME Sphinx is used to generate some manpages, unfortunately, on RHEL, it's
a93e80
# in the -optional repository and so we can't require it directly since RHV
a93e80
# doesn't have the -optional repository enabled and so TPS fails
a93e80
%if %{external_sphinx}
a93e80
BuildRequires: python3-sphinx
a93e80
%else
a93e80
# Sphinx dependencies
a93e80
BuildRequires: python-devel
a93e80
BuildRequires: python-setuptools
a93e80
#BuildRequires: python2-docutils
a93e80
BuildRequires: python-jinja2
a93e80
BuildRequires: python-nose
a93e80
#BuildRequires: python2-pygments
a93e80
# docutils dependencies
a93e80
BuildRequires: python-imaging
a93e80
# pygments dependencies
a93e80
BuildRequires: python-nose
a93e80
%endif
a93e80
a93e80
BuildRequires: gcc gcc-c++ make
a93e80
BuildRequires: autoconf automake libtool
a93e80
BuildRequires: systemd-units openssl openssl-devel
a93e80
BuildRequires: python3-devel python3-setuptools
a93e80
BuildRequires: desktop-file-utils
a93e80
BuildRequires: groff-base graphviz
a93e80
BuildRequires: unbound-devel
a93e80
# make check dependencies
a93e80
BuildRequires: procps-ng
a93e80
%if 0%{?rhel} > 7 || 0%{?fedora}
a93e80
BuildRequires: python3-pyOpenSSL
a93e80
%endif
a93e80
%if %{with check_datapath_kernel}
a93e80
BuildRequires: nmap-ncat
a93e80
# would be useful but not available in RHEL or EPEL
a93e80
#BuildRequires: pyftpdlib
a93e80
%endif
a93e80
a93e80
%if %{with libcapng}
a93e80
BuildRequires: libcap-ng libcap-ng-devel
a93e80
%endif
a93e80
a93e80
%ifarch %{dpdkarches}
a93e80
# DPDK driver dependencies
a93e80
BuildRequires: zlib-devel numactl-devel
a93e80
%ifarch x86_64
a93e80
BuildRequires: rdma-core-devel >= 15 libmnl-devel
a93e80
%endif
a93e80
a93e80
# Required by packaging policy for the bundled DPDK
a93e80
Provides: bundled(dpdk) = %{dpdkver}
a93e80
%endif
a93e80
a93e80
Requires: openssl iproute module-init-tools
a93e80
#Upstream kernel commit 4f647e0a3c37b8d5086214128614a136064110c3
a93e80
#Requires: kernel >= 3.15.0-0
a93e80
Requires: openvswitch-selinux-extra-policy
a93e80
a93e80
Requires(pre): shadow-utils
a93e80
Requires(post): /bin/sed
a93e80
Requires(post): /usr/sbin/usermod
a93e80
Requires(post): /usr/sbin/groupadd
a93e80
Requires(post): systemd-units
a93e80
Requires(preun): systemd-units
a93e80
Requires(postun): systemd-units
a93e80
Obsoletes: openvswitch-controller <= 0:2.1.0-1
a93e80
a93e80
%description
a93e80
Open vSwitch provides standard network bridging functions and
a93e80
support for the OpenFlow protocol for remote per-flow control of
a93e80
traffic.
a93e80
a93e80
%package -n python3-%{pkgname}
a93e80
Summary: Open vSwitch python3 bindings
a93e80
License: ASL 2.0
a93e80
Requires: %{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
a93e80
Provides: python-%{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
a93e80
a93e80
%description -n python3-%{pkgname}
a93e80
Python bindings for the Open vSwitch database
a93e80
a93e80
%package test
a93e80
Summary: Open vSwitch testing utilities
a93e80
License: ASL 2.0
a93e80
BuildArch: noarch
a93e80
Requires: python3-%{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
a93e80
Requires: tcpdump
a93e80
a93e80
%description test
a93e80
Utilities that are useful to diagnose performance and connectivity
a93e80
issues in Open vSwitch setup.
a93e80
a93e80
%package devel
a93e80
Summary: Open vSwitch OpenFlow development package (library, headers)
a93e80
License: ASL 2.0
a93e80
Requires: %{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
a93e80
a93e80
%description devel
a93e80
This provides shared library, libopenswitch.so and the openvswitch header
a93e80
files needed to build an external application.
a93e80
a93e80
%if 0%{?rhel} > 7 || 0%{?fedora} > 28
a93e80
%package -n network-scripts-%{name}
a93e80
Summary: Open vSwitch legacy network service support
a93e80
License: ASL 2.0
a93e80
Requires: network-scripts
a93e80
Supplements: (%{name} and network-scripts)
a93e80
a93e80
%description -n network-scripts-%{name}
a93e80
This provides the ifup and ifdown scripts for use with the legacy network
a93e80
service.
a93e80
%endif
a93e80
a93e80
%if %{with ipsec}
a93e80
%package ipsec
a93e80
Summary: Open vSwitch IPsec tunneling support
a93e80
License: ASL 2.0
a93e80
Requires: python3-%{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
a93e80
Requires: libreswan
a93e80
a93e80
%description ipsec
a93e80
This package provides IPsec tunneling support for OVS tunnels.
a93e80
%endif
a93e80
a93e80
%prep
a93e80
%if 0%{?commit0:1}
a93e80
%setup -q -n ovs-%{commit0} -a 10
a93e80
%else
a93e80
%setup -q -n ovs-%{version} -a 10
a93e80
%endif
a93e80
%if ! %{external_sphinx}
a93e80
%if 0%{?commit0:1}
a93e80
%setup -n ovs-%{commit0} -q -D -T -a 100 -a 101 -a 102
a93e80
%else
a93e80
%setup -n ovs-%{version} -q -D -T -a 100 -a 101 -a 102
a93e80
%endif
a93e80
%endif
a93e80
a93e80
mv dpdk-*/ %{dpdkdir}/
a93e80
a93e80
%patch -p1
a93e80
a93e80
%build
a93e80
# Build Sphinx on RHEL
a93e80
%if ! %{external_sphinx}
a93e80
export PYTHONPATH="${PYTHONPATH:+$PYTHONPATH:}%{_builddir}/pytmp/lib/python"
a93e80
for x in docutils-%{docutilsver} Pygments-%{pygmentsver} Sphinx-%{sphinxver}; do
a93e80
    pushd "$x"
a93e80
    python2 setup.py install --home %{_builddir}/pytmp
a93e80
    popd
a93e80
done
a93e80
a93e80
export PATH="$PATH:%{_builddir}/pytmp/bin"
a93e80
%endif
a93e80
a93e80
%if 0%{?commit0:1}
a93e80
# fix the snapshot unreleased version to be the released one.
a93e80
sed -i.old -e "s/^AC_INIT(openvswitch,.*,/AC_INIT(openvswitch, %{version},/" configure.ac
a93e80
%endif
a93e80
./boot.sh
a93e80
a93e80
%ifarch %{dpdkarches}    # build dpdk
a93e80
# Lets build DPDK first
a93e80
cd %{dpdkdir}
a93e80
a93e80
# In case dpdk-devel is installed
a93e80
unset RTE_SDK RTE_INCLUDE RTE_TARGET
a93e80
a93e80
# Avoid appending second -Wall to everything, it breaks upstream warning
a93e80
# disablers in makefiles. Strip explicit -march= from optflags since they
a93e80
# will only guarantee build failures, DPDK is picky with that.
a93e80
# Note: _hardening_ldflags has to go on the extra cflags line because dpdk is
a93e80
# astoundingly convoluted in how it processes its linker flags.  Fixing it in
a93e80
# dpdk is the preferred solution, but adjusting to allow a gcc option in the
a93e80
# ldflags, even when gcc is used as the linker, requires large tree-wide changes
a93e80
touch obj.o
a93e80
gcc -### obj.o 2>&1 | awk '/.*collect2.*/ { print $0}' | sed -e 's/\S*\.res\S*//g' -e 's/-z \S*//g' -e 's/[^ ]*\.o//g' -e 's/ /\n/g' | sort -u > ./noopts.txt
a93e80
gcc -### $RPM_LD_FLAGS obj.o 2>&1 | awk '/.*collect2.*/ {print $0}' | sed -e 's/\S*\.res\S*//g' -e 's/-z \S*//g' -e 's/[^ ]*\.o//g' -e 's/ /\n/g' | sort -u > ./opts.txt
a93e80
EXTRA_RPM_LDFLAGS=$(comm -13 ./noopts.txt ./opts.txt)
a93e80
rm -f obj.o
a93e80
a93e80
export EXTRA_CFLAGS="$(echo %{optflags} | sed -e 's:-Wall::g' -e 's:-march=[[:alnum:]]* ::g') -Wformat -fPIC -fcommon %{_hardening_ldflags}"
a93e80
export EXTRA_LDFLAGS=$(echo %{__global_ldflags} | sed -e's/-Wl,//g' -e's/-spec.*//')
a93e80
export HOST_EXTRA_CFLAGS="$EXTRA_CFLAGS $EXTRA_RPM_LDFLAGS"
a93e80
export EXTRA_HOST_LDFLAGS="$EXTRA_RPM_LDFLAGS $(echo %{__global_ldflags} | sed -e's/-spec.*//')"
a93e80
a93e80
# DPDK defaults to using builder-specific compiler flags.  However,
a93e80
# the config has been changed by specifying CONFIG_RTE_MACHINE=default
a93e80
# in order to build for a more generic host.  NOTE: It is possible that
a93e80
# the compiler flags used still won't work for all Fedora-supported
a93e80
# dpdk_machs, but runtime checks in DPDK will catch those situations.
a93e80
a93e80
make V=1 O=%{dpdktarget} T=%{dpdktarget} %{?_smp_mflags} config
a93e80
a93e80
cp -f %{SOURCE500} %{SOURCE502} "%{_sourcedir}/%{dpdktarget}-config" .
a93e80
%{SOURCE502} %{dpdktarget}-config "%{dpdktarget}/.config"
a93e80
a93e80
make V=1 O=%{dpdktarget} %{?_smp_mflags}
a93e80
a93e80
# Generate a list of supported drivers, its hard to tell otherwise.
a93e80
cat << EOF > README.DPDK-PMDS
a93e80
DPDK drivers included in this package:
a93e80
a93e80
EOF
a93e80
a93e80
for f in $(ls %{dpdk_mach_arch}-%{dpdk_mach_tmpl}-linuxapp-gcc/lib/lib*_pmd_*); do
a93e80
    basename ${f} | cut -c12- | cut -d. -f1 | tr [:lower:] [:upper:]
a93e80
done >> README.DPDK-PMDS
a93e80
a93e80
cat << EOF >> README.DPDK-PMDS
a93e80
a93e80
For further information about the drivers, see
a93e80
http://dpdk.org/doc/guides-%{dpdksver}/nics/index.html
a93e80
EOF
a93e80
a93e80
cd -
a93e80
%endif    # build dpdk
a93e80
a93e80
# And now for OVS...
a93e80
mkdir build-shared build-static
a93e80
pushd build-shared
a93e80
ln -s ../configure
a93e80
%configure \
a93e80
%if %{with libcapng}
a93e80
        --enable-libcapng \
a93e80
%else
a93e80
        --disable-libcapng \
a93e80
%endif
a93e80
        --disable-static \
a93e80
        --enable-shared \
a93e80
        --enable-ssl \
a93e80
        --with-pkidir=%{_sharedstatedir}/openvswitch/pki
a93e80
make %{?_smp_mflags}
a93e80
popd
a93e80
pushd build-static
a93e80
ln -s ../configure
a93e80
%configure \
a93e80
%if %{with libcapng}
a93e80
        --enable-libcapng \
a93e80
%else
a93e80
        --disable-libcapng \
a93e80
%endif
a93e80
        --enable-ssl \
a93e80
%ifarch %{dpdkarches}
a93e80
        --with-dpdk=$(pwd)/../%{dpdkdir}/%{dpdktarget} \
a93e80
%endif
a93e80
        --with-pkidir=%{_sharedstatedir}/openvswitch/pki \
a93e80
        ac_cv_search_mlx5dv_create_wq=-lmlx5
a93e80
        # mlx5dv_create_wq was added in rdma-core 16 since it's the first
a93e80
        # officially released release that adds support for mlx offloading,
a93e80
        # but currently on RHEL 7.7 we still have rdma-core 15 (with the
a93e80
        # offloading commits backported) and so configure is not able to detect
a93e80
        # it.
a93e80
make %{?_smp_mflags}
a93e80
popd
a93e80
a93e80
/usr/bin/python3 build-aux/dpdkstrip.py \
a93e80
        --dpdk \
a93e80
        < rhel/usr_lib_systemd_system_ovs-vswitchd.service.in \
a93e80
        > rhel/usr_lib_systemd_system_ovs-vswitchd.service
a93e80
a93e80
%install
a93e80
rm -rf $RPM_BUILD_ROOT
a93e80
make -C build-shared install-libLTLIBRARIES DESTDIR=$RPM_BUILD_ROOT
a93e80
make -C build-static install DESTDIR=$RPM_BUILD_ROOT
a93e80
a93e80
install -d -m 0755 $RPM_BUILD_ROOT%{_rundir}/openvswitch
a93e80
install -d -m 0750 $RPM_BUILD_ROOT%{_localstatedir}/log/openvswitch
a93e80
install -d -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch
a93e80
a93e80
install -p -D -m 0644 rhel/usr_lib_udev_rules.d_91-vfio.rules \
a93e80
        $RPM_BUILD_ROOT%{_udevrulesdir}/91-vfio.rules
a93e80
a93e80
install -p -D -m 0644 \
a93e80
        rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template \
a93e80
        $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/openvswitch
a93e80
a93e80
for service in openvswitch ovsdb-server ovs-vswitchd \
a93e80
               ovs-delete-transient-ports; do
a93e80
        install -p -D -m 0644 \
a93e80
                        rhel/usr_lib_systemd_system_${service}.service \
a93e80
                        $RPM_BUILD_ROOT%{_unitdir}/${service}.service
a93e80
done
a93e80
a93e80
%if %{with ipsec}
a93e80
install -p -D -m 0644 rhel/usr_lib_systemd_system_openvswitch-ipsec.service \
a93e80
                      $RPM_BUILD_ROOT%{_unitdir}/openvswitch-ipsec.service
a93e80
%endif
a93e80
a93e80
install -m 0755 rhel/etc_init.d_openvswitch \
a93e80
        $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/openvswitch.init
a93e80
a93e80
install -p -D -m 0644 rhel/etc_openvswitch_default.conf \
a93e80
        $RPM_BUILD_ROOT/%{_sysconfdir}/openvswitch/default.conf
a93e80
a93e80
install -p -D -m 0644 rhel/etc_logrotate.d_openvswitch \
a93e80
        $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d/openvswitch
a93e80
a93e80
install -m 0644 vswitchd/vswitch.ovsschema \
a93e80
        $RPM_BUILD_ROOT/%{_datadir}/openvswitch/vswitch.ovsschema
a93e80
a93e80
install -d -m 0755 $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/
a93e80
install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifdown-ovs \
a93e80
        $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs
a93e80
install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifup-ovs \
a93e80
        $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs
a93e80
a93e80
install -d -m 0755 $RPM_BUILD_ROOT%{python3_sitelib}
a93e80
cp -a $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/ovstest \
a93e80
        $RPM_BUILD_ROOT%{python3_sitelib}
a93e80
a93e80
# Build the JSON C extension for the Python lib (#1417738)
a93e80
pushd python
a93e80
(
a93e80
export CPPFLAGS="-I ../include -I ../build-shared/include"
a93e80
export LDFLAGS="%{__global_ldflags} -L $RPM_BUILD_ROOT%{_libdir}"
a93e80
%py3_build
a93e80
%py3_install
a93e80
[ -f "$RPM_BUILD_ROOT/%{python3_sitearch}/ovs/_json.cpython-%{python3_version_nodots}$(python3-config --abiflags)-%{_arch}-%{_target_os}%{?_gnu}.so" ]
a93e80
)
a93e80
popd
a93e80
a93e80
rm -rf $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/
a93e80
a93e80
install -d -m 0755 $RPM_BUILD_ROOT/%{_sharedstatedir}/openvswitch
a93e80
a93e80
install -d -m 0755 $RPM_BUILD_ROOT%{_prefix}/lib/firewalld/services/
a93e80
a93e80
install -p -D -m 0755 \
a93e80
        rhel/usr_share_openvswitch_scripts_ovs-systemd-reload \
a93e80
        $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/ovs-systemd-reload
a93e80
a93e80
touch $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/conf.db
a93e80
touch $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/system-id.conf
a93e80
a93e80
# remove unpackaged files
a93e80
rm -f $RPM_BUILD_ROOT/%{_bindir}/ovs-benchmark \
a93e80
        $RPM_BUILD_ROOT/%{_bindir}/ovs-docker \
a93e80
        $RPM_BUILD_ROOT/%{_bindir}/ovs-parse-backtrace \
a93e80
        $RPM_BUILD_ROOT/%{_bindir}/ovs-testcontroller \
a93e80
        $RPM_BUILD_ROOT/%{_sbindir}/ovs-vlan-bug-workaround \
a93e80
        $RPM_BUILD_ROOT/%{_mandir}/man1/ovs-benchmark.1* \
a93e80
        $RPM_BUILD_ROOT/%{_mandir}/man8/ovs-testcontroller.* \
a93e80
        $RPM_BUILD_ROOT/%{_mandir}/man8/ovs-vlan-bug-workaround.8*
a93e80
a93e80
%if ! %{with ipsec}
a93e80
rm -f $RPM_BUILD_ROOT/%{_datadir}/openvswitch/scripts/ovs-monitor-ipsec
a93e80
%endif
a93e80
a93e80
# remove ovn unpackages files
a93e80
rm -f $RPM_BUILD_ROOT%{_bindir}/ovn*
a93e80
rm -f $RPM_BUILD_ROOT%{_mandir}/man1/ovn*
a93e80
rm -f $RPM_BUILD_ROOT%{_mandir}/man5/ovn*
a93e80
rm -f $RPM_BUILD_ROOT%{_mandir}/man7/ovn*
a93e80
rm -f $RPM_BUILD_ROOT%{_mandir}/man8/ovn*
a93e80
rm -f $RPM_BUILD_ROOT%{_datadir}/openvswitch/ovn*
a93e80
rm -f $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/ovn*
a93e80
rm -f $RPM_BUILD_ROOT%{_includedir}/ovn/*
a93e80
a93e80
%check
a93e80
%if %{with check}
a93e80
    pushd build-static
a93e80
    touch resolv.conf
a93e80
    export OVS_RESOLV_CONF=$(pwd)/resolv.conf
a93e80
    if make check TESTSUITEFLAGS='%{_smp_mflags}' ||
a93e80
       make check TESTSUITEFLAGS='--recheck'; then :;
a93e80
    else
a93e80
        cat tests/testsuite.log
a93e80
        exit 1
a93e80
    fi
a93e80
    popd
a93e80
%endif
a93e80
%if %{with check_datapath_kernel}
a93e80
    pushd build-static
a93e80
    if make check-kernel RECHECK=yes; then :;
a93e80
    else
a93e80
        cat tests/system-kmod-testsuite.log
a93e80
        exit 1
a93e80
    fi
a93e80
    popd
a93e80
%endif
a93e80
a93e80
%clean
a93e80
rm -rf $RPM_BUILD_ROOT
a93e80
a93e80
%preun
a93e80
%if 0%{?systemd_preun:1}
a93e80
    %systemd_preun openvswitch.service
a93e80
%else
a93e80
    if [ $1 -eq 0 ] ; then
a93e80
    # Package removal, not upgrade
a93e80
        /bin/systemctl --no-reload disable openvswitch.service >/dev/null 2>&1 || :
a93e80
        /bin/systemctl stop openvswitch.service >/dev/null 2>&1 || :
a93e80
    fi
a93e80
%endif
a93e80
a93e80
%pre
a93e80
getent group openvswitch >/dev/null || groupadd -r openvswitch
a93e80
getent passwd openvswitch >/dev/null || \
a93e80
    useradd -r -g openvswitch -d / -s /sbin/nologin \
a93e80
    -c "Open vSwitch Daemons" openvswitch
a93e80
a93e80
%ifarch %{dpdkarches}
a93e80
    getent group hugetlbfs >/dev/null || groupadd hugetlbfs
a93e80
    usermod -a -G hugetlbfs openvswitch
a93e80
%endif
a93e80
exit 0
a93e80
a93e80
%post
a93e80
if [ $1 -eq 1 ]; then
a93e80
    sed -i 's:^#OVS_USER_ID=:OVS_USER_ID=:' /etc/sysconfig/openvswitch
a93e80
a93e80
%ifarch %{dpdkarches}
a93e80
    sed -i \
a93e80
        's@OVS_USER_ID="openvswitch:openvswitch"@OVS_USER_ID="openvswitch:hugetlbfs"@'\
a93e80
        /etc/sysconfig/openvswitch
a93e80
%endif
a93e80
fi
a93e80
chown -R openvswitch:openvswitch /etc/openvswitch
a93e80
a93e80
%if 0%{?systemd_post:1}
a93e80
    %systemd_post openvswitch.service
a93e80
%else
a93e80
    # Package install, not upgrade
a93e80
    if [ $1 -eq 1 ]; then
a93e80
        /bin/systemctl daemon-reload >dev/null || :
a93e80
    fi
a93e80
%endif
a93e80
a93e80
%postun
a93e80
%if 0%{?systemd_postun:1}
a93e80
    %systemd_postun openvswitch.service
a93e80
%else
a93e80
    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
a93e80
%endif
a93e80
a93e80
%triggerun -- openvswitch < 2.5.0-22.git20160727%{?dist}
a93e80
# old rpm versions restart the service in postun, but
a93e80
# due to systemd some preparation is needed.
a93e80
if systemctl is-active openvswitch >/dev/null 2>&1 ; then
a93e80
    /usr/share/openvswitch/scripts/ovs-ctl stop >/dev/null 2>&1 || :
a93e80
    systemctl daemon-reload >/dev/null 2>&1 || :
a93e80
    systemctl stop openvswitch ovsdb-server ovs-vswitchd >/dev/null 2>&1 || :
a93e80
    systemctl start openvswitch >/dev/null 2>&1 || :
a93e80
fi
a93e80
exit 0
a93e80
a93e80
%files -n python3-%{pkgname}
a93e80
%{python3_sitearch}/ovs
a93e80
%{python3_sitearch}/ovs-*.egg-info
a93e80
%doc LICENSE
a93e80
a93e80
%files test
a93e80
%{_bindir}/ovs-pcap
a93e80
%{_bindir}/ovs-tcpdump
a93e80
%{_bindir}/ovs-tcpundump
a93e80
%{_mandir}/man1/ovs-pcap.1*
a93e80
%{_mandir}/man8/ovs-tcpdump.8*
a93e80
%{_mandir}/man1/ovs-tcpundump.1*
a93e80
%{_bindir}/ovs-test
a93e80
%{_bindir}/ovs-vlan-test
a93e80
%{_bindir}/ovs-l3ping
a93e80
%{_mandir}/man8/ovs-test.8*
a93e80
%{_mandir}/man8/ovs-vlan-test.8*
a93e80
%{_mandir}/man8/ovs-l3ping.8*
a93e80
%{python3_sitelib}/ovstest
a93e80
a93e80
%files devel
a93e80
%{_libdir}/*.so
a93e80
%{_libdir}/pkgconfig/*.pc
a93e80
%{_includedir}/openvswitch/*
a93e80
%{_includedir}/openflow/*
a93e80
%exclude %{_libdir}/*.a
a93e80
%exclude %{_libdir}/*.la
a93e80
a93e80
%if 0%{?rhel} > 7 || 0%{?fedora} > 28
a93e80
%files -n network-scripts-%{name}
a93e80
%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs
a93e80
%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs
a93e80
%endif
a93e80
a93e80
%files
a93e80
%defattr(-,openvswitch,openvswitch)
a93e80
%dir %{_sysconfdir}/openvswitch
a93e80
%{_sysconfdir}/openvswitch/default.conf
a93e80
%config %ghost %verify(not owner group md5 size mtime) %{_sysconfdir}/openvswitch/conf.db
a93e80
%ghost %attr(0600,-,-) %verify(not owner group md5 size mtime) %{_sysconfdir}/openvswitch/.conf.db.~lock~
a93e80
%config %ghost %{_sysconfdir}/openvswitch/system-id.conf
a93e80
%defattr(-,root,root)
a93e80
%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/sysconfig/openvswitch
a93e80
%{_sysconfdir}/bash_completion.d/ovs-appctl-bashcomp.bash
a93e80
%{_sysconfdir}/bash_completion.d/ovs-vsctl-bashcomp.bash
a93e80
%config(noreplace) %{_sysconfdir}/logrotate.d/openvswitch
a93e80
%{_unitdir}/openvswitch.service
a93e80
%{_unitdir}/ovsdb-server.service
a93e80
%{_unitdir}/ovs-vswitchd.service
a93e80
%{_unitdir}/ovs-delete-transient-ports.service
a93e80
%{_datadir}/openvswitch/scripts/openvswitch.init
a93e80
%{_datadir}/openvswitch/scripts/ovs-check-dead-ifs
a93e80
%{_datadir}/openvswitch/scripts/ovs-lib
a93e80
%{_datadir}/openvswitch/scripts/ovs-save
a93e80
%{_datadir}/openvswitch/scripts/ovs-vtep
a93e80
%{_datadir}/openvswitch/scripts/ovs-ctl
a93e80
%{_datadir}/openvswitch/scripts/ovs-kmod-ctl
a93e80
%{_datadir}/openvswitch/scripts/ovs-systemd-reload
a93e80
%config %{_datadir}/openvswitch/vswitch.ovsschema
a93e80
%config %{_datadir}/openvswitch/vtep.ovsschema
a93e80
%{_bindir}/ovs-appctl
a93e80
%{_bindir}/ovs-dpctl
a93e80
%{_bindir}/ovs-ofctl
a93e80
%{_bindir}/ovs-vsctl
a93e80
%{_bindir}/ovsdb-client
a93e80
%{_bindir}/ovsdb-tool
a93e80
%{_bindir}/ovs-pki
a93e80
%{_bindir}/vtep-ctl
a93e80
%{_libdir}/*.so.*
a93e80
%{_sbindir}/ovs-vswitchd
a93e80
%{_sbindir}/ovsdb-server
a93e80
%{_mandir}/man1/ovsdb-client.1*
a93e80
%{_mandir}/man1/ovsdb-server.1*
a93e80
%{_mandir}/man1/ovsdb-tool.1*
a93e80
%{_mandir}/man5/ovsdb.5*
a93e80
%{_mandir}/man5/ovsdb-server.5.*
a93e80
%{_mandir}/man5/ovs-vswitchd.conf.db.5*
a93e80
%{_mandir}/man5/vtep.5*
a93e80
%{_mandir}/man7/ovsdb-server.7*
a93e80
%{_mandir}/man7/ovsdb.7*
a93e80
%{_mandir}/man7/ovs-actions.7*
a93e80
%{_mandir}/man7/ovs-fields.7*
a93e80
%{_mandir}/man8/vtep-ctl.8*
a93e80
%{_mandir}/man8/ovs-appctl.8*
a93e80
%{_mandir}/man8/ovs-ctl.8*
a93e80
%{_mandir}/man8/ovs-dpctl.8*
a93e80
%{_mandir}/man8/ovs-kmod-ctl.8.*
a93e80
%{_mandir}/man8/ovs-ofctl.8*
a93e80
%{_mandir}/man8/ovs-pki.8*
a93e80
%{_mandir}/man8/ovs-vsctl.8*
a93e80
%{_mandir}/man8/ovs-vswitchd.8*
a93e80
%{_mandir}/man8/ovs-parse-backtrace.8*
a93e80
%{_udevrulesdir}/91-vfio.rules
a93e80
%doc LICENSE NOTICE README.rst NEWS rhel/README.RHEL.rst
a93e80
%ifarch %{dpdkarches}
a93e80
%doc %{dpdkdir}/README.DPDK-PMDS
a93e80
%endif
a93e80
/var/lib/openvswitch
a93e80
%attr(750,openvswitch,openvswitch) %verify(not owner group) /var/log/openvswitch
a93e80
%ghost %attr(755,root,root) %verify(not owner group) %{_rundir}/openvswitch
a93e80
%{_datadir}/openvswitch/bugtool-plugins/
a93e80
%{_datadir}/openvswitch/scripts/ovs-bugtool-*
a93e80
%{_bindir}/ovs-dpctl-top
a93e80
%{_sbindir}/ovs-bugtool
a93e80
%{_mandir}/man8/ovs-dpctl-top.8*
a93e80
%{_mandir}/man8/ovs-bugtool.8*
a93e80
%if (0%{?rhel} && 0%{?rhel} <= 7) || (0%{?fedora} && 0%{?fedora} < 29)
a93e80
%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs
a93e80
%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs
a93e80
%endif
a93e80
a93e80
%if %{with ipsec}
a93e80
%files ipsec
a93e80
%{_datadir}/openvswitch/scripts/ovs-monitor-ipsec
a93e80
%{_unitdir}/openvswitch-ipsec.service
a93e80
%endif
a93e80
a93e80
%changelog
Jenkins Automation Server 6c631a
* Wed Sep 16 2020 Open vSwitch CI <ovs-team@redhat.com> - 2.13.0-60
Jenkins Automation Server 6c631a
- Merging upstream branch-2.13
Jenkins Automation Server 6c631a
  [38d21cf4eb02e273ef28b46e63bcf877d5a672ea]
Jenkins Automation Server 6c631a
Jenkins Automation Server 6c631a
* Thu Sep 10 2020 Open vSwitch CI <ovs-team@redhat.com> - 2.13.0-59
Jenkins Automation Server 6c631a
- Merging upstream branch-2.13
Jenkins Automation Server 6c631a
  [4fbcdeb187628b2eedc607f45b70fdff68f7ea26]
Jenkins Automation Server 6c631a
Jenkins Automation Server 6c631a
* Thu Aug 27 2020 Open vSwitch CI <ovs-team@redhat.com> - 2.13.0-58
Jenkins Automation Server 6c631a
- Merging upstream branch-2.13
Jenkins Automation Server 6c631a
  [d5817ddabf270b2fcfd9694746b382a0d040727c]
Jenkins Automation Server 6c631a
Jenkins Automation Server 57219e
* Wed Aug 26 2020 Open vSwitch CI <ovs-team@redhat.com> - 2.13.0-57
Jenkins Automation Server 57219e
- Merging upstream branch-2.13
Jenkins Automation Server 57219e
  [2fe3a06bffcd907f8f6561ec0e56963de9766c97]
Jenkins Automation Server 57219e
Jenkins Automation Server 57219e
* Tue Aug 18 2020 Flavio Leitner <fbl@redhat.com> - 2.13.0-56
Jenkins Automation Server 57219e
- dpdk: Updated configs to 19.11.3
Jenkins Automation Server 57219e
  [4e4acaf40ab114e958b299cdff55c11240bfd4da]
Jenkins Automation Server 57219e
Jenkins Automation Server 57219e
* Tue Aug 18 2020 Flavio Leitner <fbl@redhat.com> - 2.13.0-55
Jenkins Automation Server 57219e
- Merging 798524b5e3 version: 19.11.3 (#1868709)
Jenkins Automation Server 57219e
  [64c883ec66425ad67a70599c549008442e3217cd]
Jenkins Automation Server 57219e
Jenkins Automation Server 57219e
* Thu Aug 13 2020 Open vSwitch CI <ovs-team@redhat.com> - 2.13.0-54
Jenkins Automation Server 57219e
- Merging upstream branch-2.13
Jenkins Automation Server 57219e
  [5dddb2d4f863203ec3560fcfaf8f20844b053073]
Jenkins Automation Server 57219e
Jenkins Automation Server 57219e
* Mon Aug 10 2020 Open vSwitch CI <ovs-team@redhat.com> - 2.13.0-53
Jenkins Automation Server 57219e
- Merging upstream branch-2.13
Jenkins Automation Server 57219e
  [bb436c2999218e59e06f089b42e19d3778869c63]
Jenkins Automation Server 57219e
Jenkins Automation Server 57219e
* Mon Aug 10 2020 Dumitru Ceara <dceara@redhat.com> - 2.13.0-52
Jenkins Automation Server 57219e
- ovsdb-server: Replace in-memory DB contents at raft install_snapshot. (#1867185)
Jenkins Automation Server 57219e
  [9f646ec051fa2a2bf980843b7c1859479e87c228]
Jenkins Automation Server 57219e
Jenkins Automation Server 57219e
* Sat Aug 08 2020 Flavio Leitner <fbl@redhat.com> - 2.13.0-51
Jenkins Automation Server 57219e
- redhat: Add support to custom RPM releases.
Jenkins Automation Server 57219e
  [7eb5b56344c07f237b2883f655eeee9c1ea0535e]
Jenkins Automation Server 57219e
Jenkins Automation Server 57219e
* Sat Aug 08 2020 Flavio Leitner <fbl@redhat.com> - 2.13.0-50
Jenkins Automation Server 57219e
- pkgtool: Use OVS static version in package NVR.
Jenkins Automation Server 57219e
  [a0b572aaa173f2a4b4f57b8b396706777bf83395]
Jenkins Automation Server 57219e
Jenkins Automation Server 57219e
* Thu Jul 30 2020 Timothy Redaelli <tredaelli@redhat.com> - 2.13.0-49
Jenkins Automation Server 57219e
- odp-util: Fix clearing match mask if set action is partially unnecessary. (#1862153)
Jenkins Automation Server 57219e
  [6d85fea8b4c7db954c051d0bad7bc9505c1fdf7c]
Jenkins Automation Server 57219e
Jenkins Automation Server 57219e
* Thu Jul 16 2020 Flavio Leitner <fbl@redhat.com> - 2.13.0-48
Jenkins Automation Server 57219e
- redhat: Clean old changelog entries.
Jenkins Automation Server 57219e
  [6cf8d909e81a715a302a2c401ef60abcc726fc78]
Jenkins Automation Server 57219e
Jenkins Automation Server 57219e
* Thu Jul 16 2020 Flavio Leitner <fbl@redhat.com> - 2.13.0-47
Jenkins Automation Server 57219e
- redhat: Update the documentation.
Jenkins Automation Server 57219e
  [c9571d2dad6b1e47ba1d398350d8cd101a93e6a7]
Jenkins Automation Server 57219e
Jenkins Automation Server 57219e
* Thu Jul 16 2020 Flavio Leitner <fbl@redhat.com> - 2.13.0-46
Jenkins Automation Server 57219e
- redhat: Add merge script.
Jenkins Automation Server 57219e
  [752c59ba745c3c82bc7ca1e31caefbc4b6514b07]
Jenkins Automation Server 57219e
Jenkins Automation Server 57219e
* Thu Jul 16 2020 Flavio Leitner <fbl@redhat.com> - 2.13.0-45
Jenkins Automation Server 57219e
- redhat: Use static references.
Jenkins Automation Server 57219e
  [f1025c1515c00e9ec8e1fbc3a5337c412a3ce0c8]
Jenkins Automation Server 57219e
Jenkins Automation Server 57219e
* Wed Jul 15 2020 Flavio Leitner <fbl@redhat.com> - 2.13.0-44
Jenkins Automation Server 57219e
- Update DPDK configs to v19.11.2.
Jenkins Automation Server 57219e
  [98e6e9823b54d5f7f52aa531a5479289a4fc40d7]
Jenkins Automation Server 57219e
Jenkins Automation Server 57219e
* Wed Jul 15 2020 Flavio Leitner <fbl@redhat.com> - 2.13.0-43
Jenkins Automation Server 57219e
- Merge DPDK tag 'v19.11.2' into fast-datapath-rhel-8
Jenkins Automation Server 57219e
  [755e86c61ae905a1485850f9e44a3502a63f52fb]
Jenkins Automation Server 57219e
Jenkins Automation Server 57219e
* Wed Jul 15 2020 Flavio Leitner <fbl@redhat.com> - 2.13.0-42
Jenkins Automation Server 57219e
- Merging upstream branch-2.13 to fast-datapath-rhel-8
Jenkins Automation Server 57219e
  [735b3f94c2655e930b0ee86556eb01191518f7e8]
Jenkins Automation Server 57219e
Jenkins Automation Server 57219e
* Sun Jul 12 2020 Flavio Leitner <fbl@redhat.com> - 2.13.0-41
Jenkins Automation Server 57219e
- redhat: Rename OVSCI job name.
Jenkins Automation Server 57219e
  [a61f1d1095e58fb7c2ad38d37b86f3012f5aecfe]
Jenkins Automation Server 57219e
Jenkins Automation Server 57219e
* Wed Jul 08 2020 Timothy Redaelli <tredaelli@redhat.com> - 2.13.0-40
Jenkins Automation Server 57219e
- redhat: pkgtool: use diff instead of format-patch
Jenkins Automation Server 57219e
  [da2129ac827efe85db1e0ceeff8996e5045a862b]
Jenkins Automation Server 57219e
a93e80
* Thu Jun 25 2020 Timothy Redaelli <tredaelli@redhat.com> - 2.13.0-39
a93e80
- bus/pci: fix VF memory access (#1851169)
a93e80
  [2b22bcd9ad02d0180ad5c46a2cccf34a3afba600]
a93e80
a93e80
* Fri Jun 05 2020 Ilya Maximets <i.maximets@redhat.com> - 2.13.0-38
a93e80
- raft: Avoid sending equal snapshots. (#1834838)
a93e80
  [3168eba559cbce28937be4e785c3337030694455]
a93e80
a93e80
* Fri Jun 05 2020 Ilya Maximets <i.maximets@redhat.com> - 2.13.0-37
a93e80
- ovsdb-server: Fix schema leak while reading db. (#1834838)
a93e80
  [92a1e56c8a37927441fb1742e6054a9118654ef0]
a93e80
a93e80
* Fri Jun 05 2020 Ilya Maximets <i.maximets@redhat.com> - 2.13.0-36
a93e80
- ovsdb: Add raft memory usage to memory report. (#1834838)
a93e80
  [fb32a78921e50b1ffa0c52f873167f68622e8723]
a93e80
a93e80
* Tue Jun 02 2020 Aaron Conole <aconole@redhat.com> - 2.13.0-35
a93e80
- netdev-offload-tc: Re-fetch block ID after probing.
a93e80
  [d14e39f81bec29064a58df0177ce457765305f8b]
a93e80
a93e80
* Tue Jun 02 2020 Aaron Conole <aconole@redhat.com> - 2.13.0-34
a93e80
- netdev-linux: Update LAG in all cases.
a93e80
  [8b155475749cdb7a1817810d447e4cf6598cb6fa]
a93e80
a93e80
* Wed May 20 2020 Timothy Redaelli <tredaelli@redhat.com> - 2.13.0-33
a93e80
- vhost: fix potential fd leak
a93e80
  [a9e6e358142634f1cd4d6555c5835f0062aa2a34]
a93e80
a93e80
* Wed May 20 2020 Timothy Redaelli <tredaelli@redhat.com> - 2.13.0-32
a93e80
- vhost: fix potential memory space leak
a93e80
  [b39bac1377f5ece651b3ddb1485f6327036e7c38]
a93e80
a93e80
* Wed May 20 2020 Timothy Redaelli <tredaelli@redhat.com> - 2.13.0-31
a93e80
- vhost: fix translated address not checked
a93e80
  [7da906164278fc5142607d5c94d20bb2b6e3ca8f]
a93e80
a93e80
* Wed May 20 2020 Timothy Redaelli <tredaelli@redhat.com> - 2.13.0-30
a93e80
- vhost: fix vring index check
a93e80
  [7c4cfd12e3b2693b68ee995f65421577248c34d9]
a93e80
a93e80
* Wed May 20 2020 Timothy Redaelli <tredaelli@redhat.com> - 2.13.0-29
a93e80
- vhost: check log mmap offset and size overflow
a93e80
  [517d8488dcf0ca7bb7f7db2fe8167389141aff9d]
a93e80
a93e80
* Fri May 15 2020 Dumitru Ceara <dceara@redhat.com> - 2.13.0-28
a93e80
- raft: Disable RAFT jsonrpc inactivity probe. (#1836308)
a93e80
  [3d9b529afb098531190d57d6f35d1622bb4093cd]
a93e80
a93e80
* Fri May 15 2020 Dumitru Ceara <dceara@redhat.com> - 2.13.0-27
a93e80
- raft: Fix leak of the incomplete command. (#1836307)
a93e80
  [5c38ccd52fb3925e82eda20f1897ec02abb390d9]
a93e80
a93e80
* Fri May 15 2020 Dumitru Ceara <dceara@redhat.com> - 2.13.0-26
a93e80
- raft: Fix the problem of stuck in candidate role forever. (#1836305)
a93e80
  [9c76350e271546eedfeb18720975e35b4e36e1f1]
a93e80
a93e80
* Fri May 15 2020 Dumitru Ceara <dceara@redhat.com> - 2.13.0-25
a93e80
- raft: Fix next_index in install_snapshot reply handling. (#1836305)
a93e80
  [cc3d02699203e2fe9d9fd384d09e268ba614828d]
a93e80
a93e80
* Fri May 15 2020 Dumitru Ceara <dceara@redhat.com> - 2.13.0-24
a93e80
- raft: Avoid busy loop during leader election. (#1836305)
a93e80
  [053b78c8d60ffb4d212fd7894f91be52027f291f]
a93e80
a93e80
* Fri May 15 2020 Dumitru Ceara <dceara@redhat.com> - 2.13.0-23
a93e80
- raft: Fix raft_is_connected() when there is no leader yet. (#1836305)
a93e80
  [e732012d7be335650398ff03c2431c64b2c4aaba]
a93e80
a93e80
* Fri May 15 2020 Dumitru Ceara <dceara@redhat.com> - 2.13.0-22
a93e80
- ovsdb-server: Don't disconnect clients after raft install_snapshot. (#1836305)
a93e80
  [8ff30dfee6cb075e36ed38b77695ff03321ce12b]
a93e80
a93e80
* Fri May 15 2020 Dumitru Ceara <dceara@redhat.com> - 2.13.0-21
a93e80
- raft-rpc: Fix message format. (#1836305)
a93e80
  [914d885061c9f7e7e6e5f921065301e08837e122]
a93e80
a93e80
* Wed Apr 22 2020 Timothy Redaelli <tredaelli@redhat.com> - 2.13.0-20
a93e80
- redhat: pkgtool: Use the oldest sha1
a93e80
  [4c657a79de8221c769d4622ff4110b6aaccf938a]
a93e80
a93e80
* Mon Apr 20 2020 Timothy Redaelli <tredaelli@redhat.com> - 2.13.0-19
a93e80
- Fix building locally on Fedora 32+
a93e80
  [d1c89e4d998507fcd18a1e94bc6459f016e6310e]
a93e80
a93e80
* Thu Apr 16 2020 Timothy Redaelli <tredaelli@redhat.com> - 2.13.0-18
a93e80
- Set -fcommon in DPDK CFLAGS
a93e80
  [f8a379e95e8617d9371cd87bfa559fa14e88fc33]
a93e80
a93e80
* Thu Apr 16 2020 Timothy Redaelli <tredaelli@redhat.com> - 2.13.0-17
a93e80
- Update DPDK config files for 19.11.1
a93e80
  [d771330907cee39a6c08409f866c3abcb9d90351]
a93e80
a93e80
* Thu Apr 16 2020 Timothy Redaelli <tredaelli@redhat.com> - 2.13.0-16
a93e80
- Merge tag 'v19.11.1' into fast-datapath-rhel-8
a93e80
  [0b3abfb0e63fc2838c15eb119a1876f9691fd70e]
a93e80
a93e80
* Tue Apr 14 2020 Timothy Redaelli <tredaelli@redhat.com> - 2.13.0-15
a93e80
- bugtool: Fix for Python3. (#1809241)
a93e80
  [71f25b7920093daa59827a0a4be4095309aec6ff]
a93e80
a93e80
* Tue Apr 07 2020 Flavio Leitner <fbl@redhat.com> - 2.13.0-14
a93e80
- redhat: Skip NVR check only if building rhel-8 on rhel-7.
a93e80
  [2b9f32bef20febced3dbcd85b6cb986b8475d121]
a93e80
a93e80
* Mon Apr 06 2020 Flavio Leitner <fbl@redhat.com> - 2.13.0-13
a93e80
- redhat: rh-dgit-brew: Skip NVR check in RHEL-7.
a93e80
  [6280d8d29ff80c38b076bae005b3a19ec2375bc7]
a93e80
a93e80
* Mon Apr 06 2020 Flavio Leitner <fbl@redhat.com> - 2.13.0-12
a93e80
- redhat: pkgtool: Use BZ id from reported-at tag.
a93e80
  [3ee7ec51b693eaf1715c0bbf8da2500405c7d8fe]
a93e80
a93e80
* Fri Mar 27 2020 Flavio Leitner <fbl@redhat.com> - 2.13.0-11
a93e80
- redhat: ovsci: Schedule the CI job while brew is building.
a93e80
  [1551e1e70e9ce98e61b9597f90c6c23b5dee6f1c]
a93e80
a93e80
* Tue Mar 24 2020 Flavio Leitner <fbl@redhat.com> - 2.13.0-10
a93e80
- redhat: ovsci: Use the correct job name and params.
a93e80
  [220f32afb2a3ce5437b6a502937cda7f887e9304]
a93e80
a93e80
* Mon Mar 23 2020 Timothy Redaelli <tredaelli@redhat.com> - 2.13.0-9
a93e80
- Add compatibility with RHEL7 git
a93e80
  [34929957833d71263e072c24842eaba3d61ad235]
a93e80
a93e80
* Mon Mar 23 2020 Timothy Redaelli <tredaelli@redhat.com> - 2.13.0-8
a93e80
- Use the date in UTC
a93e80
  [b53bdb16b8575fd3fbb28af2b704abd1eccb27d8]
a93e80
a93e80
* Mon Mar 23 2020 Numan Siddique <nusiddiq@redhat.com> - 2.13.0-7
a93e80
- ofproto-dpif-xlate: Fix recirculation when in_port is OFPP_CONTROLLER. (#1775160)
a93e80
  [4ee0f6af9e601cbb5f69a486526d1011314bbfed]
a93e80
a93e80
* Wed Mar 11 2020 Timothy Redaelli <tredaelli@redhat.com> - 2.13.0-6
a93e80
- vhost: fix packed virtqueue ready condition (#1812620)
a93e80
  [0b4e7827b873c8a420171d840bde5d3c77a67e60]
a93e80
a93e80
* Thu Feb 27 2020 Timothy Redaelli <tredaelli@redhat.com> - 2.13.0-5
a93e80
- redhat: permit make to fail when pkgtool --gen{spec,patches} exist badly
a93e80
  [61807f941ec5ddcbfb0cf1f4ba6a52d934c72f06]
a93e80
a93e80
* Tue Feb 25 2020 Timothy Redaelli <tredaelli@redhat.com> - 2.13.0-4
a93e80
- vhost: protect log address translation in IOTLB update (#1806599)
a93e80
  [0d4370404fa971cb07ca2bf9cb0cdf98ecc54d4b]
a93e80