summaryrefslogtreecommitdiff
path: root/.cirrus.yml
Commit message (Collapse)AuthorAgeFilesLines
* cirrus: Update to use FreeBSD 12.4.Ilya Maximets2023-01-091-1/+1
| | | | | | | | 12.4 was released in December. That means that 12.3 will become unavailable in a near future. Updating. Acked-by: Aaron Conole <aconole@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* cirrus: Upgrade to FreeBSD 13.1 image.Ilya Maximets2022-09-121-1/+1
| | | | | | | | | | 13.1 got released in May and now we have problems updating some packages in 13.0 and CI is failing. Update to 13.1 to unblock the CI. Acked-by: Dumitru Ceara <dceara@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-1/+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>
* cirrus: Update FreeBSD versions.Rosemarie O'Riorden2022-04-151-2/+2
| | | | | | | | Updated 12.2 to 12.3 and 11.4 to 13.0. 'pkg update' fails on 12.2. 11.4 has reached end of life. Signed-off-by: Rosemarie O'Riorden <roriorden@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* python: Replace pyOpenSSL with ssl.Timothy Redaelli2021-11-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Currently, pyOpenSSL is half-deprecated upstream and so it's removed on some distributions (for example on CentOS Stream 9, https://issues.redhat.com/browse/CS-336), but since OVS only supports Python 3 it's possible to replace pyOpenSSL with "import ssl" included in base Python 3. Stream recv and send had to be splitted as _recv and _send, since SSLError is a subclass of socket.error and so it was not possible to except for SSLWantReadError and SSLWantWriteError in recv and send of SSLStream. TCPstream._open cannot be used in SSLStream, since Python ssl module requires the SSL socket to be created before connecting it, so SSLStream._open needs to create the socket, create SSL socket and then connect the SSL socket. Reported-by: Timothy Redaelli <tredaelli@redhat.com> Reported-at: https://bugzilla.redhat.com/1988429 Signed-off-by: Timothy Redaelli <tredaelli@redhat.com> Acked-by: Terry Wilson <twilson@redhat.com> Tested-by: Terry Wilson <twilson@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* cirrus: Reduce memory requirements for FreeBSD VMs.Ilya Maximets2021-09-231-1/+1
| | | | | | | | | | | | According to memory usage graphs, our builds are using 3GB at most. Reducing memory requirements to 4GB to have some room. This change doesn't affect time needed to finish the build, but should have a slight positive effect on scheduling time on a community cluster. And it's also not cool from our side to reserve shared resources that we're not using, while they could be used by some other project. Signed-off-by: Ilya Maximets <i.maximets@ovn.org> Acked-by: Aaron Conole <aconole@redhat.com>
* cirrus: Look up existing versions of python dependencies.Ilya Maximets2021-05-111-2/+3
| | | | | | | | | | | | | | | | | | | | | | | FreeBSD sometimes changes the base version of python3 that is used for packages. This affects package names. For example, currently CI is broken, because there is no more py37- versions of sphinx and openssl available, only py38- ones: pkg: No packages available to install matching 'py37-openssl' have been found in the repositories pkg: No packages available to install matching 'py37-sphinx' have been found in the repositories We had the same issue last year with 3.6 -> 3.7 transition: dfa2e3d04948 ("cirrus: Use python 3.7 packages on FreeBSD.") Fixing that by searching for a package instead of using a specific version. This should help to avoid same issues in the future. Signed-off-by: Ilya Maximets <i.maximets@ovn.org> Reviewed-by: Aaron Conole <aconole@redhat.com> Acked-by: Kevin Traynor <ktraynor@redhat.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
* cirrus: Use FreeBSD 12.2.Ilya Maximets2021-02-101-1/+1
| | | | | | | | FreeBSD 12.1 reached EOL and our builds are failing on Cirrus CI. Updating to 12.2 - current production release. Acked-by: Flavio Leitner <fbl@sysclose.org> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* cirrus: Use FreeBSD 11.4.Ilya Maximets2020-09-161-1/+1
| | | | | | | | Support cycle of 11.3 ends in the end of September 2020, so we need to upgrade. Signed-off-by: Ilya Maximets <i.maximets@ovn.org> Acked-by: Aaron Conole <aconole@redhat.com>
* cirrus: Force pkg update on FreeBSD.Ilya Maximets2020-03-271-0/+1
| | | | | | | | | | | | | | | | | Seems like FreeBSD ports/images are not well maintained and frequently causes package installation failures like this: [1/40] Fetching automake-1.16.1_2.txz: .......... done pkg: cached package automake-1.16.1_2: size mismatch, fetching from remote [2/40] Fetching automake-1.16.1_2.txz: .......... done pkg: cached package automake-1.16.1_2: size mismatch, cannot continue Consider running 'pkg update -f' Forced update doesn't increase build time significantly, but helps to solve at least this one kind of issues. Acked-by: William Tu <u9012063@gmail.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* cirrus: Use python 3.7 packages on FreeBSD.Ilya Maximets2020-01-031-1/+1
| | | | | | | | Python 3.6 versions of these packages are no longer available in FreeBSD ports. Signed-off-by: Ilya Maximets <i.maximets@ovn.org> Acked-by: Ben Pfaff <blp@ovn.org>
* Remove dependency on python3-sixTimothy Redaelli2019-12-201-1/+1
| | | | | | | | | | | 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>
* cirrus: Use FreeBSD 12.1 stable release.Ilya Maximets2019-12-131-1/+1
| | | | | | | | freebsd-12-0-snap image family suddenly removed from the gCloud, so can not be used anymore. Updating to more recent 12.1 releases. Signed-off-by: Ilya Maximets <i.maximets@ovn.org> Acked-by: Ben Pfaff <blp@ovn.org>
* cirrus: Use latest stable FreeBSD images.Ilya Maximets2019-10-101-2/+2
| | | | | | | | | | | | | | | | | | CirrusCI recently introduced [1] new feature to use image families instead of bare image names for gCloud based instances. This allows us to use most recent stable builds. All the stable builds are in the same image family in gCloud and it will run instances using the most recent one. This also allows us to simply use 11.3 image instead of 11.2. There was no such ability previously, because base freebsd-11-3-release-amd64 image has issues[2] that doesn't allow CirrusCI to use it. However, later stable 11.3 images from freebsd-11-3-snap family works fine. [1] https://github.com/cirruslabs/cirrus-ci-docs/issues/422 [2] https://github.com/cirruslabs/cirrus-ci-docs/issues/359 Signed-off-by: Ilya Maximets <i.maximets@ovn.org> Acked-by: Aaron Conole <aconole@redhat.com>
* ci: Get rid of OVS_CFLAGS in CI scripts.Ilya Maximets2019-10-041-1/+2
| | | | | | | | | | | | | | | | | | | Our CI scripts uses OVS_CFLAGS variable that is intended for internal usage by 'configure' script only. Usual CFLAGS should be used instead to avoid giving bad example to users. Additionally, '-m32' flag passed directly to CC variable to avoid splitting it from the compiler invocations and force same API/ABI for invocations of 'configure' and 'make'. 'BUILD_ENV' dropped as not needed anymore. Before this patch 'configure' always checked for 64bit libraries regardless of fact that we're going to build 32bit binary. This caused issues if only 64bit version of desired library was available. Suggested-by: Ben Pfaff <blp@ovn.org> Acked-by: Ben Pfaff <blp@ovn.org> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* cirrus: Fix typo in the name of sphinx package.Ilya Maximets2019-10-011-1/+1
| | | | | | | | | | This fixes broken build on CirrusCI: https://cirrus-ci.com/build/4677435792031744 CC: Ben Pfaff <blp@ovn.org> Fixes: 1ca0323e7c29 ("Require Python 3 and remove support for Python 2.") Signed-off-by: Ilya Maximets <i.maximets@ovn.org> Acked-by: Numan Siddique <nusiddiq@redhat.com>
* Require Python 3 and remove support for Python 2.Ben Pfaff2019-09-271-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* cirrus: Disable coredumps on FreeBSD.Ilya Maximets2019-05-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Some tests uses 'kill -SEGV' to simulate segfault of a child process. This causes test failures on CirrusCI because process hangs in DL state for more than 10 seconds: ./daemon-py.at:69: kill -SEGV $child daemon-py.at:69: waiting while kill -0 $child... daemon-py.at:69: wait failed after 10 seconds ./ovs-macros.at:219: hard failure Testing shows that on CirrusCI with FreeBSD 11.2 coredump takes 4+ seconds and with FreeBSD 12.0 it takes 8+ seconds for successful runs and fails the testsuite frequently. It's hard to determine the root cause, but most probably it happens because of overloaded CirrusCI community cluster. Let's just disable coredumps in 'prepare_script'. This makes no harm because we can't take them out of CI anyway. Acked-by: Aaron Conole <aconole@redhat.com> Acked-by: Ben Pfaff <blp@ovn.org> Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
* cirrus: Enable testing of Python3 and SSL.Ilya Maximets2018-12-271-2/+3
| | | | | | | | This does not increase testing time significantly, but increases the coverage. Signed-off-by: Ilya Maximets <i.maximets@samsung.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* cirrus: Enable tests on FreeBSD.Ilya Maximets2018-12-271-7/+7
| | | | | | | | | | Since all the tests fixed to work properly on FreeBSD we could enable running of the testsuite. + minor refactoring of the yml file. Signed-off-by: Ilya Maximets <i.maximets@samsung.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* cirrus: Add Cirrus CI integration for FreeBSD buildIlya Maximets2018-12-111-0/+30
CirrusCI [1] is free for open-sorce projects and provides similar to TravisCI interfaces. One significant difference is ability to run tasks on FreeBSD instances. This patch adds simple configuration file to test OVS build on two FreeBSD releases with gcc and clang. Unit tests are commented out because they are broken for now. To enable the automated checks Cirrus CI application from GitHub Marketplace should be installed. See details in Quick Start guide [2]. [1] https://cirrus-ci.org [2] https://cirrus-ci.org/guide/quick-start/ Signed-off-by: Ilya Maximets <i.maximets@samsung.com> Signed-off-by: Ben Pfaff <blp@ovn.org>