# Spec file for Open Virtual Network (OVN). # Copyright (C) 2018 Red Hat, Inc. # # Copying and distribution of this file, with or without modification, # are permitted in any medium without royalty provided the copyright # notice and this notice are preserved. This file is offered as-is, # without warranty of any kind. # # If tests have to be skipped while building, specify the '--without check' # option. For example: # rpmbuild -bb --without check rhel/ovn-fedora.spec # # This defines the base package name's version. %define pkgver 2.12 %define pkgname ovn%{pkgver} #%%global commit0 38a85a041dd89933850f52a84d3896c9b602536a #%%global date 20190805 #%%global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) # If libcap-ng isn't available and there is no need for running OVS # as regular user, specify the '--without libcapng' %bcond_without libcapng # Enable PIE, bz#955181 %global _hardened_build 1 # some distros (e.g: RHEL-7) don't define _rundir macro yet # Fedora 15 onwards uses /run as _rundir %if 0%{!?_rundir:1} %define _rundir /run %endif # Build python2 (that provides python) and python3 subpackages on Fedora # Build only python3 (that provides python) subpackage on RHEL8 # Build only python subpackage on RHEL7 %if 0%{?rhel} > 7 || 0%{?fedora} # Use Python3 %global _py python3 %global _py2 python2 %global with_python3 1 %if 0%{?fedora} %global with_python2 1 %else %global with_python2 0 %endif # On RHEL8 Sphinx is included in buildroot %global external_sphinx 1 %else # Use Python2 %global _py python %global _py2 python %global with_python2 1 %global with_python3 0 # Don't use external sphinx (RHV doesn't have optional repositories enabled) %global external_sphinx 0 %endif # We would see rpmlinit error - E: hardcoded-library-path in '% {_prefix}/lib'. # But there is no solution to fix this. Using {_lib} macro will solve the # rpmlink error, but will install the files in /usr/lib64/. # OVN pacemaker ocf script file is copied in /usr/lib/ocf/resource.d/ovn/ # and we are not sure if pacemaker looks into this path to find the # OVN resource agent script. %global ovnlibdir %{_prefix}/lib Name: %{pkgname} Summary: Open Virtual Network support Group: System Environment/Daemons URL: http://www.openvswitch.org/ Version: %{pkgver}.0 Release: 32%{?commit0:.%{date}git%{shortcommit0}}%{?dist} Provides: openvswitch%{pkgver}-ovn-common = %{?epoch:%{epoch}:}%{version}-%{release} Obsoletes: openvswitch%{pkgver}-ovn-common < 2.11.0-1 # Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the # lib/sflow*.[ch] files are SISSL License: ASL 2.0 and LGPLv2+ and SISSL Source: https://www.openvswitch.org/releases/ovn-%{version}.tar.gz %define ovsver %{version} %define ovsdir openvswitch-%{ovsver} Source10: https://openvswitch.org/releases/openvswitch-%{ovsver}.tar.gz %define docutilsver 0.12 %define pygmentsver 1.4 %define sphinxver 1.1.3 Source100: https://pypi.io/packages/source/d/docutils/docutils-%{docutilsver}.tar.gz Source101: https://pypi.io/packages/source/P/Pygments/Pygments-%{pygmentsver}.tar.gz Source102: https://pypi.io/packages/source/S/Sphinx/Sphinx-%{sphinxver}.tar.gz Source500: configlib.sh Source501: gen_config_group.sh Source502: set_config.sh # Important: source503 is used as the actual copy file # @TODO: this causes a warning - fix it? Source504: arm64-armv8a-linuxapp-gcc-config Source505: ppc_64-power8-linuxapp-gcc-config Source506: x86_64-native-linuxapp-gcc-config # ovn-patches # OVN (including OVS if required) backports (0 - 399) # Bug 1761182 Patch01: 0001-ovn-ctl-Create-etcdir-when-starting-ovsdb-servers.patch # Bug 1757714 Patch10: 0001-ovn-northd-Fix-IP-multicast-flooding-to-mrouter.patch # Bug 1768310 Patch20: 0001-Revert-conjunctive-match-removal-patches.patch Patch21: 0002-Combine-conjunctions-with-identical-matches-into-one.patch # Bug 1770127 Patch30: 0001-ovndb-servers.ocf-Change-from-openvswitch-to-ovn-in-.patch Patch31: 0001-ovn-northd.c-Fix-datapath-tunnel-key-allocation.patch Patch32: 0002-testsuite-Use-ovn-macros-instead-of-ofproto-macros.patch Patch33: 0003-sandbox-Remove-the-unused-ovnnb.db-from-sandbox.patch Patch34: 0004-ovn-ctl-Change-the-order-of-ovn-lib-and-ovs-lib.patch Patch35: 0005-ovn-lib.in-Fix-ovn-ctl-status_xxx.patch # Bug 1762777 # Bug 1769709 Patch40: 0001-Fix-ha-chassis-failover-issues-for-stale-ha-chassis-.patch Patch41: 0001-ovn-northd-Validate-dnat_and_snat-external_mac-logic.patch # Bug 1770953 Patch50: 0001-lflow.c-Fix-memory-leak-of-lflow_ref_list_node-ref_n.patch # Bug Patch60: 0001-controller-Downgrade-a-warning-log-message.patch Patch61: 0002-Fix-system-ovn-test-failures.patch Patch62: 0003-northd-Fix-table-ID-for-IPv6-router-ingress.patch Patch63: 0004-actions-Add-IPv6-support-to-lflow-NAT-actions.patch Patch64: 0005-ovn-nbctl-Allow-IPv6-NAT-rules-to-be-added.patch Patch65: 0006-northd-Add-lflows-for-IPv6-NAT.patch Patch66: 0007-system-ovn-Add-IPv6-NAT-test-cases.patch Patch67: 0008-NEWS-Add-IPv6-NAT-support.patch Patch68: 0009-system-ovn.at-Create-IPv6-load-balancing-tests.patch Patch69: 0010-tests-Fix-check-valgrind-and-check-lcov.patch # Bug 1699332 Patch80: 0001-Add-RDNSS-support-to-OVN.patch # Bug 1764718 Patch85: 0001-Add-DNSSL-support-to-OVN.patch # Bug 1762341 Patch90: 0001-Fix-virtual-port-binding-when-the-parents-are-schedu.patch # Bug 1773605 Patch100: 0001-northd-Match-IPv4-or-IPv6-for-MAC-resolution.patch Patch101: 0002-Skip-IPv6-NS-packets-in-router-egress-SNAT-pipeline.patch Patch102: 0001-Fix-testsuite-85-ensure-one-gw-controller-restart-in.patch # Bug 1776712 Patch110: 0001-ovn-northd-Fix-get_router_load_balancer_ips-for-mixe.patch Patch111: 0002-ovn-northd-Limit-ARP-ND-broadcast-domain-whenever-po.patch Patch112: 0003-ovn-northd-Avoid-empty-address-list-when-limiting-AR.patch # Bug 1779110 # Bug 1779115 # Bug 1779121 Patch120: 0001-ovn-controller-Consider-non-virtual-ports-first-when.patch Patch121: 0001-ovn-controller-Add-missing-port-group-lflow-referenc.patch Patch122: 0001-ovn-controller-Add-command-to-trigger-an-I-P-full-re.patch # Bug 1769849 Patch130: 0001-Add-support-to-Default-Router-Preference-PRF-RFC-419.patch Patch131: 0002-Add-support-for-Route-Info-Option-in-RA-RFC-4191.patch # Bug 1703162 Patch140: 0001-OVN-ADD-nbctl-cli-to-mark-a-dnat_and_snat-rule-as-st.patch Patch141: 0002-OVN-Use-ip4.src-and-ip4.dst-actions-for-NAT-rules.patch Patch142: 0003-ovn-northd-Add-support-for-Load-Balancer-health-chec.patch Patch143: 0004-Add-a-new-action-handle_svc_check.patch Patch144: 0005-Send-service-monitor-health-checks.patch Patch145: 0006-northd-Remove-misleading-warning-log-message.patch # Bug 1787318 Patch150: 0001-ovn-controller-Refactor-I-P-engine_run-tracking.patch Patch151: 0002-ovn-controller-Add-per-node-states-to-I-P-engine.patch Patch152: 0003-ovn-controller-Add-separate-I-P-engine-node-for-proc.patch Patch153: 0004-ovn-controller.c-Fix-memory-leak-of-local_datapath-p.patch Patch154: 0005-ovn-controller-Fix-use-of-dangling-pointers-in-I-P-r.patch # Bug 1787360 Patch160: 0001-ovn-controller-Run-I-P-engine-even-when-no-SB-txn-is.patch # Bug 1789476 Patch170: 0001-pinctrl.c-Fix-maybe-uninitialized-warnings-with-old-.patch Patch171: 0002-DNSSL-copy-dnssl-string-in-order-to-avoid-truncated-.patch Patch172: 0003-RA-Route-Info-Option-copy-route-info-string-in-order.patch # Bug 1788456 Patch180: 0001-ovn-controller-Don-t-monitor-connection-table-column.patch Patch181: 0002-Restrict-ARP-IPv6-ND-replies-for-LB-VIP-only-on-chas.patch # Bug 1794671 Patch190: 0001-nbctl-Log-the-source-of-duplicate-IP-addresses.patch Patch191: 0001-northd-Log-all-dynamic-address-assignments.patch Patch192: 0001-northd-Load-config-before-processing-nbdb-contents.patch Patch193: 0001-tests-Updated-expected-log-message.patch # Bug 1703162 Patch200: 0001-ovn-northd-Fix-Pre-LB-logical-flows-with-IPv4-and-IP.patch Patch201: 0002-ovn-northd-Consider-load-balancer-active-backends-in.patch # Bug 1798173 Patch210: 0001-ovn-northd-Address-scale-issues-with-DNAT-flows.patch # Bug 1805127 # Bug 1805248 # Bug 1805651 # Bug 1806313 # Bug 1806316 Patch220: 0001-Make-is_switch-in-lflow.c-a-util-function.patch Patch221: 0002-Refactor-lflow-functions-to-take-two-context-argumen.patch Patch222: 0003-Refactor-physical-module-functions-to-take-context-a.patch Patch223: 0004-ovn-controller-Remove-ports-from-struct-local_datapa.patch Patch224: 0005-Fix-tcp_reset-action-handling.patch Patch225: 0006-ovn-controller-Check-for-NULL-before-accessing-ovsre.patch Patch226: 0007-northd-Allow-64-after-ipv6_prefix.patch Patch227: 0008-ovn-controller.c-Move-the-position-of-handling-OVN-S.patch Patch228: 0009-ovn-controller.c-Support-option-ovn-monitor-all.patch Patch229: 0010-ovn-controller-Avoid-creating-patch-port-for-non-loc.patch Patch230: 0011-ovn-controller-Avoid-adding-neighbour-flows-for-non-.patch Patch231: 0012-tests-reset-pcap-before-comparing-with-expected-RA.patch # Bug 1793158 Patch240: 0001-ovn-controller.c-Refactor-meter-table-list-and-meter.patch Patch241: 0002-ovn-controller-Fix-meter-table-list-and-group-table-.patch Patch242: 0003-extend-table.c-Refactor-code.patch Patch243: 0004-extend-table-Fix-reusing-group-meter-by-multiple-log.patch Patch244: 0001-extend-table-Fix-use-after-free-in-ovn_extend_table_.patch # OpenvSwitch backports (800-) if required. # Fixes the python3 error seen during compilation. Patch800: 0001-ovsdb-idlc.in-fix-dict-change-during-iteration.patch # Fix the OVN test failures. Patch810: 0001-ovsdb-data-Don-t-put-strings-with-digits-in-quotes.patch # FIXME Sphinx is used to generate some manpages, unfortunately, on RHEL, it's # in the -optional repository and so we can't require it directly since RHV # doesn't have the -optional repository enabled and so TPS fails %if %{external_sphinx} BuildRequires: %{_py}-sphinx %else # Sphinx dependencies BuildRequires: %{_py}-devel BuildRequires: %{_py}-setuptools #BuildRequires: %{_py}-docutils BuildRequires: %{_py}-jinja2 BuildRequires: %{_py}-nose #BuildRequires: %{_py}-pygments # docutils dependencies BuildRequires: %{_py}-imaging # pygments dependencies BuildRequires: %{_py}-nose %endif BuildRequires: gcc gcc-c++ make BuildRequires: autoconf automake libtool BuildRequires: systemd-units openssl openssl-devel %if %{with_python3} BuildRequires: python3-devel python3-six python3-setuptools %endif %if %{with_python2} BuildRequires: %{_py2}-devel %{_py2}-six %{_py2}-setuptools %endif BuildRequires: desktop-file-utils BuildRequires: groff-base graphviz BuildRequires: unbound-devel # make check dependencies BuildRequires: procps-ng %if %{with_python2} BuildRequires: pyOpenSSL %else BuildRequires: python3-pyOpenSSL %endif %if %{with libcapng} BuildRequires: libcap-ng libcap-ng-devel %endif Requires: hostname openssl iproute module-init-tools Requires(post): systemd-units Requires(preun): systemd-units Requires(postun): systemd-units # to skip running checks, pass --without check %bcond_without check %description 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 central Summary: Open Virtual Network support License: ASL 2.0 Requires: %{pkgname} Requires: firewalld-filesystem Provides: openvswitch%{pkgver}-ovn-central = %{?epoch:%{epoch}:}%{version}-%{release} Obsoletes: openvswitch%{pkgver}-ovn-central < 2.11.0-1 %description central OVN DB servers and ovn-northd running on a central node. %package host Summary: Open Virtual Network support License: ASL 2.0 Requires: %{pkgname} Requires: firewalld-filesystem Provides: openvswitch%{pkgver}-ovn-host = %{?epoch:%{epoch}:}%{version}-%{release} Obsoletes: openvswitch%{pkgver}-ovn-host < 2.11.0-1 %description host OVN controller running on each host. %package vtep Summary: Open Virtual Network support License: ASL 2.0 Requires: %{pkgname} Provides: openvswitch%{pkgver}-ovn-vtep = %{?epoch:%{epoch}:}%{version}-%{release} Obsoletes: openvswitch%{pkgver}-ovn-vtep < 2.11.0-1 %description vtep OVN vtep controller %prep %if 0%{?commit0:1} %autosetup -v -n ovn-%{commit0} -p 1 %else %autosetup -n ovn-%{version} -a 10 -p 1 %endif %build %if 0%{?commit0:1} # fix the snapshot unreleased version to be the released one. sed -i.old -e "s/^AC_INIT(openvswitch,.*,/AC_INIT(openvswitch, %{version},/" configure.ac %endif ./boot.sh # OVN source code is now separate. # Build openvswitch first. cd openvswitch-%{ovsver} ./boot.sh %configure \ %if %{with libcapng} --enable-libcapng \ %else --disable-libcapng \ %endif --enable-ssl \ --with-pkidir=%{_sharedstatedir}/openvswitch/pki \ %if 0%{?with_python3} PYTHON3=%{__python3} \ PYTHON=%{__python3} %else PYTHON=%{__python2} %endif make %{?_smp_mflags} cd - # Build OVN. %configure \ --with-ovs-source=$PWD/openvswitch-%{ovsver} \ %if %{with libcapng} --enable-libcapng \ %else --disable-libcapng \ %endif --enable-ssl \ --with-pkidir=%{_sharedstatedir}/openvswitch/pki \ %if 0%{?with_python3} PYTHON3=%{__python3} \ PYTHON=%{__python3} %else PYTHON=%{__python2} %endif make %{?_smp_mflags} %install %make_install install -p -D -m 0644 \ rhel/usr_share_ovn_scripts_systemd_sysconfig.template \ $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/ovn for service in ovn-controller ovn-controller-vtep ovn-northd; do install -p -D -m 0644 \ rhel/usr_lib_systemd_system_${service}.service \ $RPM_BUILD_ROOT%{_unitdir}/${service}.service done install -d -m 0755 $RPM_BUILD_ROOT/%{_sharedstatedir}/ovn install -d $RPM_BUILD_ROOT%{ovnlibdir}/firewalld/services/ install -p -m 0644 rhel/usr_lib_firewalld_services_ovn-central-firewall-service.xml \ $RPM_BUILD_ROOT%{ovnlibdir}/firewalld/services/ovn-central-firewall-service.xml install -p -m 0644 rhel/usr_lib_firewalld_services_ovn-host-firewall-service.xml \ $RPM_BUILD_ROOT%{ovnlibdir}/firewalld/services/ovn-host-firewall-service.xml install -d -m 0755 $RPM_BUILD_ROOT%{ovnlibdir}/ocf/resource.d/ovn ln -s %{_datadir}/ovn/scripts/ovndb-servers.ocf \ $RPM_BUILD_ROOT%{ovnlibdir}/ocf/resource.d/ovn/ovndb-servers install -p -D -m 0644 rhel/etc_logrotate.d_ovn \ $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d/ovn # remove unneeded files. rm -f $RPM_BUILD_ROOT%{_bindir}/ovs* rm -f $RPM_BUILD_ROOT%{_bindir}/vtep-ctl rm -f $RPM_BUILD_ROOT%{_sbindir}/ovs* rm -f $RPM_BUILD_ROOT%{_mandir}/man1/ovs* rm -f $RPM_BUILD_ROOT%{_mandir}/man5/ovs* rm -f $RPM_BUILD_ROOT%{_mandir}/man5/vtep* rm -f $RPM_BUILD_ROOT%{_mandir}/man7/ovs* rm -f $RPM_BUILD_ROOT%{_mandir}/man8/ovs* rm -f $RPM_BUILD_ROOT%{_mandir}/man8/vtep* rm -rf $RPM_BUILD_ROOT%{_datadir}/ovn/python rm -f $RPM_BUILD_ROOT%{_datadir}/ovn/scripts/ovs* rm -rf $RPM_BUILD_ROOT%{_datadir}/ovn/bugtool-plugins rm -f $RPM_BUILD_ROOT%{_libdir}/*.a rm -f $RPM_BUILD_ROOT%{_libdir}/*.la rm -f $RPM_BUILD_ROOT%{_libdir}/pkgconfig/*.pc rm -f $RPM_BUILD_ROOT%{_includedir}/ovn/* rm -f $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d/ovs-appctl-bashcomp.bash rm -f $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d/ovs-vsctl-bashcomp.bash rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/openvswitch rm -f $RPM_BUILD_ROOT%{_datadir}/ovn/scripts/ovn-bugtool* rm -f $RPM_BUILD_ROOT/%{_bindir}/ovn-docker-overlay-driver \ $RPM_BUILD_ROOT/%{_bindir}/ovn-docker-underlay-driver %check %if %{with check} touch resolv.conf export OVS_RESOLV_CONF=$(pwd)/resolv.conf if make check TESTSUITEFLAGS='%{_smp_mflags} -k ovn' || make check TESTSUITEFLAGS='--recheck -k ovn'; then :; else cat tests/testsuite.log # Presently a test case - "2796: ovn -- ovn-controller incremental processing" # is failing on aarch64 arch. Let's not exit for this arch # until we figure out why it is failing. %ifnarch aarch64 %ifnarch ppc64le exit 1 %endif %endif fi %endif %clean rm -rf $RPM_BUILD_ROOT %pre central if [ $1 -eq 1 ] ; then # Package install. /bin/systemctl status ovn-northd.service >/dev/null ovn_status=$? rpm -ql openvswitch-ovn-central > /dev/null if [[ "$?" = "0" && "$ovn_status" = "0" ]]; then # ovn-northd service is running which means old openvswitch-ovn-central # is already installed and it will be cleaned up. So start ovn-northd # service when posttrans central is called. touch %{_localstatedir}/lib/rpm-state/ovn-northd fi fi %pre host if [ $1 -eq 1 ] ; then # Package install. /bin/systemctl status ovn-controller.service >/dev/null ovn_status=$? rpm -ql openvswitch-ovn-host > /dev/null if [[ "$?" = "0" && "$ovn_status" = "0" ]]; then # ovn-controller service is running which means old # openvswitch-ovn-host is installed and it will be cleaned up. So # start ovn-controller service when posttrans host is called. touch %{_localstatedir}/lib/rpm-state/ovn-controller fi fi %pre vtep if [ $1 -eq 1 ] ; then # Package install. /bin/systemctl status ovn-controller-vtep.service >/dev/null ovn_status=$? rpm -ql openvswitch-ovn-vtep > /dev/null if [[ "$?" = "0" && "$ovn_status" = "0" ]]; then # ovn-controller-vtep service is running which means old # openvswitch-ovn-vtep is installed and it will be cleaned up. So # start ovn-controller-vtep service when posttrans host is called. touch %{_localstatedir}/lib/rpm-state/ovn-controller-vtep fi fi %preun central %if 0%{?systemd_preun:1} %systemd_preun ovn-northd.service %else if [ $1 -eq 0 ] ; then # 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 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 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 || : fi %endif %post %if %{with libcapng} if [ $1 -eq 1 ]; then sed -i 's:^#OVN_USER_ID=:OVN_USER_ID=:' %{_sysconfdir}/sysconfig/ovn sed -i 's:\(.*su\).*:\1 openvswitch openvswitch:' %{_sysconfdir}/logrotate.d/ovn fi %endif %post 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 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 vtep %if 0%{?systemd_post:1} %systemd_post ovn-controller-vtep.service %else # Package install, not upgrade if [ $1 -eq 1 ]; then /bin/systemctl daemon-reload >dev/null || : fi %endif %postun %postun central %if 0%{?systemd_postun_with_restart:1} %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 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 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 || : fi %endif %posttrans central if [ $1 -eq 1 ]; then # Package install, not upgrade if [ -e %{_localstatedir}/lib/rpm-state/ovn-northd ]; then rm %{_localstatedir}/lib/rpm-state/ovn-northd /bin/systemctl start ovn-northd.service >/dev/null 2>&1 || : fi fi %posttrans host if [ $1 -eq 1 ]; then # Package install, not upgrade if [ -e %{_localstatedir}/lib/rpm-state/ovn-controller ]; then rm %{_localstatedir}/lib/rpm-state/ovn-controller /bin/systemctl start ovn-controller.service >/dev/null 2>&1 || : fi fi %posttrans vtep if [ $1 -eq 1 ]; then # Package install, not upgrade if [ -e %{_localstatedir}/lib/rpm-state/ovn-controller-vtep ]; then rm %{_localstatedir}/lib/rpm-state/ovn-controller-vtep /bin/systemctl start ovn-controller-vtep.service >/dev/null 2>&1 || : fi fi %files %{_bindir}/ovn-nbctl %{_bindir}/ovn-sbctl %{_bindir}/ovn-trace %{_bindir}/ovn-detrace %{_bindir}/ovn-appctl %dir %{_datadir}/ovn/ %dir %{_datadir}/ovn/scripts/ %{_datadir}/ovn/scripts/ovn-ctl %{_datadir}/ovn/scripts/ovn-lib %{_datadir}/ovn/scripts/ovndb-servers.ocf %{_mandir}/man8/ovn-ctl.8* %{_mandir}/man8/ovn-appctl.8* %{_mandir}/man8/ovn-nbctl.8* %{_mandir}/man8/ovn-trace.8* %{_mandir}/man1/ovn-detrace.1* %{_mandir}/man7/ovn-architecture.7* %{_mandir}/man8/ovn-sbctl.8* %{_mandir}/man5/ovn-nb.5* %{_mandir}/man5/ovn-sb.5* %dir %{ovnlibdir}/ocf/resource.d/ovn/ %{ovnlibdir}/ocf/resource.d/ovn/ovndb-servers %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/logrotate.d/ovn %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/sysconfig/ovn %files central %{_bindir}/ovn-northd %{_mandir}/man8/ovn-northd.8* %{_datadir}/ovn/ovn-nb.ovsschema %{_datadir}/ovn/ovn-sb.ovsschema %{_unitdir}/ovn-northd.service %{ovnlibdir}/firewalld/services/ovn-central-firewall-service.xml %files host %{_bindir}/ovn-controller %{_mandir}/man8/ovn-controller.8* %{_unitdir}/ovn-controller.service %{ovnlibdir}/firewalld/services/ovn-host-firewall-service.xml %files vtep %{_bindir}/ovn-controller-vtep %{_mandir}/man8/ovn-controller-vtep.8* %{_unitdir}/ovn-controller-vtep.service %changelog * Wed Feb 26 2020 Mark Michelson - 2.12.0-32 - Backport patches that fix group allocation in extend tables (#1793158) * Sun Feb 23 2020 Numan Siddique - 2.12.0-31 - Backport patches related to monitor-all (#1806313) - Backport "northd: Allow /64 after ipv6_prefix" (#1806316) - Reordered the patches. * Fri Feb 21 2020 Lorenzo Bianconi - 2.12.0-30 - Backport "ovn: fix tcp_reset action handling" (#1805651) * Thu Feb 20 2020 Lorenzo Bianconi - 2.12.0-29 - Backport "ovn-controller: Check for NULL before accessing ovsrec_open_vswitch row." (#1805248) * Thu Feb 20 2020 Lorenzo Bianconi - 2.12.0-28 - Backport "Make is_switch() in lflow.c a util function" (#1805127) - Backport "ovn-controller: Remove ports from struct local_datapaths" (#1805127) * Tue Feb 4 2020 Numan Siddique - 2.12.0-27 * Backport "ovn-northd: Address scale issues with DNAT flows." (#1798173) * Thu Jan 30 2020 Numan Siddique - 2.12.0-26 * Backport "[RFE] LB health check : ovn-northd: Consider load balancer active backends in router pipeline" (#1703162) * Fri Jan 24 2020 Dumitru Ceara - 2.12.0-25 * Backport "tests: Updated expected log message" (#1794671) * Thu Jan 16 2020 Mark Michelson - 2.12.0-24 - Backport "nbctl: Log the source of duplicate IP addresses" (#1794671) - Backport "northd: Log all dynamic address assignments" (#1794671) - Backport "northd: Load config before processing nbdb contents" (#1794671) * Fri Jan 10 2020 Numan Siddique - 2.12.0-23 - Backport "ovn-controller: Don't monitor connection table columns" - Backport "Restrict ARP/IPv6 ND replies for LB VIP only on chassis redirect port" (#1788456) * Thu Jan 09 2020 Lorenzo Bianconi - 2.12.0-22 - Backport "pinctrl.c: Fix maybe-uninitialized warnings with old GCC versions" (#1789476) - Backport "DNSSL: copy dnssl string in order to avoid truncated value" (#1789476) - Backport "RA Route Info Option: copy route info string in order to avoid truncated value" (#1789476) * Thu Jan 02 2020 Dumitru Ceara - 2.12.0-21 - Backport "ovn-controller: Run I-P engine even when no SB txn is available." (#1787360) * Thu Jan 02 2020 Dumitru Ceara - 2.12.0-20 - Backport "ovn-controller: Refactor I-P engine_run() tracking." (#1787318) - Backport "ovn-controller: Add per node states to I-P engine." (#1787318) - Backport "ovn-controller: Add separate I-P engine node for processing ct-zones." (#1787318) - Backport "ovn-controller.c: Fix memory leak of local_datapath->ports." - Backport "ovn-controller: Fix use of dangling pointers in I-P runtime_data." (#1787318) * Thu Dec 05 2019 Numan Siddique - 2.12.0-19 - Backport "[RFE] Support for load balancing health checks in OVN" (#1703162) - Backport "Stateless NAT support (backported due to conflicts)" * Tue Dec 03 2019 Lorenzo Bianconi - 2.12.0-18 - Backport "Add support to Default Router Preference (PRF) - RFC4191" (#1769849) - Backport "Add support for Route Info Option in RA - RFC4191" * Tue Dec 3 2019 Dumitru Ceara - 2.12.0-17 - Backport "ovn-controller: Consider non-virtual ports first when updating bindings." (#1779110) - Backport "ovn-controller: Add missing port group lflow references." (#1779115) - Backport "ovn-controller: Add command to trigger an I-P full recompute." (#1779121) * Tue Nov 26 2019 Dumitru Ceara - 2.12.0-16 - Backport "ovn-northd: Fix get_router_load_balancer_ips() for mixed address families." - Backport "ovn-northd: Limit ARP/ND broadcast domain whenever possible." (#1776712) - Backport "ovn-northd: Avoid empty address list when limiting ARP/ND broadcast." (#1776712) * Wed Nov 20 2019 Numan Siddique - 2.12.0-15 - Backport "Skip IPv6 NS packets in router egress SNAT pipeline" (#1773605) - Backport "northd: Match IPv4 or IPv6 for MAC resolution" * Tue Nov 19 2019 Dumitru Ceara - 2.12.0-14 - Backport "Fix virtual port binding when the parents are scheduled in the same chassis" (#1762341) * Mon Nov 18 2019 Lorenzo Bianconi - 2.12.0-13 - Backport "Add DNSSL support to OVN" (#1764718) * Mon Nov 18 2019 Lorenzo Bianconi - 2.12.0-12 - Backport "Add RDNSS support to OVN" (#1699332) * Fri Nov 15 2019 Mark Michelson - 2.12.0-11 - Update user of logrotate file to be "openvswitch" * Fri Nov 15 2019 Mark Michelson - 2.12.0-10 - Update verification of sysconfig and logrotate files * Wed Nov 13 2019 Numan Siddique - 2.12.0-9 - Backport "Support IPv6 NAT" (#1768347) - Backport "Add IPv6 load balancer tests in OVN" (#1768477) * Mon Nov 11 2019 Dumitru Ceara - 2.12.0-8 - Backport "lflow.c: Fix memory leak of lflow_ref_list_node->ref_name." (#1770953) * Fri Nov 8 2019 Numan Siddique - 2.12.0-7 - Backport: "ovn-ctl related changes" (#1770127) * Fri Nov 8 2019 Numan Siddique - 2.12.0-6 - Backport: "Fix ha chassis failover issues for stale ha chassis entries" (#1762777) - Backport: "ovn-northd: Validate dnat_and_snat external_mac/logical_ip. (#1769709) * Fri Nov 8 2019 Numan Siddique - 2.12.0-5 - Backport: "ovndb-servers.ocf: Change from 'openvswitch' to 'ovn' in OVN_CTL_DEFAULT var" (#1770127) * Sun Nov 3 2019 Mark Michelson - 2.12.0-4 - Backport "Revert conjunctive match removal patches" (#1764032) - Backport "Combine conjunctions with identical matches into one" (#1764032) * Wed Oct 16 2019 Dumitru Ceara - 2.12.0-3 - Backport: "ovn-northd: Fix IP multicast flooding to mrouter." (#1757714) * Sun Oct 13 2019 Numan Siddique - 2.12.0-2 - Backport: "ovn-ctl: Create etcdir when starting ovsdb servers" (#1761182) * Thu Oct 10 2019 Numan Siddique - 2.12.0-1 - Update to OVN master from new repo with the commit 79308138891ae04a02a07068501696ef78157912 - This will be the base for OVN 2.12. * Mon Aug 05 2019 Numan Siddique - 2.12.0-0.20190804git38a85a0 - Snapshot build of ovn2.12 38a85a041dd8 * Mon Aug 05 2019 Numan Siddique - 2.11.0-27 - Backport ovn-northd pause/resume support (#1720728) * Wed Jul 17 2019 Lorenzo Bianconi - 2.11.0-26 - Backport ovn uindling support (#1730759) * Wed Jul 17 2019 Numan Siddique - 2.11.0-25 - Backport related to GARP handling for router ips (#1561880) * Tue Jul 9 2019 Lorenzo Bianconi - 2.11.0-24 - Backport related to ip buffering with gw router port issue (#1728318) * Mon Jul 1 2019 Lorenzo Bianconi - 2.11.0-23 - Backport "OVN: add the possibility to specify tunnel dst port" (#1720371) * Mon Jun 24 2019 Dumitru Ceara - 2.11.0-22 - Backport "ovn-controller: Fix parsing of OVN tunnel IDs" (#1708131) * Mon Jun 24 2019 Numan Siddique - 2.11.0-21 - Backport "ovn-nbctl.8.xml: Fix typo." (#1720194) * Mon Jun 17 2019 Numan Siddique - 2.11.0-20 - Backport "ovn: Add support for DHCP option 15 - domain name" (#1721012) * Thu Jun 06 2019 Timothy Redaelli - 2.11.0-19 - Avoid collisions during installation of sources in debuginfo package (#1717933) * Mon May 27 2019 Dumitru Ceara - 2.11.0-18 - Backport "ovn: Properly set the index for chassis lookup" (#1698462) * Tue May 14 2019 Dumitru Ceara - 2.11.0-17 - Backport "stopwatch: Free stopwatch packets after processing" (#1698462) * Fri Apr 26 2019 Numan Siddique - 2.11.0-16 - Fix the ovn-northd sync issue with HA_Chassis group (#1666673) * Wed Apr 24 2019 Numan Siddique - 2.11.0-15 - Backport "RFE: Limit Geneve to within Transport Zones" (#1702550) * Wed Apr 24 2019 Numan Siddique - 2.11.0-14 - Backport "RFE: [OVN] Fragmentation support" (#1702331) * Sat Apr 20 2019 Numan Siddique - 2.11.0-13 - Backport "RFE: OVN - Support Logical ports of type external" (#1666673) * Thu Apr 18 2019 Lorenzo Bianconi - 2.11.0-12 - Backport "OVN: fix DVR Floating IP support" (#1701183) * Wed Apr 17 2019 Timothy Redaelli - 2.11.0-11 - Add 'Obsoletes' to the old OVN openvswitch2.11 sub-packages to allow to upgrade from FDP.A * Wed Apr 17 2019 Lorenzo Bianconi - 2.11.0-10 - Backport "OVN: add the possibility to configure a static IPv4/IPv6 address and dynamic MAC" * Tue Apr 16 2019 Timothy Redaelli - 2.11.0-9 - Remove 'Obsoletes' lines like on openvswitch2.11 package * Tue Apr 16 2019 Numan Siddique - 2.11.0-8 - Fix the 'Provides' to include '%pkgver' * Tue Mar 26 2019 Numan Siddique - 2.11.0-7 - Backport Fixes for #1677616 (pinctrl thread) and fixes related to IPv6 RA." * Tue Mar 19 2019 Numan Siddique - 2.11.0-6 - Removed ovn-common package and moved all the related files to main 'ovn' package. * Tue Mar 19 2019 Timothy Redaelli - 2.11.0-5 - Disable ovn-docker subpackage by default * Thu Mar 07 2019 Mark Michelson - 2.11.0-4 - Backport "OVN: Add port addresses to IPAM after all ports are joined." * Sat Mar 02 2019 Numan Siddique - 2.11.0-3 - Backport "ovn-controller: Provide the option to set the datapath-type of br-int" (#1684796) * Fri Mar 01 2019 Timothy Redaelli - 2.11.0-2 - Backport "rhel: Use PIDFile on forking systemd service files" (#1684477) * Thu Feb 28 2019 Numan Siddique - 2.11.0-1 - Update to official 2.11 release * Wed Jan 23 2019 Numan Siddique - 2.11.0-0.20190117git4e4f80e - Update to OVS 2.11 branch * Thu Jan 17 2019 Numan Siddique - 2.11.0-0.20190117gitab66223 - Update to a snapshot of OVS 2.11 from master * Thu Dec 20 2018 Numan Siddique - OVS/OVN split.