55257 Commits

Author SHA1 Message Date
Matt Davis
558676fcdc Fix marker handling in templating (#85690)
* allow markers to pass through template lookup
* avoid tripping markers within Jinja generated code

Co-authored-by: Matt Clay <matt@mystile.com>
2025-08-18 13:04:23 -07:00
Matt Davis
3518d48146 ensure undefined marker access on Jinja getattr->getitem fallback (#85688)
Co-authored-by: Matt Clay <matt@mystile.com>
2025-08-18 11:42:15 -07:00
Matt Davis
0467e1eaa9 add known_issues for Jinja set/with (#85677) 2025-08-15 22:37:40 +00:00
Matt Davis
5345ac9911 eliminate None template nodes in _flatten_nodes (#85676)
* defers value or concat choice until Nones are gone
* fixes None -> empty string for TemplateModule cases
* add tests
2025-08-15 15:13:10 -07:00
Abhijeet Kasurde
603dd2d793 test: Remove redundant Python 3 condition (#85664)
Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>
2025-08-15 12:24:33 -07:00
Ketan Kelkar
18289c403d Blockinfile - Add new module option - 'encoding' (#85291)
Signed-off-by: Ketan Kelkar <ktnklkr@gmail.com>
Signed-off-by: Yogesh Rana <Yogesh.Rana@ibm.com>
Co-authored-by: Yogesh Rana <Yogesh.Rana@ibm.com>
Co-authored-by: Yogesh Rana <36674300+yrana17@users.noreply.github.com>
Co-authored-by: Matt Martz <matt@sivel.net>
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2025-08-14 16:16:53 -05:00
Matt Davis
e3c9908679 Backward-compatible None handling in template concat and argspec str (#85652)
* templating coerces None to empty string on multi-node result

* avoid simple cases of embedded `None` in multi-node string concatenated template results ala <=2.18
* single-node template results preserve NoneType

* add None->empty str equivalency to argspec validation

* fix integration tests
* remove conversion error message check from apt_repository test
* remove error message check on `None` value for required str argspec in roles_arg_spec test (now logically-equivalent to empty string)

* explanatory comment for None->empty str coalesce
2025-08-13 22:05:01 +00:00
Matt Clay
76748b8478 Fix filter plugin result processing (#85653) 2025-08-13 14:20:11 -07:00
Matt Clay
00fe38215c Fix slicing of tuples in templating (#85608)
* Fix slicing of tuples in templating

* Improve lazy container test coverage
2025-08-12 23:57:19 +00:00
Ketan Kelkar
4cb5fe44b6 Lineinfile - Add new module option - 'encoding' (#84999)
Signed-off-by: Ketan Kelkar <ktnklkr@gmail.com>
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
Co-authored-by: Matt Martz <matt@sivel.net>
2025-08-12 15:37:33 -05:00
Abhijeet Kasurde
90f62f3fdf regex: validate input before processing (#85629)
* Validated user input for match_type before processing
* added new match_type 'fullmatch'

Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>
2025-08-12 08:01:26 -07:00
Martin Krizek
0cc771dc3c six cleanup (#85284)
Co-authored-by: Matt Clay <matt@mystile.com>
2025-08-12 12:19:49 +02:00
Felix Fontein
45d62a726c ansible-doc: show 'notes', 'seealso', and top-level 'version_added' for role entrypoints (#81796)
* Show 'notes', 'seealso', 'requirements', and top-level 'version_added' for role entrypoints.

Co-authored-by: Matt Clay <matt@mystile.com>
2025-08-11 23:07:32 +00:00
Sloane Hertel
15e9f51e2d Task.resolved_action - fix resolving static actions consistently for callback plugins (#85524)
* Resolve static actions when the FQCN is already known or demanded by a callback plugin

shorthand syntax (e.g. "- ping:") is resolved by ModuleArgsParser

action/local_action syntax (e.g. "- action: ping") is resolved on demand

* Emit a warning if a callback plugin accesses the property when it's None. This is expected if action/local_action is a template and a callback plugin uses this value too early (like in v2_playbook_on_task_start) or late (like in v2_runner_on_ok for a task with a loop).
2025-08-11 15:04:54 -04:00
Sloane Hertel
9a6420e1d5 Fix nested import_tasks when the parent import contains a template (#85599)
* Test nested import_tasks when the parent import contains a template

* Fix templating the parent_include.args
2025-08-08 15:51:00 -04:00
Martin Krizek
4c04b8c7c3 IncludedFile: store _from args for proper deduplication (#85628)
* IncludedFile: store _from args for proper deduplication

Fixes #66497

Co-authored-by: Matt Martz <matt@sivel.net>
2025-08-07 15:52:47 -04:00
Abhijeet Kasurde
9ed7164ed6 service_facts: Handle KeyError while processing service name (#85572)
* service_facts: Handle KeyError while processing service name

As a part of follow up review,

* Handle KeyError with exception handling
* Warn user about the missing service name in the given service details

Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>
2025-08-07 15:16:52 -04:00
Matt Davis
faf86ca2b3 Add temporary module result serialization hook (#85609)
* Add temporary module result serialization hook

* Sanity test fix

---------

Co-authored-by: Matt Clay <matt@mystile.com>
2025-08-04 16:43:59 -07:00
Brian Coca
ca5871f256 add fragments to return (#72635)
* ansible-doc add ability to use doc_fragments for RETURN


---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-08-04 16:58:44 -04:00
Sloane Hertel
945516c209 ansible-galaxy - remove internal path when using AnsibleCollectionConfig.collection_paths (#85596)
* remove internal collections earlier to ignore consistently for different sub-commands

* remove internal collection handling from the dependency resolver

* add a test to ensure ansible._protomatter is not in the output of ansible-galaxy collection list

* fix existing test to ensure an error is given if no valid collection path is configured

* changelog
2025-08-04 13:45:26 -04:00
Abhijeet Kasurde
97b2242b78 wrapt: Bump version from 1.15.0 to 1.17.2 (#85500)
Fixes: #85407

Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>
2025-07-31 11:35:16 -04:00
Patrick Kingston
817f0af239 pip - fix reporting changed for empty venv creation (#85556)
* Add correct empty venv creation handling

Makes the module exit with changed=True
when an empty venv is created with correct
module output

* Add tests for creating an empty venv
2025-07-31 10:11:04 -04:00
Martin Krizek
c0256d6edf dnf/dnf5: address issues discovered in 2.16 yum tests (#83659)
Fixes #85554
2025-07-31 15:08:30 +02:00
Matt Clay
dc5209a3fd ansible-test - Replace TypeVar usage (#85603) 2025-07-30 19:04:47 -07:00
Matt Clay
5083eaffc6 Eliminate more TypeVar and ParamSpec usage (#85602) 2025-07-30 17:51:55 -07:00
Matt Clay
f2612fbe3a Drop Python 3.11 controller support (#85590) 2025-07-30 16:39:38 -07:00
Matt Clay
8aad1418f6 Ignore failing unarchive test on FreeBSD (#85601) 2025-07-30 22:42:38 +00:00
Brian Coca
29a298a617 test fix to avoid permissions issue (#85598) 2025-07-30 12:54:44 -07:00
Matt Martz
f51e626c32 Move the shell target to group4 controller (#85594)
* Move the shell target to group4 controller

* rename shell target to shell-plugins
2025-07-30 10:25:13 -07:00
Brian Coca
5faa256178 ansible-galaxy, dont display internals (#85571)
Also note broken test for invalid collection paths

Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
2025-07-30 15:08:12 +00:00
Maxime
340ca1b493 Fix code typo in docstring of DataLoader (#85570) 2025-07-29 14:59:47 -07:00
Martin Krizek
fcb829f724 Fix incorrect return value type of _copy_included_file (#85472) 2025-07-29 20:36:36 +02:00
Martin Krizek
ac5eb232e9 Do not re-add tags on blocks from within import_tasks (#85471) 2025-07-29 11:11:23 -05:00
Abhijeet Kasurde
e62cfa2c02 test: correct variable in debug (#85529)
Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>
2025-07-29 11:08:29 -04:00
Matt Clay
62dc40ce1c Update azure-pipelines-test-container (#85578) 2025-07-28 18:29:00 -07:00
Matt Clay
5fbce46dcf ansible-test - Update pinned sanity test requirements (#85577) 2025-07-29 01:19:34 +00:00
Matt Clay
6b2b665ef7 Add support for Python 3.14 and drop Python 3.8 (#85576) 2025-07-28 16:16:14 -07:00
Matt Clay
647e7409eb Avoid mocker fixture in copy unit tests (#85575)
The mocker fixture does not clean up mocks early enough, which can cause problems for pytest infrastructure.
2025-07-28 22:04:36 +00:00
Matt Clay
43a20c9f68 Fix paramiko deprecation unit test (#85573)
The unit test previously assumed paramiko was installed, and would fail if it was not.
2025-07-28 20:47:14 +00:00
Matt Clay
9b266da14f ansible-test - Update containers and remotes (#85562) 2025-07-26 01:43:40 +00:00
Matt Clay
58c9f48029 ansible-test - Replace FreeBSD 14.2 with 14.3 (#85561)
* ansible-test - Replace FreeBSD 14.2 with 14.3

* Fix CA bundle search priority
2025-07-25 18:09:37 -07:00
Matt Clay
2e71e5aeb9 ansible-test - Replace RHEL 9.5 with 9.6 (#85558) 2025-07-25 22:11:24 +00:00
Matt Clay
35830cb054 ansible-test - Fix coverage config (#85555) 2025-07-25 14:39:03 -07:00
Abhijeet Kasurde
ea238c9eb5 tqm: Use correct warning methods (#85434)
* Use display.error_as_warning instead of self.warning
* Use display.error_as_warning instead of display.warning_as_error.

Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>
2025-07-24 21:35:30 -07:00
Matt Clay
ee297bb7ca ansible-test - Limit bootstrap package install retries (#85544) 2025-07-24 21:09:30 -07:00
Matt Clay
853752a3eb ansible-test - Upgrade to coverage 7.10.0 (#85541) 2025-07-24 21:09:06 -07:00
Abhijeet Kasurde
181dbdbf27 filter: update integration tests (#84990)
Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>
2025-07-24 15:37:15 +00:00
Matt Clay
cdb7af094b ansible-test - Use OS packages on FreeBSD 13.5 (#85530) 2025-07-23 21:42:45 +00:00
Brian Coca
19f9c66004 plugin config options are now correctly fetched with origin (#85488)
* also update callbcacks, since they override these functions
due to backwards compat _options being taken for CLI
2025-07-23 11:49:14 -04:00
Aditya Putta
a0d56d2f4f Usage of 'sleep' parameter in ansible.builtin.wait_for_connection (#85435)
Signed-off-by: Aditya Putta <puttaa@yahoo.com>
Co-authored-by: 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) <wk.cvs.github@sydorenko.org.ua>
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2025-07-22 19:51:20 +00:00