Sometimes, AZP would mark steps in jobs as cancelled when they've
actually exited successfully but on the boundary of the default
60-minute timeout. Such logs might be difficult to reason about.
Additionally, `entry-point.sh` sets a 60-minute timeout for the main
test invocation but it would never trigger earlier that AZP would kill
such a job as the job-global timeout was 60 minutes already and it'd
always be hit earlier than the test runner one.
The patch sets maximum observable job timeouts with extra buffer to
account for flakiness.
PR #86073
(cherry picked from commit 730af32)
Co-authored-by: Matt Clay <matt@mystile.com>
This patch fixes integration test jobs running under RHEL 10.0 that don't have this extension pre-installed.
Co-Authored-By: sivel / Matt Martz <matt@sivel.net>
(cherry picked from commit 69c9fbed26)
* Use codecov-cli for uploads (#85386)
ci_coverage
ci_complete
(cherry picked from commit 4a03ccbd41)
* 🧪 Pin codecov-cli deptree used in AZP
PR #85888
`codecov-cli == 11.0.3` allows `click == 8.3.0` in its deps but the latter causes commit auto-discovery breakage in the former. With https://github.com/getsentry/prevent-cli/pull/95, `codecov-cli == 11.2.3` excludes this version so this patch updates the requirement to that.
To prevent this from happening again, the change also makes use of a pip constraint file that pins the entire dependency tree to concrete versions. The constraint file is managed by `pip-tools`.
Refs:
* https://github.com/getsentry/prevent-cli/pull/95
* https://github.com/pallets/click/issues/3066
ci_coverage
ci_complete
(cherry picked from commit 1e572ba5cc)
---------
Co-authored-by: Matt Clay <matt@mystile.com>
* Prevent run_command output truncation or hang
In cases when the selector used to monitor stdout/stderr activates without
data ready to read (a rare but normal condition), a read from a non-blocking
FD can return `None`, which was being conflated with an empty read (EOF)
condition. This caused the selector to be unregistered prematurely,
sometimes resulting in truncated output or hangs. `None` read results
are now excluded from EOF conditions.
* add changelog
---------
(cherry picked from commit 79ddee1)
Co-authored-by: Chris Meyers <chrismeyersfsu@users.noreply.github.com>
Co-authored-by: Matt Davis <nitzmahone@redhat.com>
* ansible-test - Add RHEL 10.0 remote (#85189)
* ansible-test - Add RHEL 10.0 remote
* Update tests for RHEL 10
* Fix iptables test
* Rework rpm_key integration test
(cherry picked from commit 53b0f1645b)
* Remove unsupported sub_key tests
* Enable vendored copy of distutils in entry_point test (#82232)
* Enable use of vendored copy of distutils by removing
the environment variable SETUPTOOLS_USE_DISTUTILS
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 1a759659fe)
* Add RHEL 10 support to dnf test
* Adjust signature check in tests
* use yum
The dnf action plugin is not able to redirect to yum (the value of `pkg_mgr` in RHEL 7) in 2.16 before yum removal.
* Use redhat-*-fonts for yum test
The lohit-*-fonts are not available on RHEL 10.
* yum integration tests fixes
* use fonts package available in "all" RHEL versions
* use dnf Python module to retrieve the releasever value
* fix sanity
* zlib not available on RHEL10
---------
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
Co-authored-by: Martin Krizek <martin.krizek@gmail.com>
* default svn URL to 127.0.0.1 for subversion integration tests
* svn client gives up before trying IPv4 addresses when localhost->(::1,127.0.0.1) in dual-stack envs (eg podman, most real hosts)
* svn client also requires legacy CN match on cert
* IPv6 works, but setup playbook would need a bunch more templating exceptions to conditionally manage `[::1]`
* explain IPv4 defaults
(cherry picked from commit 4aa109897f)
Co-authored-by: Matt Davis <6775756+nitzmahone@users.noreply.github.com>
Also added automatic retries on HTTP request exceptions, since all currently implemented methods (GET/PUT/DELETE) are idempotent.
(cherry picked from commit 7677bf1c9b)
Use the changelog sanity test requirements instead of the package-data sanity test requirements.
This enables removal of most package-data sanity test requirements, as they are no longer used by the test itself.
The additional requirements were being maintained only to provide pinned requirements for building the changelog during a release.
(cherry picked from commit cd342f76b4)
Fixes the coverage path translation for modules located in integration
test paths. Instead of trying to match by the unique temporary path name
that the module is executed as, the reporting tool will translate it to
the static path that the module is actually located under.
(cherry picked from commit f9b58fa13f)
This is necessary because the openSUSE repo in use [[1]] got package
updates on Dec 17, 2024. Our tests require "any" version of the
`subversion` and `subversion-server` packages. So with `subversion`
being pre-installed, it remained on some older version while the
playbook installed the latest version of `subversion-server`. This
caused Apache to fail loading the corresponding module
`mod_dav_svn.so`. The task invoking `httpd` is asynchronous and no
logic checks that it started correctly before attempting to run the
tests — it only checks for the `svn` binary presence.
This is how the problem manifests itself when the server is spawned
interactively:
```
root@2d3bae23bb22:/$ apachectl -k start -f /tmp/ansible-svn/subversion.conf
which: no w3m in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin)
which: no lynx in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin)
httpd-prefork: Syntax error on line 3 of /tmp/ansible-svn/subversion.conf: Cannot load /usr/lib64/apache2/mod_dav_svn.so into server: /usr/lib64/apache2/mod_dav_svn.so: undefined symbol: svn_repos__validate_new_path
```
This patch addresses the issue by setting minimum required version to
install to what's currently the latest.
[1]: http://download.opensuse.org/update/leap/15.5/sle/x86_64/
The test has been updated to use a custom type which does not support pickling,
instead of relying on Jinja's `Undefined` type. As of Jinja 3.1.5 that type now
supports pickle, which breaks the original implementation of the test.
(cherry picked from commit 5ec236b)