2141b4
# Copyright (C) 2009, 2010, 2013, 2014 Nicira Networks, Inc.
2141b4
#
2141b4
# Copying and distribution of this file, with or without modification,
2141b4
# are permitted in any medium without royalty provided the copyright
2141b4
# notice and this notice are preserved.  This file is offered as-is,
2141b4
# without warranty of any kind.
2141b4
#
2141b4
# If tests have to be skipped while building, specify the '--without check'
2141b4
# option. For example:
2141b4
# rpmbuild -bb --without check rhel/openvswitch-fedora.spec
2141b4
2141b4
# This defines the base package name's version.
2141b4
2141b4
%define pkgver 2.13
eaa8cd
%define pkgname ovn23.03
2141b4
2141b4
# If libcap-ng isn't available and there is no need for running OVS
2141b4
# as regular user, specify the '--without libcapng'
2141b4
%bcond_without libcapng
2141b4
2141b4
# Enable PIE, bz#955181
2141b4
%global _hardened_build 1
2141b4
2141b4
# RHEL-7 doesn't define _rundir macro yet
2141b4
# Fedora 15 onwards uses /run as _rundir
2141b4
%if 0%{!?_rundir:1}
2141b4
%define _rundir /run
2141b4
%endif
2141b4
2141b4
# Build python2 (that provides python) and python3 subpackages on Fedora
2141b4
# Build only python3 (that provides python) subpackage on RHEL8
2141b4
# Build only python subpackage on RHEL7
2141b4
%if 0%{?rhel} > 7 || 0%{?fedora}
2141b4
# On RHEL8 Sphinx is included in buildroot
2141b4
%global external_sphinx 1
2141b4
%else
2141b4
# Don't use external sphinx (RHV doesn't have optional repositories enabled)
2141b4
%global external_sphinx 0
2141b4
%endif
2141b4
2141b4
# We would see rpmlinit error - E: hardcoded-library-path in '% {_prefix}/lib'.
2141b4
# But there is no solution to fix this. Using {_lib} macro will solve the
2141b4
# rpmlink error, but will install the files in /usr/lib64/.
2141b4
# OVN pacemaker ocf script file is copied in /usr/lib/ocf/resource.d/ovn/
2141b4
# and we are not sure if pacemaker looks into this path to find the
2141b4
# OVN resource agent script.
2141b4
%global ovnlibdir %{_prefix}/lib
2141b4
2141b4
Name: %{pkgname}
2141b4
Summary: Open Virtual Network support
2141b4
Group: System Environment/Daemons
2141b4
URL: http://www.ovn.org/
eaa8cd
Version: 23.03.0
eaa8cd
Release: 50%{?commit0:.%{date}git%{shortcommit0}}%{?dist}
2141b4
Provides: openvswitch%{pkgver}-ovn-common = %{?epoch:%{epoch}:}%{version}-%{release}
2141b4
Obsoletes: openvswitch%{pkgver}-ovn-common < 2.11.0-1
2141b4
2141b4
# Nearly all of openvswitch is ASL 2.0.  The bugtool is LGPLv2+, and the
2141b4
# lib/sflow*.[ch] files are SISSL
2141b4
License: ASL 2.0 and LGPLv2+ and SISSL
2141b4
2141b4
# Always pull an upstream release, since this is what we rebase to.
2141b4
Source: https://github.com/ovn-org/ovn/archive/v%{version}.tar.gz#/ovn-%{version}.tar.gz
2141b4
eaa8cd
%define ovscommit 8986d4d5564401eeef3dea828b51fe8bae2cc8aa
eaa8cd
%define ovsshortcommit 8986d4d
2141b4
2141b4
Source10: https://github.com/openvswitch/ovs/archive/%{ovscommit}.tar.gz#/openvswitch-%{ovsshortcommit}.tar.gz
2141b4
%define ovsdir ovs-%{ovscommit}
2141b4
2141b4
%define docutilsver 0.12
2141b4
%define pygmentsver 1.4
2141b4
%define sphinxver   1.1.3
2141b4
Source100: https://pypi.io/packages/source/d/docutils/docutils-%{docutilsver}.tar.gz
2141b4
Source101: https://pypi.io/packages/source/P/Pygments/Pygments-%{pygmentsver}.tar.gz
2141b4
Source102: https://pypi.io/packages/source/S/Sphinx/Sphinx-%{sphinxver}.tar.gz
2141b4
2141b4
Source500: configlib.sh
2141b4
Source501: gen_config_group.sh
2141b4
Source502: set_config.sh
2141b4
2141b4
# Important: source503 is used as the actual copy file
2141b4
# @TODO: this causes a warning - fix it?
2141b4
Source504: arm64-armv8a-linuxapp-gcc-config
2141b4
Source505: ppc_64-power8-linuxapp-gcc-config
2141b4
Source506: x86_64-native-linuxapp-gcc-config
2141b4
2141b4
Patch:     %{pkgname}.patch
2141b4
2141b4
# FIXME Sphinx is used to generate some manpages, unfortunately, on RHEL, it's
2141b4
# in the -optional repository and so we can't require it directly since RHV
2141b4
# doesn't have the -optional repository enabled and so TPS fails
2141b4
%if %{external_sphinx}
2141b4
BuildRequires: python3-sphinx
2141b4
%else
2141b4
# Sphinx dependencies
2141b4
BuildRequires: python-devel
2141b4
BuildRequires: python-setuptools
2141b4
#BuildRequires: python2-docutils
2141b4
BuildRequires: python-jinja2
2141b4
BuildRequires: python-nose
2141b4
#BuildRequires: python2-pygments
2141b4
# docutils dependencies
2141b4
BuildRequires: python-imaging
2141b4
# pygments dependencies
2141b4
BuildRequires: python-nose
2141b4
%endif
2141b4
2141b4
BuildRequires: gcc gcc-c++ make
2141b4
BuildRequires: autoconf automake libtool
2141b4
BuildRequires: systemd-units openssl openssl-devel
2141b4
BuildRequires: python3-devel python3-setuptools
2141b4
BuildRequires: desktop-file-utils
2141b4
BuildRequires: groff-base graphviz
2141b4
BuildRequires: unbound-devel
2141b4
2141b4
# make check dependencies
2141b4
BuildRequires: procps-ng
2141b4
%if 0%{?rhel} == 8 || 0%{?fedora}
2141b4
BuildRequires: python3-pyOpenSSL
2141b4
%endif
2141b4
BuildRequires: tcpdump
2141b4
2141b4
%if %{with libcapng}
2141b4
BuildRequires: libcap-ng libcap-ng-devel
2141b4
%endif
2141b4
2141b4
Requires: hostname openssl iproute module-init-tools
2141b4
2141b4
Requires(post): systemd-units
2141b4
Requires(preun): systemd-units
2141b4
Requires(postun): systemd-units
2141b4
2141b4
# to skip running checks, pass --without check
2141b4
%bcond_without check
2141b4
2141b4
%description
2141b4
OVN, the Open Virtual Network, is a system to support virtual network
2141b4
abstraction.  OVN complements the existing capabilities of OVS to add
2141b4
native support for virtual network abstractions, such as virtual L2 and L3
2141b4
overlays and security groups.
2141b4
2141b4
%package central
2141b4
Summary: Open Virtual Network support
2141b4
License: ASL 2.0
2141b4
Requires: %{pkgname}
2141b4
Requires: firewalld-filesystem
2141b4
Provides: openvswitch%{pkgver}-ovn-central = %{?epoch:%{epoch}:}%{version}-%{release}
2141b4
Obsoletes: openvswitch%{pkgver}-ovn-central < 2.11.0-1
2141b4
2141b4
%description central
2141b4
OVN DB servers and ovn-northd running on a central node.
2141b4
2141b4
%package host
2141b4
Summary: Open Virtual Network support
2141b4
License: ASL 2.0
2141b4
Requires: %{pkgname}
2141b4
Requires: firewalld-filesystem
2141b4
Provides: openvswitch%{pkgver}-ovn-host = %{?epoch:%{epoch}:}%{version}-%{release}
2141b4
Obsoletes: openvswitch%{pkgver}-ovn-host < 2.11.0-1
2141b4
2141b4
%description host
2141b4
OVN controller running on each host.
2141b4
2141b4
%package vtep
2141b4
Summary: Open Virtual Network support
2141b4
License: ASL 2.0
2141b4
Requires: %{pkgname}
2141b4
Provides: openvswitch%{pkgver}-ovn-vtep = %{?epoch:%{epoch}:}%{version}-%{release}
2141b4
Obsoletes: openvswitch%{pkgver}-ovn-vtep < 2.11.0-1
2141b4
2141b4
%description vtep
2141b4
OVN vtep controller
2141b4
2141b4
%prep
2141b4
%autosetup -n ovn-%{version} -a 10 -p 1
2141b4
2141b4
%build
2141b4
%if 0%{?commit0:1}
2141b4
# fix the snapshot unreleased version to be the released one.
2141b4
sed -i.old -e "s/^AC_INIT(openvswitch,.*,/AC_INIT(openvswitch, %{version},/" configure.ac
2141b4
%endif
2141b4
./boot.sh
2141b4
2141b4
# OVN source code is now separate.
2141b4
# Build openvswitch first.
2141b4
# XXX Current openvswitch2.13 doesn't
2141b4
# use "2.13.0" for version. It's a commit hash
2141b4
pushd %{ovsdir}
2141b4
./boot.sh
2141b4
%configure \
2141b4
%if %{with libcapng}
2141b4
        --enable-libcapng \
2141b4
%else
2141b4
        --disable-libcapng \
2141b4
%endif
2141b4
        --enable-ssl \
2141b4
        --with-pkidir=%{_sharedstatedir}/openvswitch/pki
2141b4
2141b4
make %{?_smp_mflags}
2141b4
popd
2141b4
2141b4
# Build OVN.
2141b4
# XXX OVS version needs to be updated when ovs2.13 is updated.
2141b4
%configure \
2141b4
        --with-ovs-source=$PWD/%{ovsdir} \
2141b4
%if %{with libcapng}
2141b4
        --enable-libcapng \
2141b4
%else
2141b4
        --disable-libcapng \
2141b4
%endif
2141b4
        --enable-ssl \
2141b4
        --with-pkidir=%{_sharedstatedir}/openvswitch/pki
2141b4
2141b4
make %{?_smp_mflags}
2141b4
2141b4
%install
2141b4
%make_install
2141b4
install -p -D -m 0644 \
2141b4
        rhel/usr_share_ovn_scripts_systemd_sysconfig.template \
2141b4
        $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/ovn
2141b4
2141b4
for service in ovn-controller ovn-controller-vtep ovn-northd; do
2141b4
        install -p -D -m 0644 \
2141b4
                        rhel/usr_lib_systemd_system_${service}.service \
2141b4
                        $RPM_BUILD_ROOT%{_unitdir}/${service}.service
2141b4
done
2141b4
2141b4
install -d -m 0755 $RPM_BUILD_ROOT/%{_sharedstatedir}/ovn
2141b4
2141b4
install -d $RPM_BUILD_ROOT%{ovnlibdir}/firewalld/services/
2141b4
install -p -m 0644 rhel/usr_lib_firewalld_services_ovn-central-firewall-service.xml \
2141b4
        $RPM_BUILD_ROOT%{ovnlibdir}/firewalld/services/ovn-central-firewall-service.xml
2141b4
install -p -m 0644 rhel/usr_lib_firewalld_services_ovn-host-firewall-service.xml \
2141b4
        $RPM_BUILD_ROOT%{ovnlibdir}/firewalld/services/ovn-host-firewall-service.xml
2141b4
2141b4
install -d -m 0755 $RPM_BUILD_ROOT%{ovnlibdir}/ocf/resource.d/ovn
2141b4
ln -s %{_datadir}/ovn/scripts/ovndb-servers.ocf \
2141b4
      $RPM_BUILD_ROOT%{ovnlibdir}/ocf/resource.d/ovn/ovndb-servers
2141b4
2141b4
install -p -D -m 0644 rhel/etc_logrotate.d_ovn \
2141b4
        $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d/ovn
2141b4
2141b4
# remove unneeded files.
2141b4
rm -f $RPM_BUILD_ROOT%{_bindir}/ovs*
2141b4
rm -f $RPM_BUILD_ROOT%{_bindir}/vtep-ctl
2141b4
rm -f $RPM_BUILD_ROOT%{_sbindir}/ovs*
2141b4
rm -f $RPM_BUILD_ROOT%{_mandir}/man1/ovs*
2141b4
rm -f $RPM_BUILD_ROOT%{_mandir}/man5/ovs*
2141b4
rm -f $RPM_BUILD_ROOT%{_mandir}/man5/vtep*
2141b4
rm -f $RPM_BUILD_ROOT%{_mandir}/man7/ovs*
2141b4
rm -f $RPM_BUILD_ROOT%{_mandir}/man8/ovs*
2141b4
rm -f $RPM_BUILD_ROOT%{_mandir}/man8/vtep*
2141b4
rm -rf $RPM_BUILD_ROOT%{_datadir}/ovn/python
2141b4
rm -f $RPM_BUILD_ROOT%{_datadir}/ovn/scripts/ovs*
2141b4
rm -rf $RPM_BUILD_ROOT%{_datadir}/ovn/bugtool-plugins
2141b4
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
2141b4
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
2141b4
rm -f $RPM_BUILD_ROOT%{_libdir}/pkgconfig/*.pc
2141b4
rm -f $RPM_BUILD_ROOT%{_includedir}/ovn/*
2141b4
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d/ovs-appctl-bashcomp.bash
2141b4
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d/ovs-vsctl-bashcomp.bash
2141b4
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/openvswitch
2141b4
rm -f $RPM_BUILD_ROOT%{_datadir}/ovn/scripts/ovn-bugtool*
2141b4
rm -f $RPM_BUILD_ROOT/%{_bindir}/ovn-docker-overlay-driver \
2141b4
        $RPM_BUILD_ROOT/%{_bindir}/ovn-docker-underlay-driver
2141b4
2141b4
%check
2141b4
%if %{with check}
2141b4
    touch resolv.conf
2141b4
    export OVS_RESOLV_CONF=$(pwd)/resolv.conf
2141b4
    if ! make check TESTSUITEFLAGS='%{_smp_mflags}'; then
2141b4
        cat tests/testsuite.log
2141b4
        if ! make check TESTSUITEFLAGS='--recheck'; then
2141b4
            cat tests/testsuite.log
2141b4
            # Presently a test case - "2796: ovn -- ovn-controller incremental processing"
2141b4
            # is failing on aarch64 arch. Let's not exit for this arch
2141b4
            # until we figure out why it is failing.
2141b4
            # Test case 93: ovn.at:12105       ovn -- ACLs on Port Groups is failing
2141b4
            # repeatedly on s390x. This needs to be investigated.
2141b4
            %ifnarch aarch64
2141b4
            %ifnarch ppc64le
2141b4
            %ifnarch s390x
2141b4
                exit 1
2141b4
            %endif
2141b4
            %endif
2141b4
            %endif
2141b4
        fi
2141b4
    fi
2141b4
%endif
2141b4
2141b4
%clean
2141b4
rm -rf $RPM_BUILD_ROOT
2141b4
2141b4
%pre central
2141b4
if [ $1 -eq 1 ] ; then
2141b4
    # Package install.
2141b4
    /bin/systemctl status ovn-northd.service >/dev/null
2141b4
    ovn_status=$?
2141b4
    rpm -ql openvswitch-ovn-central > /dev/null
2141b4
    if [[ "$?" = "0" && "$ovn_status" = "0" ]]; then
2141b4
        # ovn-northd service is running which means old openvswitch-ovn-central
2141b4
        # is already installed and it will be cleaned up. So start ovn-northd
2141b4
        # service when posttrans central is called.
2141b4
        touch %{_localstatedir}/lib/rpm-state/ovn-northd
2141b4
    fi
2141b4
fi
2141b4
2141b4
%pre host
2141b4
if [ $1 -eq 1 ] ; then
2141b4
    # Package install.
2141b4
    /bin/systemctl status ovn-controller.service >/dev/null
2141b4
    ovn_status=$?
2141b4
    rpm -ql openvswitch-ovn-host > /dev/null
2141b4
    if [[ "$?" = "0" && "$ovn_status" = "0" ]]; then
2141b4
        # ovn-controller service is running which means old
2141b4
        # openvswitch-ovn-host is installed and it will be cleaned up. So
2141b4
        # start ovn-controller service when posttrans host is called.
2141b4
        touch %{_localstatedir}/lib/rpm-state/ovn-controller
2141b4
    fi
2141b4
fi
2141b4
2141b4
%pre vtep
2141b4
if [ $1 -eq 1 ] ; then
2141b4
    # Package install.
2141b4
    /bin/systemctl status ovn-controller-vtep.service >/dev/null
2141b4
    ovn_status=$?
2141b4
    rpm -ql openvswitch-ovn-vtep > /dev/null
2141b4
    if [[ "$?" = "0" && "$ovn_status" = "0" ]]; then
2141b4
        # ovn-controller-vtep service is running which means old
2141b4
        # openvswitch-ovn-vtep is installed and it will be cleaned up. So
2141b4
        # start ovn-controller-vtep service when posttrans host is called.
2141b4
        touch %{_localstatedir}/lib/rpm-state/ovn-controller-vtep
2141b4
    fi
2141b4
fi
2141b4
2141b4
%preun central
2141b4
%if 0%{?systemd_preun:1}
2141b4
    %systemd_preun ovn-northd.service
2141b4
%else
2141b4
    if [ $1 -eq 0 ] ; then
2141b4
        # Package removal, not upgrade
2141b4
        /bin/systemctl --no-reload disable ovn-northd.service >/dev/null 2>&1 || :
2141b4
        /bin/systemctl stop ovn-northd.service >/dev/null 2>&1 || :
2141b4
    fi
2141b4
%endif
2141b4
2141b4
%preun host
2141b4
%if 0%{?systemd_preun:1}
2141b4
    %systemd_preun ovn-controller.service
2141b4
%else
2141b4
    if [ $1 -eq 0 ] ; then
2141b4
        # Package removal, not upgrade
2141b4
        /bin/systemctl --no-reload disable ovn-controller.service >/dev/null 2>&1 || :
2141b4
        /bin/systemctl stop ovn-controller.service >/dev/null 2>&1 || :
2141b4
    fi
2141b4
%endif
2141b4
2141b4
%preun vtep
2141b4
%if 0%{?systemd_preun:1}
2141b4
    %systemd_preun ovn-controller-vtep.service
2141b4
%else
2141b4
    if [ $1 -eq 0 ] ; then
2141b4
        # Package removal, not upgrade
2141b4
        /bin/systemctl --no-reload disable ovn-controller-vtep.service >/dev/null 2>&1 || :
2141b4
        /bin/systemctl stop ovn-controller-vtep.service >/dev/null 2>&1 || :
2141b4
    fi
2141b4
%endif
2141b4
2141b4
%post
2141b4
%if %{with libcapng}
2141b4
if [ $1 -eq 1 ]; then
2141b4
    sed -i 's:^#OVN_USER_ID=:OVN_USER_ID=:' %{_sysconfdir}/sysconfig/ovn
2141b4
    sed -i 's:\(.*su\).*:\1 openvswitch openvswitch:' %{_sysconfdir}/logrotate.d/ovn
2141b4
fi
2141b4
%endif
2141b4
2141b4
%post central
2141b4
%if 0%{?systemd_post:1}
2141b4
    %systemd_post ovn-northd.service
2141b4
%else
2141b4
    # Package install, not upgrade
2141b4
    if [ $1 -eq 1 ]; then
2141b4
        /bin/systemctl daemon-reload >dev/null || :
2141b4
    fi
2141b4
%endif
2141b4
2141b4
%post host
2141b4
%if 0%{?systemd_post:1}
2141b4
    %systemd_post ovn-controller.service
2141b4
%else
2141b4
    # Package install, not upgrade
2141b4
    if [ $1 -eq 1 ]; then
2141b4
        /bin/systemctl daemon-reload >dev/null || :
2141b4
    fi
2141b4
%endif
2141b4
2141b4
%post vtep
2141b4
%if 0%{?systemd_post:1}
2141b4
    %systemd_post ovn-controller-vtep.service
2141b4
%else
2141b4
    # Package install, not upgrade
2141b4
    if [ $1 -eq 1 ]; then
2141b4
        /bin/systemctl daemon-reload >dev/null || :
2141b4
    fi
2141b4
%endif
2141b4
2141b4
%postun
2141b4
2141b4
%postun central
2141b4
%if 0%{?systemd_postun_with_restart:1}
2141b4
    %systemd_postun_with_restart ovn-northd.service
2141b4
%else
2141b4
    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
2141b4
    if [ "$1" -ge "1" ] ; then
2141b4
    # Package upgrade, not uninstall
2141b4
        /bin/systemctl try-restart ovn-northd.service >/dev/null 2>&1 || :
2141b4
    fi
2141b4
%endif
2141b4
2141b4
%postun host
2141b4
%if 0%{?systemd_postun_with_restart:1}
2141b4
    %systemd_postun_with_restart ovn-controller.service
2141b4
%else
2141b4
    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
2141b4
    if [ "$1" -ge "1" ] ; then
2141b4
        # Package upgrade, not uninstall
2141b4
        /bin/systemctl try-restart ovn-controller.service >/dev/null 2>&1 || :
2141b4
    fi
2141b4
%endif
2141b4
2141b4
%postun vtep
2141b4
%if 0%{?systemd_postun_with_restart:1}
2141b4
    %systemd_postun_with_restart ovn-controller-vtep.service
2141b4
%else
2141b4
    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
2141b4
    if [ "$1" -ge "1" ] ; then
2141b4
        # Package upgrade, not uninstall
2141b4
        /bin/systemctl try-restart ovn-controller-vtep.service >/dev/null 2>&1 || :
2141b4
    fi
2141b4
%endif
2141b4
2141b4
%posttrans central
2141b4
if [ $1 -eq 1 ]; then
2141b4
    # Package install, not upgrade
2141b4
    if [ -e %{_localstatedir}/lib/rpm-state/ovn-northd ]; then
2141b4
        rm %{_localstatedir}/lib/rpm-state/ovn-northd
2141b4
        /bin/systemctl start ovn-northd.service >/dev/null 2>&1 || :
2141b4
    fi
2141b4
fi
2141b4
2141b4
2141b4
%posttrans host
2141b4
if [ $1 -eq 1 ]; then
2141b4
    # Package install, not upgrade
2141b4
    if [ -e %{_localstatedir}/lib/rpm-state/ovn-controller ]; then
2141b4
        rm %{_localstatedir}/lib/rpm-state/ovn-controller
2141b4
        /bin/systemctl start ovn-controller.service >/dev/null 2>&1 || :
2141b4
    fi
2141b4
fi
2141b4
2141b4
%posttrans vtep
2141b4
if [ $1 -eq 1 ]; then
2141b4
    # Package install, not upgrade
2141b4
    if [ -e %{_localstatedir}/lib/rpm-state/ovn-controller-vtep ]; then
2141b4
        rm %{_localstatedir}/lib/rpm-state/ovn-controller-vtep
2141b4
        /bin/systemctl start ovn-controller-vtep.service >/dev/null 2>&1 || :
2141b4
    fi
2141b4
fi
2141b4
2141b4
%files
2141b4
%{_bindir}/ovn-nbctl
2141b4
%{_bindir}/ovn-sbctl
2141b4
%{_bindir}/ovn-trace
2141b4
%{_bindir}/ovn-detrace
2141b4
%{_bindir}/ovn_detrace.py
2141b4
%{_bindir}/ovn-appctl
2141b4
%{_bindir}/ovn-ic-nbctl
2141b4
%{_bindir}/ovn-ic-sbctl
2141b4
%dir %{_datadir}/ovn/
2141b4
%dir %{_datadir}/ovn/scripts/
2141b4
%{_datadir}/ovn/scripts/ovn-ctl
2141b4
%{_datadir}/ovn/scripts/ovn-lib
2141b4
%{_datadir}/ovn/scripts/ovndb-servers.ocf
2141b4
%{_mandir}/man8/ovn-ctl.8*
2141b4
%{_mandir}/man8/ovn-appctl.8*
2141b4
%{_mandir}/man8/ovn-nbctl.8*
2141b4
%{_mandir}/man8/ovn-ic-nbctl.8*
2141b4
%{_mandir}/man8/ovn-trace.8*
2141b4
%{_mandir}/man1/ovn-detrace.1*
2141b4
%{_mandir}/man7/ovn-architecture.7*
2141b4
%{_mandir}/man8/ovn-sbctl.8*
2141b4
%{_mandir}/man8/ovn-ic-sbctl.8*
2141b4
%{_mandir}/man5/ovn-nb.5*
2141b4
%{_mandir}/man5/ovn-ic-nb.5*
2141b4
%{_mandir}/man5/ovn-sb.5*
2141b4
%{_mandir}/man5/ovn-ic-sb.5*
2141b4
%dir %{ovnlibdir}/ocf/resource.d/ovn/
2141b4
%{ovnlibdir}/ocf/resource.d/ovn/ovndb-servers
2141b4
%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/logrotate.d/ovn
2141b4
%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/sysconfig/ovn
2141b4
2141b4
%files central
2141b4
%{_bindir}/ovn-northd
2141b4
%{_bindir}/ovn-ic
2141b4
%{_mandir}/man8/ovn-northd.8*
2141b4
%{_mandir}/man8/ovn-ic.8*
2141b4
%{_datadir}/ovn/ovn-nb.ovsschema
2141b4
%{_datadir}/ovn/ovn-ic-nb.ovsschema
2141b4
%{_datadir}/ovn/ovn-sb.ovsschema
2141b4
%{_datadir}/ovn/ovn-ic-sb.ovsschema
2141b4
%{_unitdir}/ovn-northd.service
2141b4
%{ovnlibdir}/firewalld/services/ovn-central-firewall-service.xml
2141b4
2141b4
%files host
2141b4
%{_bindir}/ovn-controller
2141b4
%{_mandir}/man8/ovn-controller.8*
2141b4
%{_unitdir}/ovn-controller.service
2141b4
%{ovnlibdir}/firewalld/services/ovn-host-firewall-service.xml
2141b4
2141b4
%files vtep
2141b4
%{_bindir}/ovn-controller-vtep
2141b4
%{_mandir}/man8/ovn-controller-vtep.8*
2141b4
%{_unitdir}/ovn-controller-vtep.service
2141b4
2141b4
%changelog
eaa8cd
* Fri May 26 2023 Han Zhou <hzhou@ovn.org> - 23.03.0-50
eaa8cd
- ovn-controller.c: Fix assertion failure during address set update.
eaa8cd
[Upstream: 777786f38a61041898891ccbb3f139b0552e5794]
eaa8cd
eaa8cd
* Fri May 19 2023 Mark Michelson <mmichels@redhat.com> - 23.03.0-49
eaa8cd
- Pass localnet traffic through CT when a LB is configured. (#2164652)
eaa8cd
[Upstream: 2449608303464d62ff5b1a89e20e476248d1e82b]
eaa8cd
eaa8cd
* Fri May 19 2023 Mark Michelson <mmichels@redhat.com> - 23.03.0-48
eaa8cd
- tests: Use stricter IP match for FORMAT_CT.
eaa8cd
[Upstream: a1d8ebd306021844646629c42bd638203399c568]
eaa8cd
eaa8cd
* Wed May 17 2023 Ales Musil <amusil@redhat.com> - 23.03.0-47
eaa8cd
- tests: Fix flakiness of policy based routing on slower systems
eaa8cd
[Upstream: bb22fe9c4591dc96d98bf2c2c3f629efb5721757]
eaa8cd
eaa8cd
* Wed May 17 2023 Vladislav Odintsov <odivlad@gmail.com> - 23.03.0-46
eaa8cd
- ovn-controller docs: fix typo in ovn-monitor-all description
eaa8cd
[Upstream: 0ba1609d6426cd779f48cb5a97e63c0a7811dc03]
eaa8cd
eaa8cd
* Wed May 10 2023 Ales Musil <amusil@redhat.com> - 23.03.0-45
eaa8cd
- system-tests: Replace use of ADD_INT with ADD_VETH
eaa8cd
[Upstream: c2f36b530613728100b1dbdf7f967c4a87053155]
eaa8cd
eaa8cd
* Wed May 10 2023 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 23.03.0-44
eaa8cd
- controller: fix possible unaligned accesses in DHCPv6 code
eaa8cd
[Upstream: 080cbcd95d3d065524272f5f1d0bed11df35a9d4]
eaa8cd
eaa8cd
* Tue May 09 2023 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 23.03.0-43
eaa8cd
- mirror: fix ovn mirror support with IPv6 (#2168119)
eaa8cd
[Upstream: 5255303229f4da0c1478656597c774510ceda4e9]
eaa8cd
eaa8cd
* Mon May 08 2023 Xavier Simonart <xsimonar@redhat.com> - 23.03.0-42
eaa8cd
- ovn-controller: fixed port not always set down when unbinding interface (#2150905)
eaa8cd
[Upstream: 39930c0254bc8758b5722e0f2c3a7fdc43256888]
08c02c
eaa8cd
* Mon May 08 2023 Xavier Simonart <xsimonar@redhat.com> - 23.03.0-41
eaa8cd
- ovn-controller: fixed ovn-installed not always properly added or removed.
eaa8cd
[Upstream: 395eac485b871ef75bb0b5f29b09ebd1cb877ca8]
08c02c
eaa8cd
* Mon May 08 2023 Wei Li <liw@yusur.tech> - 23.03.0-40
eaa8cd
- documentation: packets that arrive from other chassis resubmit to table 38
eaa8cd
[Upstream: 4ad402df2870c44234945b462345bfcb0c95b6f6]
08c02c
eaa8cd
* Mon May 08 2023 Tao Liu <taoliu828@163.com> - 23.03.0-39
eaa8cd
- northd: fix use-after-free after lrp destroyed
eaa8cd
[Upstream: fd0111e59c6a78acf70dd47e10e724210c2e94ea]
08c02c
eaa8cd
* Mon May 08 2023 Ihar Hrachyshka <ihrachys@redhat.com> - 23.03.0-38
eaa8cd
- docs: document that vxlan is supported for encap type
eaa8cd
[Upstream: 31bc347255a9206b29dc3f9af14c8af75ea9600e]
08c02c
eaa8cd
* Mon May 08 2023 Xavier Simonart <xsimonar@redhat.com> - 23.03.0-37
eaa8cd
- tests: Fixed flaky lr multiple gw ports
eaa8cd
[Upstream: 94dea8bb6bba439de673fa4fa72e3fa3f8c44593]
08c02c
eaa8cd
* Mon May 08 2023 Xavier Simonart <xsimonar@redhat.com> - 23.03.0-36
eaa8cd
- Fix test "load-balancing"
eaa8cd
[Upstream: bfdfb9a0565b2f21f59120b360db1aa59b24f96d]
08c02c
eaa8cd
* Fri May 05 2023 Dumitru Ceara <dceara@redhat.com> - 23.03.0-35
eaa8cd
- tests: Retry inject-pkt in case ovn-controller is still busy.
eaa8cd
[Upstream: d6cad0cc05f752a83f72c82881a76642301125b9]
08c02c
eaa8cd
* Tue May 02 2023 wangchuanlei <wangchuanlei@inspur.com> - 23.03.0-34
eaa8cd
- pinctrl: fix restart of controller when bfd min_tx is too low.
eaa8cd
[Upstream: 77d0ff0dace95ce6c8453c2b95f65d18892133b6]
08c02c
eaa8cd
* Tue May 02 2023 Ales Musil <amusil@redhat.com> - 23.03.0-33
eaa8cd
- ovn-nbctl: Fix unhandled NULL return from normalize_prefix_str
eaa8cd
[Upstream: 86ceec393a9b776990bb24625bf9ca13ce9dfe05]
3ad793
eaa8cd
* Mon May 01 2023 Xavier Simonart <xsimonar@redhat.com> - 23.03.0-32
eaa8cd
- tests: decrease risk of flaky failures of ovn -- CoPP system test
eaa8cd
[Upstream: b81229835436b63a593e0e6a55bb639309101592]
3ad793
eaa8cd
* Mon May 01 2023 Xavier Simonart <xsimonar@redhat.com> - 23.03.0-31
eaa8cd
- tests: check arguments count of OVS_WAIT_UNTIL
eaa8cd
[Upstream: 352c584c403ce914b59e3c3c95028949ec3ede05]
3ad793
eaa8cd
* Mon May 01 2023 Xavier Simonart <xsimonar@redhat.com> - 23.03.0-30
eaa8cd
- tests: Fixed wrong usage of OVS_WAIT_UNTIL
eaa8cd
[Upstream: b88d8bbba3ba59ee0a3c2d3fb62cab748e1b59dc]
3ad793
eaa8cd
* Mon May 01 2023 Xavier Simonart <xsimonar@redhat.com> - 23.03.0-29
eaa8cd
- tests: Fixed "1 LR with HA distributed router gateway port"
eaa8cd
[Upstream: 1758332a51766231e74479302ee8efdfc07bf33c]
3ad793
eaa8cd
* Fri Apr 21 2023 Mark Michelson <mmichels@redhat.com> - 23.03.0-28
eaa8cd
- tests: Skip "daemon ssl files change" when SSL is disabled.
eaa8cd
[Upstream: 3d231640d852bc4c7b49d17de80ba747bebe8817]
3ad793
eaa8cd
* Wed Apr 19 2023 Ihar Hrachyshka <ihrachys@redhat.com> - 23.03.0-27
eaa8cd
- Omit ACLs for nd || nd_ra || nd_rs || mldv1 || mldv2 (#2149731)
eaa8cd
[Upstream: 6e6cc27bdb9735a6461b53771b3969a2ca230cab]
3ad793
eaa8cd
* Wed Apr 19 2023 Ihar Hrachyshka <ihrachys@redhat.com> - 23.03.0-26
eaa8cd
- tests: define fmt_pkt function to construct packets with scapy
eaa8cd
[Upstream: b797e5dbd955ee61d503bb38dade490957bce563]
3ad793
eaa8cd
* Wed Apr 19 2023 Ales Musil <amusil@redhat.com> - 23.03.0-25
eaa8cd
- controller: Prevent race in tunnel cleanup
eaa8cd
[Upstream: 40befbb1d508db48f894cb190637ee33cccf0977]
3ad793
eaa8cd
* Thu Apr 13 2023 Han Zhou <hzhou@ovn.org> - 23.03.0-24
eaa8cd
- northd.c: Avoid sending ICMP time exceeded for multicast packets.
eaa8cd
[Upstream: a38a5df4a49ddf678d6a50de39b613b8f0305e26]
3ad793
eaa8cd
* Thu Apr 13 2023 Han Zhou <hzhou@ovn.org> - 23.03.0-23
eaa8cd
- northd.c: TTL discard flow should support for both ipv4 and ipv6.
eaa8cd
[Upstream: d42d070bd2598b72c13d2a67209d368acc8128b8]
3ad793
eaa8cd
* Tue Apr 11 2023 Ales Musil <amusil@redhat.com> - 23.03.0-22
eaa8cd
- northd: Update the is_stateless helper for router nat
eaa8cd
[Upstream: 99b42566998c9e9b952cdfe3f8435e8bd79eca43]
61e211
eaa8cd
* Tue Apr 11 2023 Eelco Chaudron <echaudro@redhat.com> - 23.03.0-21
eaa8cd
- ci: Add arping package to run floating IP tests.
eaa8cd
[Upstream: 825164cd4164e9c9bf5c66ebe00e147f1e2ac1fd]
61e211
eaa8cd
* Tue Apr 11 2023 Ales Musil <amusil@redhat.com> - 23.03.0-20
eaa8cd
- controller: Clear tunnels from old integration bridge (#2173635)
eaa8cd
[Upstream: 8481abcc04fee5e0ecd881e599be178625ad1522]
61e211
eaa8cd
* Tue Apr 11 2023 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 23.03.0-19
eaa8cd
- northd: revert ct.inv drop flows
eaa8cd
[Upstream: 04d7552479736bd2da84dd5d2be146fa4a51e3e6]
61e211
eaa8cd
* Thu Apr 06 2023 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 23.03.0-18
eaa8cd
- northd: take into account qos_min_rate in port_has_qos_params
eaa8cd
[Upstream: 0bbcfb52f0248d839e413acaf2b116bb7b1c4db6]
61e211
eaa8cd
* Thu Mar 30 2023 Ales Musil <amusil@redhat.com> - 23.03.0-17
eaa8cd
- system-tests: Reduce flakiness of netcat UDP clients
eaa8cd
[Upstream: 6c2d80c5bb6a2cd7c353b796a7d46b3962a06c9f]
61e211
eaa8cd
* Tue Mar 28 2023 Dumitru Ceara <dceara@redhat.com> - 23.03.0-16
eaa8cd
- Revert "DOWNSTREAM: Forcefully disable backend conntrack flushing."
eaa8cd
[Upstream: 8c98303437610a32faff8c0e7d8eff419b40619e]
61e211
eaa8cd
* Tue Mar 28 2023 Xavier Simonart <xsimonar@redhat.com> - 23.03.0-15
eaa8cd
- northd: prevents sending packet to conntrack for router ports (#2062431)
eaa8cd
[Upstream: 2bab96e899b5da5ae0c3b24bd04ece93d1339824]
eaa8cd
eaa8cd
* Tue Mar 28 2023 Dumitru Ceara <dceara@redhat.com> - 23.03.0-14
eaa8cd
- lb: Allow IPv6 template LBs to use explicit backends.
eaa8cd
[Upstream: d01fdfdb2c97222cf326c8ab5579f670ded6e3cb]
eaa8cd
eaa8cd
* Tue Mar 28 2023 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 23.03.0-13
eaa8cd
- controller: lflow: do not use tcp as default IP protocol for ct_snat_to_vip action (#2157846)
eaa8cd
[Upstream: 6a16c741e5a10a817ca8251898f48bf9eeb971f5]
eaa8cd
eaa8cd
* Tue Mar 28 2023 Ales Musil <amusil@redhat.com> - 23.03.0-12
eaa8cd
- northd: Drop packets for LBs with no backends (#2177173)
eaa8cd
[Upstream: 77384b7fe3f7d3260fd2f94a3bd75b8ca79f56ae]
eaa8cd
eaa8cd
* Mon Mar 27 2023 Ales Musil <amusil@redhat.com> - 23.03.0-11
eaa8cd
- northd: Use generic ct.est flows for LR LBs (#2172048 2170885)
eaa8cd
[Upstream: 81eaa98bbb608bda320abfa0122ba073de6597d7]
eaa8cd
eaa8cd
* Thu Mar 23 2023 Lorenzo Bianconi <lorenzo.bianconi@redhat.com> - 23.03.0-10
eaa8cd
- northd: drop ct.inv packets in post snat and lb_aff_learn stages (#2160685)
eaa8cd
[Upstream: 0af110c400cc29bb037172cdfd674794716771df]
eaa8cd
eaa8cd
* Mon Mar 20 2023 Ales Musil <amusil@redhat.com> - 23.03.0-9
eaa8cd
- controller: Add config option per LB to enable/disable CT flush (#2178962)
eaa8cd
[Upstream: 89fc85fa7f2b00f404ec5aef4ce8f2236474fbab]
eaa8cd
eaa8cd
* Thu Mar 16 2023 Dumitru Ceara <dceara@redhat.com> - 23.03.0-8
eaa8cd
- DOWNSTREAM: Forcefully disable backend conntrack flushing. (#2178962)
eaa8cd
[Upstream: b7522be8bf28534cc422234e8d9484b9ef4220d9]
eaa8cd
eaa8cd
* Thu Mar 16 2023 Dumitru Ceara <dceara@redhat.com> - 23.03.0-7
eaa8cd
- northd: Ignore remote chassis when computing the supported feature set.
eaa8cd
[Upstream: 80b7e48a877abd337eb54b9bb9c7b4280aa9ff74]
f94e6b
eaa8cd
* Wed Mar 08 2023 Ilya Maximets <i.maximets@ovn.org> - 23.03.0-6
eaa8cd
- controller: Use ofctrl_add_flow for CT SNAT hairpin flows.
eaa8cd
[Upstream: 888215e2164b476462f12d206a3d734958ef79e2]
f94e6b
eaa8cd
* Wed Mar 08 2023 Vladislav Odintsov <odivlad@gmail.com> - 23.03.0-5
eaa8cd
- rhel: pass options to stop daemon command in systemd units
eaa8cd
[Upstream: ed7095613abf3d36cbcf347e1238b84e6843eaf1]
f94e6b
eaa8cd
* Fri Mar 03 2023 Mark Michelson <mmichels@redhat.com> - 23.03.0-4
eaa8cd
- Prepare for 23.03.1.
eaa8cd
[Upstream: e98ea52f12de2a7d6a9a7547b6b0a493a78f0fed]
2141b4