Commit Graph

55192 Commits

Author SHA1 Message Date
Brian Coca
ccfb7b1364
Fix include_role error consitency and add rescueable option (#86012)
* include_role now behaves more like task on error

changes _from errors from syntax to task failures, by default
which makes it more consistent with other existing errors
 * also force 'missing role' to behave as syntax error when false
 * also error when subdir does not exist, previouslly we ignored missing
   file
 * add 'rescuable' toggle to allow user to chose error type

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
2025-10-20 19:19:11 -04:00
Brian Coca
1cb2932c95
config lookup, fix 'show_origin' and variables (#85356)
show_origin and variable sources were broken for base config when 'forked' from plugins
---------
Co-authored-by: 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) <wk.cvs.github@sydorenko.org.ua>
2025-10-20 19:15:00 -04:00
Jordan Borean
99bb587906
Remove AddType warning for cleanup (#86029)
Removes the warning emitted when using Add-Type and the cleanup of temp
files fails due to a file still being in use. The cleanup should be
handled by AnsibleModule on exit giving it more time to wait for any
open file handles to close. The exception is still present if calling
`Add-CSharpType` without an `AnsibleModule` object.
2025-10-21 06:35:31 +10:00
Brian Coca
22721b5d63
Slurp armor option (#85986)
* slurp, add option to deactivate the armor

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2025-10-17 18:09:30 -04:00
Sviatoslav Sydorenko
823c117563 Fix dry-run for notifications @ publish-codecov
Apparently `codecovcli send-notifications` does not have a `--dry-run`
CLI option. This patch stops adding it to the command and implements
an external `dry-run` mode in the wrapper script or this case instead.

This is a follow-up for #85968.

Co-authored-by: Matt Clay <matt@mystile.com>
2025-10-16 23:28:14 +02:00
sivel / Matt Martz
1a3e63c794
Don't deprecate six yet (#86020) 2025-10-16 12:56:23 -05:00
🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко)
2799a684fc
Explicitly notify Codecov about upload completion (#85968)
This patch add an additional invocation of Codecov CLI that tells the
backend that we're done uploading. It is supposed to stop Codecov from
guessing whether to wait for more uploads for the CI or start
processing them already.

Upstream refs:
* https://docs.codecov.com/docs/cli-options#send-notifications
* https://docs.codecov.com/docs/notifications#preventing-notifications-until-youre-ready-to-send-notifications
* https://docs.codecov.com/docs/codecovyml-reference#codecovnotifymanual_trigger
* https://github.com/codecov/codecov-cli/pull/195 (d634ebd8f2)
* https://github.com/codecov/codecov-action/issues/1436
* https://github.com/codecov/engineering-team/issues/107
* https://github.com/codecov/roadmap/issues/20
* https://github.com/codecov/feedback/discussions/204#discussioncomment-8796433
* https://github.com/codecov/engineering-team/issues/1245
* https://github.com/codecov/engineering-team/issues/3
* https://github.com/codecov/worker/pull/14 (71626b6368)
2025-10-15 08:50:25 -07:00
Martin Krizek
05d5b0f168
Avoid the ssh-agent exiting before tests end (#85979)
There were couple of occurrences where the hard 30 seconds limit on
running ssh-agent was not enough for the test to run and the ssh-agent
was killed resulting in the test failing with "Connection refused". This
change just lets the agent run in the background and kills it
manually after the tests finish.
2025-10-15 08:23:31 +02:00
sivel / Matt Martz
726e8d6548
Bump devel to 2.21 (#85992) 2025-10-14 15:35:21 -05:00
Michał Gąsior
9fcf1f7c58
Fix psrp - ReadTimeout exceptions now mark host as unreachable (#85974)
* psrp - ReadTimeout exceptions now mark host as unreachable

* add try to _exec_psrp_script

* fix indent E111

* update raise format

switch to raise Exception from e

Co-authored-by: Jordan Borean <jborean93@gmail.com>

---------

Co-authored-by: Jordan Borean <jborean93@gmail.com>
2025-10-15 05:59:00 +10:00
sivel / Matt Martz
c02f59ca3a
fix urls in additional ansible-doc test (#85988) 2025-10-14 13:05:39 -05:00
Matt Clay
83c79240ec
ansible-test - Update base/default/distro containers (#85985) 2025-10-13 16:39:17 -07:00
Matt Clay
7c2311d547
ansible-test - Upgrade coverage to 7.10.7 (#85981) 2025-10-13 14:30:14 -07:00
Matt Clay
de7dd5bbb2
ansible-test - Update pinned pip to 25.2 (#85982) 2025-10-13 21:00:17 +00:00
sivel / Matt Martz
5a9afe4409
Fix signal propagation (#85907) 2025-10-13 15:38:12 -05:00
Matt Clay
9ee667030f
ansible-test - Update sanity test requirements (#85980) 2025-10-13 12:32:39 -07:00
Matt Clay
82b64d4b69
ansible-test - Update base/default containers (#85967) 2025-10-09 20:58:50 +00:00
Matt Clay
06456c68ec
Use bcrypt < 5 for unit tests (#85969) 2025-10-09 19:32:27 +00:00
Sviatoslav Sydorenko
53afc6f203 Mention pkg name in package-data sanity output
The logs were displaying a series of numbers in parens like `(66.1.0)`
at the end of each error line. its unintuitive what that means. I had
to look into the source code to confirm my suspicion of it being the
version of `setuptools`. This patch spells it out.
2025-10-09 00:40:59 +02:00
Sviatoslav Sydorenko
0cd36ce6d0 Use strict_optional @ ansible.galaxy.dependency_resolution
This patch drops unnecessary default for
`CollectionDependencyProvider`'s `concrete_artifacts_manager` argument
as it is always passed, in every place across the code base where the
provider is constructed.

It was also causing MyPy violations on calls to
`_ComputedReqKindsMixin.from_requirement_dict()` in the "strict
optional" mode which is now enforced for $sbj, while remaining
disabled globally.

It is a #85545 follow-up.
2025-10-07 22:11:58 +02:00
Sviatoslav Sydorenko
c9131aa847 Type-annotate ansible.galaxy.dependency_resolution
This patch is a combination of `pyrefly autotype` and manual
post-processing. Parts of it migrate pre-existing comment-based
annotations, fixing incorrect ones where applicable.

The change also configures MyPy to run checks against actual
`resolvelib` annotations and includes a small tweak of
`ansible.galaxy.collection._resolve_depenency_map` to make it
compatible with those.

Co-Authored-By: Jordan Borean <jborean93@gmail.com>
Co-Authored-By: Matt Clay <matt@mystile.com>
Co-Authored-By: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
2025-10-07 09:55:10 +02:00
David Shrewsbury
feda8fc564
Fix flakey get_url test (#85953) 2025-10-06 18:42:03 -07:00
sivel / Matt Martz
6673a14a9e
Update DataLoader.get_basedir to be an abspath (#85940) 2025-10-06 09:22:47 -05:00
s-hamann
0c7dcb65cf
fetch - return file in result when changed is true (#85729)
Set the (source) file attribute in the return value if the file changed
(e.g. on initial fetch). The attribute is already set in all other
cases.
2025-10-03 08:28:41 -04:00
Martin Krizek
686c3658ae
Deprecate ansible.module_utils.six (#85934)
* Deprecate `ansible.module_utils.six`

Fixes #85920
2025-10-02 13:17:03 -05:00
Sloane Hertel
cb2ecda514
Remove support for resolvelib < 0.8.0 (#85936)
* Remove support for resolvelib < 0.8.0

Remove code handling differences between resolvelib 0.5.3 and 0.8.0

Drop some versions from the test to reduce the time it takes to run

Co-authored-by: Sviatoslav Sydorenko <wk@sydorenko.org.ua>

* Remove type annotation

---------

Co-authored-by: Sviatoslav Sydorenko <wk@sydorenko.org.ua>
2025-10-01 14:33:21 -07:00
Martin Krizek
313c6f6b4d
Don't special case implicit meta tasks when filtering on tags (#85805)
* Don't special case implicit meta tasks when filtering on tags

Fixes #85475
2025-10-01 17:44:53 +00:00
Abhijeet Kasurde
6bee84318d
known_hosts: return rc and stderr in fail_json (#85871)
* When ssh-keygen fails, return rc and stderr in fail_json
  in order to help debugging.

Fixes: #85850

Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>
2025-10-01 16:07:29 +00:00
Martin Krizek
c3f87b31d1
import_tasks processing closer to include_tasks (#85877)
Fixes #69882
Closes #83853
Fixes #85855
Fixes #85856
2025-10-01 09:56:14 +02:00
Abhijeet Kasurde
c5e6227bdb
falsy: Update doc (#85913)
Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>
2025-09-30 17:19:10 +02:00
Luca Steinke
eafa139f77
fix description of truthy test (#85911)
There's a "not" too much here.

Maybe further examples can be found.
2025-09-30 17:18:38 +02:00
Felix Fontein
c6d8d206af
Make sure ansible-doc doesn't crash when scanning collections whose path contains ansible_collections twice (#85361)
Ref: https://github.com/ansible/ansible/issues/84909#issuecomment-2767335761

Co-authored-by: s-hertel <19572925+s-hertel@users.noreply.github.com>
Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>
2025-09-30 10:08:43 -04:00
Matt Davis
5125ec797c
update 2.20 release codename (#85900) 2025-09-23 17:34:21 +00:00
Abhijeet Kasurde
5fc4b8c106
action: more debugging information (#85839)
* action: more debugging information

* Allow user to identify underlying problem with chmod, setfacl
  command.

Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>

* Review requests

Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>

* Review requests

Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>

* Review requests

Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>

---------

Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>
2025-09-23 17:07:00 +02:00
🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко)
1e572ba5cc
🧪 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
2025-09-23 15:07:00 +02:00
Matt Clay
58bad71859
Move display internals into _internal (#85889) 2025-09-22 16:07:10 -07:00
Chris Meyers
79ddee15a0
Prevent IO capture hang/loss in basic.run_command (#85869)
* 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

---------

Co-authored-by: Matt Davis <nitzmahone@redhat.com>
2025-09-19 16:56:21 +00:00
Sloane Hertel
27a56a34df
Add feature preview play argument spec validation (#85763)
* Add new play keyword validate_argspec

Set to True to use the play name as the argument spec identifier. A play name is required (i.e. a host pattern is not supported as an argument spec name).

Alternatively, set to a specific argument spec name.

A valid argument spec for the play is required. Example:

# playbook.meta.yml
argument_specs:
  name of the play:
    options: {}

* Play argument spec validation runs after fact gathering

Play keywords like tags are inherited and work similarly to fact gathering
2025-09-18 15:13:07 -04:00
Brian Coca
c87dc6ed7d
script inventory plugin correct error message (#85765)
type was reflecting 'converted' type, not 'pre conversion' of the data
now message points at specific data keys
add deprecation tests
2025-09-17 09:59:37 -04:00
Sloane Hertel
43bb87107d
Remove 'usage' parameter from CLI.init_parser and ansible.cli.arguments.option_helpers.create_base_parser (#85859)
The usage is generated from CLI arguments
2025-09-16 08:16:25 -07:00
Sloane Hertel
5e8815b823
Fix ansible-doc -l/-F/--metadata-dump for relative imports in filter/test plugins (#85801)
* Add test for sidecar documentation for filter plugin in a subdirectory

Fix ansible-doc --list/--list_files/--metadata-dump for relative imports in nested filter/test plugin files
2025-09-15 18:15:55 -04:00
Sloane Hertel
ced362a50d
ansible-galaxy - remove deprecated v2 API (#85830)
* ansible-galaxy - remove deprecated v2 API

Update unit tests exercising the v2 Galaxy API

Remove v2 API integration tests

* Remove internal test configuration for servers which support API v2 and v3

* Update and simplify verify tests by using the configured server list
2025-09-15 17:29:12 -04:00
Ben Buchwald
e30da51731
Fix jsonfile cache on WSL (#85816)
On WSL, `os.rename` can't correctly move a file while a handle to that file is still open. It remains half-moved where neither the source or destination seem to exist (according to `os.path.exists`). However the move seems to complete correctly when the open handle is closed.

In `BaseFileCacheModule`, when writing a cache file, a temporary file is created with `mkstemp` that returns an open file descriptor and a filename. Once the cache is written to that file, it is renamed to the correct file name with `os.rename` and then its permissions set with `os.chmod`. On WSL the `os.chmod` fails because it doesn't think the file exists yet because the file descriptor returned by `mkstemp` is still open. This PR fixes this by closing that file descriptor before renaming.

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2025-09-11 23:09:59 +00:00
Matt Clay
967d654ef6
ansible-test - More container updates. (#85843) 2025-09-11 15:56:14 +00:00
Matt Clay
9966e01f81
ansible-test - Update containers (#85842) 2025-09-10 17:32:20 -07:00
Ketan Kelkar
18691ec83f
Replace module - update string comparison method from bytes to unicode (#85785) 2025-09-10 17:31:22 -05:00
Abhijeet Kasurde
cf9d78206c
blockinfile: use line_separator variable (#85798)
* Future proofing the usage of line separator in blockinfile module.

Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>
2025-09-10 19:27:34 +00:00
Matt Clay
d2940880ed
ansible-test - Upgrade coverage to 7.10.6 (#85831) 2025-09-09 09:59:36 -07:00
Zdeněk Vydra
60511c2a08
Fix uri form-multipart to not overwrite filename to allow retries (#85010) 2025-09-09 16:09:28 +00:00
Matt Clay
ddbedc6ac6
Update mypy sanity test requirements (#85832) 2025-09-08 17:43:38 -07:00