Commit Graph

12838 Commits (698b8d64fc3a847758aa2aa96ea9bf0af55ffcce)

Author SHA1 Message Date
Jordan Borean 698b8d64fc Exclude ansible._protomatter from ansible-doc output by default (#85115)
* Exclude ansible._protomatter from ansible-doc output by default

* Added changelog

(cherry picked from commit b4741fc495)
7 months ago
Matt Davis d63f9aa38d Misc ssh agent fixes (#85238)
* Misc ssh-agent fixes

* Replace manual SIGALRM handling with new alarm_timeout context manager
* Misc error handling fixes to ssh-agent startup
* Add SSH_AGENT_EXECUTABLE config to ease failure mode testing
* 100% test coverage on agent startup failure code

Co-authored-by: Matt Clay <matt@mystile.com>

* make SSH Agent support internal

---------

Co-authored-by: Matt Clay <matt@mystile.com>
(cherry picked from commit 2a24633964)
7 months ago
Matt Clay 0576ff3e65 Add missing warning methods and args (#85225)
(cherry picked from commit eafe5fc739)
7 months ago
Matt Davis 85283e7238 Clean up TE error handling, wrap sigalrm handler (#85232)
* Clean up TE error handling, wrap sigalrm handler

* Preserve error detail on AnsibleAction and Connection exceptions.
* Remove multiple layers of unreachable or redundant error handling.
* Wrap manual alarm signal/timeout handling into a context manager, add tests.

Co-authored-by: Matt Clay <matt@mystile.com>

* update error message check in test

* update test timeout message assertions

---------

Co-authored-by: Matt Clay <matt@mystile.com>
(cherry picked from commit cbcefc53a3)
7 months ago
Brian Coca 311ef75245 async handling changed to use 'true' booleans(#85074)
async_status and async_wrrapper now use booleans instead of 0/1 for 'thruthyness'
gather_facts also updated

Co-authored-by: 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) <wk.cvs.github@sydorenko.org.ua>
Co-authored-by: Matt Clay <matt@mystile.com>
(cherry picked from commit d41a3430b7)
7 months ago
Matt Davis 5fd78b07fb Added _TEMPLAR_SANDBOX_MODE config (#85222)
* Added _TEMPLAR_SANDBOX_MODE config

* allows unsafe attribute checks to be disabled in Jinja sandbox

* Update lib/ansible/_internal/_templating/_jinja_bits.py

Co-authored-by: Matt Clay <matt@mystile.com>

---------

Co-authored-by: Matt Clay <matt@mystile.com>
(cherry picked from commit 91453e30af)
7 months ago
Matt Clay 8b0b54de38 ansible-test - Fix incorrect use of InferenceContext (#85230)
(cherry picked from commit e2a5377b9a)
7 months ago
Matt Davis 21f478e77b Decouple SSH client verbosity from Ansible display (#85224)
* decouple SSH client verbosity from Ansible display

* remove failing false-coverage unit test

(cherry picked from commit b71d9aa4a5)
7 months ago
Matt Davis 40a675543f fix from_yaml_all filter inconsistent None handling (#85223)
* fix from_yaml_all filter inconsistent None handling

* always returns empty list for None or empty string input

* deprecate non-string inputs for from_yaml and from_yaml_all

(cherry picked from commit 356bf336bd)
7 months ago
Harshvardhan Sharma fa2f1e4750 Improve SUSE distribution detection using VARIANT_ID with fallback (#85152)
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit f05b1d1ccf)
7 months ago
Martin Krizek 2adc8ae1cd dnf5 - handle all specific libdnf5 exceptions (#85175)
Fixes #84634

(cherry picked from commit 99a3346de6)
7 months ago
Martin Krizek 6f7215ca36 dnf5 tests: do not remove attr (#85218)
On RHEL 10, the attr package is in the dependency tree of dnf itself
and cannot be removed.

(cherry picked from commit a0132fec0b)
7 months ago
Matt Clay 3207e55ca2 display - Replace CRNL with NL (#85194)
(cherry picked from commit e226294855)
7 months ago
Matt Clay 424327c293 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)
7 months ago
Martin Krizek cc0ef95ce8 csvfile lookup: remove Python 2 compat (#85186)
(cherry picked from commit c6a2e5ea75)
7 months ago
Matt Clay 8bbc43efd0 Limit SSH agent DSA testing to RHEL 9 (#85193)
(cherry picked from commit 6a1c24ca99)
7 months ago
Jordan Borean 880b584124 Add support for Windows App Control/WDAC (#84898)
* Add support for Windows App Control/WDAC

Adds preview support for Windows App Control, formerly known as WDAC.
This is a tech preview feature and is designed to test out improvements
needed in future versions of Ansible.

* Use psd1 and parse it through the Ast to avoid any unexpected execution results

* Add tests for various manifest permutations

* Ignore test shebang failure

* Apply suggestions from code review

Co-authored-by: Matt Davis <6775756+nitzmahone@users.noreply.github.com>

* Use more flexible test expectations

* Add type annotations for shell functions

---------

Co-authored-by: Matt Davis <6775756+nitzmahone@users.noreply.github.com>
(cherry picked from commit 75f7b2267d)
7 months ago
Matt Clay 895af10b99 ansible-test - Improve deprecated checking type inference (#85159)
* ansible-test - Improve deprecated checking type inference

Also disabled the ``bad-super-call`` pylint rule due to false positives.

* Add type comment support

* Try without using register_transform

(cherry picked from commit e82be177cd)
7 months ago
Matt Clay 638d711a72 ansible-test - Fix option filtering (#85182)
(cherry picked from commit feda0a5c6e)
7 months ago
Matt Clay 01e97d7f80 DTFIX recategorization and error/warning refactor (#85181)
Co-authored-by: Matt Davis <nitzmahone@redhat.com>
(cherry picked from commit 242bb9ebab)
7 months ago
Martin Krizek 108f349e1d Integration tests clean up (#85130)
* Integration tests clean up

* more

* we only test with Ubuntu 24.04 on the controller

(cherry picked from commit 40c919d7bd)
7 months ago
Matt Clay 35a951b611 Expand scope of `black` sanity test (#85169)
(cherry picked from commit 97dd5f104c)
7 months ago
Lee Garrett 1381fc30a3 Mark integration tests as needs/root (#84487)
For calling setup_test_user, which adds a user to the system (and thus requiring
root):
- become
- become_su
- become_sudo
- slurp

And also:
- apt, which installs/removes system packages
- deb822_repository, which adds/removes apt repos
- hardware_facts calls losetup, which requires root
- package_facts, which installs/removes system packages

Co-authored-by: Lee Garrett <lgarrett@rocketjump.eu>
(cherry picked from commit ebd022ee42)
7 months ago
Matt Clay 0ba6145aa8 Code formatting for test/sanity/code-smell/ (#85165)
(cherry picked from commit 460343510c)
7 months ago
Jordan Borean 1bd8ed4437 Fix constructable inventory default keyed group (#85002)
Fix the logic for a constructable inventory `keyed_groups` entry to use
the `default_value` if the ``key` expression result is `None` or `omit`
and not just an empty string. This bug was introduced with the changes
in data tagging and goes back to the original behaviour.

Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
(cherry picked from commit fe2d9e316a)
7 months ago
Matt Clay 33c3844daa ansible-test - Update default containers (#85161)
(cherry picked from commit 7ac74ab591)
8 months ago
Matt Clay b6fad7bbb8 ansible-test - Update sanity requirements (#85160)
(cherry picked from commit 588410fe50)
8 months ago
Matt Davis 3a2248a992 recategorize pass over DTFIX-MERGE entries post b4 (#85155)
(cherry picked from commit f5a85493c1)
8 months ago
Matt Clay 134c8ec093 Add missing cache plugin test scenarios (#85154)
(cherry picked from commit 567fda6906)
8 months ago
Matt Davis fddda73042 ensure builtin tests always return bool (#85149)
* added unit test validation and coverage enforcement

Co-authored-by: Matt Clay <matt@mystile.com>
(cherry picked from commit e5476972da)
8 months ago
Matt Davis 60ddb2954b misc changelog and docstring cleanup (#85148)
* deferred listify_lookup_plugin_terms deprecation

Co-authored-by: Matt Clay <matt@mystile.com>
(cherry picked from commit 7be1359841)
8 months ago
Matt Davis d6a8582da7 fix ensure_type to support vaulted values (#85129)
* restored parity with 2.18

Co-authored-by: Matt Clay <matt@mystile.com>
(cherry picked from commit 9a426fe303)
8 months ago
Matt Davis df214f93a7 apply trust to declarative plugin config (#85126)
* trust strings in loaded doc fragments
* added tests
* added hard_fail_context test mechanism

Co-authored-by: Matt Clay <matt@mystile.com>
(cherry picked from commit 9efba4f972)
8 months ago
Matt Clay 38ef2b8c25 ansible-test - Relax some deprecation checks (#85122)
(cherry picked from commit 7b69cf3266)
8 months ago
Matt Clay 23f935eb0d template module - render `None` as empty string (#85121)
* template module - render `None` as empty string

* Update changelogs/fragments/template-none.yml

Co-authored-by: Matt Davis <6775756+nitzmahone@users.noreply.github.com>

---------

Co-authored-by: Matt Davis <6775756+nitzmahone@users.noreply.github.com>
(cherry picked from commit 4fe9606530)
8 months ago
Matt Davis 9fff6d433d Misc config type coercion fixes (#85119)
* remove dead config comment noise

* update `list` typed config defaults to be lists

* fix tag preservation/propagation in config
* numerous other ensure_type bugfixes
* 100% unit test coverage of ensure_type
* emit warnings on template_default failures
* fix unhandled exception in convert_bool on unhashable inputs

Co-authored-by: Matt Clay <matt@mystile.com>

---------

Co-authored-by: Matt Clay <matt@mystile.com>
(cherry picked from commit d33bedc48f)
8 months ago
omahs 121871af86 Fix typos (#85107)
(cherry picked from commit 471c5229a7)
8 months ago
Matt Davis 80af44d822 add fuzzy matching to package_data sanity (#85103)
* add fuzzy matching to package_data sanity

* relaxes exact directory matches for license files to allow setuptools > 72 to pass

* sanity

(cherry picked from commit 7e00053a30)
8 months ago
Matt Davis 8c8717a8e4 Switch to stackwalk caller ID (#85095)
* See changelog fragment for most changes.
* Defer early config warnings until display is functioning, eliminating related fallback display logic.
* Added more type annotations and docstrings.
* ansible-test - pylint sanity for deprecations improved.
* Refactored inline legacy resolutions in PluginLoader.

Co-authored-by: Matt Clay <matt@mystile.com>
(cherry picked from commit ff6998f2b9)
8 months ago
Jordan Borean 6054b29cb7
Add win_script become tests (#85079)
(cherry picked from commit e4cac2ac33)
8 months ago
Brian Coca 131175a5a6
ensure predictable permissions on module artifacts (#84948)
and test it!

(cherry picked from commit 9f894b81c2)
8 months ago
Martin Krizek 0aab250fbc
dnf5: avoid generating excessive history entries (#85065)
Fixes #85046

(cherry picked from commit cff49a62ec)
8 months ago
Brian Coca ea22e5d0dd
show internal but not hidden config options, while still hiding test options (#84997)
(cherry picked from commit aab732cb82)
8 months ago
Matt Clay e0e286c009
[stable-2.19] ansible-test - Use `-t` for container stop timeout (#85019) (#85055)
(cherry picked from commit 0aa8afbaf4)
8 months ago
Matt Davis f898f9fec6 Implement TaskResult backward compatibility for callbacks (#85039)
* Implement TaskResult backward compatibility for callbacks
* general API cleanup
* misc deprecations

Co-authored-by: Matt Clay <matt@mystile.com>

* fix v2_on_any deprecation exclusion for base

---------

Co-authored-by: Matt Clay <matt@mystile.com>
(cherry picked from commit 03181ac87b)
8 months ago
Abhijeet Kasurde ffbf121182
comment: raise an exception when an invalid option is provided (#84984)
Co-authored-by: Matt Clay <matt@mystile.com>
Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>
(cherry picked from commit 1daa8412d5)
8 months ago
Brian Coca 89a4900b61
normalize error handler choices (#84998)
use existing to avoid deprecation cycle
normalize test too

(cherry picked from commit 2cbb721f6f)
8 months ago
Matt Clay 17d4fdd883
Increase galaxy test publish timeout (#85016)
(cherry picked from commit e6dc17cda4)
8 months ago
Lee Garrett 7fc916361e
Fix test_range_templating on 32-bit architectures (#85007)
* Fix test_range_templating on 32-bit architectures

32-bit archtectures like i386, armel, armhf will fail with the error

ansible._internal._templating._errors.AnsibleTemplatePluginRuntimeError: The
filter plugin 'ansible.builtin.random' failed: Python int too large to convert
to C ssize_t

So just pick sys.maxsize (2**31 - 1) so it works on 32 bit machines.

---------

Co-authored-by: Lee Garrett <lgarrett@rocketjump.eu>
Co-authored-by: Matt Clay <matt@mystile.com>
(cherry picked from commit 5f6aef95ac)
8 months ago
Matt Davis 82ea3addce
Miscellaneous fixes (#85012)
* Add help_text to play_hosts deprecation

* clean up TaskResult type handling

(cherry picked from commit 1b6b910439)
8 months ago