Commit Graph

2779 Commits (2af206399dd932180db25a524bcdab0eb6ef66a3)

Author SHA1 Message Date
Christian M. Adams 2344b18382
New release v2.11.4 3 years ago
Alicia Cozine f22eab3dfe
fixes typo in changelog entry (#75461)
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
3 years ago
Rick Elrod 08db988f7b New release v2.11.4rc1 3 years ago
Sloane Hertel f0b227009c
Fix dnf package matching (#75411) (#75418)
* Fix a bug with the dnf module not using all components of a package name when filtering to determine if it's installed

* changelog

* Simplify splitting on the last '.'

* Update lib/ansible/modules/dnf.py

(cherry picked from commit b541a148d5)
3 years ago
Brian Coca de1129c8e5
Skip python interpreter discovery for 'forced local' module execution (#74824) (#75402)
mostly for use with network_os
  use 'remote is local' property as indicator
  ensure task_vars are as expected in test

(cherry picked from commit 8d41b97329)
3 years ago
Brian Coca bb993dc877
ensure we convert path in warning or py2.6 breaks (#75413) (#75414)
(cherry picked from commit 75e6bdb579)
3 years ago
Abhijeet Kasurde 7f6415ee14
[bp-2.11] unarchive - do not fail in init when trying to find required binary (#75363)
Test for the required binaries in the can_handle_archive() method and fail there. This
prevents failures for missing binaries unrelated to the archive type.

* Update missing zip binary message to match tar message
* Update unit tests
* Add integration tests
* Define packages based on the system rather than ignoring failures

(cherry picked from commit 004c33d9c5)

Co-authored-by: Sam Doran <sdoran@redhat.com>
3 years ago
Martin Krizek 71a6954b51
Globals should be accessible when importing a template without the context (#75384) (#75409)
Fixes #75371

(cherry picked from commit 5a38076568)
3 years ago
Felix Fontein e2f14d94b8
[2.11] Improve handling of AnsibleModule arguments in validate-modules (#75360)
* Improve handling of AnsibleModule arguments in validate-modules (#75332)

* Make sure AnsibleModule positional arguments are validated.

* Extract ANSIBLE_MODULE_CONSTURCTOR_ARGS with inspection.

* Remove no longer necessary return value.

* Fix PR #.

* argument_spec might not have been specified, as in community.general.xenserver_facts.

* Fix typo.

(cherry picked from commit 7726b70d9a)

* Make sure self doesn't end up in fake.args (#75403)

(cherry picked from commit 2455d82c14)

Co-authored-by: Matt Martz <matt@sivel.net>
3 years ago
Brian Coca d18ac7bdc0
fix ssh cli defaults (#75245) (#75314)
* fix ssh cli defaults (#75245)

* fix ssh cli defaults

  fixes #75221

(cherry picked from commit e5a2fe4c41)

* github conflict?

* removed retries backrpot

  also removed tests since they rely on features that don't exist in this version
3 years ago
Brian Coca b866d6f708
fix: action _fixup_perms2 macos +a remote_paths in list() as it can be a tuple (#74613) (#75336)
* fix: action _fixup_perms2 macos +a remote_paths in list() as it can be tuple

in `lib/ansible/plugin/action/__init__.py`'s `_fixup_perms2`,
`remote_paths` can be a list or tuple. however, the macos
specific attempt to use chmod +a attempts to concatenate
`remote_paths` with a list, which will fail if it is a tuple.
wrapping `remote_paths` in `list()` fixes this error.

* Update changelogs/fragments/74613-actionfixup_perms2_macos_remote_paths_ensure_list.yml

Co-authored-by: Rick Elrod <rick@elrod.me>
(cherry picked from commit df6554c4ec)

Co-authored-by: Shane St Savage <shane@axiomdatascience.com>
3 years ago
Martin Krizek 66ca0abaf4
Ensure Jinja2 template header overrides are used (#75306) (#75342)
Fixes #75275

(cherry picked from commit 767b2f07b0)
3 years ago
Martin Krizek 4078765379
Fix when evaluation on Native Jinja and Python 3.10 (#75202) (#75380)
* Fix when evaluation on Native Jinja and Python 3.10

* Add unit test

* Add explaining comment

* Enable jinja2_native before tests

Co-Authored-By: Matt Martz <matt@sivel.net>

* Sanity

* Return native template module instead of modifying globals

Co-authored-by: Matt Martz <matt@sivel.net>
(cherry picked from commit 58e38044fe)
3 years ago
Sergey da1baaf485 [stable-2.11] Add packaging to requirement of ansible-test (#75356)
* Add packaging to requirement of ansible-test

Fix #75353

After requires_ansible field was added as mandatory to runtime.yml
file, ansible-test fails to check this field if it doesn't have
packaging module.

[1] https://github.com/ansible/galaxy-importer/pull/124
(cherry picked from commit 40ca87a963)

Co-authored-by: Sergey <sshnaidm@users.noreply.github.com>
3 years ago
Rick Elrod 4cafc937f0 New release v2.11.3 3 years ago
Rick Elrod 90c8ab0c8c New release v2.11.3rc1 3 years ago
Sam Doran 78c7721052
[stable-2.11] slurp - improve error code and test coverage (#75038) (#75045)
* Improve the error handling code

Rather than multiple return paths, have a single return and set the message based
on the type of failure.

* Add another test for non-specific failures

* Reorganize tests so failure tests are in one tasks file

* Remove os.stat() call and add changelog.
(cherry picked from commit afe6eb574e)

Co-authored-by: Sam Doran <sdoran@redhat.com>
3 years ago
Sam Doran 420527bebf
[stable-2.11] module_common - handle cache directory creation collision (#75106) (#75132)
* module_common - handle cache directory creation collision

Occasionally multiple workers can try to create the cache directory if it exists. Catch the exception
and handle it.

* Just re-raise if it doesn't exist rather than trying again

* Use exists_ok rather than handling an exception

* Remove unused import and unused variable

* Go back to try/except but with OSError

Since we do not have split controller remote, this needs to be able to run in Python 2 in order
to be merged currently.
(cherry picked from commit 16a74b798c)

Co-authored-by: Sam Doran <sdoran@redhat.com>
3 years ago
Sam Doran 1f4d1dfa0b
[stable-2.11] command - remove unreachable code and achieve full test coverage (#75036) (#75044)
(cherry picked from commit 4ab791d501)
3 years ago
Martin Krizek b3115e3c16
2.11: Add support for unicode in ansible-inventory CLI (#74912) (#75008)
(cherry picked from commit 5ac1b04929)
3 years ago
Felix Fontein 36eef4b9f8
Do not show empty version_added_collection values in ansible-doc text output. (#74999) (#75003)
(cherry picked from commit 58450f041a)
3 years ago
Sloane Hertel 35383360d2
Template suboptions in a role's arg spec (#75073) (#75094)
(cherry picked from commit ca6123e0ee)
3 years ago
Gonéri Le Bouder 1b6698aba8
ansible-test: exposes tiny_prefix variable (#75128)
ansible-test aws provider now creates and exposes a new tiny_prefix
variable to provide a shorter prefix for the AWS tests.

(cherry picked from commit 5b8fb4dcd3)
3 years ago
Brian Coca 3b5bc9b3fa
Unfrack extra vars (#75127) (#75148)
* Ensure we keep the original path as per cli

  fixes #75126

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 60c9f045cc)
3 years ago
Sam Doran a2239d8819
[stable-2.11] task_executor - use correct value for ssh connection retries (#75155) (#75191)
Since the task and connection both have the same 'retries' keyword, the task default
would override the connection value.

Do not pass 'retries' from the task to the connection options.

* Set ssh_connection retries default value back to 0
  It was 0 before the move to config and was changed to 3 by accident.
(cherry picked from commit a8de35e131)

Co-authored-by: Sam Doran <sdoran@redhat.com>
3 years ago
Felix Fontein ca1da07dda [stable-2.11] Restrict packaging to < 21.0 for Python < 3.6. (#75186)
(cherry picked from commit 67bc49e001)

Co-authored-by: Felix Fontein <felix@fontein.de>
3 years ago
Rick Elrod ae9001ee18 New release v2.11.2 3 years ago
Rick Elrod c207402507 New release v2.11.2rc1 3 years ago
Jordan Borean 392e93135d
psrp - cleanup command (#74985) (#75001)
(cherry picked from commit 58d8397771)
3 years ago
Brian Coca e009cd9733
delegation fix (#74685) (#74811)
(cherry picked from commit b518aabf81)
3 years ago
David Shrewsbury f752c7f179
role argspec - tag role argspec validation task with 'always' (#74994) (#74996)
* update tag docs

(cherry picked from commit 97acb0f470)
3 years ago
Brian Coca dce10b89ad
Ssh opts fix (#74972)
(cherry picked from commit 675df166c2)
3 years ago
Sloane Hertel 7448c2fa62
[2.11] Fix using module-specific module_defaults in action plugins (#74849)
* Use the module redirect_list when getting defaults for action plugins (#73864)

* Fix module-specific defaults in the gather_facts, package, and service action plugins.

* Handle ansible.legacy actions better in get_action_args_with_defaults

* Add tests for each action plugin

* Changelog

Fixes #72918

(cherry picked from commit 5640093f1c)

* Fix tests for < 3.8
3 years ago
Sam Doran bf6f277edd
[stable-2.11] slurp - handle error when path is a directory (#74930). (#74964)
(cherry picked from commit 0a5cc80ce2)

Co-authored-by: Sam Doran <sdoran@redhat.com>
3 years ago
Sam Doran fad56bd4e6
[stable-2.11] subversion - fix stack trace when getting repository information (#74405) (#74977)
* subversion - set LC_ALL for accurate command output parsing

When LC_ALL is not set, the output language of commands will differ based on locale. There
is a lot of history of trying to fix this. See the following pull requests:

https://github.com/ansible/ansible-modules-core/pull/4358
https://github.com/ansible/ansible-modules-core/pull/4358

This patch attempts to fix this my setting LC_ALL to a UTF-8 locale. Setting LC_ALL to C reintroduces this bug https://github.com/ansible/ansible-modules-core/issues/4178.

I'm sure there are some problems I am not seeing with setting this to en_US.UTF-8, but that is
the only way I could find to fix this bug without reintriducing the bug mentioned above.

* Rather than setting locale, just check for matches before trying to get groups

This is a pragmatic solution to avoid the stack trace since setting the locale correctly
to ensure message parsing is accurate is problematic.

* Improve regexps for finding revision and URL
(cherry picked from commit a8cf0196f7)

Co-authored-by: Sam Doran <sdoran@redhat.com>
3 years ago
Hideki Saito f92f039ea7
[2.11] Fix slurp error handling for unreadable files and directories (#74915)
- Fixes #67340
- Backport PR for #68608

Signed-off-by: Hideki Saito <saito@fgrep.org>
3 years ago
Martin Krizek 13e5c64918
Apply display_failed_stderr on loop item results (#74865) (#74898)
(cherry picked from commit 01ab6c6ec7)
3 years ago
Felix Fontein 25ac505975
Basic: don't call lstat when check_mode (#64279) (#74883)
While mode is specified in check_mode, don't call lstat.
Since file may not present.

Fixes: #61185
(cherry picked from commit 7099657dd7)

Co-authored-by: Logistic Bot <logistic-bot@protonmail.com>
3 years ago
Jordan Borean dad721d9dc
psrp - Fix reset connection on failed scenarios (#74967) (#74984)
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>

(cherry picked from commit cf3a304ce1)
3 years ago
David Shrewsbury a16dd1150e
ansible-pull - update help info for --directory option (#74936) (#74993)
* Update -d help info for ansible-pull

* fix pep8

(cherry picked from commit 6539c59857)
3 years ago
Brian Coca 03aff644cc
fix unsafe preservation across newlines (#74960) (#74973)
CVE-2021-3583
  ensure we always have unsafe

Co-authored-by: Rick Elrod <rick@elrod.me>
(cherry picked from commit 4c8c40fd3d)
4 years ago
Sam Doran 578fa17af5
[stable-2.11] version test - improve message when value is empty (#74754) (#74789)
When an empty value is provided, no `version` attribute will exist on the `LooseVersion` or
`StrictVersion` object. We catch and handle this, but it's not immediatebly clear that an
AttributeError means an empty value was provided.

Specifically handle the case where value or version are empty and add more
helpful error messages.

Add integration tests.
(cherry picked from commit 71e33d2578)

Co-authored-by: Sam Doran <sdoran@redhat.com>
4 years ago
Brian Coca 46378f0086
avoid literal quoting in config lists (#74740) (#74773)
* avoid literal quoting in config lists (#74740)
* added tests
(cherry picked from commit d2d1f01f9d)
4 years ago
Rick Elrod f468ec7087 New release v2.11.1 4 years ago
Rick Elrod d24f793ab1 New release v2.11.1rc1 4 years ago
Sloane Hertel 892f0bf644
Add changelog for ansible-galaxy improvements (#74738) (#74739)
Changelog for #74240

(cherry picked from commit 9cfedcd9c9)
4 years ago
Brian Coca b5f13e5f28
Fix world readable setting (#74324) (#74418)
now uses shell option in all cases, the old constant still exists
as 'documentation' but it not settable.
also fix the docsite link in warnings/errors

import cleanup

(cherry picked from commit d8fa2b50d5)
4 years ago
Brian Coca ed456f25f6
restores delegated vars that were not passed (#74371)
* restores delegatd vars that were not passed

   this will restore delegate display on callbacks using the vars
   also moves to use delegate_to directly on the default callback

* clog

(cherry picked from commit cbc83545582d8d7a718140263c465129e0e535d9)
4 years ago
Brian Coca 00d5a1610f
Fix pb subs collapse (#74301) (#74376)
* fix subdir parsing for plays

  fixes #74283

  Co-authored-by: Nikolaos Kakouros <nkak@kth.se>

(cherry picked from commit 6418f368e3)
4 years ago
elara-leitstellentechnik 22adad0f19
[2.11] Do not remove non-empty cron tabs (#74698)
* Only remove crontabs if they are empty

(cherry picked from commit fefda12827)

* Add integration test to ensure system cron tab doesn't get removed. Increase cron integration tests separation.

(cherry picked from commit 1e37fa86b4)

* Also detect crontab which only contains whitespace as empty.

(cherry picked from commit 4b69c8f501)

* cron integration test: Adjust system crontab path to be distribution specific.

(cherry picked from commit 70be3730db)

* Add changelog fragment for #74497.

(cherry picked from commit c606b50a3d)

Co-authored-by: Fabian Klemp <fabian.klemp@elara-gmbh.de>
4 years ago