Commit Graph

6975 Commits (ba4be21a69d3234bc127bc88f3ebca4ded21e56e)

Author SHA1 Message Date
Matt Clay bf53d4f7c9
[stable-2.18] Replace FreeBSD 13.3 with FreeBSD 13.5 (#85532)
* ansible-test - Replace FreeBSD 13.3 with 13.4 (#84236)

* ansible-test - Replace FreeBSD 13.3 with 13.4
* ansible-test - Fix typos in bootstrap.sh
* Skip libfaketime on FreeBSD except FreeBSD 14

(cherry picked from commit a98801903d)

* ansible-test - Replace FreeBSD 13.4 with 13.5 (#84812)

(cherry picked from commit 4efb01c2f3)

* ansible-test - Use OS packages on FreeBSD 13.5 (#85530)

(cherry picked from commit cdb7af094b)
6 months ago
Brian Coca 5aa2c6326b
ansible-doc display docs for modules w/o ext (#85299) (#85315)
Fixed case in which listing modules for docs failed to get sidecar


(cherry picked from commit 7e495f4b20)

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
6 months ago
Martin Krizek b860077eff
[stable-2.18] Use f40 official repo for libdnf5 (#85374) 7 months ago
Brian Coca 21a07d1428
[backport 2.18] ansible-pull fix adhoc output inconsistencies on changed (#84869) (#84964)
* ansible-pull fix adhoc output inconsistencies on changed (#84869)

Two fixes for single bug:
  - ignore callback changes for adhoc
  - allow 'yaml' change matching
---------

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 4bc4030988)

* missing test play

* tests for other non backed change

---------

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
7 months ago
Matt Clay 18e63aa7ed
ansible-test - Add RHEL 10.0 remote (#85189) (#85195)
* 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 82655e4565
[stable-2.18] dnf5 - handle all specific libdnf5 exceptions (#85175) (#85228)
Fixes #84634
(cherry picked from commit 99a3346de6)
7 months ago
Martin Krizek e210650d43
[stable-2.18] dnf5 tests: do not remove attr (#85218) (#85220)
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
Felix Fontein 14aed207f9
ansible-doc: fix indent and line wrapping for first line of (sub-)option and (sub-)return value descriptions (#84690) (#84993)
* Fix initial indent for descriptions of suboptions.
* Fix line width for initial line of option descriptions.

(cherry picked from commit 352d8ec33a)
8 months ago
Brian Coca 32979f4a43
ensure predictable permissions on module artifacts (#84948) (#85072)
* ensure predictable permissions on module artifacts (#84948)

and test it!

(cherry picked from commit 9f894b81c2)

* added missing liases
8 months ago
Martin Krizek c45c3b4f49
[stable-2.18] dnf5: avoid generating excessive history entries (#85065) (#85067)
Fixes #85046
(cherry picked from commit cff49a62ec)
8 months ago
Sloane Hertel 1782c7cf6d
Fix old_style_cache_plugins test failure using latest redis (#85090)
Pin last working version instead
8 months ago
Jordan Borean 59e2ddcae0
[stable-2.18] - script fix become on Windows (#85077)
Fixes become when using script on Windows and the become options were
set through host vars or sources that was not set on the task directives
itself.
8 months ago
Brian Coca aa43321d12
Fix uninstall tests (#84973) (#84974)
match file name to package_manager detection of dnf5

(cherry picked from commit 6fc592df9b)
9 months ago
Matt Martz 46b5f36cf7
Revert "[stable-2.18] basic: remember the user sensitive information to use later (#84699) (#84939)" (#84960)
This reverts commit 795970751e.
9 months ago
Abhijeet Kasurde 795970751e
[stable-2.18] basic: remember the user sensitive information to use later (#84699) (#84939)
* Git allows embedding username and password in repo URL for
  https authentication. This may lead to exposing the user sensitive
  information to logs and unautheticated users.
  Adding no_log will partially solve this.
* Added documentation warning user about URL embedded with username
  and password.
* Added logic to remember user sensitive information for later sanitization

Fixes: #84557
(cherry picked from commit 19e9f3d)

Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>
9 months ago
Brian Coca bd6594e321
needed intesect, not difference (#84839) (#84859)
fixes #84750

Added tests to verify output when using smart + others

(cherry picked from commit 0d4f00f5c8)
9 months ago
Sloane Hertel 9f9991eb10
uri: form location correctly from relative redirect (#84541) (#84854)
* uri: form location correctly from relative redirect

Previously, the original URL would be combined with the relative location incorrectly, especially for URL of any complexity.

Add simple tests demonstrating the problem that fail without the fix

* fix pylint error, import the method similar to other uri methods

* add changelog fragment

Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>
(cherry picked from commit 61a6222e0e)

Co-authored-by: Robert Muir <rmuir@apache.org>
9 months ago
Martin Krizek 9fe08b37d1
[stable-2.18] dnf5: fix is_installed check for provided packages (#84802) (#84810)
Fixes #84578
(cherry picked from commit 7fbaf6c)
10 months ago
Martin Krizek 5307ef6e63
[stable-2.18] dnf tests: unique environment/group name (#84785) (#84786)
Prevents `Group state for \"customenvgroup\" not found` error which may
or may not be a regression in dnf5. Just name groups/envs uniquely to
workaround the issue.
(cherry picked from commit 09391f38f0)
10 months ago
Sloane Hertel 534d5acfcc
linear - don't treat end_role as a run_once task (#84673) (#84710)
(cherry picked from commit a086c34a91)
11 months ago
Martin Krizek b261ebcde1
[stable-2.18] targets/handlers: fix incorrect test cmd (#84567) (#84601)
(cherry picked from commit 3b6d086f5e)
11 months ago
Sloane Hertel 72391efbe3
[2.18] [fix] `warn_if_reserved` expects a list (#84624) (#84671)
* [fix] `warn_if_reserved` expects a list (#84624)

Fixes #84623

(cherry picked from commit 48d71ba3aa)

* changelog

* Test include_vars reserved variable matching (#84678)

* Add test case for include_vars

* Revise test to catch erroneous warnings

(cherry picked from commit 333ee8d010)

---------

Co-authored-by: Dominique Quatravaux <dominique@quatravaux.org>
11 months ago
Jordan Borean ee0084dbcf
Ansible.Basic - Fix required_if check (#84562) (#84582)
Fixes the Ansible.Basic `required_if` check when the option to check is
either unset or explicitly set to null.

(cherry picked from commit 8c5e33cd3a)
12 months ago
Jordan Borean 0d44d0fde4
ansible-test - fix coverage for test modules (#84366) (#84401)
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)
12 months ago
Brian Coca 3e22739cc8
fix warnings about reserved variable names to cover all sources (#84432) (#84542)
* fix warnings about reserved variable names to cover all sources (#84432)

Also remove redundant check from tqm
Now covers module output (set_fact/include_vars)
Includes play objects at any stage (tasks that error were not covered)
Added tests, moved them to role structure

(cherry picked from commit 20baf29a2a)

* fix template (#84563)

also fix gather_subset warning and add some comments/notes
---------

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 675d7201d8)

* reserved vars, avoid gather_subset (#84575)

(cherry picked from commit 3398c102b5)
12 months ago
Brian Coca 2ab0976f0e
gather_facts, fix 'smart' handling with network os and 'setup' (#84425) (#84471)
gather_facts, fix network_os and smart logic and defaults

setup will be default for smart only if network_os is not set, now you get warnings and errors when missing a valid facts module for a network os

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit c64c389007)
12 months ago
Brian Coca 91e7f0a8a6
copy, prevent internal options in task (#84422) (#84457)
* copy, prevent internal options in task

fixes #84367

(cherry picked from commit 3c91eab0d8)
12 months ago
Sloane Hertel 53b08f82fc
fix reset_connection with templated connection variables (#84240) (#84439)
Signed-off-by: Alex Willmer <alex@moreati.org.uk>
(cherry picked from commit 59d9737788)

Co-authored-by: Alex Willmer <alex@moreati.org.uk>
12 months ago
Matt Clay 58c5fe2f8a
[stable-2.18] Fix uri integration test on Python 3.13 (#84518) (#84519)
(cherry picked from commit 91f4b71d40)
1 year ago
Matt Clay 88b6e14899
[stable-2.18] Fix result_pickle_error integration test (#84506) (#84507)
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)
1 year ago
Martin Krizek b88f29ec6d
[stable-2.18] dnf5: fix is_installed check (#84275) (#84333)
* dnf5: fix is_installed check (#84275)

Fixes #84259

(cherry picked from commit a27a7a27d1)

* dnf5 - consolidate package resolving settings (#84335)

Fixes #84334

(cherry picked from commit c99493eb3f)
1 year ago
Sloane Hertel 84b407cbdb
Fix returning unreachable for looped tasks (#84049) (#84204)
* Fix returning unreachable for looped tasks

Add tests for ignore_unreachable and loop

(cherry picked from commit 03acb22f99)
1 year ago
Jordan Borean 2936b80dbb
Fix CVE-2024-11079 hostvars unsafe context (#84339)
Fix to preserve an unsafe variable when accessing through an
intermediary variable from hostvars.
1 year ago
Matt Davis 23f8639a4b
[stable-2.18] Preserve `_ansible_no_log` from action result; fix `include_vars` to set properly (#84143) (#84179)
* fixes for CVE-2024-8775

* propagate truthy `_ansible_no_log` in action result (previously superseded by task-calculated value)
* always mask entire `include_vars` action result if any file loaded had a false `show_content` flag (previously used only the flag value from the last file loaded)

* update no_log tests for CVE-2024-8775
* include validation of _ansible_no_log preservation when set by actions
* replace static values with dynamic for increased robustness to logging/display/callback changes (but still using grep counts :( )

* changelog

* use ternary, coerce to bool explicitly
(cherry picked from commit c9ac477e53)
1 year ago
Brian Coca 3b6de811ab
user module avoid conflicts ssh pub key (#84165) (#84171)
Remove pub key if we are going to generate private
fix tests for os X

(cherry picked from commit 11e4a6a722)
1 year ago
Sviatoslav Sydorenko (Святослав Сидоренко) cfdafb9bb6
[2.18] Trim `selinux_policytype` @ integration tests (#84137)
The shell command sometimes prints a trailing whitespace which breaks
the tests on old RHELs. This patch is supposed to fix that.

(cherry picked from commit cd74c4bcd5)
1 year ago
Abhijeet Kasurde 6e4732f8cd
[stable-2.18] debconf: set empty password value (#84033)
Fixes: #83214

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 79e8c4c26c)
1 year ago
Brian Coca c068e45d8d
user module, avoid chmoding symlink'd home file (#83956) (#84080)
also added tests

---------
Co-authored-by: Sviatoslav Sydorenko (Святослав Сидоренко) <wk.cvs.github@sydorenko.org.ua>
Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>

(cherry picked from commit 0959472bc6)
1 year ago
Martin Krizek 371564cdc6
Reduce number of implicit meta tasks (#84007) (#84044)
This greatly reduces run time on large inventories since meta tasks are
executed in the main process sequentially and just executing them is expensive.

This change avoids running the following implicit meta tasks:
  * ``flush_handlers`` on hosts where no handlers are notified
  * ``noop`` for the linear strategy's lockstep, instead hosts that are
    not executing the current task are just not part of the current host loop

A playbook consiting of two simple plays both running on ~6000 hosts
runs in:
devel: 37s
this PR: 1.3s

Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
Co-authored-by: Sviatoslav Sydorenko (Святослав Сидоренко) <wk.cvs.github@sydorenko.org.ua>
(cherry picked from commit d6d2251929)
1 year ago
Matt Martz 08683073f9
[stable-2.18] Prevent condor from being installed and fulfilling libfmt dependency (#84023) (#84024)
(cherry picked from commit fb7fd51)
1 year ago
Brian Coca 9812e55823
Ansible Errors, Don't hide stacked messages when yaml (#83933) (#84000)
Also remove redundant msg now that we fixed yaml case
So no more need to %s % e.

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 0c8efa29b2)
1 year ago
Matt Martz 3f444d01e0
Remove remaining 2.18 deprecations (#83949)
* Remove remaining 2.18 deprecations. Fixes #82948. Fixes #82946.

* ci_complete

* Ensure non-UTF8 error message is surfaced
1 year ago
Matt Davis 7fed9b06e0
[stable-2.18] forward ports of unsafe persistence fixes (#83922)
* [stable-2.17] Unsafe persistence (#82779)

* Ensure that unsafe is more difficult to lose [stable-2.16] (#82293)

* Ensure that unsafe is more difficult to lose

* Add Task.untemplated_args, and switch assert over to use it
* Don't use re in first_found, switch to using native string methods
* If nested templating results in unsafe, just error, don't continue

* ci_complete

(cherry picked from commit 270b39f6ff)

* Fix various issues in unsafe_proxy (#82326)

- Use str/bytes directly instead of text_type/binary_type
- Fix AnsibleUnsafeBytes.__str__ implementation
- Fix AnsibleUnsafeBytes.__format__ return type
- Remove invalid methods from AnsibleUnsafeBytes (casefold, format, format_map)
- Use `chars` instead of `bytes` to match stdlib naming
- Remove commented out code

(cherry picked from commit 59aa0145d2)

* Additional Unsafe fixes (#82376)

* Allow older pickle protocols to pickle unsafe classes. Fixes #82356

* Address issues when iterating or getting single index from AnsibleUnsafeBytes. Fixes #82375

* clog frag

(cherry picked from commit afe3fc184f)

* [stable-2.16] Enable directly using `AnsibleUnsafeText` with Python `pathlib` (#82510)

* Enable directly using `AnsibleUnsafeText` with Python `pathlib`. Fixes #82414

(cherry picked from commit c6a652c081)

* Prevent failures due to unsafe plugin name (#82759)

(cherry picked from commit 56f31126ad)

* Address issues from merge conflicts

---------

Co-authored-by: Matt Clay <matt@mystile.com>
Co-authored-by: Martin Krizek <martin.krizek@gmail.com>
(cherry picked from commit 9e622ddb67)

* rewrite illegal templated conditional in find test

---------

Co-authored-by: Matt Martz <matt@sivel.net>
1 year ago
Martin Krizek aa24e97435
dnf5: re-introduce ``state: installed`` alias (#83961)
Fixes #83960
1 year ago
Brian Coca 6efb30b43e
Do not convert floats to ints when there is truncation (#83864)
Adjusted error messages
fixed tests
removed py2 compat tests, since no more py2

Co-authored-by: Matt Clay <matt@mystile.com>
1 year ago
Sloane Hertel 40ade1f84b
Add mount_facts module (#83508)
* Add a mount_facts module capable of gathering mounts skipped by default
fact gathering

* By default, collect mount facts from standard locations including
/etc/mtab, /proc/mounts, /etc/fstab, /etc/mnttab, /etc/vfstab, and on AIX,
/etc/filesystems.

When no file-based source for the current mounts can be found
(like /proc/mounts), the module falls back to using mount as a source.
This allows BSD and AIX to collect the existing mounts by default, without
causing Linux hosts to use both /proc/mounts and mount output.

* Non-standard locations and "mount" can be configured as a sources.

* Support returning an aggregate list of mount points in addition to first
found.

When there are multiple mounts for the same mount point in an
individual source, a warning is given if the include_aggregate_mounts
option is not configured.

* Add options to filter on fstypes and devices (supporting UNIX shell
wildcards).

* Support configuring a timeout and timeout behavior to make it easier
to use the module as a default facts module without risking a hang.

* Include the source and line(s) corresponding to a mount for easier
debugging.

Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>
Co-authored-by: Matt Clay <matt@mystile.com>
Co-authored-by: Matt Davis <6775756+nitzmahone@users.noreply.github.com>
1 year ago
Brian Coca bcee35385b
timedout extended (#83953)
* timedout extended

* add timedout test
1 year ago
Brian Coca d58988d8ff
fact gathering, mounts, fixes for single proc code and tests (#83866)
* Fact gathering fix 'no shm' branhc

* Use concurrent.futures instead of multiprocessing

This entirely avoids the need for fallback logic since the concurrent.futures thread pool does not depend on `/dev/shm`.

Co-authored-by: Matt Clay <matt@mystile.com>
1 year ago
Matt Clay 31d73b0645
Replace binary_modules Makefile with Python script (#83925)
Also update the platform list:

* Remove linux ppc64le
* Add darwin arm64
1 year ago
Brian Coca 4fa512406b
loop_control "early exit" feature (#62151)
* add a loop_control break_when directive to break out of a loop after any item

* remove loop var as normal exit would

* example usage:

- name: generate a random password up to 10 times, until it matches the policy
  set_fact:
    password: "{{ lookup('password', '/dev/null', chars=character_set, length=length) }}"
  loop: "{{ range(0, 10) }}"
  loop_control:
    break_when:
      - password is match(password_policy)

Co-authored-by: s-hertel <19572925+s-hertel@users.noreply.github.com>
1 year ago