Commit Graph

55218 Commits

Author SHA1 Message Date
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
Jordan Borean
eda1383da7
Remove deprecation marker that has been actioned (#85812) 2025-09-09 06:51:21 +10:00
Jordan Borean
250610b924
Remove tarfile data_filter check (#85808)
Removes the now uneeded tarfile check for data_filter now that our
minimum Python version on the controller is 3.12 and guarantees it will
be present.
2025-09-09 04:30:54 +10:00
Jordan Borean
aad9fbd4f5
Windows async - handle trailing junk output (#85820)
Add handling for when a PowerShell module emits more than just the
module result JSON. The behaviour reflects the Python async wrapper
where trailing data after the module result will emit a warning.
2025-09-09 04:30:38 +10:00
Matt Martz
df1da0419e
Remove duplicate future import (#85824) 2025-09-08 12:26:47 -05:00
Abhijeet Kasurde
1cd4369815
fetch_file: add ca_path and cookies parameters (#85187)
* Added ca_path and cookies parameter arguments to fetch_file method
  to specify CA path and Cookies to fetch file from URL. These parameters
  are already supported by fetch_url.

Fixes: #85172

Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>
2025-09-08 14:44:17 +00:00
Martin Krizek
065f202d30
Remove (de)serialize methods (#85724)
* move task specific from_attrs to Task
* Keep deserialize on PC, add tests
2025-09-08 09:24:08 -05:00
Patrick Kingston
36f00cdf1a
Expand integration test coverage for deb822_repository module
PR #85586
2025-09-08 15:41:22 +02:00
Abhijeet Kasurde
975f60ebf9
encrypt: Remove deprecated passlib_or_crypt API (#85506)
Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>
2025-09-05 22:19:53 +00:00
Abhijeet Kasurde
a805356358
include_vars: Code cleanup and integration tests (#85292)
* Updated docs
* Removed stale code
* Added integration tests for better coverage

Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>
2025-09-05 20:18:26 +00:00
Matt Clay
a25fd1021a
ansible-test - Fix traceback on missing tmp dir (#85814) 2025-09-05 18:15:43 +00:00
Jordan Borean
f29d432c69
powershell - remove quoting logic (#85781)
Attempts to simplify the PowerShell code and special edge cases that
removes quotes from a value like a src or destination path on Windows
hosts. This should not be needed as paths should not be quoted when it
comes to this section of the code.

ci_complete
2025-09-05 11:21:58 +10:00
Jordan Borean
a345a404e0
shell - deprecates the wrap_for_exec API (#85782)
Deprecates the function `wrap_for_exec` on shell plugins. This is to
simplify the API and remove unecessary components that should live
elsewhere or have a better and more flexible API.
2025-09-05 11:21:18 +10:00
Jordan Borean
3582997698
Remove deprecated vars plugin fallback (#85809)
* Remove deprecated vars plugin fallback

Removes the vars plugin `get_host_vars` and `get_group_vars` fallback
which was deprecated.

* Remove integration tests for removed feature
2025-09-05 01:09:02 +00:00
Jordan Borean
94c78cb38f
Removed deprecated DEFAULT_TRANSPORT smart option (#85810)
* Removed deprecated DEFAULT_TRANSPORT smart option

Removes the logic for handling `DEFAULT_TRANSPORT` set to `smart`.

* Remove unused import
2025-09-05 10:58:04 +10:00
Matt Martz
c59db5349e
Add typing to to_text and to_bytes, improve typing and type juggling in DataLoader (#85746) 2025-09-04 18:57:35 -05:00
Felix Fontein
4209d714db
validate-modules and return fragments: fix bug in markup check, fix bug in missing doc fragment check, add tests (#85638)
* Prevent crashing on invalid structure.

* Also process return doc fragments.

* Fix handling of missing doc fragments.
2025-09-03 21:52:22 +00:00
Felix Fontein
4c27ccf8f4
default callback: allow to configure indentation (#85497)
* Comment on PyYAML's behavior if indentation is set to 1, or to 10+.
2025-09-03 21:17:50 +00:00
Abhijeet Kasurde
d93f63ecfb
apt_repository: Use correct debug method (#85786)
* Use self.module.debug method instead of non-existent
  self.debug method

Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>
2025-09-02 16:09:32 -07:00
Sloane Hertel
0ed37ca899
setup - add logical volume facts scoped by volume group (#85705)
Add an 'lvs' key to each value in ansible_facts['vgs'] to support extracting all logical volume facts.

Add note to consider deprecating ansible_facts['lvs'] in a future release since it is misleading if any volume groups have identical logical volume names.

Fixes #85632
2025-09-02 13:30:03 -04:00
Abhijeet Kasurde
7b1644e0b3
dnf: Check if installroot is directory or not (#85748)
* dnf: Check if installroot is directory or not

* dnf library creates installroot if it is missing.
  check if installroot is directory or not.

Fixes: #85680

Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>
2025-09-02 11:11:30 -04:00
Abhijeet Kasurde
a8dc3fae1e
cron: misc fixes (#85733)
* removed elif in when return is used
* removed redundant module.exit_json

Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>
2025-09-02 11:08:05 -04:00
Matt Clay
be9e57366b
ansible-test - Update Ansible Core CI auth (#85717)
Implement new authentication methods for accessing the Ansible Core CI service.
2025-08-29 15:22:09 -07:00
Matt Clay
e8a3be9de5
ansible-test - Update sanity test and coverage requirements (#85761)
* ansible-test - Update sanity test requirements

* ansible-test - Update coverage to 7.10.5
2025-08-28 17:50:05 +00:00
Martin Krizek
6976e13075
ternary: evaluate values lazily (#85752)
Fixes #85743
2025-08-28 09:11:09 +02:00