summaryrefslogtreecommitdiff
path: root/rhel
Commit message (Collapse)AuthorAgeFilesLines
* rhel: Enable AF_XDP by default in Fedora builds.Ilya Maximets2023-01-031-2/+2
| | | | | | | | | | | | All supported versions of Fedora do package libxdp and libbpf, so it makes sense to enable AF_XDP support. Control files for debian packaging are much less flexible, so its hard to enable AF_XDP builds while not breaking builds for version of Ubuntu and Debian that do not package libbpf or libxdp. Acked-by: Eelco Chaudron <echaudro@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* acinclude.m4: Build with AF_XDP support by default if possible.Ilya Maximets2023-01-031-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this change we will try to detect all the netdev-afxdp dependencies and enable AF_XDP support by default if they are present at the build time. Configuration script behaves in a following way: - ./configure --enable-afxdp Will check for AF_XDP dependencies and fail if they are not available. - ./configure --disable-afxdp Disables checking for AF_XDP. Build will not support AF_XDP even if all dependencies are installed. - Just ./configure or ./configure --enable-afxdp=auto Will check for AF_XDP dependencies. Will print a warning if they are not available, but will continue without AF_XDP support. If dependencies are available in a system, this option is equal to --enable-afxdp. '--disable-afxdp' added to the debian and fedora package builds to keep predictable behavior. Acked-by: Eelco Chaudron <echaudro@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* netdev-afxdp: Allow building with libxdp and newer libbpf.Ilya Maximets2023-01-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AF_XDP functions was deprecated in libbpf 0.7 and moved to libxdp. Functions bpf_get/set_link_xdp_id() was deprecated in libbpf 0.8 and replaced with bpf_xdp_query_id() and bpf_xdp_attach/detach(). Updating configuration and source code to accommodate above changes and allow building OVS with AF_XDP support on newer systems: - Checking the version of libbpf by detecting availability of bpf_xdp_detach. - Checking availability of the libxdp in a system by looking for a library providing libxdp_strerror(), if libbpf is newer than 0.6. And checking for xsk.h header provided by libxdp-dev[el]. - Use xsk.h from libbpf if it is older than 0.7 and not linking with libxdp in this case as there are known incompatible versions of libxdp in distributions. - Check for the NEED_WAKEUP feature replaced with direct checking in the source code if XDP_USE_NEED_WAKEUP is defined. - Checking availability of bpf_xdp_query_id and bpf_xdp_detach and using them instead of deprecated APIs. Fall back to old functions if not found. - Dropped LIBBPF_LDADD variable as it makes library and function detection much harder without providing any actual benefits. AC_SEARCH_LIBS is used instead and it allows use of AC_CHECK_FUNCS. - Header includes moved around to files where they are actually used. - Removed libelf dependency as it is not really used. With these changes it should be possible to build OVS with either: - libbpf built from the kernel sources (5.19 or older). - libbpf < 0.7 provided in distributions. - libxdp and libbpf >= 0.7 provided in newer distributions. While it is technically possible to build with libbpf 0.7+ without libxdp at the moment we're not allowing that for a few reasons. First, required functions in libbpf are deprecated and can be removed in future releases. Second, support for all these combinations makes the detection code fairly complex. AFAIK, most of the distributions packaging libbpf 0.7+ do package libxdp as well. libxdp added as a build dependency for Fedora build since all supported versions of Fedora are packaging this library. Acked-by: Eelco Chaudron <echaudro@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* Makefile: Add USDT scripts to make install and fedora/debian test rpm.Eelco Chaudron2022-12-211-0/+1
| | | | | | | | | | | | This change will install all the USDT scripts to the {_datadir}/openvswitch/scripts/usdt directory with the make install command. In addition it will also add them to the Fedora and Debian openvswitch-test rpm. Signed-off-by: Eelco Chaudron <echaudro@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* rhel: Avoid creating an empty database file.Timothy Redaelli2022-12-201-7/+5
| | | | | | | | | | | | | | | | In 59e8cb8a053d ("rhel: Move conf.db to /var/lib/openvswitch, using symlinks.") conf.db is created as empty file in /var/lib/openvswitch, if it doesn't exists, but this prevent ovsdb-server to start. This commit changes the previous behaviour to set /var/lib/openvswitch owner to openvswitch:hugetlbfs, if built with dpdk, or openvswitch:openvswitch. Fixes: 59e8cb8a053d ("rhel: Move conf.db to /var/lib/openvswitch, using symlinks.") Reported-at: https://mail.openvswitch.org/pipermail/ovs-dev/2022-December/400045.html Reported-by: Roi Dayan <roid@nvidia.com> Signed-off-by: Timothy Redaelli <tredaelli@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* dpdk: Update to use v22.11.1.Ian Stokes2022-12-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit add support to for DPDK v22.11.1, it includes the following changes. 1. ci: Reduce DPDK compilation time. 2. system-dpdk: Update vhost tests to be compatible with DPDK 22.07. http://patchwork.ozlabs.org/project/openvswitch/list/?series=316528 3. system-dpdk: Update vhost tests to be compatible with DPDK 22.07. http://patchwork.ozlabs.org/project/openvswitch/list/?series=311332 4. netdev-dpdk: Report device bus specific information. 5. netdev-dpdk: Drop reference to Rx header split. http://patchwork.ozlabs.org/project/openvswitch/list/?series=321808 In addition documentation was also updated in this commit for use with DPDK v22.11.1. The Debian shared DPDK compilation test is removed as part of this patch due to a packaging requirement. Once DPDK v22.11.1 is available in Debian repositories it should be re-enabled in OVS. For credit all authors of the original commits to 'dpdk-latest' with the above changes have been added as co-authors for this commit Signed-off-by: David Marchand <david.marchand@redhat.com> Co-authored-by: David Marchand <david.marchand@redhat.com> Signed-off-by: Sunil Pai G <sunil.pai.g@intel.com> Co-authored-by: Sunil Pai G <sunil.pai.g@intel.com> Tested-by: Michael Phelan <michael.phelan@intel.com> Tested-by: Emma Finn <emma.finn@intel.com> Signed-off-by: Ian Stokes <ian.stokes@intel.com>
* rhel: Move conf.db to /var/lib/openvswitch, using symlinks.Timothy Redaelli2022-11-301-4/+23
| | | | | | | | | | | | | | | conf.db is by default at /etc/openvswitch, but it should be at /var/lib/openvswitch like on Debian or like ovnnb_db.db and ovnsb_db.db. If conf.db already exists in /etc/openvswitch then it's moved to /var/lib/openvswitch. Symlinks are created for conf.db and .conf.db.~lock~ into /etc/openvswitch for backward compatibility. Reported-at: https://bugzilla.redhat.com/1830857 Reported-by: Yedidyah Bar David <didi@redhat.com> Signed-off-by: Timothy Redaelli <tredaelli@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* rhel: Stop installing internal headers.Ilya Maximets2022-07-292-32/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, openvswitch-devel installs following header tree: /usr/include /openflow/*.h /openvswitch /*.h /openflow/*.h /openvswitch/*.h /sparse/*.h /lib/*.h Few issues with that: 1. openflow and openvswitch headers are installed twice. Once in the main /usr/include and second time in the /usr/include/openvswitch/. 2. For some reason internal headers such as lib/*.h and fairly useless headers such as sparse/*.h are installed as well. One more issue is that current pkg-config files doesn't work with builds installed with 'make install', because 'make install' doesn't create this weird header tree. While double install of same headers is not a huge problem, it doesn't seem right. Installation of the internal headers is a bigger issue. They are not part of API/ABI and we do not provide any stability guarantees for them. We are making incompatible changes constantly in minor updates, so users should not rely on these headers. If it's necessary for some external application to use them, this external application should not link with libopenvswitch dynamically and also it can't expect the static library to not break these API/ABI, hence there is no real point installing them. Application should use OVS as a submodule like OVN does or compile itself by obtaining required version of OVS sources otherwise. Another option is to properly export and install required headers. pkg-config configuration files updated as necessary. Fixes: 4886d4d2495b ("debian, rhel: Ship ovs shared libraries and header files") Reviewed-by: David Marchand <david.marchand@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* python: Add flow filtering syntax.Adrian Moreno2022-07-151-1/+1
| | | | | | | | | | | | | | | | | | | | Based on pyparsing, create a very simple filtering syntax. It supports basic logic statements (and, &, or, ||, not, !), numerical operations (<, >), equality (=, !=), and masking (~=). The latter is only supported in certain fields (IntMask, EthMask, IPMask). Masking operation is semantically equivalent to "includes", therefore: ip_src ~= 192.168.1.1 means that ip_src field is either a host IP address equal to 192.168.1.1 or an IPMask that includes it (e.g: 192.168.1.1/24). Acked-by: Eelco Chaudron <echaudro@redhat.com> Signed-off-by: Adrian Moreno <amorenoz@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* python: Add mask, ip and eth decoders.Adrian Moreno2022-07-151-0/+1
| | | | | | | | | | | | | | | | | | Add more decoders that can be used by KVParser. For IPv4 and IPv6 addresses, create a new class that wraps netaddr.IPAddress. For Ethernet addresses, create a new class that wraps netaddr.EUI. For Integers, create a new class that performs basic bitwise mask comparisons netaddr is added as a new shoft dependency: - extras_require in setup.py - Suggests in deb and rpm packages Acked-by: Eelco Chaudron <echaudro@redhat.com> Signed-off-by: Adrian Moreno <amorenoz@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* rhel: Stop packaging OVS kernel module.Greg Rose2022-07-158-649/+2
| | | | | | | | Remove the kernel driver specification for RHEL 6.x, 7.x, 8.x and Fedora. Reviewed-by: David Marchand <david.marchand@redhat.com> Signed-off-by: Greg Rose <gvrose8192@gmail.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* ovsdb: Add Local_Config schema.Terry Wilson2022-06-302-0/+4
| | | | | | | | | | | | | | | | | | | | | | | The only way to configure settings on a remote (e.g. inactivity_probe) is via --remote=db:DB,table,row. There is no way to do this via the existing CLI options. For a clustered DB with multiple servers listening on unique addresses there is no way to store these entries in the DB as the DB is shared. For example, three servers listening on 1.1.1.1, 1.1.1.2, and 1.1.1.3 respectively would require a Manager/Connection row each, but then all three servers would try to listen on all three addresses. It is possible for ovsdb-server to serve multiple databases. This means that we can have a local "config" database in addition to the main database we are serving (Open_vSwitch, OVN_Southbound, etc.) and this patch adds a Local_Config schema that currently just mirrors the Connection table and a Config table with a 'connections' row that stores each Connection. Signed-off-by: Terry Wilson <twilson@redhat.com> Acked-by: Dumitru Ceara <dceara@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* dpdk: Update to use DPDK v21.11.Ian Stokes2021-12-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for DPDK v21.11, it includes the following changes. 1. ci: Install python elftools for DPDK 21.02. 2. ci: Update meson requirement for DPDK 21.05. 3. netdev-dpdk: Fix build with 21.05. 4. ci: Compile DPDK in non developer mode. http://patchwork.ozlabs.org/project/openvswitch/list/?series=242480&state=* 5. netdev-dpdk: Remove access to DPDK internals. 6. netdev-dpdk: Remove unused attribute from rte_flow rule. 7. netdev-dpdk: Fix mbuf macros namespace with 21.11-rc1. 8. netdev-dpdk: Fix vhost namespace with 21.11-rc2. http://patchwork.ozlabs.org/project/openvswitch/list/?series=271159&state=* In addition documentation and DPDK unit tests were also updated in this commit for use with DPDK v21.11. For credit all authors of the original commits to 'dpdk-latest' with the above changes have been added as co-authors for this commit. Signed-off-by: David Marchand <david.marchand@redhat.com> Co-authored-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Tested-by: Emma Finn <emma.finn"intel.com> Tested-by: Seamus Ryan <seamus.ryan@intel.com> Acked-by: Kevin Traynor <ktraynor@redhat.com> Signed-off-by: Ian Stokes <ian.stokes@intel.com>
* rhel: Use /run instead of /var/run.Timothy Redaelli2021-11-085-9/+9
| | | | | | | | | | | | | Systemd unit file generates warnings about PID file path since /var/run is a legacy path so just use /run instead of /var/run. /var/run is a symlink of /run starting from RHEL7 (and any other distribution that uses systemd). Reported-at: https://bugzilla.redhat.com/1952081 Signed-off-by: Timothy Redaelli <tredaelli@redhat.com> Acked-by: Flavio Leitner <fbl@sysclose.org> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* rhel: Fix dual kernel rpm install for RHEL 8.4Greg Rose2021-09-031-0/+8
| | | | | | | | | RHEL 8.4 is the first of the RHEL 8.x kernels that has broken ABI so it requires the same sort of fix as we did for several RHEL 7.x kernel that needed two kernel rpms to work for all minor revisions of the baseline kernel module. Signed-off-by: Greg Rose <gvrose8192@gmail.com>
* Don't mangle shebangs when building DKMS RPM package.Guzowski Adrian2021-07-161-0/+3
| | | | | | | | | | While building the package, some .in files are being subject to shebang substitution, but the process fails, because given scripts have placeholders in place of shebangs. In order to fix the issue, don't mangle shebangs in this specific package. Signed-off-by: Guzowski Adrian <adrian.guzowski@exatel.pl> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* Add ability to override default Release suffix in RPM packages.Guzowski Adrian2021-07-165-6/+13
| | | | | | | | | | | | | In some cases, like building OvS packages in Jenkins, it may be useful to set a custom version suffix that will correspond with job's build number, etc. Currently, version number is explicitly set to 1. This change adds a define "release_number" that may be overridden during package bulding process: rpmbuild -ba --define="release_number X" ... Signed-off-by: Guzowski Adrian <adrian.guzowski@exatel.pl> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* rhel: Do not update kmod RPM newer major revision kernels.Greg Rose2021-03-221-0/+10
| | | | | | | | | | | | | The ovs-kmod-manage.sh script will run weak-updates even on newer release kernels installing a non-compatible or un-runnable kernel module. Update the script to never install weak-updates onto kernels with newer major release versions. VMware-BZ: #2717283 Signed-off-by: Greg Rose <gvrose8192@gmail.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* rhel: ovs-kmod-manage.sh: Disable unneeded warning.Greg Rose2021-03-221-2/+2
| | | | | | | | | | | The script itself says which versions the script is needed for but it is run on RHEL 8.x as well where it is not needed. Disable the warning and change the exit code to zero since it may unnecessarily alarm users and is really only for debugging anyway. Signed-off-by: Greg Rose <gvrose8192@gmail.com> Acked-by: Yi-Hung Wei <yihung.wei@gmail.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* rhel: Update build required dpdk.Tonghao Zhang2021-02-051-1/+1
| | | | | | | | | | | | | Now OvS supports building with dpdk 20.11, and uses the '--with-dpdk=shared' option in fedora.spec. Then change version of dpdk 17.05.1 to 20.11. Note that dpdk-devel-20.11.x is not released in fedora distro, but use '20.11' is fine. Fixes: 252e1e576443 ("dpdk: Update to use DPDK v20.11.") Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* rhel: Add option to enable AF_XDP on rpm package.Yi-Hung Wei2021-02-051-0/+8
| | | | | | | | | | | This patch adds an RPMBUILD_OPT so that user can enable AF_XDP support in the rpm package by: $ make rpm-fedora RPMBUILD_OPT="--with afxdp" Signed-off-by: Yi-Hung Wei <yihung.wei@gmail.com> Acked-by: William Tu <u9012063@gmail.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* rhel: Update '--with-dpdk' argument for DPDK 20.11.Timothy Redaelli2021-02-021-1/+1
| | | | | | | | | | | | | With DPDK 20.11, meson and pkgconfig are used instead of the old Makefile-based system and so --with-dpdk option is changed to only accept shared or static instead of the directory. This commit uses --with-dpdk=shared since Fedora and RHEL ship shared libraries of DPDK. Fixes: 252e1e576443 ("dpdk: Update to use DPDK v20.11.") Signed-off-by: Timothy Redaelli <tredaelli@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* rhel: Fix libunwind dev package.Yalei Li2021-01-131-1/+1
| | | | | | | | | | There is no unwind-devel package, only libunwind-devel package is found. No error is reported with libunwind-devel during compilation. Fixes: 7e0c91eb0714 ("debian and rhel: Add libunwind dev package.") Signed-off-by: Yalei Li <liyl43@chinatelecom.cn> Acked-by: Tonghao Zhang <xiangxia.m.yue@gmail.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* Update scripts to support RHEL 7.9Greg Rose2020-11-182-2/+10
| | | | | | | | Add support for RHEL7.9 GA release with kernel 3.10.0-1160 Signed-off-by: Greg Rose <gvrose8192@gmail.com> Reviewed-by: Yifeng Sun <pkusunyifeng@gmail.com> Signed-off-by: Gurucharan Shetty <guru@ovn.org>
* rhel: Fix reload of OVS_USER_ID on startup.Jaime Caamaño Ruiz2020-09-151-2/+8
| | | | | | | | | | | | | | | | | OVS_USER_ID was being picked up from a previously existing openvswitch.useropts rendering innefective any configuration change through sysconfig. There is no ordering between Exec* and Environment* stanzas of systemd, full Enviroment* is always loaded before each Exec*. We make sure that openvswitch.useropts is removed in a first Exec so that a fresh OVS_USER_ID can be picked up from config in successive Exec*. Fixes: 94e1e8b ("rhel: run ovn with the same user as ovs") Signed-off-by: Jaime Caamaño Ruiz <jcaamano@suse.com> Acked-by: Greg Rose <gvrose8192@gmail.com> Acked-by: Aaron Conole <aconole@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* rhel: Fix logrotate group when dpdk is enabled.Jaime Caamaño Ruiz2020-09-151-9/+10
| | | | | | | | Otherwise logrotate will fail to generate the rotated log files. Signed-off-by: Jaime Caamaño Ruiz <jcaamano@suse.com> Acked-by: Flavio Leitner <fbl@sysclose.org> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* rhel: openvswitch-fedora.spec.in: Fix installed but not packaged.Roi Dayan2020-07-171-0/+1
| | | | | | | | | | | | | With the cited commit, we get an error from rpmbuild about installed but not packaged /usr/lib64/libopenvswitchavx512.a. Fix it by treating it as the other la files. Fixes: 352b6c7116cd ("dpif-lookup: add avx512 gather implementation.") Signed-off-by: Roi Dayan <roid@mellanox.com> Acked-by: Ian Stokes <ian.stokes@intel.com> Tested-by: Greg Rose <gvrose8192@gmail.com> Acked-by: Greg Rose <gvrose8192@gmail.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* rhel: Fix syntax error when matching version.William Tu2020-06-221-1/+0
| | | | | | | | | | Remove the extra 'fi' in the script. VMware-BZ: #2582834 Fixed: fecb28051b35 ("rhel: Support RHEL 7.8 kernel module rpm build.") Reported-by: Abhijeet Malawade <amalawade@vmware.com> Acked-by: Greg Rose <gvrose8192@gmail.com> Signed-off-by: William Tu <u9012063@gmail.com>
* rhel: Support RHEL 7.8 kernel module rpm build.William Tu2020-06-182-3/+11
| | | | | | | | Add support for RHEL7.8 GA release with kernel 3.10.0-1127. VMware-BZ: #2582834 Acked-by: Yi-Hung Wei <yihung.wei@gmail.com> Signed-off-by: William Tu <u9012063@gmail.com>
* netdev-dpdk: Remove deprecated ring port type.Ilya Maximets2020-03-063-11/+1
| | | | | | | | | | | | | 'dpdkr' ring ports was deprecated in 2.13 release and was not actually used for a long time. Remove support now. More details in commit b4c5f00c339b ("netdev-dpdk: Deprecate ring ports.") Acked-by: Aaron Conole <aconole@redhat.com> Acked-by: David Marchand <david.marchand@redhat.com> Acked-by: Ian Stokes <ian.stokes@intel.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* Remove dependency on python3-sixTimothy Redaelli2019-12-201-1/+0
| | | | | | | | | | | Since Python 2 support was removed in 1ca0323e7c29 ("Require Python 3 and remove support for Python 2."), python3-six is not needed anymore. Moreover python3-six is not available on RHEL/CentOS7 without using EPEL and so this patch is needed in order to release OVS 2.13 on RHEL7. Signed-off-by: Timothy Redaelli <tredaelli@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* rhel: Support RHEL 7.8 kernel module rpm buildYi-Hung Wei2019-12-132-5/+15
| | | | | | | | | | | This patch supports RHEL 7.8 kernel module rpm package building. $ make rpm-fedora-kmod \ RPMBUILD_OPT='-D "kversion 3.10.0-1101.el7.x86_64"' Signed-off-by: Yi-Hung Wei <yihung.wei@gmail.com> Reviewed-by: Yifeng Sun <pkusunyifeng@gmail.com> Signed-off-by: William Tu <u9012063@gmail.com>
* rhel: Fix ovs-kmod-manage.sh that may create invalid soft linksYifeng Sun2019-11-181-3/+3
| | | | | | | | | | | | | | | Current code iterates every kernel under '/lib/modules' for a matched version. As a result, this script may create invalid soft links if the matched kernel doesn't have openvswitch-kmod RPM installed. This patch fixes it. VMWare-BZ: #2257534 Fixes: c3570519 ("rhel: add 4.4 kernel in kmod build with mulitple versions, fedora") Signed-off-by: Yifeng Sun <pkusunyifeng@gmail.com> Acked-by: Yi-Hung Wei <yihung.wei@gmail.com> Signed-off-by: William Tu <u9012063@gmail.com>
* rhel: openvswitch-fedora.spec.in: Fix output redirect to null deviceRoi Dayan2019-10-291-1/+1
| | | | | | | | Add missing slash. Fixes: 0447019df7c6 ("fedora-spec: added systemd post/postun/pre/preun sections") Signed-off-by: Roi Dayan <roid@mellanox.com> Signed-off-by: Simon Horman <simon.horman@netronome.com>
* rhel: Support RHEL7.7 build and packagingYifeng Sun2019-10-242-8/+15
| | | | | | | | | | | | | This patch provides essential fixes for OVS to support RHEL7.7's new kernel. make rpm-fedora-kmod \ RPMBUILD_OPT='-D "kversion 3.10.0-1062.1.2.el7.x86_64"' Tested-by: Greg Rose <gvrose8192@gmail.com> Reviewed-by: Greg Rose <gvrose8192@gmail.com> Signed-off-by: Yifeng Sun <pkusunyifeng@gmail.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* rhel: Remove the cond 'build_python3'Numan Siddique2019-10-211-12/+1
| | | | | | | | | | A previous patch removed python2 support from ovs. So we can remove this condition and make python3 mandatory for builds. Without this patch, make rpm-fedora on centos 7 fails unless we pass RPMBUILD_OPT="--with build_python3". Signed-off-by: Numan Siddique <numans@ovn.org> Signed-off-by: Ben Pfaff <blp@ovn.org>
* debian and rhel: Add libunwind dev package.William Tu2019-10-181-0/+1
| | | | | | | The patch add libunwind dev package to debian and rhel. Signed-off-by: William Tu <u9012063@gmail.com> Acked-by: Yi-Hung Wei <yihung.wei@gmail.com>
* ovs-vlan-bug-workaround: Remove.Ben Pfaff2019-10-142-6/+2
| | | | | | | | | | | This workaround only applied to kernels earlier than 2.6.37, but OVS only supports 3.10 and later. As the original author of this code, I won't miss it. Tested-by: Greg Rose <gvrose8192@gmail.com> Reviewed-by: Greg Rose <gvrose8192@gmail.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ovn: Remove remaining pieces.Ben Pfaff2019-09-303-17/+1
| | | | | | | | A preceding commit removed the last remaining dependencies on OVN code, so remove the OVN code. Acked-by: Han Zhou <hzhou8@ebay.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* Require Python 3 and remove support for Python 2.Ben Pfaff2019-09-271-41/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Python 2 reaches end-of-life on January 1, 2020, which is only a few months away. This means that OVS needs to stop depending on in the next release that should occur roughly that same time. Therefore, this commit removes all support for Python 2. It also makes Python 3 a mandatory build dependency. Some of the interesting consequences: - HAVE_PYTHON, HAVE_PYTHON2, and HAVE_PYTHON3 conditionals have been removed, since we now know that Python3 is available. - $PYTHON and $PYTHON2 are removed, and $PYTHON3 is always available. - Many tests for Python 2 support have been removed, and the ones that depended on Python 3 now run unconditionally. This allowed several macros in the testsuite to be removed, making the code clearer. This does make some of the changes to the testsuite files large due to indentation level changes. - #! lines for Python now use /usr/bin/python3 instead of /usr/bin/python. - Packaging depends on Python 3 packages. Acked-by: Numan Siddique <nusiddiq@redhat.com> Tested-by: Numan Siddique <nusiddiq@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* Recommend Sphinx from Python 3 in documentation and packaging.Ben Pfaff2019-09-202-2/+2
| | | | | Acked-by: Numan Siddique <nusididq@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* Remove OVN.Mark Michelson2019-09-067-579/+1
| | | | | | | | | | | | | | | | OVN is separated into its own repo. This commit removes the OVN source, OVN tests, and OVN documentation. It also removes mentions of OVN from most documentation. The only place where OVN has been left is in changelogs/NEWS, since we shouldn't mess with the history of the project. There is an exception here. The ovsdb-cluster tests rely on ovn-nbctl and ovn-sbctl to run. Therefore those ovn utilities, as well as their dependencies remain in the repo with this commit. Acked-by: Numan Siddique <nusiddiq@redhat.com> Signed-off-by: Mark Michelson <mmichels@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* rhel: Revert RHEL 7.4 comp_ver changeGreg Rose2019-09-021-1/+1
| | | | | | | | | | I looked at the wrong list of kernels when I changed the value for the RHEL 7.4 comp_ver variable. Revert that part of commit e64c2c1 ("rhel: Fix ovs-kmod-manage.sh to work with RHEL 7.3"). Fixes: e64c2c1 ("rhel: Fix ovs-kmod-manage.sh to work with RHEL 7.3") Signed-off-by: Greg Rose <gvrose8192@gmail.com> Signed-off-by: Gurucharan Shetty <guru@ovn.org>
* rhel: Fix ovs-kmod-manage.sh to work with RHEL 7.3Greg Rose2019-08-291-2/+7
| | | | | | | | | | | Add case for RHEL 7.3. This also fixes commit 22abff2 where I forgot to update the comp_ver variable for RHEL 7.5 and while I was in there I updated comp_ver for the RHEL 7.4 case as well. Fixes: 22abff2 ("rhel: Add case for RHEL 7.5 major version to...") Reviewed-by: Yifeng Sun <pkusunyifeng@gmail.com> Signed-off-by: Greg Rose <gvrose8192@gmail.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* rhel: Add case for RHEL 7.5 major version to kmod manage scriptGreg Rose2019-08-271-0/+5
| | | | | | | | | | A Centos 7.5 kernel with an unencountered set of minor build numbers caused an upgrade bug. Adding the case for the rhel 7.5 kmod management script fixes the problem. Signed-off-by: Greg Rose <gvrose8192@gmail.com> Reviewed-by: Yifeng Sun <pkusunyifeng@gmail.com> Signed-off-by: Gurucharan Shetty <guru@ovn.org>
* rhel: Fixed a bug for checking the correct major version and revision.Ashish Varma2019-07-081-7/+6
| | | | | | | | | | | | Fixed a bug where checking for major version 3.10 and major revision not equal to 327 or 693 or 957 should have gone to the default else at the end. In the current code, the default else condition will not get executed for kernel with major version 3.10 and major revision not equal to 327/693/957 resulting in failure to load the kernel module. Fixes: 402efbe4e176 ("rhel: Add 4.12 kernel support in ovs-kmod-manage.sh") Signed-off-by: Ashish Varma <ashishvarma.ovs@gmail.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* rhel: Fix upgrade pathGreg Rose2019-06-251-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | There is a bug in the upgrade path from the old kmod-openvswitch SysV based RPM to the new openvswitch-kmod systemd based RPM. Since the name of the package is changed it is not possible to use the yum or rpm upgrade options. This prevents passing in a 1 or 2 to the %postun scriptlet section of the older RPM and that causes the section to be treated as an 'erase'. The old kmod-openvswitch %postun section proceeds to erase the symlinks in ../weak-updates/openvwswitch that the installation of the new package had just created. Fix this by adding a %posttrans tag to the systemd spec file. This scriptlet is called after the symlinks have just been erased and it calls the ovs-kmod-manage.sh script to recreate the symlinks and run depmod -a again so that the correct kernel modules will be found and loaded. VMware-BZ: #236987 Cc: Aaron Conole <aconole@redhat.com> Cc: Flavio Leitner <fbl@redhat.com> Signed-off-by: Greg Rose <gvrose8192@gmail.com> Acked-by: Aaron Conole <aconole@redhat.com>
* rhel: let *-ctl handle runtime directoryJaime Caamaño Ruiz2019-06-101-3/+1
| | | | | | | | | | | | | | | | | | Recent versions of systemd restores RuntimeDirectory ownership to the unit's User in between execution of *Exec directives (see [1]). Using ExecStartPre to reset RuntimeDirectory ownership to OVS_USER no longer works as expected. The ctl scripts already handle creation of the runtime directory with correct ownership and permissions so we can basically remove RuntimeDirectory from systemd unit file. There is still need to handle ownsership to cover some upgrade scenarios, but success of that will be optional as the directory itself wont exist at first time run. [1] https://github.com/systemd/systemd/issues/12713 Signed-off-by: Jaime Caamaño Ruiz <jcaamano@suse.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* rhel: Fix ovn database dir optional on first runJaime Caamaño Ruiz2019-06-101-1/+1
| | | | | | | | | OVN database directory is createid on first run so make ownership handling optional. Fixes: 94e1e8be3187 ("rhel: run ovn with the same user as ovs") Signed-off-by: Jaime Caamaño Ruiz <jcaamano@suse.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* rhel: set useropts optional for ovsdb-serverJaime Caamaño Ruiz2019-06-101-1/+1
| | | | | | | | | | systemd assesses the presssence of all EnvironmentFile before execution of Exec* directives, thus useropts needs to be optional even though it will always be created at ExecStartPre. Fixes: 94e1e8be3187 ("rhel: run ovn with the same user as ovs") Signed-off-by: Jaime Caamaño Ruiz <jcaamano@suse.com> Signed-off-by: Ben Pfaff <blp@ovn.org>