Compare commits

...

804 Commits

Author SHA1 Message Date
d4f0771c9b New release v2.13.10 (#80859) 2023-05-22 10:20:09 -05:00
4d01ecb865 Update Ansible release version to v2.13.10rc1.post0. (#80802) 2023-05-15 15:49:07 -05:00
e69ca3420c New release v2.13.10rc1 (#80797) 2023-05-15 12:34:18 -05:00
1141376de5 [stable-2.13] ansible-test - Fix handling of long timeouts (#80769) (#80774)
(cherry picked from commit aacab0633a)
2023-05-10 20:04:41 -07:00
9ce8eb56be [stable-2.13] ansible-test - Fix timeout handling (#80764). (#80767)
(cherry picked from commit 4c6aa70662)
2023-05-10 20:03:35 -07:00
8f07fda2b5 [stable-2.13] ansible-test - Avoid use of deprecated utcnow (#80750) (#80759)
The timestamps are only used by ansible-test, not the junit callback, so this change only impacts ansible-test.

(cherry picked from commit fd341265d0)
2023-05-10 17:07:26 -07:00
ab220107d5 ansible-test - Relax pylint config for backports (#80770) 2023-05-10 17:05:26 -07:00
339d42332c [stable-2.13] pep517 backend - Copy symlinks when copying source (#80690) (#80702)
(cherry picked from commit 54576cd794)
2023-05-09 14:26:50 -05:00
7aefdb493b [ansible-galaxy] Fix installing signed collections (#80661) (#80667)
* Fix installing signed collections by using the fqcn, version, source, and type as a unique identifier.

Define __hash__ and __eq__ methods to handle Candidate/Requirement comparison excluding signatures which aren't fully populated until install time.

* Remove PinnedCandidateRequests since it is redundant now.

* Fix verifying against a signed remote when the keyring isn't configured

(cherry picked from commit d5e2e7a0a8)
2023-05-09 14:26:39 -05:00
8bf75b6686 [stable-2.13] Release tool improvements (#80641) (#80681)
* Provide reproducible sdist builds.
* Use reproducible wheel builds.
* Add PyPI artifact checks.

(cherry picked from commit d37678c5ff)
2023-05-01 09:41:14 -07:00
4aa5de7a8b Disable failing incidental_inventory_docker_swarm (#80659)
Also remove remote incidental tests from the test matrix, as this was the last one.
2023-05-01 09:05:37 -07:00
8fb7c10498 [stable-2.13] ansible-test - Use FreeBSD packaged setuptools (#80615) (#80618)
This will avoid issues during bootstrapping caused by breaking changes in setuptools.

(cherry picked from commit abc58c026b)
2023-04-24 13:44:30 -07:00
80c7cff394 Update Ansible release version to v2.13.9.post0. (#80613) 2023-04-24 12:42:02 -05:00
1e80e4319f New release v2.13.9 (#80610) 2023-04-24 10:52:31 -05:00
67a0cf505f Update Ansible release version to v2.13.9rc1.post0. (#80538) 2023-04-17 15:52:50 -05:00
2449b9a09e New release v2.13.9rc1 (#80535) 2023-04-17 14:13:40 -05:00
ae02b5353d password lookup, handle ident properly when saved (#80251) (#80312)
* password lookup, handle ident properly when saved (#80251)

* password lookup, handle ident properly when saved

  Currently we format and save ident when present but we didn't account for this when reading the saved file
  Also added some more robust error handling.

(cherry picked from commit 0fd88717c9)

* fix try indent

* clog

* fix bad merge indentation
2023-04-17 12:26:07 -05:00
261e5b74cc Ansible.Basic - Improve temporary file cleanup process (#80293) (#80325)
* Ansible.Basic - Improve temporary file cleanup process

* Add comment on struct value used

(cherry picked from commit ba4505f5cb)
2023-04-14 14:49:13 -07:00
e267230a6b Improve Ansible.Basic.cs tempdir uniqueness (#80328) (#80330)
* Improve Ansible.Basic.cs tempdir uniqueness

The current tempdir naming scheme can result in the same name if the
remote worker starts at the same time as another. By using the process
id it should add enough uniqueness to avoid this situation.

* Fix sanity issues

* Fix up compile issue on older hosts

(cherry picked from commit fb6b90fe42)
2023-04-14 13:07:45 -07:00
25e77b7c98 Fetch signatures from galaxy after the dependency resolver runs (#80334) (#80399)
Reduce the number of Galaxy API calls made during dependency resolution by fetching remote signatures afterwards, since these are not used in backtracking.

Reduce the verbosity to `-vvvv` (to match other Galaxy API calls) to see this activity.

Co-authored-by: Sviatoslav Sydorenko <webknjaz@redhat.com>
(cherry picked from commit 460abe0cef)
2023-04-14 13:07:11 -07:00
dab3640527 [stable-2.13] ansible-galaxy collection install retry improvements (#80180) (#80275)
* clog frag

* Fix retries so that each explicit call to _call_galaxy is retried for the correct number of attempts. Fixes #80174

* Extend retry logic to common URL related connection errors. Fixes #80170

* Extend retries to downloading artifacts

* Extend param docs for change

* Rework the exception handling

* Don't be overly broad, reduce to TimeoutError, and BadStatusLine for now

* _download_file needs to raise AnsibleError.orig_exc

* Remove unused import

* Add IncompleteRead

* Add socket.timeout for py39

* Add 502 to retry codes

* Move http error code checking first

* Use itertools.tee to replay the backoff_iterator instead of using a callable

* Actually set a CLI default of 60s for timeout, to prevent implicit galaxy from using 10s as default from Request.open

* Import typing

* fix type hints

* Use http.HTTPStatus instead of int HTTP error codes where feasible

* Split exception handling



* Add missing import

---------

.
(cherry picked from commit 2ae013667e)
2023-04-12 15:13:45 -05:00
2e50a9e482 [stable-2.13] pep517 backend - Use correct import_module import (#80480) (#80503)
(cherry picked from commit e87802cf2c)
2023-04-12 10:25:58 -07:00
af1cbc9bb6 [stable-2.13] ansible-test - Add support for argcomplete 3 (#80482) (#80486)
(cherry picked from commit 0371ea08d6)
2023-04-11 13:31:52 -07:00
ef0924883b [stable-2.13] ansible-test - Fix packaging change classification (#80360). (#80362)
(cherry picked from commit 5d64024f1a)
2023-03-29 19:25:12 -07:00
18d6ae1e1f Fix entry_points integration test for PEP 517 (#80357)
This patch pre-builds the sdist via build using the self-eliminating
in-tree build backend and then, feeds the result to a pottentially
outdated pip (below v20) so that it uses the setuptools' native
PEP 517 build backend to build a wheel on install.
2023-03-29 15:58:14 -07:00
77d221c0ac [backport-2.13] 📦 Integrate manpage builds into PEP 517 build backend (#80130)
This change includes backports of the PRs #79606, #80098, #80253, #80255 and #80262, with a number of backward compatibility changes that make it work and be testable in older CI environments.

This patch creates a thin wrapper around the `setuptools`' PEP 517 build backend in-tree. It features an ability to request generating the manpage files in-memory, in the process of building a source distribution. The build is happening in an isolated temporary directory. This toggle is implemented using the `config_settings` mechanism of PEP 517.
One must explicitly pass it a CLI option to the build front-end to trigger said behavior. The packagers are expected to use the following call:

    python -m build --config-setting=--build-manpages

This option has no effect on building wheels.

🧪 The change includes integration tests

This test runs building and re-building sdists and wheels with and without the `--build-manpages` config setting under the oldest-supported and new `setuptools` pinned.

It is intended to preserve the interoperability of the packaging setup across Python runtimes.

An extra smoke test also verifies that non PEP 517 interfaces remain functional.

📦 The sdist build-system is switched to pure setuptools upon the first build from Git checkout

This patch modifies the in-tree build backend to build sdists that swap
out pointers to it in the `pyproject.toml`'s `[build-system]` section.

The effect of this is that the first build from source (for example,
from a Git checkout) uses our PEP 517 in-tree build backend. But the
produced tarball has `build-backend` set to `setuptools.build_meta`
which is the native build backend of `setuptools`. So any following
builds from that sdist will skip using the in-tree build backend,
calling the setuptools' one.
The good news is that if the first build generated the manpages, they
will be included and won't go anywhere even though, a different build
system is in place.

Combined with #80253, this makes sure not to modify the current
source checkout on that first build.

Co-Authored-By: Matt Clay <matt@mystile.com>
Co-Authored-By: Matt Davis <6775756+nitzmahone@users.noreply.github.com>

(cherry picked from commit 56036013cd)
(cherry picked from commit 67bafafbc0)
(cherry picked from commit 888abf5d6e)
(cherry picked from commit 7097df3eed)
(cherry picked from commit eebfd71a6d)
2023-03-28 17:14:07 -07:00
e9603d233c [2.13] ansible-doc: fix broken seealso links in text output (#80286)
* ansible-doc: fix broken seealso links in text output (#80280)

* Fix broken URLs.

* Also remove auto-generated description for modules outside ansible.builtin.

(cherry picked from commit fafb23094e)

* Fix URL processing. (#80295)

(cherry picked from commit 086ae42209)
2023-03-28 11:06:58 -07:00
c6e717cdf0 [stable-2.13] New upstream release tool (#80179) (#80322)
(cherry picked from commit a6bfa82bd0)
2023-03-27 13:38:24 -07:00
ff3f06a8c4 [stable-2.13] Use variable instead of container resource in AZP (#80299) (#80317)
(cherry picked from commit 93d0253292)
2023-03-27 12:42:24 -07:00
6e6b6f1a55 [stable-2.13] Fix url lookup test to use test container (#80284) (#80288)
(cherry picked from commit 054aa92158)
2023-03-23 14:26:37 -07:00
a35e8015e5 [stable-2.13] ansible-test - Update git diff handling (#80202)
This change allows ansible-test to work with newer versions of git on AZP.

(cherry picked from commit bad8843124)

Co-authored-by: Matt Clay <matt@mystile.com>
2023-03-15 13:08:23 -07:00
8cc8aa268d [stable-2.13] Relocate the AZP entry point scripts (#80114)
Scripts previously under `test/utils/shippable/` are now under `.azure-pipelines/commands/` instead..
(cherry picked from commit f47bc03599)

Co-authored-by: Matt Clay <matt@mystile.com>
2023-03-14 17:50:24 -07:00
130fbe8ba5 [stable-2.13] ansible-test - Remove pointless comparison (#80168)
(cherry picked from commit 31658031ed)

Co-authored-by: Matt Clay <matt@mystile.com>
2023-03-14 17:50:13 -07:00
a5d7c73cc9 [stable-2.13] ansible-test - Fix vendoring support (#80074)
- Support loading of vendored Python packages.
- Exclude vendored Python packages from payloads.
(cherry picked from commit 6bfe6b899a)

Co-authored-by: Matt Clay <matt@mystile.com>
2023-03-14 17:50:02 -07:00
ef5842798d [stable-2.13] ansible-test - Show Python version before install (#80022)
Always indicate the Python version being used before installing requirements.
(cherry picked from commit 5e3db6e441)

Co-authored-by: Matt Clay <matt@mystile.com>
2023-03-14 17:49:52 -07:00
866d91bb7d [stable-2.13] ansible-test - Allow target prefixes to use _ (#80021)
Integration test target prefixes defined in a `tests/integration/target-prefixes.{group}` file can now contain an underscore (`_`) character.
(cherry picked from commit e6cffce0eb)

Co-authored-by: Matt Clay <matt@mystile.com>
2023-03-14 17:49:41 -07:00
8e2148943b [stable-2.13] ansible-test - Fix file permissions for delegation (#80204)
* [stable-2.13] ansible-test - Fix file permissions for delegation (#79932)

* ansible-test - Fix file permissions for delegation

* Set more restrictive permissions for SSH key

* Check all execute bits, not just owner

* Add a breaking_changes changelog entry.
(cherry picked from commit c8c1402ff6)

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

* ansible-test - Fix collection delegation (#79947)

(cherry picked from commit 0793833847)

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2023-03-14 15:56:21 -07:00
15e9438b06 [stable-2.13] ansible-test - Fix pylint error with old home dir (#80151) (#80153)
* [stable-2.13] ansible-test - Fix pylint error with old home dir (#80151)
(cherry picked from commit 27287b40c0)

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

* ansible-test - Fix error with missing pylint home (#80155)

(cherry picked from commit 367d45facd)
2023-03-07 09:00:52 -08:00
74ea1b8f85 [stable-2.13] Fix MANIFEST.in includes (#80147) (#80149)
(cherry picked from commit 7c62cdeecd)
2023-03-06 15:59:05 -08:00
6cffa10de0 [stable-2.13] Do not use hardcoded httpbin.org in uri tests (#80101) (#80103)
(cherry picked from commit 060a27f)
2023-02-28 14:58:53 -06:00
ff17c23359 Update Ansible release version to v2.13.8.post0. (#80099) 2023-02-27 19:21:40 -05:00
009089d4c5 New release v2.13.8 (#80082) 2023-02-27 10:00:06 -05:00
65376df2bd Update Ansible release version to v2.13.8rc1.post0. (#80042) 2023-02-20 11:16:39 -05:00
4deb8bc4c5 New release v2.13.8rc1 (#80028) 2023-02-20 09:59:34 -05:00
d5fd83265d [2.13] don't ignore templated _raw_params that k=v parser failed to parse (#79913) (#79965)
* don't ignore templated _raw_params that k=v parser failed to parse (#79913)

fixes #79862

* backport test changes
2023-02-15 13:34:54 -06:00
344230fca5 [stable-2.13] ansible-test - Support Podman 4.4.0+
(cherry picked from commit 67d49734f7)

Co-authored-by: Matt Clay <matt@mystile.com>
2023-02-14 13:20:13 -08:00
695d3c7927 Bump acme test container. (#79783) (#79815)
(cherry picked from commit 5fb8bc3ddb)
2023-02-10 14:58:14 -08:00
696b7936a9 [stable-2.13] ansible-test - Specify config path in plugin error (#79881) (#79978)
(cherry picked from commit d48d1c23df)
2023-02-10 14:56:54 -08:00
522019c317 [stable-2.13] ansible-test - fix warning to include image name (#79560) (#79974)
(cherry picked from commit 0a12d8a5bc)

Co-authored-by: Martin Krizek <martin.krizek@gmail.com>
2023-02-10 14:55:36 -08:00
63429138d9 [stable-2.13] Ansible.Basic.cs - Fix compile error on PS 7.3.x (#79848) (#79851)
(cherry picked from commit 83fe75db07)
2023-02-02 16:24:13 -08:00
df0e58f20b [stable-2.13] Remove outdated note on relative imports in docs (#79873) (#79876)
(cherry picked from commit 58461bc204)
2023-02-02 16:08:48 -08:00
e12ff0a734 Document callback types in documentation (#79651) (#79654)
(cherry picked from commit 51bddd862b)
2023-01-18 15:32:56 -06:00
2e541a5450 ansible-test - fix ps argspec check inside cmdlet (#79699)
* ansible-test - fix ps argspec check inside cmdlet

* Added error condition test

* Fix sanity problem

(cherry picked from commit ee33be9484)
2023-01-11 10:13:27 -08:00
7e7908a3e1 Remove redundant RHEL extras setup. 2023-01-04 17:52:59 -08:00
a76adbccca [stable-2.13] Fix EPEL setup for integration tests on RHEL 7
(cherry picked from commit 1243d2ace0)

Co-authored-by: Matt Clay <matt@mystile.com>
2023-01-04 17:52:59 -08:00
9e3363f8b7 [stable-2.13] ansible-test - Improve container startup handling.
Also improve the ansible-test-container integration test:

 - Add coverage for the no-probe code path.
 - Add work-arounds for centos6 containers (to support backporting).
 - Avoid systemd debug when the container doesn't use cgroup.
(cherry picked from commit 04fc98c794)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-12-15 20:35:33 -08:00
e6ac16674c [stable-2.13] Add more retries to ansible-test-container test.
(cherry picked from commit f6c0e22f98)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-12-14 15:56:08 -08:00
55a198da11 [stable-2.13] ansible-test - Support RSA SHA-1 for SSH clients..
(cherry picked from commit 75b60b17ee)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-12-14 12:43:29 -08:00
862047cafd Ansible 6 is EOL (#79555) 2022-12-13 16:47:27 -06:00
ad59db8256 [stable-2.13] ansible-test - Fix --prime-containers and --explain (#79581)
* Remove unused code.
* Fix explain errors.
* Fix `--prime-containers` with docker on cgroup v2.
(cherry picked from commit da3b1d3f50)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-12-12 13:59:29 -08:00
7783c9b1ee [stable-2.13] ansible-test - Fix target PyPI proxy config..
(cherry picked from commit dcc08eec35)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-12-12 12:17:10 -08:00
000f3244a4 [stable-2.13] Improve split integration test. (#78738)
* Omit redundant fact gathering.

* Add connection type to split test.

* Add user info to split integration test.
(cherry picked from commit 2e5e802)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-12-12 09:50:06 -08:00
1d7436935f [stable-2.13] ansible-test - Improve container management. (#79538)
* ansible-test - More flexible become support.

(cherry picked from commit 5666c6d6a3)

* ansible-test - Add support for more remotes.

(cherry picked from commit 24d91f552c)

* ansible-test - Enable ACLs on FreeBSD remotes.

This allows integration tests to switch from one unprivileged user
to another, sharing files between the users using ACLs.

(cherry picked from commit b63812bc08)

* ansible-test - Enable ACL support on more remotes. (#78299)

(cherry picked from commit 8bb20fe06b)

* ansible-test - Install `acl` on Alpine remotes. (#78303)

(cherry picked from commit 8565deaae3)

* ansible-test - Use sudo for all remotes. (#78310)

(cherry picked from commit f3f4ad9332)

* ansible-test - Fix Ubuntu 20.04 bootstrapping. (#78551)

(cherry picked from commit d683c5bd21)

* ansible-test - Verify executables are executable. (#78606)

(cherry picked from commit ece85abbc4)

* ansible-test - Use --tmpfs to run containers. (#78605)

(cherry picked from commit 4187707f03)

* ansible-test - Remove Fedora 35 support. (#78720)

(cherry picked from commit 38a82a5cc4)

* ansible-test - Fix container error handling. (#78739)

(cherry picked from commit 79f67ed561)

* ansible-test - Improve container management. (#78550)

See changelogs/fragments/ansible-test-container-management.yml for details.

(cherry picked from commit cda16cc5e9)

* ansible-test - Fix container detection. (#79530)

(cherry picked from commit 80d2f8da02)

* Update test matrix symlinks. (#78737)

* Add remote platform symlinks.

These were already supported by ansible-test.
This change adds the symlinks for use in the CI test matrix.

* Remove obsolete AIX test symlink.

AIX was already removed from ansible-test.

(cherry picked from commit 62221a3be2)

* Use patched containers without VOLUME instruction.

* Make test suite compatible with older ansible.

* Fix compatibility with Python 3.8.
2022-12-06 14:29:45 -08:00
0dfd6c868e [stable-2.13] Fix file touch check mode result (backport of #79422) (#79526)
* Fix file touch check mode result (#79360) (#79422)

Fixes #79360

(cherry picked from commit 3936b5c471)

* Rename changelog fragment according to PR number
2022-12-06 14:27:17 -08:00
03233e676a [backport][2.13][PRs #78402 #79289] Enable the reboot integration test in CI (#79491)
* Enable the `reboot` integration test in CI

Co-Authored-By: Matt Clay <matt@mystile.com>
(cherry picked from commit bb7ad0f0d8)

* [CI] Move running `reboot` integration test to group 2

PR #79289, follow-up for #78402.

It was breaking the integration-aliases sanity test, but only
became apparent post-merge. This patch fixes that.

(cherry picked from commit 26a4775611)

Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
2022-12-06 14:26:46 -08:00
5a2e551999 Set explicit meta long_description_content_type (#79468) (#79487)
This is necessary for `twine check --strict` to pass.

(cherry picked from commit 80551633c7)
2022-12-06 14:26:25 -08:00
84695c9158 [stable-2.13] Don't use color in jinja_plugins test.
This should prevent color codes from interfering with string matches.
(cherry picked from commit 31f9d60b8d)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-12-05 12:03:42 -08:00
f039a1d229 Update Ansible release version to v2.13.7.post0. (#79529) 2022-12-05 19:00:52 +01:00
fbefd45600 New release v2.13.7 (#79528) 2022-12-05 17:40:35 +01:00
c91c4d6fa5 Update Ansible release version to v2.13.7rc1.post0. (#79494) 2022-11-28 16:32:17 -05:00
8faeed30f9 New release v2.13.7rc1 (#79477) 2022-11-28 15:56:49 +01:00
ea9b9716f0 [stable-2.13] ansible-test - Improve pylint command consistency. (#78896)
* ansible-test - Improve pylint command consistency.

Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
(cherry picked from commit bc274f5)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-11-22 18:56:05 -08:00
5f6537b644 file lookup now works with general lookup error framework (#79339) (#79388)
* file lookup now works with general lookup error framework

(cherry picked from commit 3448fcabc5)

Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>
2022-11-16 12:36:36 -06:00
fd63b2f306 Fix typo 'Ansbile'. (#79318) (#79331)
(cherry picked from commit 2a03c8028e)
2022-11-10 15:48:36 -08:00
63c8719a76 Add Ansible community 6.6.0 porting guide (#79340) (#79349)
(cherry picked from commit d5e90e1737)

Co-authored-by: Christian Adams <chadams@redhat.com>
2022-11-08 16:39:15 -08:00
fd9dd09377 Japanese version switcher (#79276) (#79345)
* update japanese version switcher for 2.14

* update latest version

(cherry picked from commit 196084773b)
2022-11-08 16:37:56 -08:00
b80680559a update version switcher to include 2.14 (#79273) (#79326)
(cherry picked from commit d0b6ce7473)
2022-11-07 09:16:20 -08:00
90f389c11b Update Ansible release version to v2.13.6.post0. (#79323) 2022-11-07 10:30:26 -05:00
b14bbf1c11 New release v2.13.6 (#79315) 2022-11-07 09:22:29 -05:00
99ff446a3b [2.13] Log runme.sh execution in integration tests (#79283)
* Log `runme.sh` execution in integration tests (#79263)

* Log `runme.sh` execution in integration tests

This patch adds `set -x` where it's missing in the integration tests.
It also enables `pipefail` in `runme.sh` scripts that use pipes.

* Add a change note for PR #79263

(cherry picked from commit 6674c43edd)

* Delete a bad PR #79263 change note

(cherry picked from commit 9cfb3f73e8)
2022-11-03 20:39:29 -07:00
53f2ef7774 [stable-2.13] ansible-test - Fix and update documentation links..
(cherry picked from commit 938c0fa944)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-11-03 20:38:06 -07:00
33852737fd Update Ansible release version to v2.13.6rc1.post0. (#79261) 2022-10-31 16:16:37 +01:00
485a9e9c9d New release v2.13.6rc1 (#79258) 2022-10-31 14:32:58 +01:00
cb6e106d7d File lookup handle missing file more gracefully (#79230) (#79245)
previously it would have a 2nd tb due to bad error raising
 also remove superfluous warning

(cherry picked from commit aaab0791d9)
2022-10-28 16:18:24 -07:00
25f8b9829d mention acl in permissions errors (#79209) (#79251)
as chmod/mode is not the only thing we attempt and Ubuntu not shipping acl
  in newer versions can lead to some confusion

  fixes #79146

(cherry picked from commit 0f18ddca9f)
2022-10-28 16:17:13 -07:00
5c8928fa44 stable docs build: do not use YAML parsing/serialization for .deps files (#79233) (#79237)
* Do not use YAML parsing/serialization for .deps files.

* Prevent crash.

(cherry picked from commit 9545f2e0de)
2022-10-27 13:07:27 -05:00
b6a24d0031 Communication docs: note that editing Matrix messages causes IRC spam (#79238) (#79241)
(cherry picked from commit bc83da9a1b)
2022-10-27 13:07:13 -05:00
e0d20bc478 [stable-2.13] Don't assume column index for netmask and broadcast (#79121) (#79133)
* Don't assume column index for netmask and broadcast. Fixes #79117

* fix typo
(cherry picked from commit f53dbf9)

Co-authored-by: Matt Martz <matt@sivel.net>
2022-10-26 16:07:29 -05:00
1a583e3c0d [stable-2.13] Use python re to parse service output instead of grep (#79015) (#79051)
* Use python re to parse service output instead of grep. Fixes #78541

* Add clog frag

* Add an extra guard to abort if rc is 4, and /etc/init.d is missing
(cherry picked from commit 4458128)

Co-authored-by: Matt Martz <matt@sivel.net>
2022-10-26 16:06:43 -05:00
65fd4e182b [2.13] ansible-galaxy - fix unnecessary api check when installing role (#79143)
* ansible-galaxy install - fix unnecessary api check when installing a role from git repo (#79090)

* delay server api evaluation until a GalaxyRole needs to make an api call for info, list, and install

(cherry picked from commit cb2e434dd2)

* fix type for older python

* Fix isinstance check (#79159)

Use GalaxyAPI for isinstance check instead of RoleDistributionServer, since the latter is defined in __main__ sometimes (when running integration tests or ansible-galaxy from source) and importing from ansible.cli.galaxy won't reference the same object.

(cherry picked from commit 89d682464b)
2022-10-26 16:05:17 -05:00
a5480c330d copy, avoid moving non temp remote 'non' files (#79102) (#79155)
* copy, avoid moving non temp remote files that are not dirs/files
fix tests

(cherry picked from commit f66016df0e)
2022-10-26 16:05:03 -05:00
5dd04e54a8 fix password lookup's use of f=v settings (#76551) (#79108)
* fix password lookup's  use of f=v settings (#76551)

update tests

(cherry picked from commit 5d253a1380)

* fix password unit tests (#79113)

(cherry picked from commit c4d6629bce)

Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
2022-10-26 14:09:46 -05:00
a61016fb97 [stable-2.13] Fix ansible-test-git test for newer git versions.
The latest versions of `git` include a fix for CVE-2022-39253. The fix blocks the file protocol by default.

See: 45c9f05c44/Documentation/RelNotes/2.30.6.txt
(cherry picked from commit 4202acb41b)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-10-25 10:03:26 -07:00
2d6747bcbf [stable-2.13] Restrict wheel below v0.38.0 under Pythons < 3.7 (#79187)
* Restrict `wheel` below v0.38.0 under Pythons < 3.7

* Add a change note for PR #79187

* Update changelogs/fragments/79187--wheel-0.38.0.yml

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

* Use constraints file when installing wheel.

Co-authored-by: Matt Clay <matt@mystile.com>
(cherry picked from commit a76bbb18a5)

Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
2022-10-24 16:19:23 -07:00
b44cb7aa99 remove AnsibleFest banner (#79156) (#79158) 2022-10-18 09:13:27 -05:00
7e85f94349 Add Ansible community 6.5.0 porting guide (#79124)
Co-authored-by: Ansible Service Account <chadams@redhat.com>
2022-10-12 17:20:33 -04:00
be95a3a8ad Update Ansible release version to v2.13.5.post0. (#79099) 2022-10-11 10:51:55 -04:00
09cf0ed123 New release v2.13.5 (#79075) 2022-10-10 10:27:11 -04:00
dcc60165d1 Update Ansible release version to v2.13.5rc1.post0. (#78995) 2022-10-03 15:20:03 -05:00
2935773482 New release v2.13.5rc1 (#78937) 2022-10-03 11:53:54 -04:00
43cfdf3822 apt module, prevent tb from invalid type for pkg (#78666) (#78908)
* apt module, prevent tb from invalid type for pkg

 see #78663

(cherry picked from commit 7acd4f75c0)
2022-09-29 16:57:40 -07:00
1a7f3b403c [stable-2.13] Add ssh_args and friends back, add var for proxy_command (#78826) (#78837)
* [stable-2.13] Add ssh_args and friends back, add var for proxy_command (#78826)

Fixes #78750
(cherry picked from commit 1b47def)

Co-authored-by: Matt Martz <matt@sivel.net>

* Remove non-backportable changes

(cherry picked from commit ba2938a388)
2022-09-29 16:56:13 -07:00
45abd5b685 [2.13] apt - fix failure when package is not installed and only_upgrade=True (#78791)
* apt - fix failure when package is not installed and only_upgrade=True (#78781)

* apt - fix module failure when package is not installed and only_upgrade is True

* changelog

(cherry picked from commit 4b45b4b09d)

* apt - fix module short-circuiting when a package is not installed and only_upgrade is True

(cherry picked from commit 14f46845f9)
2022-09-29 16:55:51 -07:00
551ddebeab [2.13] Limit Galaxy API calls during ansible-galaxy dependency resolution (#78722)
* Limit Galaxy API calls during ansible-galaxy collection dependency resolution when possible

Installing a tarfile with a dependency from a Galaxy server (e.g. dependencies: {'ns.coll': '>=1.0.0'}) does not get the available versions of the dependency from the galaxy server if a sufficient version is already installed.

Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
(cherry picked from commit 41b62f7db4)
2022-09-28 09:12:30 -05:00
00d60a45fa [stable 2.13] Fix known host changed status when removing non-existing key #78598 (#78878)
* Fix known_hosts changed status when removing non-existing key (#78748)

* Ensure no change is reported when removing missing key for host with other keys

Co-authored-by: Matt Martz <matt@sivel.net>

* Add changelog for fix known hosts wrong changed status cherry pick

* Remove old changelog for fix known hosts wrong changed status

* Rename changelog according to PR number

Co-authored-by: Matt Martz <matt@sivel.net>
2022-09-28 08:16:57 -05:00
0d188114c6 plugin loader fix existing config testing (#78859) (#78890)
create specific function to find config entry to avoid repopulating constantly

(cherry picked from commit 4115ddd135)
2022-09-28 08:16:40 -05:00
fa0655228a [stable-2.13] ansible-test - Fix integration test target filter. (#78862)
- Allow disabled, unsupported, unstable and destructive integration test targets to be selected using their respective prefixes.
- Allow unstable tests to run when targeted changes are made and the ``--allow-unstable-changed`` option is specified (resolves https://github.com/ansible/ansible/issues/74213).
(cherry picked from commit d3d7785472)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-09-22 13:38:19 -07:00
cd58c50b97 [stable-2.13] Don't request repo updates when only testing modes (#78843) (#78849)
(cherry picked from commit 2542048)

Co-authored-by: Matt Martz <matt@sivel.net>
2022-09-21 15:24:52 -07:00
e69c1812c9 Backportapalooza 9 15 (#78787)
* add galaxy docs back to core' (#78764)

(cherry picked from commit df6a564abd)

* Ansible 6.4.0: Porting Guide (#78775)

(cherry picked from commit d4407ca688)

* Documented connection parameters required to enable scp (OpenSSH >=9.0) (#78745)

(cherry picked from commit 952ee88f33)

* Fix Issue #78564 (#78741)

(cherry picked from commit f50ff1c2db)

* faq legacy vs builtin (#78769)

(cherry picked from commit db33ca8e1a)

* Removed repeated introduction paragraph (#78691)

(cherry picked from commit e276770ee9)

Co-authored-by: Ompragash Viswanathan <21008429+Ompragash@users.noreply.github.com>
Co-authored-by: wnjuguna <jbworldus@gmail.com>
Co-authored-by: Ronan <ronandoudies@gmail.com>
Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>
2022-09-15 14:40:55 -05:00
811d05e1ba Update Ansible release version to v2.13.4.post0. (#78753) 2022-09-12 15:17:26 -04:00
faa7be50e1 New release v2.13.4 (#78751) 2022-09-12 13:45:14 -04:00
ba18134ad8 Update Ansible release version to v2.13.4rc1.post0. (#78718) 2022-09-06 14:03:23 -04:00
c31541a3c9 New release v2.13.4rc1 (#78717) 2022-09-06 12:41:01 -04:00
2e760f6bda Fix typos in stat module examples (#78651) (#78687)
(cherry picked from commit 38c3b5e8f1)

Co-authored-by: NitrogenPointBlue <110332643+NitrogenPointBlue@users.noreply.github.com>
2022-09-01 14:36:31 -05:00
770a4a35d6 new: documentation update for galaxy usr guide (#78649) (#78688)
Co-authored-by: Adrian Brown <ap.brown011@gmail.com>
2022-09-01 14:36:20 -05:00
c51c5f97a4 [stable-2.13] Guard urllib3 imports against all exceptions. Fixes #78648 (#78667) (#78672)
(cherry picked from commit f8e24e4)

Co-authored-by: Matt Martz <matt@sivel.net>
2022-08-31 15:45:56 -07:00
9917b9f9f9 [stable-2.13] wait_for - Read file and perform comparisons using bytes to avoid decode errors (#78317) (#78660)
* wait_for - Read file and perform comparisons using bytes to avoid decode errors. Fixes #78214

* Write non-ascii via script instead of static file

* Use contexlib.closing to support py27 context manager

* Use executable from task, instead of shebang

* Update encoded bytes to utf16
(cherry picked from commit 9d4ced1)

Co-authored-by: Matt Martz <matt@sivel.net>
2022-08-31 15:44:42 -07:00
96d0053925 Fix pytest collection during test_host partial run (#78594)
Sometimes pytest errors out with an `ImportError` during its tests
collection stage when a Python package/directory containing the test
module does not have an `__init__.py` in it. This is being observed
under Python 3.9 and higher.

The patch provides a workaround for this problem but does not address
the root cause which is currently unknown.

Ref:
https://github.com/ansible/ansible/pull/78585#issuecomment-1220885431
(cherry picked from commit beb70daf14)
2022-08-31 15:43:12 -07:00
6b77033d63 [stable-2.13] Fix exit codes for role search and delete. Fixes #78516 (#78578) (#78583)
(cherry picked from commit 4c8b8a0)

Co-authored-by: Matt Martz <matt@sivel.net>
2022-08-31 15:42:37 -07:00
1cef724544 [stable-2.13] Fix --role-file arg detection (#78475) (#78522)
* Fix --role-file arg detection. Fixes #78204

* Do not traceback, give better error

* Add coverage for compound shortopts to match -r. Fixes #78491
(cherry picked from commit 86298b7)

Co-authored-by: Matt Martz <matt@sivel.net>
2022-08-31 15:42:11 -07:00
47d34ce582 Fail fast in stuck ansible-galaxy-collection (#78627)
This specific integration test gets stuck periodically causing the
Galaxy jobs to be killed on timeout wasting an hour of runtime. The
module that gets stuck waiting on Pulp is an in-test one, called
`setup_collections`. When it works, the task is complete in around 70
seconds but when it doesn't, it just freezes the whole play.

This patch attempts to make it fail faster by putting a reasonable
timeout value of 2 minutes.

(cherry picked from commit f1c56e988d)
2022-08-31 12:23:14 -05:00
f75ecde228 Replace get_persistent_connection_options in task_executor with get_options (#74446) (#78590)
Replace get_persistent_connection_options with get_options
Remove special case for network sub_plugin in _set_plugin_options
Try to avoid mock connection pretending to be persistent
Rename variables->options to reflect what they actually are
Gather options for ssh_type_conn on network_cli
Drop reliance on sub_plugin["type"]

(cherry picked from commit bf1ef5a1f3)
2022-08-31 12:22:59 -05:00
702eadf21b Fix apt making changes in check mode (#78496) (#78530)
* Don't actually update the cache in check mode

Add tests for updating the cache in check mode

* Don't mark packages as manually installed in check mode and add a test for it

* changelog

* Update test/integration/targets/apt/tasks/apt.yml

* fix test

(cherry picked from commit 3add5e9321)
2022-08-31 12:22:47 -05:00
b2553d162d apt: include apt preferences (e.g. pinning) when selecting packages (#78327) (#78462)
Fixes #77969

(cherry picked from commit 04e8927579)

Co-authored-by: Patrick Hemmer <phemmer@users.noreply.github.com>
2022-08-31 12:22:32 -05:00
046c59d851 Filter on any Fedora-Cloud-Base image (#78669) 2022-08-30 12:16:39 -07:00
a55ffb8d17 Backportapalooza 08 25 (#78647)
* fix adhoc dev example (#78593)

(cherry picked from commit 5ac40b358d)

* Docs: fix issue-76133-apt-repository (#78586)

(cherry picked from commit 3b9f1871e5)

* Fixes parameter name in expect module examples (#78635)

(cherry picked from commit 81813b7f23)

* doc: Correct mixed up commentary and task name (#78610)

Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
(cherry picked from commit 87ba1e29d3)

Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
Co-authored-by: Arnold Kamanzi <kamstan6@gmail.com>
Co-authored-by: gmdmi <gmdmi@ya.ru>
Co-authored-by: rawtaz <rawtaz@users.noreply.github.com>
2022-08-25 13:33:03 -07:00
8071f014f6 [2.13] Disable connection_paramiko_ssh under FreeBSD 13.0 (#78643) 2022-08-25 13:12:37 -07:00
6f6e38feaf Add Porting Guide for ansible-community v6 (#78625) (#78631)
(cherry picked from commit df497ea13b)

Co-authored-by: Christian Adams <chadams@redhat.com>
2022-08-24 09:39:27 -05:00
45b064f3fd [stable-2.13] Fix file integration test chattr/lsattr check. (#78614) (#78618)
On BusyBox systems such as Alpine, chattr on a tmpfs fails with a status of 0 and output only on stderr.

This change updates the test to not assume output on stdout.

(cherry picked from commit 2e536c0afb)
2022-08-22 14:54:02 -07:00
fe60c4eb08 Backportapalooza 08 16 (#78584)
* Supply some descriptions for settings used in ansible.cfg (#78536)

(cherry picked from commit 4604ea38dd)

* Targeting a small typo correction (#78531)

(cherry picked from commit b6f42547f4)

* clarify collection signature not available from Community Galaxy (#78386)

(cherry picked from commit 7ae1eabaa4)

* update FAQ with not about libyaml (#78483)

(cherry picked from commit 33ee5d4c1b)

* add note to use package_facts module (#78484)

(cherry picked from commit 8dc097989b)

* Fix ansible-docs: shipping ansible in wheel format  #78485 (#78524)

(cherry picked from commit 7f69629fa7)

* update link for RH customers in docs banner (#78563)

(cherry picked from commit 2fdaee143a)

Co-authored-by: Andrew Latham <lathama@users.noreply.github.com>
Co-authored-by: Ian Wienand <iwienand@redhat.com>
Co-authored-by: Arnold Kamanzi <kamstan6@gmail.com>
2022-08-19 10:24:15 -07:00
e97c2cd178 Fix version switcher for Japanese site (#78543)
* Fix version switcher for Japanese docs (#78432)

(cherry picked from commit 660aceaa77)

* update version to match branch
2022-08-19 10:17:18 -07:00
e03527e722 Backportapalooza 08 11 (#78526)
* update the documentation for the _collection init_ command (#78404)

(cherry picked from commit 69c7e3f4a3)

* fix configuration name in porting guide 2.12  (#78472)

(cherry picked from commit 82246df5b7)

* docs: misc fixes in The Ansible Development Cycle (#78513)

(cherry picked from commit 0d3523df8f)

Co-authored-by: Alex <aizquier@redhat.com>
Co-authored-by: Akira Yokochi <akira6592@gmail.com>
2022-08-19 10:16:48 -07:00
fd1935048c Update mypy test. Fix type hints for Python 3.9. (#78587)
This also bumps the minimum controller version (for mypy only) to Python 3.9.

(cherry picked from commit cc5ac88c4c)
2022-08-19 10:05:43 -07:00
d6b40a5bc6 [stable-2.13] ansible-test - Fix ansible-doc sanity test FQCN. (#78518). (#78519)
(cherry picked from commit 2b63fdd1b8)
2022-08-15 14:47:44 -07:00
9ec6e331bf [stable-2.13] ansible-test - Fix self-test change handling. (#78521) (#78523)
(cherry picked from commit 99016653a2)
2022-08-15 14:47:30 -07:00
bb675432b2 Update Ansible release version to v2.13.3.post0. (#78547) 2022-08-15 16:13:15 -04:00
c1bb0c6ab8 New release v2.13.3 (#78527) 2022-08-15 14:03:26 -04:00
4e0f81a01f Update Ansible release version to v2.13.3rc1.post0. (#78476) 2022-08-08 14:18:36 -04:00
00c3da9d51 New release v2.13.3rc1 (#78470) 2022-08-08 11:34:22 -04:00
7a24541d18 Backportapalooza 08 04 (#78450)
* fix broken link (#78434)

(cherry picked from commit eb46ab1399)

* Fix escaped asterisk in code block demonstrating wildcards (#78375)

The code block is rendered verbatim. This currently results in `\*` being shown, which is incorrect (i.e., not parsed as a wildcard pattern).
Removing the superfluous `\` fixes the rendering.
This PR fixes all instances of this issue on that page.

(cherry picked from commit 9bf5da8f75)

* add example to import a playbook from collection (#78443)

(cherry picked from commit eb462edb16)

* docs: Fix control node reference links (#78424)

(cherry picked from commit f5cac6bc5d)

* Update galaxy_server_list (#78398)

(cherry picked from commit d92f6da592)

* Improve grammar (#78391)

(cherry picked from commit ddd8b8bfd9)

Co-authored-by: Tom Janson <priv.tom.janson@gmail.com>
Co-authored-by: Sebastian Gumprich <rndmh3ro@users.noreply.github.com>
Co-authored-by: Ian Wienand <iwienand@redhat.com>
Co-authored-by: Tabah Baridule <dulemartins07@gmail.com>
Co-authored-by: Geoffrey van Wyk <geoffrey@vanwyk.biz>
2022-08-04 15:48:41 -05:00
b2481eb158 Module/plugin docs: (#78380) (#78447)
(cherry picked from commit 7e634f54c3)
2022-08-04 15:48:18 -05:00
a2984758dc [2.13] Add basic docs on how to create a collection docsite with antsibull-docs (#78446)
* Add basic docs on how to create a collection docsite with antsibull-docs. (#78387)

(cherry picked from commit 733a767948)

* Fix typo: missing 'install'. (#78448)

(cherry picked from commit 2218b63aef)
2022-08-04 15:47:59 -05:00
775cf85491 Fix default value documentation for pipelining. (#78441) (#78445)
(cherry picked from commit 51f94570a6)
2022-08-04 15:47:38 -05:00
2efb33d200 Fix listing collections that are missing the metadata required by build (#76596) (#78411)
* Rethread pr/70185 through the dependency resolver

Hang optional metadata toggle on the ConcreteArtifactsManager instead of threading it through whole list codepath

Don't error while listing collections if a collection's metadata is missing keys required for building a collection.

Give an informative warning if metadata has been badly formatted.

Co-authored-by: Sam Doran <sdoran@redhat.com>
(cherry picked from commit 05608b20e8)
2022-08-03 11:20:58 -07:00
253c30441b Fix removing existing dir/files with ansible-galaxy collection init --force (#78403) (#78412)
* Remove collection contents when re-initializing with --force

Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>

(cherry picked from commit a2174fc6d9)
2022-08-03 10:33:01 -07:00
d6555399b8 [ansible-galaxy] Fix listing collections with null namespace/name/version metadata (#77014) (#78410)
* Fall back to implicit namespace.name from the path if the metadata is invalid

* Test listing a collection with null namespace/name/version fields in its galaxy.yml

(cherry picked from commit f8ec660e62)
2022-08-03 10:32:08 -07:00
ced2b93697 config error origin (#78407) (#78409)
(cherry picked from commit 9b79d6ba35)
2022-08-03 10:31:19 -07:00
f6fcb56695 [stable-2.13] swallow all exceptions in type annotation support shim imports (#77860) (#78373)
* swallow all exceptions in type annotation support shim imports

* add changelog
(cherry picked from commit 813afcb)

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

Co-authored-by: Matt Davis <6775756+nitzmahone@users.noreply.github.com>
2022-08-03 10:30:23 -07:00
ff4bb5500a PluginLoader now installs module-to-be-imported in sys.modules before exec (as Python import does). (#78364) (#78367)
(cherry picked from commit 1368bfa348)
2022-08-03 10:29:51 -07:00
426e4899a3 [stable-2.13] ansible-test - Parse content config only once. (#78418) (#78426)
(cherry picked from commit f2abfc4b3d)
2022-08-03 10:11:22 -07:00
cbec27fefc chmod aix errors with 255 is not unreachable (#78249) (#78356)
* chmod aix errors with 255 is not unreachable

  fixes #78210

* added another 'aix chmod msg'
check stderr also

(cherry picked from commit c135a47f44)
2022-08-03 09:59:53 -07:00
2aa3cc9e40 2.13: template module/lookup: fix convert_data for macros (#78259) (#78269)
* template module/lookup: fix convert_data for macros (#78259)

Fixes #78141

(cherry picked from commit 9afdb7fec1)

* Fix templating nested vars with convert_data=False (#78273)

Regression introduced in #78259.

(cherry picked from commit d070b03ad8)
2022-08-03 09:58:19 -07:00
bf1e031eb2 honor use_proxy parameter (#77312) (#78261)
* honor use_proxy parameter
* fix uri test with "use_proxy: no"
* fix urls.py module

Co-authored-by: Carlos <Juan.Carlos.Cardenas.Viera@ibm.com>
(cherry picked from commit 1d9c68d27e)

Co-authored-by: h4rr21 <juankchess13@hotmail.com>
2022-08-03 09:56:22 -07:00
fc82d215a6 yum: fix releasever for latest (#78066) (#78242)
Fixes #78058

(cherry picked from commit 2bc2153c01)
2022-08-03 09:54:24 -07:00
63f6fa0714 dnf: fix output parsing on non-English LANGUAGE systems (#78233) (#78241)
Fixes #78193

(cherry picked from commit 630616103e)
2022-08-03 09:53:42 -07:00
31db1a3a11 Decode vaulted args before sending over ansible-connection. (#78236) (#78246)
I'm not aware of a way to easily get vault secrets decoded on the
ansible-connection side without sending the vault secrets over the
connection in the same way, so just decode them for transport.

(cherry picked from commit fff14d7c1d)
2022-08-03 10:56:40 -05:00
70e5673319 [stable-2.13] Fix KeyError for ansible-galaxy when caching paginated responses from v3 (#78325) (#78405)
* Fix KeyError for ansible-galaxy when caching paginated responses from v3

* changelog

* generate responses in loop for test

Co-authored-by: Matt Martz <matt@sivel.net>
(cherry picked from commit 5728d72)

Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>

Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
2022-08-03 10:56:25 -05:00
b095367eab Ansible 6.2.0: porting_guide changes (#78408) (#78416)
(cherry picked from commit 27ce607a14)

Co-authored-by: Ompragash Viswanathan <21008429+Ompragash@users.noreply.github.com>
2022-08-02 15:18:43 -05:00
a290e187cc Docs Backportapalooza (#78379)
* Add missing colon to a snippet in complex data doc (#78349)

(cherry picked from commit e4087baa83)

* update the out-of-date ansible-test sanity ignores (#78342)

(cherry picked from commit 0f688f07af)

* Update information on the Intro_patterns.rst (#78192)

(cherry picked from commit 85bc2bcfcd)

* add note about permission change (#78128)

(cherry picked from commit b6ec06ab25)

Co-authored-by: Sviatoslav Sydorenko <wk@sydorenko.org.ua>
Co-authored-by: Muhammad Rafly Andrianza <luphieanza@gmail.com>
Co-authored-by: Tabah Baridule <dulemartins07@gmail.com>
2022-07-30 13:18:43 -07:00
e81bca3634 update Fest url per marketing (#78361) (#78363)
(cherry picked from commit eba15885cf)
2022-07-30 13:18:14 -07:00
24359537bb [stable-2.13] ansible-test - Fix TTY and output handling. (#78350).
(cherry picked from commit a3c90dd0bc)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-07-27 11:34:58 -07:00
4bb1907084 [stable-2.13] ansible-test - Fix handling of args after -- (#78328)
(cherry picked from commit 0012263c7a)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-07-27 10:43:41 -07:00
e806c4e64d [stable-2.13] Refactor ansible-test integration tests. (#78168) (#78362)
* Relocate update-ignore.py for easier re-use.

* Add script to ease collection testing.

* Skip ignore rewrite if file does not exist.

* Add integration test for the shebang sanity test.

* Fix ansible-test-no-tty integration test.

Previously the test only verified a TTY was not used if a TTY already existed.
This prevented the test from verifying behavior when run in CI.
Now the test creates a PTY before invoking ansible-test.

* Clean up ansible-test-docker integration test.
(cherry picked from commit f70cc2fb7e)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-07-27 10:43:13 -07:00
8f96331f4c Backportapalooza 07 21 (#78326)
* Update cheetsheet to fix meaning of -k (#78271)

(cherry picked from commit 691dde645c)

* Add note about package managers (#78260)

(cherry picked from commit fedd386998)

* dnf: clarify comparison operators in docs (#78316)

Fixes #78295

(cherry picked from commit b0a84cc9ca)

* Fix minor typos (#78294)

Signed-off-by: Hu Shuai <hus.fnst@fujitsu.com>
(cherry picked from commit fd810e88d6)

* Add cli docs for interacting with gpg for collection signing (#78321)

Co-authored-by: Jan-Piet Mens <jp@mens.de>
Co-authored-by: Desmond Obisi <51109125+DesmondSanctity@users.noreply.github.com>
Co-authored-by: Martin Krizek <martin.krizek@gmail.com>
Co-authored-by: Hu Shuai <hus.fnst@fujitsu.com>
Co-authored-by: Matt Martz <matt@sivel.net>
2022-07-21 14:01:38 -07:00
b6fc894010 add AnsibleFest 2022 registration banner (#78291) (#78309)
(cherry picked from commit 5e74693215)
2022-07-21 13:57:48 -07:00
3cffcfda9b Drop custom repo from libuser install @ Alpine CI (#78305) (#78306)
`group` and `setup_cron` integration tests currently install `libuser` and `faketime`
packages respectively, from the non-default edge/testing repositories. It is no
longer necessary to do so for the former so this patch drops the repo option. As
for the latter, this patch includes a note explaining when the same could be done
for it too.

This patch also adds a note on installing `faketime` on Alpine in CI.

(cherry picked from commit 619a1fa7e2)
2022-07-20 13:19:55 -07:00
591f39b6e0 Documentation: Update japanese translation (#78292)
* Documentation: Update japanese translation

* Replace MySQL by Ansible where it was mistakenly translated

Co-authored-by: Sandra McCann <samccann@redhat.com>
2022-07-19 14:10:48 -05:00
0f986325bb Update Ansible release version to v2.13.2.post0. (#78290) 2022-07-18 12:05:14 -04:00
0863427230 New release v2.13.2 (#78276) 2022-07-18 10:48:41 -04:00
5d8bf08e06 Backportapalooza 7 15 (#78277)
* Pr 72292- Add context to inventory plugins (#78070)

* Add context to inventory plugins documentation

* Show how to add the inventory plugin to the `enable_plugins` configuration item - not just replace it.
* Show adding tags to `keyed_groups` without specifying the separator.
* Show adding more complex `groups` and `compose` statements, including using the ternary filter.
* As I added an additional group, I've updated the resulting `ansible-inventory` output accordingly.

(cherry picked from commit a77fc2e822)

* Update dpkg_selections.py (#78177)

* Update dpkg_selections.py to include an syntax example showing how to remove package holds

* Fix pep8 issue: dpkg_selections.py

Missed some trailing spaces when adding example text.

(cherry picked from commit 489b7f1859)

* fix ternary problem (#78186)

(cherry picked from commit 7ec8916097)

* documentation: become plugins: correct pluralization in description (#78196)

fixes #78195

(cherry picked from commit e10851d495)

* Update python_3_support.rst (#78239)

Fix invalid characters warning when using example group names. (Replace dashes in example group name with underscores.)

(cherry picked from commit be88250a83)

* Adding applicable licensing requirements (#78162)

(cherry picked from commit 6ddccc1604)

* Document choice to use Ansible Project in copyright lines (#78164)

Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
(cherry picked from commit c9a341902b)

* stat only returns pw_name/gr_name if those can be looked up (#78183)

(cherry picked from commit 221af7640d)

* example showing how to deal with keys w/o apt_key (#78206)

(cherry picked from commit 0590ce065c)

* Migrate vmware.vmware_rest Dev Guide to collection (#78255)

(cherry picked from commit 048adac5b7)

* Updated release_and_maintenance.rst (#78272)

(cherry picked from commit 358a8ad7af)

Co-authored-by: Micah Beasley <MBfromOK@users.noreply.github.com>
Co-authored-by: Alex Willmer <alex@moreati.org.uk>
Co-authored-by: Nathan Hyde <nathanhyde@gmail.com>
Co-authored-by: Desmond Obisi <51109125+DesmondSanctity@users.noreply.github.com>
Co-authored-by: Evgeni Golov <evgeni@golov.de>
Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>
Co-authored-by: Mario Lenz <m@riolenz.de>
Co-authored-by: Ompragash Viswanathan <21008429+Ompragash@users.noreply.github.com>
2022-07-15 13:36:34 -07:00
4b9434788b Ansible 6.1.0: Updated porting_guide_6.rst (#78245) (#78250)
(cherry picked from commit 3658c26ad4)

Co-authored-by: Ompragash Viswanathan <21008429+Ompragash@users.noreply.github.com>
2022-07-12 12:41:04 -07:00
5bc6adf2c2 Update Ansible release version to v2.13.2rc1.post0. (#78238) 2022-07-11 16:15:31 -04:00
a689972b56 New release v2.13.2rc1 (#78229) 2022-07-11 11:08:29 -04:00
69562a8db6 Fix wording for :ref|term: substitution (#78216) (#78221)
* Fix workding for :ref|term: subsitution

 now matches 'seealso' and makes more sense:

  ```
  delay:
  applies_to:
  - Task
  description: Number of seconds to delay between retries. This setting is only used
    in combination with `until`.
  ```
 vs
  ```
  delay:
  applies_to:
  - Task
  description: Number of seconds to delay between retries. This setting is only used
    in combination with website for `until`.
  ```

* updated unit tests

* match see also

* more sanity

(cherry picked from commit d26801e994)
2022-07-07 16:49:49 -05:00
357ca6394e Ensure atomic writes for cache file (#78208) (#78217)
* Ensure atomic writes for cache file

 helps avoid errors in highly concurrent environments

(cherry picked from commit f6419a53f6)
2022-07-07 16:49:34 -05:00
3ef4609bca password lookup argument parsing fix (#78080) (#78102)
fixes #78079

(cherry picked from commit cea18bf60a)
2022-07-06 12:54:22 -05:00
bdeeaa528d Fix 'Permission denied' in user module while generating SSH keys (#78040) (#78054)
* Fix 'Permission denied' in user module while generating SSH keys

Fix #78017
Use try/except for spwd usage to prevent "Permission denied".

Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 30a923fb5c)
2022-07-06 12:54:04 -05:00
6468bb0cb6 Move undefined check from concat to finalize (#78165) (#78179)
In the classic Jinja2's Environment str() is called on the return value of the
finalize method to potentially trigger the undefined error. That is not
the case in NativeEnvironment where string conversion of the return value is
not desired. We workaround that by checking for Undefined in all of our concat
functions. It seems simpler to do it earlier in the finalize method(s) instead.
As a side-effect it fixes an undefined variable detection in imported templates.

Fixes #78156

ci_complete

(cherry picked from commit 17d52c8d64)
2022-07-06 10:28:35 -05:00
d4cd1853b0 Make unit test for missing git executable more generic (#78173) (#78174)
* Make unit test for missing git executable more generic

* use MagicMock side_effect to raise exception instead

(cherry picked from commit 1562672bd1)
2022-07-06 10:28:16 -05:00
27890cd659 Backportapalooza 06 30 (#78176)
* fixed hyperlinks to galaxy.ansible for issue #78104 (#78152)

(cherry picked from commit 4bd7e50612)

* Fix documentation with misleading data type (#78157)

##### SUMMARY
The sample value given for the 'mode' parameter is shown without quotes, but the data type is string. If you actually try to use an unquoted numeric string for this value you're in for a nasty surprise! I added quotation marks to the sample value.
##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr

(cherry picked from commit 4c9385dab7)

* Update README.md (#78139)

Update Python version requirement to >= 3.8.

(cherry picked from commit 58b42abede)

* elaborate on import/include conditional example (#78138)

(cherry picked from commit 7ec84c511f)

* Update vault.rst (#78140)

(cherry picked from commit 84105e39f4)

Co-authored-by: Lewis Brogan <ilewisbrogan@gmail.com>
Co-authored-by: mlevens-hw <55262896+mlevens-hw@users.noreply.github.com>
Co-authored-by: Diana S. Cardona <89112552+Flecha21@users.noreply.github.com>
Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
Co-authored-by: jlownie <jlownie@hotmail.com>
2022-07-05 08:35:27 -07:00
036fc02c27 [stable-2.13] ansible-doc: list modules in collections recursively (#78137)
* List modules in collections recursively.

* Skip symlinks when listing plugins and modules.
2022-07-05 08:30:01 -07:00
99217ca2b6 [stable-2.13] ansible-test - Improve pip bootstrap download.
(cherry picked from commit b9d13d222c)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-06-24 12:23:51 -07:00
a2022a37db Backportapalooza 06 23 (#78134)
* Add tutorial links to the docs #78073 (#78084)

(cherry picked from commit 717f178870)

* Updated the document 'src' in URI (#78105)

(cherry picked from commit 08b438c4ba)

* update documentation of 'unarchive' (#77643)

(cherry picked from commit c321e3baad)

* Update list for gather_subset (#78133)

(cherry picked from commit 3e3f8cb004)

* issue #78076 fix diagram (#78077)

(cherry picked from commit 59f3f1b625)

Co-authored-by: paulreece <96156234+paulreece@users.noreply.github.com>
Co-authored-by: Tabah Baridule <dulemartins07@gmail.com>
Co-authored-by: optica-phoffmann <103563417+optica-phoffmann@users.noreply.github.com>
Co-authored-by: Don Naro <dnaro@redhat.com>
2022-06-24 09:04:46 -07:00
6dad4b9f70 update intersphinx links for Ansible 6 (#78121) (#78126)
(cherry picked from commit 70543402c7)
2022-06-24 09:01:15 -07:00
271097434b set current version to 6 (#78110) 2022-06-21 11:40:26 -07:00
16970567bf update conf.py for Ansible 6 release (#78049) (#78109)
(cherry picked from commit e8a77626a3)
2022-06-21 11:40:04 -07:00
d9f999f1c3 update release page to reflect Ansible 6 release (#78047) (#78108)
Co-authored-by: Iheanacho Amarachi Sharon  <58210919+Iheanacho-ai@users.noreply.github.com>
(cherry picked from commit a9ce358f98)
2022-06-21 11:39:40 -07:00
45920f1d2e docs: Update porting guide for Ansible 6.0.0 (#78101) (#78106)
(cherry picked from commit 1b63e7d3fa)

Co-authored-by: Ompragash Viswanathan <ompragash.viswanathan@gmail.com>
2022-06-21 11:38:47 -07:00
f09e6b7769 Backportapalooza 06 16 (#78072)
* Docsite: Updated style guide resources (#78048)

(cherry picked from commit 561cf1956d)

* Create reusable role layout snippet for documentation (#78057)

* reuse role structure
* reuse role snippet in role docs

(cherry picked from commit f4ad1c771e)

* Docsite: update links to community docs (#78043)

(cherry picked from commit 46d86a882d)

* Windows - incorrect python-devel package in WinRM docs (#78037)

Co-authored-by: Emanuele Barbato <manu@Giuseppes-MacBook-Air.local>
(cherry picked from commit 681dc6eab9)

* issue #72449 winrm script rm (#77931)

(cherry picked from commit 3cd2c494bd)

* reword the regex note (#75393)

Co-authored-by: Matt Martz <matt@sivel.net>
Co-authored-by: Brian Scholer <1260690+briantist@users.noreply.github.com>
(cherry picked from commit 66c0882314)

* Document debconf interaction with dpkg-reconfigure (#74196)

Signed-off-by: David Greaves <david@dgreaves.com>
(cherry picked from commit 5b90601ca4)

Co-authored-by: Lewis Brogan <ilewisbrogan@gmail.com>
Co-authored-by: Andrew Klychkov <aklychko@redhat.com>
Co-authored-by: Emanuele Barbato <30394740+emanuelebarbato@users.noreply.github.com>
Co-authored-by: Don Naro <dnaro@redhat.com>
Co-authored-by: David Greaves <david@dgreaves.com>
2022-06-21 09:01:11 -07:00
739fb490c7 Update Ansible release version to v2.13.1.post0. (#78095) 2022-06-20 10:28:23 -04:00
e9f633ec72 New release v2.13.1 (#78086) 2022-06-20 09:40:16 -04:00
34203f6b56 Update Ansible release version to v2.13.1rc1.post0. (#78044) 2022-06-13 10:39:31 -04:00
d34ba977fb New release v2.13.1rc1 (#78033) 2022-06-13 09:47:10 -04:00
fa898f4fcc Docs Backportapalooza 06 09 (#78020)
* Move AWS guidelines to collection (#77959)

(cherry picked from commit 0ff1ba3e12)

* docs: Update porting guide for ansible 5.9.0 (#77982)

(cherry picked from commit f9d4c26143)

* docs: Update porting guide for ansible 6.0.0rc1 (#77991)

(cherry picked from commit a30500144e)

* Fix docs links for the steering committee (#77974)

(cherry picked from commit ca9be6e27e)

* Add macOS fork issue to FAQ (#77965)

* Add macOS fork issue to FAQ

* Remove colon from error msg

(cherry picked from commit 0fae2383da)

* Docs: change community collection inclusion process (#77905)

(cherry picked from commit e589eba506)

* update backport instructions to reflect stable-2.13 (#77958)

Co-authored-by: Divine Odazie <dodazie@gmail.com>
(cherry picked from commit 85329beb90)

* mention different results for password_hash depending on library used (#76863) (#77963)

(cherry picked from commit fa840d4c7c)

* Rephrase-community (#77985)

(cherry picked from commit 556ac89664)

Co-authored-by: Mario Lenz <m@riolenz.de>
Co-authored-by: Ompragash Viswanathan <ompragash.viswanathan@gmail.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Martin Krizek <martin.krizek@gmail.com>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
Co-authored-by: Philippe Kueck <philfry@users.noreply.github.com>
Co-authored-by: Bennykillua <67695793+Bennykillua@users.noreply.github.com>
2022-06-10 12:43:05 -07:00
cf5c0c9b06 ansible-galaxy - support resolvelib versions >= 0.5.3, < 0.9.0 (#77649) (#78008)
* ansible-galaxy - support resolvelib versions >= 0.5.3, <= 0.8.1

Test incompatibilities are removed for resolvelib >= 0.6.0

Test against the latest 0.8.x version and fix requirements

* Fix tests - use a venv for testing the range of resolvelib versions

* Update temporary hardcoded fallback for ansible-test

* Update hardcoded upperbound for sanity tests

* Make error check more flexible

(cherry picked from commit 143e7fb45e)
2022-06-10 12:39:30 -07:00
44e249df3a [stable-2.13] Update AZP test container to 3.0.0. (#78022)
(cherry picked from commit 1321d6ecd5)
2022-06-09 17:29:26 -07:00
977c2480db [2.13] Fix ansible-galaxy traceback when unexpected version of resolvelib is installed (#77901)
* Fix ansible-galaxy traceback when unexpected version of resolvelib is installed (#77630)

* Fix traceback when a supported version of resolvelib is not installed

Try to read the supported version range from the package distribution info and fall back to a hardcoded lowerbound/upperbound (>=0.5.3,<0.6.0).

* Add tests for unsupported resolvelib versions

* Resolve remaining import sanity test issues.

Co-authored-by: Matt Clay <matt@mystile.com>
Co-authored-by: Matt Martz <matt@sivel.net>
(cherry picked from commit 82f3a57bee)

* Fix boolean condition so that ansible-galaxy collection install works when a valid resolvelib is installed. (#77906)

(cherry picked from commit 6fbc8bd2bc)

* ansible-galaxy - ensure variable is defined for any error when getting the ansible-core distribution (#77993)

(cherry picked from commit db335498d0)

Co-authored-by: Felix Fontein <felix@fontein.de>
2022-06-09 10:13:28 -05:00
3957913485 fix pip module resolution (#78000) (#78006)
* `importlib.util` appears to be lazily imported and is sometimes unavailable as an attribute of `importlib` without an explicit import

(cherry picked from commit 6e78425f8d)
2022-06-09 10:11:38 -05:00
be9c208cb4 apt: fix virtual package install version detection (#76781) (#77909)
* apt: fix virtual package install version detection

Change 4a62c4e3e4 introduced version
matching in installation.

The problem stems from

 if version_installable or version:
     pkg_list.append("'%s=%s'" % (name, version_installable or version))

When the package is a virtual-package, package_status() is returning
the "version_installable" of the package *satisfying* the
virtual-package; but then this is trying to install the
virtual-package with this version pin.

For example, "yaml-mode" is a virtual package satisifed by
"elpa-yaml-mode" (currently 0.0.14-1) and trying to install it fails
with

 $ usr/bin/apt-get -y ... install 'yaml-mode=0.0.14-1'
 ... failed: E: Version '0.0.14-1' for 'yaml-mode' was not found ...

In the case of a virtual-package with nothing installed to satisfy it,
we should just return blank values to allow apt-get to do it's thing.

The tests are updated to install and remove this package.

Fixes: #76779
(cherry picked from commit e4c0bbf885)

Co-authored-by: Ian Wienand <iwienand@redhat.com>
2022-06-08 12:06:57 -05:00
63a0860231 Add toggle to fix module_defaults with module-as-redirected-action on a per-module basis (#77265) (#77899)
* If there is a platform specific handler, prefer the resolved module over the resolved action when loading module_defaults

Add a toggle for action plugins to prefer the resolved module when loading module_defaults

Allow moving away from modules intercepted as actions pattern

Fixes #77059

(cherry picked from commit 621e782ed0)
2022-06-08 11:29:20 -05:00
f80f58903b Fix windows connection options (#77844) (#77894)
* winrm, psrps added missing var entry

 this handles issue with the default being set to inventory_hostname
 but defaults not being templated implicitly

 fixes #77841

(cherry picked from commit eecbaee7f4)
2022-06-08 11:29:11 -05:00
02104472e2 Update PSF-license.txt to version from CPython 3.9.5. (#77805) (#77829)
(cherry picked from commit 201aba3d0f)
2022-06-08 11:29:02 -05:00
e5e3bc849d template/__init__.py - fix KeyError when wantlist=False with non-list (#77824)
(cherry picked from commit c9ce7d08a2)
2022-06-08 11:28:52 -05:00
9796d055b9 fix SELinux facts tests (#77707)
* make the pre-flight sniffing more robust to different failure conditions (was failing on Ubuntu 22.04 VMs)
* remove skip aliases (the test needs to function everywhere to assert that the selinux facts bits behave properly when it's N/A)

(cherry picked from commit 4ff10fcd31)
2022-06-08 11:28:41 -05:00
f02e870b1b dont rely on path to set config defs for plugins (#77659) (#77694)
(cherry picked from commit a3cc6a581e)
2022-06-08 11:28:29 -05:00
f026e3dcf9 Fix 'ansible-config dump --only-changed -t all' verbosity (#77898) (#77922)
* Fix 'ansible-config dump --only-changed -t all' to only display headers if plugin options are changed

* changelog

* add a test

(cherry picked from commit 1214b63f4f)
2022-06-08 10:49:30 -05:00
0c76edb63a Pin PyYAML version compatible with Python 3.8+ (#77936) (#77986)
Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>
Co-authored-by: Matt Clay <matt@mystile.com>
(cherry picked from commit e89176caac)
2022-06-08 10:49:16 -05:00
68c2f09ae8 [2.13] fix ansible-galaxy-collection integration test (#77992)
* ansible-galaxy-collection - use --pinentry-mode loopback for gpg key revocation (#77967)

(cherry picked from commit 1706d35fc4)

* fix ansible-galaxy-collection test with revoked key (#77989)

* Remove unnecessary gpg passphrase

(cherry picked from commit a43112290a)
2022-06-08 10:00:11 -05:00
6291280ef8 [stable-2.13] Make fuzzy plugin matching deterministic. (#77997)
(cherry picked from commit 5a0b230e24)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-06-08 09:52:48 -05:00
567a295c00 [stable-2.13] ansible-test - Adjust unit test mock usage. (#77961) (#77999)
(cherry picked from commit 23914d3f0b)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-06-08 09:52:26 -05:00
ae380e3bef [stable-2.13] ansible-test - Multiple backports (#77951)
* ansible-test - Backport `InternalError`

NOTE: This is a partial backport, including only one new class.

(cherry picked from commit b960641759)

* ansible-test - Fix subprocess management. (#77641)

* Run code-smell sanity tests in UTF-8 Mode.
* Update subprocess use in sanity test programs.
* Use raw_command instead of run_command with always=True set.
* Add more capture=True usage.
* Don't expose stdin to subprocesses.
* Capture more output. Warn on retry.
* Add more captures.
* Capture coverage cli output.
* Capture windows and network host checks.
* Be explicit about interactive usage.
* Use a shell for non-captured, non-interactive subprocesses.
* Add integration test to assert no TTY.
* Add unit test to assert no TTY.
* Require blocking stdin/stdout/stderr.
* Use subprocess.run in ansible-core sanity tests.
* Remove unused arg.
* Be explicit with subprocess.run check=False.
* Add changelog.
* Use a Python subprocess instead of a shell.
* Use InternalError instead of Exception.
* Require capture argument.
* Check for invalid raw_command arguments.
* Removed pointless communicate=True usage.
* Relocate stdout w/o capture check.
* Use threads instead of a subprocess for IO.

(cherry picked from commit 5c2d830dea)

* ansible-test - Add support for remote Ubuntu VMs.

(cherry picked from commit 6513453310)

* ansible-test - Fix remote completion validation.

(cherry picked from commit e2200e8dfc)

* ansible-test - Add multi-arch remote support.

(cherry picked from commit 2cc74b04c4)

* ansible-test - Enhance the shell command. (#77734)

* ansible-test - Add shell --export option.

* ansible-test - Support cmd args for shell command.

Also allow shell to be used without a valid layout if no delegation is required.

* ansible-test - Improve stderr/stdout consistency.

By default all output goes to stdout only, with the exception of a fatal error.

When using any of the following, all output defaults to stderr instead:

* sanity with the `--lint` option -- sanity messages to stdout
* coverage analyze -- output to stdout if the output file is `/dev/stdout`
* shell -- shell output to stdout

This fixes issues two main issues:

* Unpredictable output order when using both info and error/warning messages.
* Mixing of lint/command/shell output with bootstrapping messages on stdout.

* ansible-test - Add changelog fragment.

(cherry picked from commit fe349a1ccd)

* ansible-test - Fix remote args restriction.

The platform-specific and global fallbacks were not working with the `--remote` option.

This regression was introduced by https://github.com/ansible/ansible/pull/77711

(cherry picked from commit 76ead1e768)
2022-06-02 16:39:52 -07:00
f3b56ec661 Backportapalooza 06 02 (#77960)
* docs: update porting guide for ansible 6.0.0b1 (#77913)

(cherry picked from commit 7c89562580)

* docs: add missing notes in porting guide for 6.0.0b1 (#77926)

There was an issue with the changelog in community.network 4.0.0, it's
been fixed in 4.0.1 and now properly included.

(cherry picked from commit 9f7956ba30)

* Remove platform dev guides from core docs (#77915)

(cherry picked from commit f3c684564c)

* Migrate community.vmware Dev Guide to collection (#77723)

(cherry picked from commit b69eb28ed2)

* Issue #77681 revamp getting started guide (#77897)

(cherry picked from commit 89e4fb71e6)

* ssh retry docs addition (#77930)

(cherry picked from commit 15750aec52)

* fix: update button text to "Load token" (#77925)

(cherry picked from commit 16e0d4a121)

* fix bad merge conflict resolution

Co-authored-by: David Moreau Simard <moi@dmsimard.com>
Co-authored-by: Mario Lenz <m@riolenz.de>
Co-authored-by: Don Naro <dnaro@redhat.com>
Co-authored-by: Dan Kolepp <10145457+dkolepp@users.noreply.github.com>
2022-06-02 16:34:16 -07:00
2ac74197af [stable-2.13] ansible-test - Prefer unittest.mock for core.
(cherry picked from commit 81351022d8)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-06-01 17:19:04 -07:00
44ce9fe998 [stable-2.13] ansible-test - Fix shell target options handling.
(cherry picked from commit f933314101)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-06-01 13:20:38 -07:00
2b6df9ea36 Add RHEL 9.0 to ansible-test and CI. (#77923)
* ansible-test - Add RHEL 9.0 remote support.

* Add RHEL 9.0 to CI. (#77853)

* Add RHEL 9.0 to CI.

* Restrict network manager inspection to RHEL8

* Skip module tests when astream_name is undefined, undefine it for RHEL9 until 9.1

* Remove redundant test.

Co-authored-by: Matt Martz <matt@sivel.net>
(cherry picked from commit 43d650f924)

* Include test fix from https://github.com/ansible/ansible/pull/77847
2022-06-01 12:51:24 -07:00
e6b16ddeb5 Docs backportapalooza 05 26 (#77921)
* Remove statement about dependencies and includes. Fixes #75055 (#77912)

(cherry picked from commit a2eb472fb6)

* doc: Clarify stride/increment in inventory intro (#77893)

(cherry picked from commit 9010f0fbe3)

* Remove double spaces in errormessage (#77839)

(cherry picked from commit 711b51fad6)

* add anchors for crossreferencing (#77800)

(cherry picked from commit a99623bce1)

* [docs]Mention that global variables are not mapped to hostvars (#77783)

(cherry picked from commit 74469bf54a)

* Point to Kerberos as a safer winrm setup method (#77794)

(cherry picked from commit 45d930e9c1)

* more context on multiple facts modules (#77896)

(cherry picked from commit dbbeea0686)

Co-authored-by: Matt Martz <matt@sivel.net>
Co-authored-by: rawtaz <rawtaz@users.noreply.github.com>
Co-authored-by: Wouter Schoot <wouter@schoot.org>
Co-authored-by: Sergei Petrosian <30409084+spetrosi@users.noreply.github.com>
Co-authored-by: TheBigBear <TheBigBear@users.noreply.github.com>
Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>
2022-05-26 15:35:12 -07:00
c45ba4f9ca docs: Update porting guide for ansible 5.8.0 (#77843) (#77859)
(cherry picked from commit 059204b871)

Co-authored-by: David Moreau Simard <moi@dmsimard.com>
2022-05-26 15:33:14 -07:00
8d99c1cc0c docs: Update porting guide for ansible 6.0.0a3 (#77842) (#77858)
(cherry picked from commit 66e92a3aff)

Co-authored-by: David Moreau Simard <moi@dmsimard.com>
2022-05-26 15:32:54 -07:00
46a1eb6832 [stable-2.13] Prefer unittest.mock over mock. (#77886)
(cherry picked from commit 2595b42aca)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-05-23 14:09:36 -07:00
47e1cc38fd [stable-2.13] Use unittest.mock instead of mock. (#77883)
This can only be done for controller tests.
(cherry picked from commit 3a9a23fb1a)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-05-23 12:21:37 -07:00
93b8ccda21 [stable-2.13] Avoid deprecated method in unit tests.
(cherry picked from commit 5f74350fd5)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-05-23 12:02:38 -07:00
006ea84f70 Update Ansible release version to v2.13.0.post0. (#77809) 2022-05-16 12:09:01 -04:00
ad609fa57e New release v2.13.0 (#77799) 2022-05-16 10:47:48 -04:00
d0d1cc9e54 05 12 backportapalooza (#77787)
* stub out ovirt dev guide with pointer to new location (#77751)

(cherry picked from commit 5e22fe21fd)

* Docsite/communication.rst: fix formatting (#77760)

(cherry picked from commit 97e574fe6e)

* Updated the playbook section in this docs (#77747)

(cherry picked from commit 42086c14a3)

* 2.13 GA has been bumped up a week to release on May 16 (#77772)

(cherry picked from commit 75bc630565)

* Fix plugin dev examples (#77759)

* Fix plugin dev examples

* Update docs/docsite/rst/dev_guide/developing_plugins.rst

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 9923e92d97)

* docs: Update ansible-core release date in Ansible roadmap (#77775)

(cherry picked from commit 235f2598b1)

* revamp basic concepts docs (#77748)

(cherry picked from commit 8e91403412)

* core-2.13 - update release table (#77780)

(cherry picked from commit 6230244537)

* clarify Ansible EOL details (#77778)

* clarify Ansible EOL details: update docs/docsite/rst/reference_appendices/release_and_maintenance.rst
Co-authored-by: Felix Fontein <felix@fontein.de>

(cherry picked from commit 654fff05e6)

* Update url to quickstart video. (#77779)

(cherry picked from commit f75bb09a8b)

Co-authored-by: Andrew Klychkov <aklychko@redhat.com>
Co-authored-by: Desmond Obisi <51109125+DesmondSanctity@users.noreply.github.com>
Co-authored-by: Matt Martz <matt@sivel.net>
Co-authored-by: Mario Lenz <m@riolenz.de>
Co-authored-by: David Moreau Simard <moi@dmsimard.com>
Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>
Co-authored-by: Tabah Baridule <dulemartins07@gmail.com>
Co-authored-by: Matt Davis <6775756+nitzmahone@users.noreply.github.com>
2022-05-13 15:26:58 -07:00
256641b780 set stable-2.13 to latest (#77798) 2022-05-13 15:05:15 -07:00
0d1d1b74b3 update version switcher to include 2.13 (#77786) (#77795)
(cherry picked from commit f5642cea28)
2022-05-13 15:04:10 -07:00
14f64ae38f core-2.13 - update release table (#77780) (#77785)
(cherry picked from commit 6230244537)
2022-05-13 14:59:36 -07:00
a6d7eb8710 [docs][backport] 5 06 docs backportapalooza (#77749)
* Docsite: move a stepped down steering committee member to past members (#77715)

(cherry picked from commit a1ddb83fc1)

* add collection pr review checklist (#77661)

Co-authored-by: Emmanuel Ugwu <32464178+ugwutotheeshoes@users.noreply.github.com>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
(cherry picked from commit ef2fe6823c)

* clarify latest release (#77577)

* clarify latest release
* fix tables

(cherry picked from commit f633b62cbc)

* typo in doc (#77672)

(cherry picked from commit c71faec595)

* Docs: `ansible-test sanity` example with a folder

##### SUMMARY
The docs mentions explicitly that you can run the tests against certain files which might not relay that it works on folders too!

Let's make this clear :)

##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr

(cherry picked from commit 52bd59c481)

* docs: update porting guide for ansible 6.0.0a2 (#77736)

(cherry picked from commit 0cfc291573)

* simplify developing modules (#77647)

(cherry picked from commit 255745b3e6)

* Mention admin requirement for runas become (#77722)

(cherry picked from commit dd094a4413)

* core branch descriptions (#76152)

(cherry picked from commit d352f2ec21)

* Fix ansible-test import analysis warning.

Fix overlooked in https://github.com/ansible/ansible/pull/68372/

(cherry picked from commit 77732ed50d)

* Revert "Fix ansible-test import analysis warning."

This reverts commit 676f1056cb.

Co-authored-by: Andrew Klychkov <aklychko@redhat.com>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Kristian Heljas <11139388+kristianheljas@users.noreply.github.com>
Co-authored-by: David Moreau Simard <moi@dmsimard.com>
Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>
Co-authored-by: Jordan Borean <jborean93@gmail.com>
Co-authored-by: Matt Davis <6775756+nitzmahone@users.noreply.github.com>
Co-authored-by: Matt Clay <matt@mystile.com>
2022-05-13 14:59:00 -07:00
a07e3eb45b 4 28 docs backportapalooza (#77686)
* docs: Update porting guide for ansible 5.7.0 (#77646)

(cherry picked from commit 709ae7c050)

* remove import_play examples from include module (#77597)

(cherry picked from commit d321fa3f15)

* trim down to use sanity test docs requirements file (#77612)

* trim down to use sanity test docs requirements file
* add requirements back
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update docs/docsite/rst/community/documentation_contributions.rst

(cherry picked from commit a65fbfad5b)

* Typo fix (#77648)

(cherry picked from commit cf5f0690f0)

* Update guide_vultr.rst (#77665)

(cherry picked from commit f6fb402d1f)

* add select distro installs to docs (#77567)

(cherry picked from commit 096393a221)

* community_steering_committee.rst: add new member (#77589)

(cherry picked from commit 3cbfee7852)

* clarify latest release (#77577)

* clarify latest release
* fix tables

(cherry picked from commit f633b62cbc)

* typo in doc (#77672)

(cherry picked from commit c71faec595)

Co-authored-by: David Moreau Simard <moi@dmsimard.com>
Co-authored-by: deosrc <deosrc@g-de.co.uk>
Co-authored-by: Jan-Piet Mens <jp@mens.de>
Co-authored-by: Andrew Klychkov <aklychko@redhat.com>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2022-05-13 14:57:50 -07:00
f4f1f772c1 [stable-2.13] shift to ansible_core_version
(cherry picked from commit 7471c036ec)

Co-authored-by: samccann <samccann@redhat.com>
2022-05-05 12:19:07 -07:00
511389ef3a Update Ansible release version to v2.13.0rc1.post0. (#77718) 2022-05-02 13:54:20 -04:00
f282306b1b New release v2.13.0rc1 (#77717) 2022-05-02 10:26:31 -04:00
89e6dcda26 Prevent losing unsafe from lookups (#77609) (#77650)
* Prevent losing unsafe from lookups

This patch fixes a bug which under certain conditions results in data
returned from lookups not being marked as unsafe.

Each time Templar.do_template is invoked a new AnsibleContext is
created and stored effectively at two places:
1) as an instance variable in templar_obj.cur_context
2) as a local variable called new_context in do_template method of Templar

Due to custom functionality in Ansible's Context that allows for nested
templating it is possible that during resolving variable's value
template/do_template method is called recursively again, again creating
a new context. At that point the problem manifests itself because as
mentioned in 1) above the context is overwriten on the templar object
which means that any subsequent calls to _lookup will use the new
context to mark it as unsafe which is now different to the local
new_context which is used for testing for unsafe property.

The solution to the problem appears to be to restore the original
context inside do_template and also to eliminate the local variable
new_context to prevent problems in the future.

It appears that we don't have a better way of storing the context other
than as some form of global variable and so this appears to be the
"best" solution possible at this point. Hopefully data tagging will be
the solution here.

For more examples see unit and integration tests included in this patch.

Fixes #77535

(cherry picked from commit 3980eb8c09)
2022-04-28 16:16:36 -05:00
8f1c25d154 Update Ansible release version to v2.13.0b1.post0. (#77634) 2022-04-25 12:43:02 -04:00
5d9d0fe39b New release v2.13.0b1 (#77629) 2022-04-25 10:36:03 -04:00
9a7b645c50 ansible-test - Update default containers to 5.9.0. 2022-04-22 12:25:58 -07:00
cad892125c [stable-2.13] Replace antsibull with antsibull-docs (#77504)
(cherry picked from commit 841bdb74eb)

Co-authored-by: Felix Fontein <felix@fontein.de>
2022-04-22 10:30:49 -07:00
e03069a444 [docs][backport] Docs backports week 4-18-22 (#77557)
* Update reporting_bugs_and_features.rst (#77518)

(cherry picked from commit fa7c5d9b10)

* docs: Add porting guide for Ansible 6.0.0a1 (#77526)

(cherry picked from commit 0d9a580f24)

* Steering Committee: add new member (#77529)

(cherry picked from commit 553a226da5)

* Update pip example with standard lowercase http[s]_proxy env vars (#77515)

(cherry picked from commit 2ba39fcf8c)

* Update docs to recommend the TTY for prompts over stderr (#77533)

(cherry picked from commit 789d29e895)

* update python devel docs (#77499)

* update python devel docs

Co-authored-by: Sandra McCann <samccann@redhat.com>
(cherry picked from commit 2fc73a9dc3)

* setup: remove 'any' as seemingly valid option (#77532)

fixes #59783

(cherry picked from commit 762d97f1b8)

* Update developing_collections_shared.rst (#77497)

##### SUMMARY
Use of the meta/runtime.yml file to specify the ansible-core version for collections

##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr

(cherry picked from commit eef0a1cef9)

* Update developing_collections_structure.rst (#77496)

(cherry picked from commit 538a19b748)

* Fix a broken link and some grammatical errors (#77531)

(cherry picked from commit 0c1cb0e9d4)

* Add contributor path page (#77494)

Co-authored-by: Emmanuel Ugwu <32464178+ugwutotheeshoes@users.noreply.github.com>
(cherry picked from commit 3b0d74c145)

Co-authored-by: Iheanacho Amarachi Sharon <58210919+Iheanacho-ai@users.noreply.github.com>
Co-authored-by: David Moreau Simard <moi@dmsimard.com>
Co-authored-by: Andrew Klychkov <aklychko@redhat.com>
Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
Co-authored-by: Matt Martz <matt@sivel.net>
Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>
Co-authored-by: Emmanuel Ugwu <32464178+ugwutotheeshoes@users.noreply.github.com>
Co-authored-by: Kajsa Gauza <nimrod7@gmail.com>
2022-04-21 16:53:52 -05:00
91fb18bf31 [stable-2.13] arg_spec - Return aliases in validation result and update aliases (#77576) (#77601)
When looking up the `no_log` setting for a parameter that is an alias in
`AnsibleModule._log_invocation()`, the alias value will always be an
empty dictionary since `self.aliases` on the `AnsibleModule` instance is
never updated after initialization. Since the `no_log` setting is on the
canonical parameter not the alias, an incorrect warning is issued if the
parameter matches `PASSWORD_MATCH`.

This PR returns the aliases dictionary as an attribute of the
`ValidationResult` and updates the `aliases` attribute on the
`AnsibleModule` instance.
(cherry picked from commit 1b947eaf92)

Co-authored-by: Sam Doran <github@samdoran.com>
2022-04-21 16:53:28 -05:00
3e1db5d753 git fix docs and wrapper script (#77588) (#77603)
* git fix docs and wrapper script

 fixes #77582

 now env var is set to wrapper or full command depending on version
 as was the intent of previous PR
 added ref to git commit from git for why/how we used the env vars

* handle key_file

(cherry picked from commit d06d99cbb6)
2022-04-21 16:53:07 -05:00
e51e36ea6a varaiblemanager, more efficienet vars file reads (#77570) (#77596)
(cherry picked from commit 2c2a204dc6)
2022-04-21 16:52:53 -05:00
9deb5ad45a [stable-2.13] Exclude Python 2.6 from interpreter discovery. (#77528)
(cherry picked from commit 32d67ce998)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-04-13 11:34:38 -05:00
8dedf7f06c Update Ansible release version to v2.13.0b0.post0. (#77508) 2022-04-11 11:39:45 -04:00
220917e2af New release v2.13.0b0 (#77502) 2022-04-11 10:57:40 -04:00
2cba3e8c42 Get git executable for collections in git repos (#77493) (#77500)
* Fix traceback installing collections from git repos if git is not installed

(cherry picked from commit 477c55b0d2)
2022-04-08 13:28:53 -05:00
c4901aa08f [docs][backport] 0407 weekly docs backports (#77490)
* INI: values with spaces can be single or double quoted (#77369)

(cherry picked from commit ac56647f4a)

* community_steering_committee.rst: add chairperson (#77454)

(cherry picked from commit 82c622a26a)

* Document how to release a collection  (#77391)

Co-authored-by: Divine Odazie <dodazie@gmail.com>
(cherry picked from commit 26631de88c)

* docs: Update porting guide for ansible 5.6.0 (#77466)

(cherry picked from commit 36371500b7)

* Trivial (#77467)

Co-authored-by: Iheanacho Amarachi Sharon  <58210919+Iheanacho-ai@users.noreply.github.com>
(cherry picked from commit e8dbc84afe)

* Update installing_collections_file.rst (#77439)

(cherry picked from commit 6da4186f6e)

* template module: document jinja2_native behavior (#77445)

(cherry picked from commit a85261342a)

* avoid recursion in example (#77436)

(cherry picked from commit d7d2afd203)

* Clarifying how handlers are handled (#77372)

(cherry picked from commit 7126bfc61c)

Co-authored-by: Dr. András Korn <korn-github.com@elan.rulez.org>
Co-authored-by: Andrew Klychkov <aklychko@redhat.com>
Co-authored-by: David Moreau Simard <moi@dmsimard.com>
Co-authored-by: Travis Michette <tmichett@redhat.com>
Co-authored-by: Martin Krizek <martin.krizek@gmail.com>
Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>
2022-04-08 12:54:36 -05:00
bd1da60bf2 Ensure correct environment_class is set on Template (#77485) (#77488)
(cherry picked from commit c7e198b907)
2022-04-07 10:46:38 -05:00
30f96bb75e [stable-2.13] ansible-test - Don't fail if network cannot be disconnected (#77472) (#77482)
* Don't fail if network cannot be disconnected

* add clog frag
(cherry picked from commit 66c5844)

Co-authored-by: Matt Martz <matt@sivel.net>
2022-04-07 08:45:23 -05:00
3b20b02272 [stable-2.13] Fix sanity test crash. (#77475)
(cherry picked from commit 6216c9fc93)

Co-authored-by: Felix Fontein <felix@fontein.de>

Co-authored-by: Felix Fontein <felix@fontein.de>
2022-04-07 08:45:08 -05:00
6b6b324618 [docs][backport][2.13] Backportapalooza 3-31 (#77438)
* add links.yml to collection structure docs (#77415)

* add links.yml to collection structure docs
* fix link
* Update docs/docsite/rst/dev_guide/developing_collections_structure.rst

(cherry picked from commit 8caa6efaab)

* Example is a single play, not a playbook

(cherry picked from commit bf8e186c68)

* Fix list formatting (#77354)

(cherry picked from commit e918cfa588)

* Most Matrix channels are ansible.com and not .im (#77352)

(cherry picked from commit 6557a60d08)

* Docs cheatsheet - skeleton and ansible-playbook (#76655)

(cherry picked from commit 21addac5da)

Co-authored-by: rwhector <richard@walnut.gen.nz>
Co-authored-by: Christian Adamini <christian.adamini@invision.de>
Co-authored-by: bluikko <14869000+bluikko@users.noreply.github.com>
Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
2022-04-05 15:29:38 -05:00
f720c58949 winrm - ensure callers PATH for kinit is set (#77401) (#77404)
* winrm - ensure callers PATH for kinit is set

* Fix unit test expectations

* Fix type annotation

(cherry picked from commit 60b4200bc6)
2022-04-05 15:29:28 -05:00
85341c3e5d [stable-2.13] Catch ImportError when pyyaml doesn't have libyaml extension (#77434) (#77459)
* [stable-2.13] Catch ImportError when pyyaml doesn't have libyaml extension (#77434)
(cherry picked from commit e3aa73c)

Co-authored-by: Matt Martz <matt@sivel.net>

* Add test to assert that missing libyaml doesn't result in an error. Fixes #77437

(cherry picked from commit 2797dc644a)
2022-04-05 15:28:56 -05:00
ee9705a1ce [stable-2.13] ansible-test - Fix origin host target filtering.
(cherry picked from commit 4b51e61645)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-03-30 15:41:19 -07:00
708e4c206a ansible-test - Update default test containers. 2022-03-28 15:27:04 -07:00
7075fa36a1 Bump requirements for antsibull to 0.42.0 (which depends on antsibull-changelog >= 0.14.0). (#77362) 2022-03-28 16:24:29 -04:00
93d0ea0215 Update core porting guide generation. 2022-03-28 13:16:28 -07:00
3e491db466 Porting guide fixes. (#77376)
* Update porting guide generation.
* Fix 2.13 porting guide link.
2022-03-28 11:57:10 -07:00
4723eb9caa Add family fallback for RHEL to register as RedHat (#77371)
* Add family fallback for RHEL to register as RedHat

* Update tests to properly assert RHEL behavior
2022-03-28 11:47:09 -05:00
f03624e295 clarify how to customize ansible cli output (#77357) 2022-03-28 03:32:47 -07:00
babc26adc1 Handle errors during ansible-doc --metadata-dump more gracefully (#77035)
* Add option --no-fail-on-errors to return errors for ansible-doc --metadata-dump in JSON result instead of failing.

* Adjust changelog fragment.

* Add basic tests.
2022-03-26 09:14:57 -04:00
55f90ba31f ansible-test - Remove RHEL 9.0b support.
Support can be restored once RHEL 9 has been released.
2022-03-25 15:18:47 -07:00
afecc6400e Action Plugin argspec validation (#77013) 2022-03-25 11:53:32 -05:00
4635c75ef7 log results for get_best_parsable_locale (#77319)
* log locale outcomes from function
* also included variant forms of same prefs
2022-03-24 18:16:33 -04:00
2e69b5867e Creat steering committee docs (#77330)
Co-authored-by: Aine Riordan <44700011+ariordan-redhat@users.noreply.github.com>
2022-03-24 16:50:29 -04:00
ff184b0815 SID - Use literal UPN value when attempting a user to SID lookup (#77334) 2022-03-25 05:01:45 +10:00
27aa2612d9 Add what to look for in PyYAML documentation (#77323)
Co-authored-by: Martin Krizek <martin.krizek@gmail.com>
2022-03-24 14:24:24 -04:00
fa12af9042 Revision: "Address Docs: How to report bugs" #53520 (#77269) 2022-03-24 14:21:50 -04:00
1bdcb56249 Improve documentation to fix outdated file paths (#77341)
Co-authored-by: njthanhtrang <njthanhtrang@users.noreply.github.com>
2022-03-24 14:18:33 -04:00
ffda8ccbbd Incorrect parent role paths var description (#77342) 2022-03-24 14:11:36 -04:00
0a5b2e88f3 Fix quotes (#77346) 2022-03-24 14:07:19 -04:00
ea7f24a1d5 Support ignoring of certificates for ansible-galaxy during SCM cloning (#67616)
* Support ignoring of certificates for ansible-galaxy during SCM cloning

* Add integration tests installing a role from an untrusted repository

Test installing the role without --ignore-certs fails
Test installing the role with --ignore-certs is successful
2022-03-24 13:56:21 -04:00
2769f5621b Add find_spec and exec_module to RestrictedModuleLoader (#76427)
* Add find_spec and exec_module to RestrictedModuleLoader

* Fix getting new loader with correct path

Fix pep8 errors

* Use convert_ansible_name_to_absolute_paths instead of the loader path

* Apply suggestions from code review

* Fix type hints and test them in CI

* Fix error message for ansible.module_utils.basic if it's missing

Add mypy ignored missing imports for controller sanity tests

* Add mypy attr-defined ignore entries for python 3.8, 3.9, 3.10 for vendored six

Add mypy attr-defined ignore for python 2.7 in lib/ansible/utils/collection_loader/_collection_finder.py

* Just test controller python versions to simplify ignoring mypy errors
2022-03-23 13:55:37 -07:00
f96a661ada ansible-galaxy - add configuration options for more flexible collection signature verification (#77026)
* Add a toggle to control the number of signatures required to verify the authenticity of a collection

* Make the default number of required valid signatures 1

* Add option to make signature verification strict and fail if there are no valid signatures (e.g. "+1")

* Use a regex to validate --required-valid-signature-count

* Add a toggle to limit the gpg status codes that are considered a failure

* Update documentation and changelog

* Add unit and integration tests for the new options

* Fixes #77146

Fix using user-provided signatures when running 'ansible-galaxy collection verify ns.coll --offline'

Add a test for a user-provided signature when running ansible-galaxy collection verify with --offline

Fix displaying overall gpg failure without extra verbosity

Add a test for displaying gpg failure without verbosity

Improve documentation to be more clear that signature verification only currently applies to collections directly sourced from Galaxy servers
2022-03-23 16:41:27 -04:00
21827522dc Add quickstart testing docs for collections (#77290)
Co-authored-by: Divine Odazie <dodazie@gmail.com>
Co-authored-by: Emmanuel Ugwu <32464178+ugwutotheeshoes@users.noreply.github.com>
2022-03-23 16:07:32 -04:00
82e5f368e1 Reduce intro install to just pip (#77178) 2022-03-23 15:56:45 -04:00
8a86fa602d Simplify documentation for search paths (#73818) 2022-03-23 15:55:40 -04:00
bf00a14f91 linux networking facts: Provide IPv4 prefix (#77193)
For IPv6 addresses, Ansible already provides the prefix length for IP
addresses in the `prefix` fact. This patch adjusts the facts for IPv4
addresses to also contain the prefix length in the prefix fact. This
makes it easier to use the facts consistently when the CIDR notation is
needed.

Signed-off-by: Till Maas <opensource@till.name>
2022-03-24 04:47:01 +10:00
14098d9b04 typo variable reference (#77327) 2022-03-22 16:25:46 +01:00
4baf18c573 Remove more Python 2.x compatibility code from controller. (#77320) 2022-03-22 16:19:53 +01:00
c1a34d5a63 Update systemd strategy to not confuse NetworkManager (#77243)
* Update systemd strategy to not confuse NetworkManager. Fixes #76958

* Add tests
2022-03-21 09:32:41 -05:00
1100289a45 docker_util: Handle error in JSON parsing (#77298)
While getting hostname from container, podman command
fails to return JSON so wrap exception and return
hostname as 'None'

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2022-03-21 08:45:45 -05:00
68b5db328f Update ansible extension information (#77235)
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2022-03-17 16:55:52 -04:00
34e60c0a7a ansible_distribution: Add support for Uos/Deepin (#77275)
* ansible_distribution: Add support for Uos/Deepin

* Add changelog fragment.
2022-03-18 05:22:23 +10:00
4d984613f5 validate-modules for plugins: do some more schema validations so that some issues that are currently reported for modules are also reported for plugins (#77268)
* Add more sanity tests on schema level (so they also work for plugins).

* Fix various issues the sanity test reported.

* Add changelog fragment.

* Fix function name.
2022-03-18 05:16:40 +10:00
e3c72230cd unarchive: fix io_buffer_size option, remove ignore.txt entry (#77271)
* Fix io_buffer_size option.

* Remove ignore.txt entry by adding action plugin only options to module's argument spec.

* Add changelog fragment.

* Adjust unit tests.
2022-03-18 05:15:13 +10:00
c555ce1bd9 Update intro_patterns.rst (#77300)
Describe difference between targeting a single host using -i vs. --limit.  In particular, pointing out the behavior difference that -i will not rad inventory variables.
2022-03-17 14:57:37 -04:00
94b73d66d5 inventory manager respect --flush-cache (#77083) 2022-03-17 14:15:03 -04:00
c9db73f04e Add a YAML representer for NativeJinjaText (#77282)
Fixes #77280
2022-03-16 11:24:21 +01:00
d8687bd015 docs: Update porting guide for Ansible 5.5.0 (#77287) 2022-03-15 16:06:07 -04:00
dfda04894f stub out ipaddr page and point to new home (#77281) 2022-03-14 13:27:06 -07:00
6546c484f4 Address Docs: How to report bugs #53520 (#77214) 2022-03-11 10:22:40 -05:00
1a923e307e After 2.10 Collections can use vars plugins (#77216) 2022-03-11 10:17:10 -05:00
e8afdac06e ansible-test - Fix delegation inventory path. 2022-03-10 18:17:49 -08:00
b60a5eefb2 Include links to the modern homes of the windows modules (#77220) 2022-03-10 16:53:57 -05:00
496f51ceac get_url fix word emphasis on documentation (#77247) 2022-03-10 16:23:31 -05:00
3c72aa32d6 Add ansible devtools working group in community communication 2022-03-10 11:19:08 -08:00
7cb581ed2c Support podman-remote in ansible-test (#75753) 2022-03-09 15:59:29 -06:00
1ba3ead0a0 Update developing_modules_general_aci.rst (#73925) 2022-03-09 15:49:02 -05:00
0c514bcf54 ansible-test - Fix PS coverage --all generation. 2022-03-09 12:35:23 -08:00
6f445ca6e5 Remove obsolete Python 2.x controller code. 2022-03-08 16:32:06 -08:00
f68c66a3ef Remove collections compat from controller code. 2022-03-08 16:11:40 -08:00
822fddd627 Fix yaml loader and compat. 2022-03-08 12:51:33 -08:00
f43c54d890 ansible-test - Update default containers to 5.7.0. 2022-03-08 12:51:10 -08:00
3d5637beec Initial mypy sanity test support for core. 2022-03-08 09:26:14 -08:00
27923aad7e Add inline type hint ignores. 2022-03-07 16:45:19 -08:00
2a2b7dc42a Update include role to match the base class.
Use frozenset instead of tuple.
2022-03-07 16:45:03 -08:00
4867ac217b Code cleanup for type hinting issues. 2022-03-07 13:24:39 -08:00
8063643b4c Fix collection redirects for filter and test plugins (#77210)
* Fix collection redirects for jinja2 filters/tests

* Handle recursive redirects

Co-authored-by: Matt Martz <matt@sivel.net>
2022-03-07 15:39:56 -05:00
50d28de9ba Make ansible_index.rst more readable (#77225) 2022-03-07 13:55:59 -05:00
7c81a652c0 Type hint fixes. 2022-03-07 10:26:40 -08:00
3a3c496ade Remove obsolete Python 2.x compat code. 2022-03-07 09:21:46 -08:00
0c4c18bc04 Type hint fixes. 2022-03-04 17:09:50 -08:00
e6f63be7a4 Honor --quiet parameter properly in fish shell (#77180)
* The `^` stderr redirection is deprecated
* Setting `-q` for `setup.py` in `gen_egg_info` is redundant
2022-03-05 07:04:54 +10:00
8b2e628565 galaxy - Clean up type hints and imports. 2022-03-04 10:33:02 -08:00
0990c4ca7c Extend validate-modules to also validate plugins (#71734)
* Let validate-modules also validate plugins.

* Support 'option' in 'cli'.

* Use DOCUMENTABLE_PLUGINS instead of UNDOCUMENTED_PLUGIN_TYPES.

* Support 'keyword', clean up error codes.

* Call settings.process_errors only once; remove __version__.

* Add changelog fragment.
2022-03-04 09:08:34 -05:00
7d234a40ee Point to AH docs (#77200) 2022-03-04 02:33:31 -08:00
af2b1361ff ansible-test - Simplify type hints. 2022-03-03 16:34:25 -08:00
ea66cf189b Fix ansible console to respect ANSIBLE_STDOUT_CALLBACK (#77182)
* Fix ansible console to respect ANSIBLE_STDOUT_CALLBACK

This makes the ansible-console able to customize the stdout callback.
Ansible console currently uses statically minimal callback.

* Add changelog

* Move the fragment changelog in the right directory
2022-03-04 09:40:23 +10:00
871b2ca73a Simplify existing type hints. 2022-03-03 14:26:47 -08:00
ccdb552d90 More type hint fixes for module_utils. (#77198)
* Type hint fixes for module_utils.
* Fix type hints in module_utils.facts.
2022-03-03 11:20:29 -08:00
86f00bd156 Update example to work (#77191)
`with_first_found` only takes a list of things, it's not like `tags`
where it can take a thing or a list of things.

Inspired by locally discovered breakage and then finding
https://github.com/ansible/ansible/issues/77136 where someone was also
doing this and getting into trouble.
2022-03-04 05:09:13 +10:00
e314f4e666 Add typing to module_utils.compat. (#77197) 2022-03-03 10:48:42 -08:00
5a1b891917 Additional type hinting cleanup. (#77188) 2022-03-02 16:10:44 -08:00
74a204e6f1 first_found: allow spaces in names (#77141)
* first_found: allow spaces in names

Fixes #77136
2022-03-02 16:16:47 -05:00
1286513947 module_utils - Fix type hinting issues. 2022-03-02 13:09:07 -08:00
8e45925415 hostname - Use base class on UnimplementedStrategy
This requires moving UnimplementedStrategy below BaseStrategy and Hostname below UnimplementedStrategy.
2022-03-02 12:14:10 -08:00
35ef2af0ce Fix type hints and variable usage in modules. (#77184)
* Remove unused variables.
* Fix conflicting variable name.
* Add type hints.
2022-03-02 11:52:51 -08:00
6de04e8be6 Fix module exception handlers.
Exception handler variable names should not conflict with other variables.

Use Python 2.6+ exception handler syntax.
2022-03-02 11:34:11 -08:00
d31730d781 Fixes for type hinting issues. (#77170) 2022-03-01 17:14:26 -08:00
7b0fb114be Data tagging and sidecar docs are delayed, and will be retargeted for 2.14 (#77173) 2022-03-01 11:37:55 -06:00
b667409d6d ansible-test - Correct a typo in comments (#77148) 2022-03-01 16:04:38 +01:00
a06fa496d3 ansible-test - Code cleanup and refactoring. (#77169)
* Remove unnecessary PyCharm ignores.
* Ignore intentional undefined attribute usage.
* Add missing type hints. Fix existing type hints.
* Fix docstrings and comments.
* Use function to register completion handler.
* Pass strings to display functions.
* Fix CompositeAction handling of dest argument.
* Use consistent types in expressions/assignments.
* Use custom function to keep linters happy.
* Add missing raise for custom exception.
* Clean up key/value type handling in cloud plugins.
* Use dataclass instead of dict for results.
* Add custom type_guard function to check lists.
* Ignore return type that can't be checked (yet).
* Avoid changing types on local variables.
2022-02-28 14:37:09 -08:00
8291dbdf81 add accessibility guidelines to docs style guide (#77145)
Co-authored-by: Jill R <4121322+jillr@users.noreply.github.com>
2022-02-28 16:40:32 -05:00
27fe26edbf Update setup_pexpect to prefer pip user installs.
This works around issues on RHEL 7.9 when an old version of pexpect is installed from an OS package.
2022-02-28 13:22:56 -08:00
7657caa072 Fix 'ansible-galaxy collection verify' to display new files/dirs (#76690)
* Fix 'ansible-galaxy collection verify' to report files/directories not listed in the FILES.json

* changelog

* Fix bug in 2.13+
2022-02-28 16:15:10 -05:00
0d4219f265 Fix IPs for ipaddr filter in user_guide (#77151)
* Fix IPs for ipaddr filter in user_guide

* Apply suggestions from code review

Co-authored-by: Sandra McCann <samccann@redhat.com>
2022-02-28 13:52:19 -05:00
28a278ee48 fix spelling error in details (#77152)
correct inventory_hostname spelling error in include_vars and set_fact
modules

Signed-off-by: jbpratt <jbpratt78@gmail.com>
2022-02-28 13:22:17 -05:00
c3999d89f4 Clarify docs for using tests as filters (#77155) 2022-02-28 13:21:03 -05:00
43c2c983cc Fix type hints in galaxy. 2022-02-28 08:49:37 -08:00
68601601ce Docsite: update communication.rst (#77135)
\
2022-02-25 10:26:59 -05:00
22ba18d7b0 add links to remote_user docs (#77140)
* add links to remote_user docs
* shorten link name
2022-02-25 02:59:11 -08:00
dc6b0d4857 ansible-test - Remove obsolete display of MAXFD.
Use of ``subprocess.MAXFD`` only worked on Python 2.x, which is no longer supported.
2022-02-24 14:12:56 -08:00
3f924b59f2 use same timeout for galaxy api interactions (#77088)
Also, bump the default. A number of people have reported problems with
this 20 second timeout for a couple of years on
https://github.com/ansible/galaxy/issues/2302

It is mentioned in the issue that resolving dns can sometimes take up to
30 seconds, and that this timeout includes dns resolution.

Includes a changelog message
2022-02-24 15:58:13 -05:00
4f48f375a0 parameters: handle blank values when argument is a list (#77119)
Fixes: #77108

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2022-02-25 05:08:33 +10:00
d60efd9768 hostname module - fix TypeError in FileStrategy (#77025) (#77074)
* Use file_get_content() to read the file containing the host name
2022-02-25 05:05:52 +10:00
6a7009a84f use present tense in changelog example (#77138) 2022-02-24 11:05:02 -08:00
749063968b Temporarily remove RHEL 9.0b from the test matrix.
AppStream modules are currently missing.
2022-02-24 10:54:14 -08:00
5f258d2c64 move collection pr quickstart over (#77087)
* move collection pr quickstart over
* add link
* fix CI
* fix formatting
2022-02-24 09:30:00 -08:00
71dfe32ab6 76134 DOCS:Uninstall all packages before Ubuntu reinstall (#77137) 2022-02-24 09:29:06 -05:00
0bb70b6b9f AL2022 package-manager detection support (Amazon Linux) (#77050)
* AL2022 package-manager detection support (Amazon Linux)

* try/except

* use major_version

* check if dnf exists + add changelog fragment

* analogue logic
2022-02-23 15:30:58 -08:00
3f0d5bc351 Fix LooseVersion and StrictVersion refs in docs. 2022-02-23 14:52:45 -08:00
bdf37336c8 Update pylint deprecated plugin to use ansible-invalid* symbols (#77086) 2022-02-23 12:42:45 -08:00
143904f49b More informative playbook attribute errors (#77082)
* More informative playbook attribute errors

Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
2022-02-23 15:16:03 -05:00
8cbe1435c2 Use full python package for ansiballz cache filenames (#77090)
* Use full python package for ansiballz cache filenames

* Be a little more explicit about test goals
2022-02-23 14:10:43 -06:00
4f9c7fd509 ansible-test - Remove validate-modules symlink. 2022-02-23 10:47:14 -08:00
1a5853d794 Remove obsolete units.compat.mock compat layer. (#77118)
* Remove obsolete units.compat.mock compat layer.
* Update remaining units.compat.mock references.
2022-02-22 18:20:11 -08:00
5a6e05affb More strict pylint checking of ansible-test code. 2022-02-22 17:55:14 -08:00
b613808277 Remove obsolete unit test builtins compat. 2022-02-22 17:55:00 -08:00
2cd6cdc6a7 Fix duplicate unit test function names. (#77115)
* Fix duplicate unit test function names.
* Disable faulty tests.
2022-02-22 16:41:57 -08:00
0bd8106d15 Remove unused mock compat code.
The code is unreachable since Python 3 versions before 3.5 are not supported.
2022-02-22 16:09:22 -08:00
30d1a93d93 update changelog fragment guidance with examples (#77040)
Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
2022-02-22 14:02:39 -05:00
36121aeee7 docs: Update porting guide for ansible 5.4.0 (#77107) 2022-02-22 13:03:42 -05:00
0f41682473 Remove use of distutils in docs Makefile.
The current usage only works if `python` is Python 2.x since the syntax is invalid on Python 3.x.

When running on Python 3.x it would either be missing, or if Python 2.x was also present, incorrect.
2022-02-22 08:23:56 -08:00
ff25b51178 Fix example return value in docstring. (#77076) 2022-02-22 10:20:39 -05:00
b2bafc054e remove list of container images (#77089)
* remove list of container images
* remove some more centos8
2022-02-22 02:22:22 -08:00
92800a04c2 Add missing integration test dependency. 2022-02-21 19:06:39 -08:00
88bfb7193e Use --no-deps when installing amazon.aws and not testing dependencies (#77091) 2022-02-21 19:07:21 -05:00
901e3d43b1 describe how to generate a sample ansible.cfg (#77053)
* describe how to generate a sample ansible.cfg
* correct commands used
2022-02-21 06:53:14 -08:00
de9a3bda2c Fix warning in unit tests for _yaml import. 2022-02-17 17:48:27 -08:00
d3d5244912 ansible-test - Fail sanity test on distutils use. 2022-02-17 17:48:07 -08:00
c1a271c792 Remove unused task from template integration test. 2022-02-17 17:47:37 -08:00
d286c2e8b3 ansible-test - Fix CParser import in yamllint. 2022-02-17 17:47:18 -08:00
c27fd777f4 ansible-test - Use quay.io containers in plugins. 2022-02-17 13:31:44 -08:00
addb9baec2 ansible-test - Clean up venv code. 2022-02-17 10:52:25 -08:00
f2612ce169 apply owner/group permissions to top folder with unarchive module (#73024)
* apply owner/group permissions to top folder
* remove unused var unarchive30
* fix permissions for top folders if the tarball include multiple top folders
* added test for top folder ownership
2022-02-17 12:17:51 -05:00
84b85a5b5a more explicit moustache docs (#77051) 2022-02-17 10:28:12 -05:00
e620b96f49 Create collection maintainer's guide (#76976)
* initial merge of maintainer guide
* Apply suggestions from code review

Co-authored-by: Aine Riordan <44700011+ariordan-redhat@users.noreply.github.com>

Co-authored-by: Aine Riordan <44700011+ariordan-redhat@users.noreply.github.com>
2022-02-17 01:29:54 -08:00
177336a9d3 Avoid system-site-packages in AZP coverage venvs.
The use of `--venv-system-site-packages` was an optimization to use the `coverage` package pre-installed in the AZP test container.
However, now that the venv is bootstrapped by ansible-test that optimization no longer makes sense, since other downloads are already taking place.

ci_coverage
ci_complete
2022-02-16 23:33:49 -08:00
13d5381e56 ansible-test - Update base and default containers. (#77033) 2022-02-16 17:33:14 -08:00
494cb4e211 Ensure tests that need to validate higher verbosity messages run with vvvv 2022-02-16 16:59:49 -08:00
c688eb824b Add basic support for "apt-get clean" operation to apt module (#76758)
* adding apt-get clean functionality

 documentation and example
2022-02-16 12:01:26 -05:00
68fb3bf90e ansible-test - Fix consistency of managed venvs. (#77028) 2022-02-15 17:06:16 -08:00
fb01616c5a Revert "Temporarily remove RHEL 9.0b from test matrix."
This reverts commit a5eadaf3fd.
2022-02-15 15:36:09 -08:00
18251f3685 dnf: ensure releasever is passed into libdnf as str (#77024)
Fixes #77010
2022-02-15 10:12:47 -05:00
af7c9deb4e add crosslinks for changelog fragments (#77022) 2022-02-15 02:40:50 -08:00
1480503326 Update complex_data_manipulation example uptime in days/h/m/s (#77019) 2022-02-14 16:01:27 -05:00
f82b1ba67c Update indentation for example in playbooks_handlers.rst (#75348) 2022-02-14 15:08:52 -05:00
3779c1f278 restore inadvertently deleted default for convert_data. Fixes #77004 (#77016) 2022-02-14 08:21:17 -06:00
c9d3518d2f Fix final fact delegation (#77008)
* fix facts delegation loop overwrite

 partial revert of change to allow facts to be present in each loop iteration
 was not needed in final results as result processing alreayd had the disctiontion
 and ended up breaking the assumptions in the calling code.

 fixes #76676
2022-02-11 18:19:38 -05:00
56edbd2bbb Handle connection dissonance (#77005)
* play_context, compensate for existing plugins

 some connection plugins are not fully using the correct configuration,
 but this was previously hidden from them as play_context was providing
 the info instead, now play_context provides the 'correct' info, but hitting
 these bad configurations.
2022-02-11 16:26:02 -05:00
32f7490a2c Add note to serial docs (#77006)
* add note to serial docs
* add keyword directly
Fixes #76820
(cherry picked from commit de20f1bae8)
2022-02-11 11:15:12 -08:00
3a662ef2c1 Fix package-data sanity test for newer setuptools. 2022-02-11 10:45:01 -08:00
ef4c5cd61b ansible-test - Use newer pip to bootstrap FreeBSD. 2022-02-11 10:08:04 -08:00
8939f4d2f7 add tasks (#75489) 2022-02-10 16:20:23 -05:00
43e55db208 ansible-galaxy - add signature verification of the MANIFEST.json (#76681)
* ansible-galaxy collection install|verify:

  - Support verifying the origin of the MANIFEST.json when the Galaxy server has provided signatures.
  - Allow supplemental signatures to use during verification on the CLI/requirements file.

* ansible-galaxy collection install:

  - Support disabling signature verification. This silences the warning provided by ansible-galaxy if the Galaxy server provided signatures it cannot use because no keyring is configured.
  - Store Galaxy server metadata alongside installed collections for provenance. This is used by 'ansible-galaxy collection verify --offline'.

* Add unit tests for method that gets signatures from a Galaxy server

* Add integration tests for user-provided signature sources

- Test CLI option combinations
- Test installing collections with valid/invalid signature sources
- Test disabling GPG verification when installing collections
- Test verifying collections with valid/invalid signature sources

* Make signature verification advisory-by-default if signatures are provided by the Galaxy server

- Make the default keyring None
- Warn if the keyring is None but the Galaxy server provided signatures
- Error if the keyring is None but the user supplied signatures
- Error if the keyring is not None but is invalid

* changelog

* add ansible-galaxy user documentation for new options

Co-authored-by: Matt Martz <matt@sivel.net>
Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
Co-authored-by: Martin Krizek <martin.krizek@gmail.com>
Co-authored-by: Sandra McCann <samccann@redhat.com>
Co-authored-by: Andy Mott <amott@redhat.com>
Co-authored-by: John R Barker <john@johnrbarker.com>
2022-02-10 10:48:49 -05:00
d35bef68f5 replace - always return rc (#71963)
* Return rc=0 on success.

Error handling in playbooks generally expects `rc` to be set to 0 when a module has not failed.  Playbook authors should not have to check for the existence of `rc` first.

* Use single definition and added changelog

* Fix up tests with new return value

Co-authored-by: Jordan Borean <jborean93@gmail.com>
2022-02-10 06:23:04 +10:00
b145732973 Resubmit: Use SystemdStrategy for Debian in the hostname module (#76929)
* add DebianStrategy tests
* ensure hostname can be changed by using become
* use Systemd strat for debian and Base for generic.
* add test to ensure all strategies are available

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
2022-02-09 10:26:42 -05:00
522f9d1050 Make builtin.file modification times support check_mode (#76973)
* Make builtin.file modification times support check_mode
* Add integration test
2022-02-08 17:19:36 -05:00
0d40423f1c ansible-test - Fix collection loader import. (#76986)
* ansible-test - Fix collection loader import.

Resolves https://github.com/ansible/ansible/issues/76960
2022-02-08 11:38:00 -08:00
699ecb8308 improve warnings from service_facts (#76921)
be more permissive, allow query more statuses
might create a slew of warnings though, but can depend on
how individual services are permissioned
2022-02-08 13:05:21 -05:00
47faa6e206 clean_facts only show variable name (#76974) 2022-02-08 11:27:40 -05:00
eb093ae7c3 Added a powershell example for ansible.builtin.script (#76980)
* Added a powershell example

None of the examples are of a form that actually works with powershell/windows hosts. The added last example actually works with Windows hosts and Ansible. Inspired by: https://devops.stackexchange.com/questions/15409/ansible-how-to-run-local-powershell-script-on-remote-hosts

* Trivial PEP fix
2022-02-08 10:38:49 -05:00
8582df36c5 Remove misleading note in template doc fragment. Fixes #61233 (#76955) 2022-02-08 10:26:37 -05:00
0d5401d950 ansible-test - Remove unused code.
This was overlooked in a previous commit that removed FreeBSD 12.2 support.
2022-02-07 14:36:14 -08:00
00a2b7788e ansible-test - Remove cap on cryptography version. 2022-02-07 14:35:52 -08:00
e27b94c467 ansible-test - Update alpine3 container to 3.3.0.
This updates the base image from 3.14.2 to 3.15.0, which includes support for installing binary wheels using pip.
2022-02-07 14:02:58 -08:00
d4c9c103e2 ansible-pull handlle empty node/hostname return (#76965) 2022-02-07 16:10:30 -05:00
6d2d476113 avoid polluting vars with incorrect settings (#76590)
avoid polluting vars with incorrect settings

 simplify variables and templars
  - variables, original, only updated with final results, reset are copies of this
  - tempvars used for preliminary templating
  - cvars used for connection/shell/become plugins, delegation aware
  - vars_copy ignore tempvars updates and use connection plugin to get 
    finalized version per loop item/delegation,  also used to store temp results
    till we are ready to update 'variables'
 - fine tune nolog just cause we are here
 - also fix inventory_hostname_short for IP addresses
2022-02-07 16:09:28 -05:00
b493c590bc Bypass fragile git ssh wrapper (#73404)
git module now uses env vars exclusively

  - updated docs to clarify usage
  - now env vars append instead of overwrite to allow existing custom setups to keep working
    fixes #38104, #64673, #64674
  - added note for hostkeychecking more securely
    fixes #69846
  - keep script cause old versions still choke on env
  - env var cannot hold more than 'command' for older versions
  - all ssh_opts in one place
2022-02-07 16:05:16 -05:00
be19863e44 ssh connection: use 'correct' host in all cases (#76017)
ssh plugin, use 'correct' information source in all cases
  * still fallback to pc
  * added inventory to new test
  * undef var can still show as parser error on pc
    now task_exectuer has a  more accurate error handling
2022-02-07 15:13:40 -05:00
a5eadaf3fd Temporarily remove RHEL 9.0b from test matrix.
Installation of `gcc` is failing while trying to install dependencies:

```
[MIRROR] libxcrypt-devel-4.4.18-3.el9.x86_64.rpm: Interrupted by header callback: Server reports Content-Length: 32565 but expected size is: 33101
```
2022-02-07 10:56:19 -08:00
5bddecb048 gather_facts sees collection networking connection (#76954)
needed to properly propagate some arguments by convention: subset, filter

Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
2022-02-07 09:57:38 -05:00
9a4ff01a4f Cleanup of cannned responses (#76689)
* removed those made obsolete by bot
 * tried to rephrase to be more informative and require less updates in the future

Co-authored-by: Sandra McCann <samccann@redhat.com>
Co-authored-by: John R Barker <john@johnrbarker.com>
Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
2022-02-04 10:37:53 -05:00
394d216922 add_host/group_by: fix using changed_when in a loop (#71719)
Fixes #71627
Fixes #75971
2022-02-04 12:35:23 +01:00
2749d9fbf9 incidental - remove win_lineinfile coverage (#76952) 2022-02-04 11:59:35 +10:00
e2d4c41ac0 Update codecov download URL.
ci_complete
ci_coverage
2022-02-03 13:59:27 -08:00
65987e86a9 Added package reference for Debian to resolve error (#76876) 2022-02-03 16:22:39 -05:00
17dd9ff924 ansible-test - Update default containers to 5.5.0. 2022-02-03 13:12:37 -08:00
5448661aec Update 'Ansible and BSD' section 'Setting the Python interpreter'. (#76825) 2022-02-03 15:40:04 -05:00
a1af1d94cd vmware: Migrate VMware Scenario Guides (#76640)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2022-02-03 15:32:03 -05:00
0ca19a5b73 Update windows_winrm.rst (#76835)
Co-authored-by: Jordan Borean <jborean93@gmail.com>
2022-02-03 15:30:21 -05:00
9a9ef01997 Update 'Installing Ansible on FreeBSD'. (#76849)
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
Co-authored-by: Sandra McCann <samccann@redhat.com>
2022-02-03 15:29:25 -05:00
3108c51764 Add note about installing python on macOS (#76873) 2022-02-03 15:16:57 -05:00
53e4760b8c More accurate help message for verbosity setting (#76887) 2022-02-03 15:09:26 -05:00
a926b1dbab Stop publishing code coverage to the AZP UI.
Azure Pipelines only supports publishing a single code coverage file.
This limits us to reporting on either Python or PowerShell.
It also prevents us from reporting coverage per test command without further aggregation.
Most of our users are only aware of the reports published to codecov.io.
2022-02-03 11:53:18 -08:00
e1cf6af06d add undef() keyword to core 2.12 porting guide (#76880) 2022-02-03 14:45:11 -05:00
10fd7bf12c docs: update porting guide for Ansible 5.3.0 (#76917) 2022-02-03 14:31:52 -05:00
1f4e50f178 Ansible 6 roadmap: simplify collection inclusion process (#76932)
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
2022-02-03 14:30:49 -05:00
2767a4cf4a docs - remove broken link in ACI scenario guide (#76940) 2022-02-03 14:29:15 -05:00
bc1e29d722 Bump antsibull version from 0.40.1 to 0.41.0 and ansible sphinx theme version to fix HTML generation in return value tables (#76759)
* Use Jinja2 comment instead of HTML comment to avoid W3C validator warning (-- inside comment).

(For those interested in the history of this: http://www.howtocreate.co.uk/SGMLComments.html#doubledash)
2022-02-03 13:53:22 -05:00
b568e0db6f ansible-test - Remove outdated remote support. 2022-02-03 10:27:36 -08:00
7e64c4fe55 ansible-test - Update bootstrap URL to not use S3. 2022-02-02 18:43:03 -08:00
6c29028f05 Update ci-files URL in integration tests.
This uses the CloudFront URL instead of going directly to S3.
2022-02-02 17:56:50 -08:00
cbb994f174 make Ansible.Basic work on non-Windows (#76924) 2022-02-02 12:48:33 +10:00
41db6d8d35 Fix task path unicode error in junit callback. 2022-02-01 09:58:02 -08:00
3c8861d1ba Fixed handling of sleep arguments during service restarts on AIX (#76878)
Fixes #76877
2022-02-01 16:18:38 +01:00
ea34fdbfe2 Misc typo fixes in plugins directory (#76566) 2022-02-01 07:18:33 +05:30
995d7e4db3 ansible-test - Limit installed pyopenssl version. 2022-01-31 16:12:32 -08:00
2bd074b486 doc: fix Jinja2 doc link templating playbook (#76889)
Signed-off-by: Stephen Lawrence <stephen.lawrence@renesas.com>
2022-01-31 16:15:43 -05:00
fbb5d56bd2 ansible-test - Use relative paths in junit output. (#76871)
* ansible-test - Use relative paths in junit output.

Also fix a traceback in the junit callback during automatic fact gathering.

* ansible-test - Handle out-of-tree JUnit paths.
2022-01-31 11:19:23 -08:00
fee90b15a2 Misc typo fixes in module_utils (#76564) 2022-01-31 22:53:06 +05:30
b1d6750e8b fix block var inheritance (#75287)
* updated tests to conform to new block inheritance

Co-authored-by: Brian Scholer <1260690+briantist@users.noreply.github.com>
Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
2022-01-31 12:21:50 -05:00
29b5eb6ba9 updated metadata dump to do full docs dump (#76170)
* minor refactor in other options by pushing common code into functions
 * consolidate coll_filter
 * more normalizing loader
 * dont pass plugin_loader, its global import
 * Also dump roles and collections
 * adjusted tests to new err msg
 * disable namespace filter (unused)
2022-01-31 10:48:16 -05:00
d19b506ce8 ansible-test - Clean up future boilerplate. (#76874)
* ansible-test - Clarify need for empty __init__.py
* ansible-test - Update code-smell boilerplate.
* Update code-smell boilerplate for core.
* Update future boilerplate test for ansible-test.

All ansible-test code (except for targets) and core-specific sanity tests now use the same boilerplate.

The test also checks for unwanted `__future__` and `metaclass` boilerplate.

* Relocate target tools to the correct directory.

Several tools used on target Python versions were incorrectly placed in the controller directory.
2022-01-28 13:48:34 -08:00
3816815db0 Track failures in the includes results to avoid special handling of include errors (#53688)
* Make include_role/include_tasks work with any_errors_fatal v2

Fixes #50897

Co-authored-by: Matt Martz <matt@sivel.net>

* Add failed to results in free strategy too

* Fix

* Avoid duplicating results

* ci_complete

Co-authored-by: Matt Martz <matt@sivel.net>
2022-01-28 13:35:19 -06:00
f501b579e5 ansible-vault encrypt_string: fix --output to write into file (#76856)
Fixes #75101
Fixes #59590
2022-01-28 09:34:59 +01:00
18ed2c64e5 ansible-test - Add default for Windows remotes. 2022-01-27 18:14:15 -08:00
26b43f425f ansible-test - Validate collection ns and name.
Resolves https://github.com/ansible/ansible/issues/62079
2022-01-27 17:24:40 -08:00
de5f60e374 ansible-test - Improve help for unsupported cwd. (#76866)
* ansible-test - Improve help for unsupported cwd.

* The `--help` option is now available when an unsupported cwd is in use.
* The `--help` output now shows the same instructions about cwd as would be shown in error messages if the cwd is unsupported.
* Add `--version` support to show the ansible-core version.
* The explanation about cwd usage has been improved to explain more clearly what is required.

Resolves https://github.com/ansible/ansible/issues/64523
Resolves https://github.com/ansible/ansible/issues/67551
2022-01-27 12:32:11 -08:00
07bcd13e6f Replace file handling with context managers in files-modules and parsing vault. (#65371) 2022-01-28 06:11:28 +10:00
029c991b0d ansible-test - Update outdated links in comments. 2022-01-27 11:33:18 -08:00
3cf71ddf69 The final output_dir pr (#76862) 2022-01-27 11:26:30 -06:00
bc5672d9ba Update developing_modules_general_windows.rst (#76846) 2022-01-27 09:28:25 +10:00
a5283d67ee add quoted examples (#76858) 2022-01-26 14:12:07 -05:00
ee80e856c2 Remove more whitelist and blacklist occurances (docs only). (#76845) 2022-01-26 14:08:20 -05:00
ebea751805 Roadmap for Ansible 6 (#76772)
Co-authored-by: John R Barker <john@johnrbarker.com
2022-01-26 13:26:20 -05:00
e9af4195be update ansible.legacy docs (#76839)
* update ansible.legacy docs

* correct role description

* Update docs/docsite/rst/dev_guide/developing_locally.rst

* Update docs/docsite/rst/dev_guide/developing_locally.rst
2022-01-26 12:17:18 -05:00
6bca0a5dc2 docs: add fqcn to module examples (#73546)
Co-authored-by: Felix Fontein <felix@fontein.de>
2022-01-26 11:57:58 -05:00
29de2cccba Fix task debugger to work with run_once using linear strategy (#76814)
* Fix task debugger to work with run_once using linear strategy

Fixes #76049

* Fix clog

* Add integration test
2022-01-26 08:43:12 -06:00
cad200406a group2 - switch to setup_remote_tmp_dir instead of using output_dir (#76853)
* group2 - switch to setup_remote_tmp_dir instead of using output_dir

* output_file needs to be in the tmp dir

* Use comparison that should work with macos

* remove unused dep
2022-01-26 08:31:19 -06:00
73dd2c3607 Added restart to the argument condition for AIX (#76841)
* Added restart to the argument condition for AIX

This should fix the issue https://github.com/ansible/ansible/issues/76840
2022-01-26 09:29:01 -05:00
e9ffcf3c85 ansible-test - Defer loading of completion entries. (#76852)
* ansible-test - Defer loading of completion entries.

This avoids a traceback when running ansible-test outside of a supported directory.
2022-01-25 13:24:17 -08:00
ddc4b1716b Mention ansible-core 2.11 RPM package in Ansible Core Installation Guide (#76801) 2022-01-25 13:56:52 -05:00
61bd779335 add core roadmaps to ansible docs (#76818)
* add core roadmaps to ansible docs
* make older roadmaps also show up
2022-01-25 03:14:55 -08:00
dbde2c2ae3 user module password expiration fixes (#75390)
* allow inputting 0 for password_expire_{min|max}
   0 is meaningful for min days (any time)   
   0 is technically valid for max_days
* add test for setting both min and max expiry
* [0] return result of execute_command from set_password_expire*
* [1] better return for set_password_expire
* [2] handle returns from set_password_expire*
* only set password expiry if user exists
* collect return-handling code
* combine password min and max into one execution
* handle case where spwd is not present like on macOS and FreeBSD

Co-authored-by: Sam Doran <sdoran@redhat.com>
2022-01-24 14:52:38 -05:00
5a69023941 remove ansibot from collection docs (#76817)
* remove ansibot from collection docs
* Update docs/docsite/rst/community/collection_development_process.rst
Co-authored-by: Felix Fontein <felix@fontein.de>
2022-01-24 10:50:21 -08:00
3889ddeb4b iptables - added a `chain_management` parameter to control chain (#76378)
creation and deletion

fixes #25099
closes #32158
2022-01-24 12:31:20 -05:00
d5a740ddca doc_fragments/files.py: fix "objecs" typo (#76822) 2022-01-24 10:14:20 -05:00
04d4900518 config, moved 'choices info to keys (#76569)
* config, moved 'choices' from wall of text, to keys
* updated to ensure all pythons handle the 2 modes correctly
* Update lib/ansible/config/base.yml

Co-authored-by: Sandra McCann <samccann@redhat.com>
2022-01-21 12:50:24 -05:00
864c2591b6 Use explicit keyword for plugin config (#75158)
* go back to keyword being explicit for plugin configs instead of using option name as implicit match
* switch spec to singular, no changes needed since no one used
2022-01-21 12:48:42 -05:00
96ce4804ee Resolve perf issue with async callback events (#76783)
* Don't send full task with async callback events. Fixes #76729

* Use args for async_status task, instead of k=v

* Make sure we send back the async task attrs for polling

* Add clog frag

* load is a staticmethod
2022-01-21 11:47:32 -06:00
d7d1bd6269 Fallback to os family for interpreter discovery distro map. Fixes #75560 (#76815) 2022-01-21 11:46:45 -06:00
cfe4bdc1b9 Create separate core vs collection contributor guides (#76764)
* updated core guides
* ansible package docs guides
* add core guide to Ansible docs
* Update docs/docsite/rst/community/maintainers.rst
2022-01-21 08:31:52 -08:00
8c06aada10 Module Logging with WSL2 (#76375)
* adding systemd daemon import

* adding coments and AttributeError exception

* adding minor fix to repeated syntax

* adding changelog
2022-01-21 10:27:36 -06:00
8febd37f32 Attach concat func to an environment class (#76282)
* Attach concat func to an environment class

ci_complete

* clog and docstrings
2022-01-21 09:34:15 -06:00
9f46f6eb30 Attempt 2: Catch errors getting filters and tests (#76806) 2022-01-21 05:30:42 +10:00
374720fc97 Do not require SystemdStrategy subclasses for every distro (#76800) 2022-01-21 05:25:52 +10:00
36519ff95e Parameterize disable_lookups (#76770)
Allow inventory plugins to enable/disable lookups in the compose templating
2022-01-19 10:49:50 -05:00
553e75df95 Remove obsolete skip/windows test aliases. 2022-01-18 17:20:25 -08:00
29bdb8bf1e Compare FQCN also in lockstep logic. Fixes #76782 (#76787) 2022-01-18 13:57:42 -06:00
6de06377d0 Fix documentation around the password parameter of builtin.user (#76702) 2022-01-18 13:14:51 -05:00
2e0fb34937 Change "fatal" to "error" in config docs to match actual behaviour (#76760) 2022-01-18 10:38:34 -05:00
7cd94dd452 Fix unsafe handling of variable PYTHON_BIN (#76767)
The previous state lead to errors, when cloning the repo to a path with spaces in it.
2022-01-18 16:13:33 +01:00
a0f6747f07 ansible-test: fix typo in validate-modules (#76765)
The correct error strategy for the to_text method is surrogate_or_strict

Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
2022-01-18 16:12:34 +01:00
89c884e2a2 include_vars initialize failed (#76754)
* include_vars initialize failed

  if source dir is given, but not present and traversal is empty you
  can end up trying to access failed w/o it ever being defined.

  also future proof for more corner cases in decision tree
2022-01-18 16:04:41 +01:00
4676c08f18 prevent fact gathering from breaking on bad caps (#76691)
* prevent fact gathering from breaking on bad caps

 fxies #75832
2022-01-14 13:24:50 -05:00
2246ed9678 ansible-config avoid _terms and _input in --only-changed (#76597)
dont display _terms or _intput on only changed
 those always change and it expected for the plugins that support them


Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2022-01-14 13:21:57 -05:00
0ff80a15ba ssh connection avoid parsiing own debug (#76732)
- Avoids false positives on become strings being echoed back 
   by ssh cli itself
  - added test for debug lines
  - also simplified some of existing test code
2022-01-13 16:28:09 -05:00
9142be2f6c Allow specifying specific python via shebang (#76677)
modules with python were always normalized to /usr/bin/python,
  while other interpreters could have specific versions.

* now shebang is always constructed by get_shebang and args are preserved
* only update shebang if interpreter changed
* updated test expectation
* added python shebang test
2022-01-13 15:05:58 -05:00
7fff408652 ansible-test - Remove azure support for Sherlock. 2022-01-13 10:38:22 -08:00
c8dd96b076 fact gathering, prevent "UnboundLocalError: local variable 'datafile' referenced before assignment" when open(path) fails. (#76751)
Co-authored-by: jean kahrs <j.kahrs@hosting.de>
2022-01-13 13:08:10 -05:00
e33e7233d0 docs: Update porting guide for ansible 5.2.0 (#76746) 2022-01-13 10:46:54 -05:00
3a891827b7 ansible-test - Remove AIX provisioning support. (#76747)
* ansible-test - Remove AIX provisioning support.
* Remove `skip/aix` integration test aliases.
* Remove build for AIX binary module.
2022-01-12 14:27:05 -08:00
bab315b780 ansible-test - Add support for FreeBSD 12.3. (#76745)
* ansible-test - Add support for FreeBSD 12.3.
* Use OS package for yaml if available with CLoader.
* Make sure libyaml is available.
2022-01-12 13:00:03 -08:00
20cc87f059 Expect upper case message 'levels' for galaxy publish results (#63530) 2022-01-13 06:36:51 +10:00
71f3996778 Added AIX CA certs search paths (#69776) 2022-01-13 06:19:40 +10:00
c1df36e3ae Update dnf tests to reflect new behavior. (#76743)
* Update dnf tests to reflect new behavior.

Previously dnf would report there was nothing to do when trying to install a package from the cache when it was not present.

A recent update to dnf has changed this behavior to match yum, resulting in a failure instead.

* Allow dnf to fail or report no changes.
2022-01-12 11:27:20 -08:00
665e3dc629 remove outdated note on limitations of R() in module docs (#76736) 2022-01-12 03:07:37 -08:00
b1ebc192b5 ansible-test - Update default containers. 2022-01-11 15:42:42 -08:00
d6588293fb ansible-test - Limit paramiko to < 2.9.0 2022-01-11 13:47:29 -08:00
76220c4a7b ansible-galaxy - fix the --ignore-certs flag for the implicit galaxy server (#76735)
* ansible-galaxy - fix the --ignore-certs flag for the implicit galaxy server

* changelog

* Add a test without the server config

* Fix respecting --ignore-certs for individual --server URLs also

* Update changelogs/fragments/76735-ansible-galaxy-fix-ignore-certs.yaml
2022-01-11 13:46:45 -06:00
01ba6d4a45 Fix C&P error (#76673) 2022-01-11 13:06:15 -05:00
f2c8b59eb1 Add Rocky to INTERPRETER_PYTHON_DISTRO_MAP (#76728) 2022-01-11 10:45:54 -05:00
f78deccec2 end_play: end the current play only (#76674)
Fixes #76672
2022-01-11 10:27:42 -05:00
4a62c4e3e4 apt: add support for package version >= (#75002)
This adds the ability to specify a package version using >=. This will ensure the package is at the specified version or above.

* If the package is not installed, the latest version will be installed.
* If the package is installed and less than the specified version, it will be upgraded.
* If the package is installed and greater than or equal to the specified version, it will be left alone.

The version selection is handled by Apt itself, so things like the system policy, pinning, etc, are considered.
2022-01-11 09:41:12 -05:00
a5bea8b2f5 fix typo (#76699) 2022-01-11 09:12:27 -05:00
0b6d3312dd enable module defaults for implicit gather_facts (#76053)
* deprecated default fact path setting
* subset and timeout on same boat
* avoid pushing module args when none

Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
2022-01-10 17:25:00 -05:00
c53e6d94e9 Use antsibull 0.40.1 for docsite build (#76675) 2022-01-10 16:30:47 -05:00
c24c479061 Fix markup. 2022-01-10 12:36:19 -08:00
aa022dba2d ssh connection, handle 'fun' control paths (#76424)
* handle 'fun' control paths by quoting the option when passed to ssh cli

Co-authored-by: Matt Clay <matt@mystile.com>
2022-01-10 12:29:35 -05:00
0ef5274a3c Don't assert stdlib behavior, just assert that urllib was called 2022-01-10 08:55:31 -08:00
aaa7944b02 Fix tests failing on pytest 7 (#76670)
* Fix pytest 7 failures with leaky fixture
2022-01-07 15:53:44 -08:00
b30b8fb79c ansible-test - Set pytest rootdir option. 2022-01-07 15:52:55 -08:00
eaeec8a65c ansible-test - Use --forked instead of --boxed
The `--boxed` option is deprecated.
2022-01-07 12:50:45 -08:00
97104f1221 Avoid deprecated TestCase functions in unit tests. (#76678)
* Avoid deprecated TestCase functions in unit tests.
* Add assertRaisesRegex for Python 2.7.
* Fix indentation.
2022-01-07 12:31:11 -08:00
ace04087e7 Make all pipelining agree on ini entries (#76573)
* Make all pipelining agree on ini entries, corrected descriptions
2022-01-07 14:47:18 -05:00
b17557ae8e Add check_mode tests for shell/command/script and make skipped=True/changed=True mutually exclusive (#76429)
* Add additional tests for check_mode with shell/command/script
* update check_mode documentation: if a module/action is not skipped in check mode and accurately reflects whether a change is made to the remote support should be 'full'
* Make reporting skipped in check mode mutually exclusive with 'changed: True'
* Add missing documented attributes
* Fix tests to expect skipped=True and changed=True do not occur together
* Fix script check_mode support documentation
* Fix earlier changelog
* document platforms attribute
* Use tasks's check mode since the value from PlayContext does not reflect loop items

Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>
2022-01-07 14:15:05 -05:00
a08bcca934 Update local_mods in git.py to show destination of conflict (#72405)
Git module, specify that the local modification is in the destination directory so that some of the users clearly understand this..
2022-01-07 14:13:04 -05:00
094a0746b3 ansible_concat: return strings only unless eval (#76634)
Fixes #76610
2022-01-07 17:13:34 +01:00
b984dd9c59 package_facts: Support pkg_info OpenBSD, FreeBSD and NetBSD (#76580) 2022-01-07 09:59:21 -05:00
0502a03579 hostname: add support for openEuler distro (#76619) 2022-01-07 11:51:31 +05:30
2285483a59 Remove obsolete incidental tests from matrix.
The removed matrix entries no longer run any tests.
2022-01-06 19:41:41 -08:00
aa67ff2cf2 Remove shebangs from core Python modules. (#76664)
* Remove module shebangs.
* Relax shebang check in validate-modules.
* Add changelog fragment.
2022-01-06 17:33:14 -08:00
ffd0343670 add systemd alias check (#76608)
* add systemd alias check

* add .yml

* Delete 75538-systemd-alias-check

* Update lib/ansible/modules/systemd.py

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2022-01-07 06:10:29 +10:00
4d380dcbaa More auto info (#76598)
* make auto invenory plugin a bit more informative

* clog
2022-01-07 05:21:13 +10:00
66e392d4e2 user: Update logic to check if user exists in macOS (#76592)
'dscl -list' returns 0 even if the user does not exists. This
leads to errorenous condition in user module.
Using 'dscl -read UniqueID' can return if user exists or not.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2022-01-07 05:18:39 +10:00
8e0654504f stat document 'version' return doc (#76589)
* stat document 'version' return doc

	fixes #76588

* str

* no output_dir for you!
2022-01-07 05:16:01 +10:00
15ace5a854 ansible-galaxy - validate version for directories and collections in git repos (#76579)
* Ensure the version is valid for directories and collections in git repos before installing

Fix the error message for invalid semantic versions

* Make requested changes

* Add a test case for unhandled ValueError exception

* Add changelog

* Update lib/ansible/galaxy/collection/galaxy_api_proxy.py

Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>

* Reword error message

Include link to learn how to compose a semver version

* Move version validation into the caller, find_matches

* Add tests for more invalid version types

* Remove unused import

Fix raising unexpected error

* Update lib/ansible/galaxy/collection/__init__.py

Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>

* Update lib/ansible/galaxy/dependency_resolution/providers.py

Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>

* Update lib/ansible/galaxy/dependency_resolution/providers.py

Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>

Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
2022-01-07 05:05:20 +10:00
6e57c8c084 Add missing typing import for _distro.py.
See: 116cdad222/distro.py (L42-L72)
2022-01-05 10:55:04 -08:00
7e814dd4db ansible-test - Fix plugin loading.
This fixes a traceback when loading plugins that use dataclasses.
2022-01-05 10:04:32 -08:00
d2daa67b00 ansible-test - Fix type hints. 2022-01-05 10:04:06 -08:00
16def8050a facts - Set correct OS family for EuroLinux (#76624)
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2022-01-05 09:57:29 +05:30
a5f4a25d32 Fix wait_for integration test.
Pin the `psutil` package to 5.8.0 since 5.9.0 is broken on macOS.
2022-01-04 11:29:43 -08:00
a1d0e60703 Fixed documentation: "[a] ini file" -> "an ini file" (#76627) 2022-01-04 10:57:37 -05:00
fdf12542b2 Fix typo in task name (#76642) 2022-01-04 10:35:40 -05:00
aa4f23dc97 Fixed documentation: "do not needed -> do not need" (#76617) 2021-12-29 11:40:13 +05:30
594b11dc0c unarchive: Keep stderr when pick_handler fails (#76365)
* fixes #28977

* Include the original error message when pick_handler fails

* Add a test to unarchive a tar file with an invalid extra option

* add a changelog
2021-12-23 16:01:56 -05:00
fa617fcd7b Disable the _distutils_hack in newer setuptools (#76600)
* Disable the _distutils_hack in newer setuptools. Doesn't fix the underlying issue of the venv finding the _distutils_hack of a setuptools that is not its own.

ci_complete

* re-throw blanket
2021-12-23 10:20:24 -08:00
eedf2e476c check for indirect service in systemd (#76462)
* check if service is indirect status / add integration test

* Update changelogs/fragments/76453-indirect-systemd-status.yml

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>

* simplify indirect check / remove integration test restriction on rhel9

* add dummy indirect service for integration tests
2021-12-23 10:35:28 -05:00
43e99e4132 Adding modularity tag to task modularity.yml (#76557)
Co-authored-by: Martin Banas <mbanas@redhat.com>
2021-12-22 14:55:09 -05:00
e2d1dbbdc5 Docs: update porting guide for ansible 5.1.0 (#76595) 2021-12-21 13:35:53 -05:00
67e5649a26 Adds documentation about when/why to use roles (#76560)
Co-authored-by: Brian Scholer <1260690+briantist@users.noreply.github.com>
2021-12-21 11:15:48 -05:00
4c738b08b4 Add docs on Windows module util requirements (#76583) 2021-12-20 14:19:34 -05:00
8a4090f749 Do not format the choice as a definition list for non-mapping values (#76568) 2021-12-20 14:18:04 -05:00
7dd22b8b4b Update Windows host requirements (#76582) 2021-12-20 13:43:01 -05:00
5db1d11c19 Replace "Encrypt" with "Hash" for prompt documentation (#76584)
Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
2021-12-20 11:53:56 -05:00
66720460d0 more exact wording of system_tmpdirs (#76587) 2021-12-20 11:51:12 -05:00
47e2a26959 Update playbook_tests with type testing (#72732) 2021-12-20 09:48:30 -05:00
601d66c7e5 k8s: Migrated scenario guides to collection (#75249)
Kubernetes scenario guides are moved to
``kubernetes.core`` collection.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-12-17 13:49:26 -05:00
ee777567bc Update intro_inventory.rst (#76340) 2021-12-14 16:36:41 -05:00
f9c24c2899 Document get_url module check_mode support right (#76433) 2021-12-14 16:07:05 -05:00
e5967c02f5 Fix typos in docs (#76526) 2021-12-14 15:54:32 -05:00
29d57b5b97 Clarify include parameter in unarchive (#76543)
Co-authored-by: s-hertel <19572925+s-hertel@users.noreply.github.com>
2021-12-14 15:36:55 -05:00
9d1898b1ef Use correct markup in documentation (#76545) 2021-12-14 15:30:58 -05:00
6ee58056da docs: Update porting guide for ansible 4.10.0 (#76559) 2021-12-14 15:18:10 -05:00
49e1cb9f42 unarchive: fix non-english locales (#76542)
* unarchive: fix non-english locales

For GNU Gettext, the LANGUAGE environment variable takes precedence over LANG or LC_ALL. On systems where LANGUAGE was set to a non-english locale, the output of the tar command therefore not understood and the module failed silently ("changed": false, but the archive was not extracted).

* add tests

* changelog
2021-12-14 12:31:01 -05:00
146a4bcd0d Fix docs for installing from a git repo (#76350) 2021-12-14 10:34:32 -05:00
9dac51f25a Update special_variables.rst (#76360) 2021-12-14 10:32:20 -05:00
ac2bdd6834 Fix AttributeError when providing file via --conn-password-file (#76534)
Fixes #76530
2021-12-14 10:07:36 -05:00
8a562ea14a Resolves #76449 Misplaced added version info (#76539)
`.. versionadded::` are coming right after the section tittle, and was misplaced here
2021-12-13 15:23:50 -05:00
461f30c160 yum: avoid storing unnecessary cache data (#76345)
Fixes #76336
2021-12-13 17:38:20 +01:00
4e70156d7e ansible-test - Code cleanup. (#76540)
* Add missing typing imports.
* Remove unnecessary non-capturing group.
* Whitespace.
* Add type hints.
* Ignore PyCharm false positives.
* Remove Python 2.x plugin loading logic.
* Remove Python 2.x exception handling.
* Remove Python 2.x display logic.
* Add changelog.
2021-12-10 15:49:51 -08:00
21b9389a02 ansible-test - Remove invalid type hint. 2021-12-10 12:54:12 -08:00
470c89518c ansible-test - Fix delegation from install. 2021-12-10 12:29:13 -08:00
aaa10cd506 plugins/dnf, plugins/yum: implement sslverify option (#76356) 2021-12-10 11:53:21 +01:00
2058ea5991 Clarify unroll in _finalize (#76436)
Clarifies that unrolling in _finalize is actually necessary. Also using
decorator directly.
2021-12-10 11:35:40 +01:00
ed6581e4db check finder type before passing path (#76448)
* check finder type before passing path

ci_complete

* Reduce nesting

* Test find_module does not cause a traceback with Python 3 FileFinder

* Update lib/ansible/utils/collection_loader/_collection_finder.py
2021-12-09 16:05:58 -08:00
c819c1725d Remove withought typo (#76524)
Found on https://github.com/ansible/ansible-navigator/issues/689 as
we are using codespell, maybe Ansible core could benefit from it.
2021-12-09 16:43:10 -05:00
d0de3d3dc2 change keyword return to results (#76515)
value is getting associated to python keyword return
2021-12-09 14:23:07 -05:00
894fbd6990 pkg_mgr: prohibit pkg5 usage on Altlinux (#76457)
Filter out the /usr/bin/pkg because on Altlinux it is actually the
perl-Package (not Solaris package manager).
Since the pkg5 takes precedence over apt, this workaround is
required to select the suitable package manager on Altlinux.
2021-12-09 12:47:27 -05:00
bc753c0518 Add openrc support to service_facts (#76373)
* Add openrc support to service_facts

Co-authored-by: Clément Martin <clement.martin@onespan.com>
2021-12-09 12:38:41 -05:00
0cec4d1cfc remove aws from the azure note (#76518) 2021-12-09 09:05:45 -08:00
16cdac66fe ansible-test - Use ansible-core for docs links. 2021-12-09 08:58:14 -08:00
19a58859d6 AnsibleJ2Template should be based on NativeTemplate (#76471)
Fixes #76442

ci_complete
2021-12-09 17:29:38 +01:00
37c80ea893 template lookup: jinja2_native has no effect if global is off (#76385)
This is documented behavior that was unintentionally changed in #75587.
2021-12-09 10:04:19 -06:00
e56e47faa7 ansible-test - Fix import test for collections. 2021-12-08 15:53:38 -08:00
0df60f3b61 per marketing request - add note for AAP on Azure availability (#76512) 2021-12-08 14:17:50 -08:00
82f59d4843 ansible-test - Hide ansible._vendor in import test (#76503) 2021-12-08 12:04:45 -08:00
bccfb83e00 add intersphinx mapping for Ansible 5 (#76470)
* add intersphinx mapping for Ansible 5

* add the other files
2021-12-08 06:10:05 -08:00
c45989c76f ansible-test - Remove RHEL 8.4 support. 2021-12-07 19:00:52 -08:00
97ef1d031c Revert "ansible-test - Fix import test when vendoring."
This reverts commit 33a8d06332.
2021-12-07 17:22:54 -08:00
8482ee4e9a galaxy build - ignore existing MANIFEST and FILES (#76479) 2021-12-07 16:37:28 +01:00
7830e5308e add tencentos fact distro (#76459)
Fixes #76459

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-12-07 16:20:07 +01:00
472028c869 catch the case that cowsay is broken (#76326)
* catch the case that cowsay is broken

fixes https://github.com/ansible/ansible/issues/72582

  add changelog
  raise Exception for broken cowsay
  add test for broken cowsay

Co-authored-by: Matthias Bernt <m.bernt@ufz.de>
2021-12-07 09:11:06 -05:00
60d094db73 Docsite/dev_guide: add note about ansible-test utility installation ways (#76128)
* Docsite/dev_guide: add note about ansible-test utility installation
* Add link to Testing Ansible page
2021-12-07 03:18:32 -08:00
41ee4a5b12 ansible-test - Fix traceback in validate-modules test. 2021-12-06 15:45:57 -08:00
33a8d06332 ansible-test - Fix import test when vendoring. 2021-12-06 14:31:55 -08:00
47448f1458 Add 'default' to 'env' lookup (#76327)
* Add 'default' to 'env' lookup

Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
2021-12-02 17:06:36 -05:00
3fe42e106c Remove finalize from globals (#76439) 2021-12-02 12:00:27 -08:00
4e7be293a5 Properly set finalize for the new environment (#76435)
* Properly set finalize for the new environment

Fixes #76379

* Fix sanity
2021-12-02 11:55:28 -08:00
eca97a19a3 Handle HTTPError being partially initialized due to the error. Fixes #76386 (#76421) 2021-12-02 11:42:29 -08:00
82ff7efa94 Fix how/what+look/like grammar in dev process doc (#76410) 2021-12-02 11:37:44 -08:00
5b2334983c Fix more 'playbook'/'play' conflation (#76387) 2021-12-02 11:26:25 -08:00
d22bdcfdc7 ansible-test - Update NIOS container to 1.4.0. 2021-12-02 11:04:48 -08:00
bf1e1d286d docs: Update porting guide for Ansible 5.0.1 (#76444) 2021-12-02 13:27:45 -05:00
b02168d644 better handling of sudo flag replacement (#76389)
* better handling of sudo flag replacement
2021-12-02 11:58:01 -05:00
480d47d071 reset defaults for json filters (#76349)
* reset defaults for json filters

  these had change on unification of json parsing/dumping
  now they behave like before, but are still controllable by user.
2021-12-02 11:02:38 -05:00
de11a1ce78 fix shell/command/script tasks skipping in check mode (#76353)
* fix shell/command/script tasks skipping in check mode

* changelog
2021-12-01 15:58:15 -05:00
b50f16db91 Update collection loader for Python 3.10 (#76225)
* Implement find_spec and exec_module to remove reliance on deprecated methods in the collection loader

ci_complete

* Move module execution to exec_module

Remove extra sys.modules handling

Use default module initialization by returning None from loader.create_module

Refactor

ci_complete

* Remove ansible-test's copy of the collection loader

ci_complete

* Fix metaclass for Python 2.x

ci_complete

* Fix Py2/Py3 syntax compatibility

* Refactor

ci_complete

* update collection_loader comments

ci_complete

* simplify find_module

ci_complete

* Fix Py2 compatibility - don't get loader from nonexistent spec

Remove unnecessary PY3 checking

* Refactor common code in load_module and exec_module

ci_complete

* tidy diff

ci_complete

* Include collection_loader in target paths for 'compile' sanity test

* add changelog

* Add "return None" instead of doing it implicitly

Remove get_filename

short-circuit exec_module if it's a redirect

ci_complete
2021-12-01 09:47:10 -08:00
1d1597ffd9 Docs: Update porting guide for Ansible 5.0.0 (#76404) 2021-11-30 10:52:58 -05:00
392b16c21c Test integration of loop and until options (#44927)
Ref #44741
Ref ansible/proposals#140

* Replace select filter with a more portable thing
* Add context
    This is needed for split controller/remote

Co-authored-by: Sam Doran <sdoran@redhat.com>
2021-11-30 10:11:27 -05:00
862a2a3599 set latest Ansible version to 5 (#76304) 2021-11-30 06:41:20 -08:00
a1205d52ce update release and maintenance for Ansible 5 (#76301) 2021-11-30 06:40:44 -08:00
b9b69c1135 Docs: Update porting guide for ansible 4.9.0 (#76363) 2021-11-29 11:16:26 -05:00
cd2d8b77fe apt - add allow_change_held_packages option (#73629)
* Add changelog fragment and integration tests
* Break up function signature into multiple lines
    It passed the 160 character width. Change it to multi-line for easier reading
    and better diffs in the future.
* Remove unused import
* Update version added for new feature
* Move changelog fragment to correct location

Co-authored-by: Thomas Stähle <thomas.staehle@check24.de>
Co-authored-by: Sam Doran <sdoran@redhat.com>
2021-11-29 10:31:54 -05:00
0afc0b8506 Add a link to the Ansible 5.x changelog (#76352)
The 5.x changelog is available, add a link to it.
2021-11-23 09:25:51 -08:00
23414869e2 update Edit on Github hint (#76341) 2021-11-22 08:28:34 -08:00
f59d0456e1 galaxy: raise error when inaccessible path is specified multiple times (#76318)
Fixes #76316
2021-11-22 13:28:02 +01:00
0ddaf6edd6 Reduce number of iterations through PlayIterator (#74175)
* Reduce number of iterations through PlayIterator

ci_complete

* Use the new set method

ci_complete
2021-11-22 10:23:34 +01:00
d8aeffc8b7 Add macOS 12 to CI (#76328)
* Disable lookup_url test of macOS 12
2021-11-19 21:18:31 -05:00
5cbcf7c7bf Fix galaxy.collection.galaxy_api_proxy types 2021-11-19 16:36:25 -08:00
0360728b7f Fix typo in docs for "globbing" (#76324)
Constent with the rest of the documentation including fileglob.
2021-11-19 09:37:15 -08:00
1b34933414 Fix ansible-doc -l ansible.builtin / ansible.legacy (#76235) 2021-11-19 10:29:47 -05:00
c379e61b8b Update docs build requirements to most recent versions of dependencies (#76283)
* align requirements files to more recent versions

* bump up to latest antsibull

* update sphinx in rstcheck requirements

* update to dependency versions that sphinx 4.2 pulls in

* use same no-cap spelling
2021-11-19 03:17:50 -08:00
04698b0c41 Add porting guide entry for fetch_url change in behavior (#76314) 2021-11-19 05:05:32 +10:00
c8a14c6be8 ansible-test - Update base and default containers. 2021-11-17 17:03:14 -08:00
bb63c97c16 ansible-test - Update import test and sanity requirements. (#76308)
* Add script to freeze sanity requirements.
* Declare sanity test requirements and freeze
* Use pinned requirements for import.plugin test.
* Expand scope of import test for ansible-core.
* Add ignores for galaxy import errors.
* Update test-constraints sanity test.
2021-11-16 18:16:42 -08:00
21ac52435b ansible-test - Add support for RHEL 8.5 instances. (#76305)
* ansible-test - Add support for RHEL 8.5 instances.
* Clear libdnf checksum cache from unsigned package in dnf integration test.

Co-authored-by: Matt Martz <matt@sivel.net>
2021-11-16 16:35:00 -08:00
d0ec236d4a Update porting guide for Ansible 5.0.0b2 (#76303) 2021-11-16 11:56:08 -05:00
4073a22d55 uri module improvements (#50771) 2021-11-16 10:44:44 -06:00
c9d4b6bfb0 Removed local variable 'lowered_choices' because the value is never used (#76295) 2021-11-16 10:24:44 -05:00
a71ba817b0 ansible-test - Remove unused test constraint. 2021-11-15 13:50:52 -08:00
5e3d469738 ansible-test - Remove near-EOL test containers.
- fedora33
- centos8
2021-11-15 13:40:37 -08:00
0668538a3e Default callback result format (#76166)
* First pass of adding yaml result format output to default callback

* Add clog frag

* flow style always false

* Further normalization of results across distros

* no lossy, now pretty

* Fix env var in runme.sh

* Rename variable to better self document

* include NativeJinjaUnsafeText

* Linting cleanup

* Add tests specific to the prior yaml callback

* Make data munging more exact, following the checks in libyaml/pyyaml

* Remove unused import

* Extend comment

* more correct and some comments

* Fix consistency of tab vs space in this section of the file

* Add str representer

* be cooler

* faster character filtering

* Clarify None as a sentinel for default behavior

* Flip filtering logic to avoid CRLF issues with 'space break' filtering

* Py3 change and comment about the use of __call__

Co-authored-by: Matt Davis <mrd@redhat.com>
2021-11-15 13:19:11 -08:00
fd4460c1e4 docs/best_practices: all contained vault passwords required when using inventory (#75976) 2021-11-15 16:18:48 -05:00
08af0fbf95 Unbreak hostname.RedHatStrategy (#76032)
- On Python 3, decode bytes to str
- Tolerate whitespace around the line.
- Report a missing HOSTNAME line as an error.
- Don't clobber line separators when setting a new hostname.
- Add some tests for this strategy to verify correct operation.
2021-11-15 07:15:20 +01:00
abac141122 fix support containers under podman (#76292)
* `podman inspect` falls back to a same-named image if the named container is not present; since eg `http-test-container` is both the name of the image and container, it wasn't working properly under podman in many instances. Switching to `docker|podman container inspect` limits the query to containers only for both podman and docker, allowing the support container detection/creation to work properly.
2021-11-12 16:59:09 -08:00
382a353234 No longer needed to fall back to sha (#76281) 2021-11-12 08:32:31 +01:00
fb55d878db psrp - remove deprecated psrp put_file code (#76252)
* psrp - remove deprecated psrp put_file code

* Removed unused import and fix missing var
2021-11-12 10:57:28 +10:00
a734da5e82 Restore documentation on M() and R() (#76284)
* Undo most of bf9944266c, add note on where R() does not work.
Co-authored-by: Brian Scholer <1260690+briantist@users.noreply.github.com>
2021-11-11 15:26:26 -05:00
b7a5fd6be9 Fixed typo in keyword_desc.yml (#76280)
The description of 'max_fail_percentage' had a typo.
2021-11-12 05:17:08 +10:00
95e120ed02 Keep pre Python 3.10 literal_eval behavior (#76261) 2021-11-12 05:12:46 +10:00
fe77bc9e3c Validate some markup in documentation in validate-modules (#76262)
* Validate some markup in documentation.

* Add changelog fragment.

* Use urlparse instead of URL regex.

* Document new error code.

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2021-11-11 13:44:15 -05:00
9985b8a975 ansible-test pssa update and new rules (#76256) 2021-11-10 17:04:39 -08:00
90de24da7b Docs: Link to valid data types for role parameters (#76276) 2021-11-10 10:06:33 -05:00
b6725ec6c9 Fix pip integration test.
- Use `fallible==0.0.1a2` instead of `black==19.10b`
- Test on both Python 2 and 3.
2021-11-09 14:35:39 -08:00
be2bd2f1af Documentation for other types in collection requirements.yml (#75872) 2021-11-09 15:18:51 -05:00
55dc75b8c8 Update porting guide for Ansible 5.0.0b1 (#76263) 2021-11-09 14:05:28 -05:00
22eb4a9ce0 Remove edit on github from collection pages (#76259)
* remove main index page from Edit on Github
* remove all collection index pages from Edit on Github
2021-11-09 06:51:54 -08:00
f6ec773e6e Update porting guide Python 2.7+ wording. (#76258) 2021-11-09 09:22:16 -05:00
5c225dc0f5 Introduce public methods to access PlayIterator._host_states (#74416) 2021-11-09 08:07:51 +01:00
d7fbb209b4 ansible-test - Fix collection import test priming.
The bug was introduced in https://github.com/ansible/ansible/pull/76137
2021-11-08 17:50:02 -08:00
74dc830dd4 Use new codecov uploader (#75938)
* Use new codecov uploader
* Rewrite coverage uploader in Python
2021-11-08 14:50:54 -08:00
54f64982fb apt - remove obsolete documentation (#76243)
The lock_timeout feature was recently added to the apt module making
this section in the documentation no longer necessary
2021-11-08 16:29:21 -05:00
b16d5ff7a7 set 2.12 to latest (#76191)
* set 2.12 to latest
* add 2.10 back
2021-11-08 08:07:22 -08:00
d0c1e5a46d Update release/maint page for 2.12 release (#76205)
* make changelogs more visible and fix a broken link

* add 2.12 changelogs

* add eol column
2021-11-08 10:28:50 -05:00
f42ffe16d2 ansible-test - Add Fedora 35 test container. (#76228)
* ansible-test - Add Fedora 35 test container.
* Added Fedora 35 to CI and removed Fedora 33 from CI.
* Fix dnf integration test.
* Fix connection_paramiko_ssh test.
2021-11-04 17:20:17 -07:00
57989c2bcb Remove install of setuptools in venv for pip test.
This task was previously added in https://github.com/ansible/ansible/pull/25243 as a work-around for a setuptools bug.

The pinned version does not work with Python 3.10, and the task should no longer be needed.
2021-11-04 14:12:13 -07:00
39509ff216 Fix pip test to use setup_remote_tmp_dir. 2021-11-04 13:47:20 -07:00
a861cb5607 ansible-core 2.12 dropped support for galaxy.yaml. (#76179) 2021-11-04 15:15:22 -04:00
a1236a582c Stop using "checksumming" instead of "encrypting" in the docs (#76168)
* Hashing is not encrypting

All encryption systems have a formal inverse function to decrypt
A hash is a one way function without inverse by definition

* Update docs/docsite/rst/user_guide/playbooks_filters.rst

Co-authored-by: Sandra McCann <samccann@redhat.com>
2021-11-04 20:06:02 +01:00
730194e2b6 ansible-test - Add RHEL 9 support. (#76217)
* Move RHEL pip package install into function.
* Add RHEL 9 support to bootstrap script.
* ansible-test - Add RHEL 9 support.
* Add install and uninstall instructions for RHEL9 to paramiko tests
* Skip incidental_inventory_docker_swarm on RHEL 9.
* Update dnf tests for rhel9
* Fix prepare_http_tests on RHEL 9.
* fix RHEL9 Python discovery tests to match distro map
* Skip subversion test on RHEL 9.0b.

Co-authored-by: Matt Martz <matt@sivel.net>
Co-authored-by: Matt Davis <mrd@redhat.com>
2021-11-04 10:48:34 -07:00
1b43298316 Update dev guide for vars plugins in collections (#75861) 2021-11-04 10:22:55 -04:00
17ec2d4952 check /.dockerenv and /.dockerinit to guess a dockercontainer (#74349)
* use os.path.exists for docker-check

Co-authored-by: Jacob Floyd <cognifloyd@gmail.com>
2021-11-03 15:26:36 -04:00
636b317a4f update backport instructions for 2.12 (#76209) 2021-11-03 10:10:57 -07:00
27a5116e19 Explicitly require iptables for incidental_setup_docker on RHEL8 (#76212) 2021-11-03 12:03:45 -05:00
c56d98e738 Fix broken M() refs. (#76202) 2021-11-02 15:22:16 -04:00
db2aee558b LinkUtil - ignore LIB env var (#76184) 2021-11-03 04:47:28 +10:00
2fd26ea35a docs: Update porting guide for Ansible 5.0.0a3 (#76201) 2021-11-02 14:17:10 -04:00
2de7c59930 docs: Update porting guide for Ansible 4.8.0 (#76197) 2021-11-02 14:15:03 -04:00
150faf25d3 dnf: add more specific error message for GPG check (#76194)
Fixes #76192
2021-11-02 15:01:12 +01:00
fdc3348859 Docs: Add skeleton roadmap for Ansible 6 (#76130)
* add skeleton roadmaps
* fix spacing
* correct link
* remove skeleton
2021-11-02 04:55:50 -07:00
444f5ff74e Remove redundant docs targets from Makefile. (#76059)
All of the targets, with the exception of `alldocs`, simply run the same target from `docs/docsite/Makefile`.
2021-11-01 13:07:14 -04:00
b5ed41edb3 Skip recursive suboption validation if sub_parameters is not a dict (#75635)
* Skip recursive suboption validation if sub_parameters is not a dictionary

* Ensure sub parameter elements is a sequence to prevent iterating over string characters and causing duplicate error messages for the same param
2021-11-01 12:06:49 -04:00
7bec196061 loop/fact delegation fix (#75768)
now set_fact and include_vars intermediate results are congruent with delegation
2021-11-01 11:25:10 -04:00
8bbecc7cac exhaust list of vault ids before failing (#75540)
* Try to find any valid vault id before raising an exception
* Apply the same logic during vault password file loading
* Also. Improve the warning msg and tests
2021-11-01 11:15:50 -04:00
47ee282227 Parser errors from within includes should not be rescueable (#73722)
* Parser errors from within includes should not be rescueable
* Also fixes unit tests
Fixes #73657
2021-11-01 11:05:39 -04:00
d23226a6f4 deprecate scp_if_ssh (#75218)
* deprecate scp_if_ssh

Co-authored-by: Matt Martz <matt@sivel.net>
2021-11-01 10:49:48 -04:00
dd220ddc2f Add a YAML representer for NativeJinjaUnsafeText (#76186) 2021-11-01 08:31:49 -05:00
e84d660140 Update playbooks_tests.rst (#76047) 2021-10-29 16:27:57 -04:00
2955ff57a7 Fix module name (#76058) 2021-10-29 16:26:51 -04:00
765924a3a4 Add reminder about groups default behavior in user module (#76096) 2021-10-29 16:01:21 -04:00
f92830d16e Fix zip content filtering in unarchive module (#76069)
When we introduced an include parameter to the unarchive module, we
inadvertenly flipped the exclusion logic. This flip meant that the
unarchive module started rejecting files that should be extracted.

This commit flips the bad logic and adds some tests that will make
sure things do not go bad again.
2021-10-29 15:12:24 -04:00
173550f932 use filesystem object instead of specific objects (#76054)
since the fragment is imported by different modules that support
 different set of filesystem objects

 fixes #72375
2021-10-29 11:41:12 -04:00
d17f9a523d Docs: fedora32 is no longer supported (for integration tests) (#76159) 2021-10-29 11:29:32 -04:00
e0e6464873 Docs: Fix text for contributing to collection link (#76174) 2021-10-29 11:17:12 -04:00
360a3d2431 Clarify that "requires_ansible" means Ansible Core (#76100)
Clarify that the `requires_ansible` field in meta/runtime.yml refers to the version of Ansible Core (ansible-core), not any package called "ansible" e.g. https://pypi.org/project/ansible/
2021-10-29 08:01:51 -07:00
0b0acef423 bug fix: using non-FQDN in plugin choices fails plugin name verification (#75991)
* enable both non-FQDN and FQDN plugin name
* add info about matching requirement of plugin name in config and plugin source file
2021-10-28 11:06:51 -04:00
3a9e42cfde Docs: Change API endpoint for hub to console.redhat.com in user guide (#76080)
The cloud.redhat.com has changed to console.redhat.com
2021-10-28 05:57:38 -07:00
e50ad6f118 ansible-test: Set max number of open files in containers to 10240 (#75498) 2021-10-27 14:00:14 -07:00
1ab2443e2d ansible-test - Update default containers. 2021-10-27 13:25:38 -07:00
19c8790251 2.13 schedule (#75843) 2021-10-27 15:12:30 -05:00
4abc669c24 Update module documentation about ref links (#76088)
* Update module documentation about ref links
2021-10-27 14:23:45 -04:00
cc3f1d238c Add Jinja2 version runtime check (#76141) 2021-10-27 11:41:11 -05:00
26707a3c6b Heisen jinja2_native (#75587)
* Use NativeEnvironment for all templating

ci_complete

* Keep Templar.copy_with_new_env for backwards compat

* Mention that AnsibleUndefined.__repr__ changed in the porting guide

* Templar.copy_with_new_env backwards compat

* ci_complete
2021-10-27 11:36:33 -05:00
caec2b9d29 Revert "Revert AnsibleCollectionConfig Py3 only change (#76104)"
This reverts commit 04e30d9002.
2021-10-26 16:31:28 -07:00
97f729c3d6 Fix Windows CI scripts.
The scripts now use `--list-targets -v` instead of `--explain` to evaluate changes.

This is faster and does not trigger parsing of a non-existent inventory file.
2021-10-26 15:26:34 -07:00
6b8ed23926 Update argcomplete install via apt command (#76139)
To install `argcomplete` on Ubuntu 21.10 we need to update the install line to use Python3
2021-10-26 11:29:23 -04:00
395e5e20fa PlayIterator: use enums for states (#74511) 2021-10-26 10:16:17 +02:00
cd64e0b070 ansible-test - Fix import test on old Pythons. (#76137) 2021-10-25 17:53:05 -07:00
cae7d2a671 Overhaul ansible-test integration tests. (#76111)
* Overhaul ansible-test integration tests.
* ansible-test - Fix import test pyyaml usage.
* ansible-test - Remove unused import.
* ansible-test - Fix traceback when pip is unavailable.
* ansible-test - Fix typo in port forwarding message.
* ansible-test - Fix controller logic in requirements install.
* Fix unit tests in ansible-test integration test.

Unit tests are now run for available Python versions which
provide `virtualenv` (Python 2.x) or `venv` (Python 3.x).
2021-10-25 16:32:15 -07:00
b9694ce4fb ansible-test - Remove duplicate code. 2021-10-25 15:30:06 -07:00
9b4f9e9fd3 Drop python2.6 support in module execution (#76106) 2021-10-25 08:41:51 -05:00
b4cbe1adcf ansible-test - Fix Python real prefix detection. 2021-10-21 15:28:48 -07:00
0bf7b3f4ef Fix ansible-galaxy collection verify subcommand help message. (#76108)
* Fix ansible-galaxy collection verify subcommand help message.

* changelog
2021-10-22 07:50:33 +10:00
e40a0e5c90 Don't use output_dir in target tests (#76107)
* Don't use output_dir in user tests

* Move blockinfile tests from using output_dir to depending on setup_remote_tmp_dir

* Don't use output_dir in git tests

* Don't use output_dir in uri tests
2021-10-21 10:59:48 -05:00
04e30d9002 Revert AnsibleCollectionConfig Py3 only change (#76104) 2021-10-21 08:07:23 -05:00
0f95371131 Start of moving away from six (#75863)
ci_complete
2021-10-21 10:40:04 +02:00
7621784b94 Require Jinja2 3.0.0 (#75881)
* Require Jinja2 3.0.0

ci_complete

* Fix sanity

* Remove Jinja min/max tests

* ansible-test changes

* ci_complete

* More cleanup

ci_complete

* Revert _count_newlines_from_end :( and other stuff

* Fix sanity

* It's using host_vars ...

* Unused import

* Remove overridden groupby filter

* environmentfilter -> pass_environment

* Explain preserve_trailing_newlines

* Add changelog

* ci_complete

* Deprecated ANSIBLE_JINJA2_NATIVE_WARNING

* native_helpers.py cleanup

* More cleanup in the find intgration test
2021-10-20 12:22:29 -05:00
835fe71828 Docs: fix link to 2.12 changelog (#76091) 2021-10-20 08:28:39 -07:00
66a83314b9 Modernize install (#76021)
Co-authored-by: Matt Clay <matt@mystile.com>
Co-authored-by: Matt Davis <mrd@redhat.com>
Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
2021-10-19 14:24:57 -05:00
43d09710c8 Update porting guide for Ansible 5.0.0a2 (#76083) 2021-10-19 13:30:42 -04:00
afb8a008c2 Remove incidental_deploy_helper 2021-10-19 08:46:49 -07:00
2f3fbaac3c Remove unused test/support plugins (#76078) 2021-10-19 08:45:15 -07:00
227f4398c2 Fix choices for return values. (#76070) 2021-10-19 17:22:32 +02:00
6e6f846db1 Add space to error message output (#76063) 2021-10-19 17:18:30 +02:00
3add434269 add missing space to --playbook-dir help string (#76062) 2021-10-19 17:17:49 +02:00
0c1b839c10 Remove incidental_win_copy
ci_complete
ci_coverage
2021-10-18 13:18:35 -07:00
90f670090c Remove incidental_setup_tls
ci_complete
ci_coverage
2021-10-18 11:42:09 -07:00
7e79411701 Remove incidental_cs_common 2021-10-18 11:40:19 -07:00
d099e19796 ansible-test - Move constants to remove symlink. 2021-10-18 10:25:15 -07:00
23f95300bd Intentional tests (#76051)
ci_complete
ci_coverage
2021-10-18 10:28:20 +02:00
58744acb84 Remove centos8 from CI matrix. 2021-10-15 16:06:18 -07:00
80f4b67f43 Removed unused test/support modules (#76048) 2021-10-15 09:48:14 -07:00
817e1045bb Update network_resources.rst (#76040)
* Update network_resources.rst

I am not sure a fully qualified URL should be here... but teach me great documentation gods

* Change platform index external link to internal ref

Co-authored-by: Aine Riordan <44700011+ariordan-redhat@users.noreply.github.com>
2021-10-15 08:48:30 -04:00
96372cecea Remove unused variables from Makefile. 2021-10-14 18:29:32 -07:00
2af4d30b9b Remove incidental mongodb tests.
They no longer provide unique coverage.

ci_complete
ci_coverage
2021-10-14 17:41:37 -07:00
cca9013df8 Remove incidental_win_data_deduplication test.
It no longer provides unique coverage.

ci_complete
ci_coverage
2021-10-14 15:39:04 -07:00
4cf290918f docs: clarify skip_broken option in dnf/yum (#76038) 2021-10-14 12:10:53 -07:00
9a0fe18915 allow override of PYTHON variable (#76023) 2021-10-14 12:04:52 -07:00
7cf29ded9c Intentional tests
ci_complete
ci_coverage
2021-10-14 11:52:06 -07:00
609cba5017 Remove incidental_win_dsc test.
It no longer provides any unique test coverage.

ci_complete
ci_coverage
2021-10-14 11:01:53 -07:00
fae0cf4c51 Remove unofficial packaging.
Unofficial packaging should be maintained externally since
it is not tested in CI or used in the official release process.

Maintainers of unofficial packages are better equipped with the necessary
expertise and testing resources to support alternative packaging.
2021-10-14 09:52:26 -07:00
319b50f04c Fix subversion test.
Switch to a different repo that isn't giving 503 errors since GitHub hasn't fixed the issue yet.
2021-10-14 09:48:00 -07:00
ff792d252e Docs: dash - character invalid in playbook names in collections(#75891)
* collection playbooks, note no -
fixes #75890
2021-10-14 08:25:14 -07:00
9eeaf1c5b5 Docs - add code-block:: wrapping for playbooks filter doc (#75953)
* Add code-block
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-10-14 08:11:24 -07:00
aff5e5dfc6 _run_loop: Add the task name to the warning (#76012)
Prepend the task name to the warning "The loop variable 'item' is
already in use", so that you can get some context even if stdout and
stderr go to separate places.
2021-10-14 10:31:04 -04:00
64506c7d15 Docs: Change note for rackspace cloud guide (#75898)
* Fix rackspace cloud guide docs
* Fix syntax error
2021-10-14 05:29:07 -07:00
67c12fc4eb Docs - Fix "kubernetes.core" typos in code snippets (#75930)
Replace "kuberernetes.core" with "kubernetes.core" in filter examples.
2021-10-14 05:23:14 -07:00
93a6299cd3 docs: Update porting guide for Ansible 4.7.0 (#76034) 2021-10-14 06:54:39 +01:00
3d46670622 Remove incidental_win_ping test. (#76031)
It no longer provides any unique test coverage.

ci_complete
ci_coverage
2021-10-13 12:58:30 -07:00
2437fb3718 Add more ansible-test cloud tests. 2021-10-12 17:10:18 -07:00
b1211429d5 Fix executing includes in the free strategy (#75649)
Fixes #75642
2021-10-12 18:15:37 +02:00
7a28246248 validate_modules: allow 'choices' for return values (#76009)
* Allow 'choices' for return values.
2021-10-12 11:29:27 -04:00
1ea74f4dd6 Misc typo fix (#76008)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-10-12 11:28:20 -04:00
e53982cd09 The apt module won't work with python-apt < 0.8.9 (such as on Ubuntu 10.04) (#75993)
* Check if deb file to deploy has architectures attribute, fixes ansible#47277
2021-10-12 11:24:40 -04:00
f7b7cf6753 Add vim undo files to .gitignore (#75979) 2021-10-12 11:13:59 -04:00
fa4a92f221 Docs: Add code-block:: to examples in ipaddr filters doc(#75951)
* Add code-block elements to playbooks_filters_ipaddr
* Add punctuation to lead-in sentences for code blocks
2021-10-12 05:08:52 -07:00
2a3aa66fbd docs - wrap examples in code-block:: in sample setup (#75964)
* docs: Use code-block to format code in sample setup
Fixes #75905
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-10-12 04:21:30 -07:00
4444692436 Docs: add code-block:: to playbook variables doc in user guide(#75985)
* update code-block formatting changes.
2021-10-12 03:09:11 -07:00
6bf65f6246 Docs - Added code-block:: wrappers in playbook tests doc (#75952) 2021-10-12 02:39:52 -07:00
6319a0f415 docs - Wrap examples in code-block:: in loops guide (#75916)
* docs - Use code-block to format examples in loops guide
Resolves #75900
2021-10-12 02:25:13 -07:00
afbef70bad documenting_modules_network.rst: Add missing space (#75972) 2021-10-12 11:42:10 +05:30
d6dbc1a26f docs - Change :: to code-block:: in error handling guide (#75978)
Fixes #75908
2021-10-11 15:18:07 -07:00
4d8a724071 docs - Replace :: with code-block:: in playbooks_conditionals doc (#75965)
Fixes #75906
2021-10-11 14:40:01 -07:00
d26ff4e376 Docs: changed :: to code-block:: in 9 files (#75994)
* Fixed 9 files in user guide
2021-10-11 14:28:07 -07:00
221c7373db docs - Add code-block to code examples in playbooks_strategies.rst (#75960)
Fixes ansible#75911.
2021-10-11 13:53:45 -07:00
fd346565d3 docs - wrap examples in code-blocks in playbooks_vars_facts.rst (#75961)
Fixes ansible#75912.
2021-10-11 13:28:35 -07:00
37eefb47c5 Docs: Add code-blocks to examples in Windows-WinRM guide (#75974)
Co-authored-by: Holger Dörner <h.doerner@bitexpert.de>
2021-10-11 13:15:10 -07:00
84ec976378 Docs: Add code-blocks to Playbooks-Delegation in user guide(#75973)
Co-authored-by: Holger Dörner <h.doerner@bitexpert.de>
2021-10-11 12:59:42 -07:00
d0edf69fe0 docs: code-block wrapping for playbooks_debugger.rst (#75968)
* code-block wrapping for playbooks_debugger.rst #75919
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-10-11 12:43:22 -07:00
cd540544fd Docs: add code block elements in user_guide/playbooks_async.rst (#75947)
* Fix for code block
2021-10-11 11:30:39 -07:00
fffa9412f4 Docs: add code blocks elements for user_guide/vault.rst (#75963)
* feat:(docs) add code blocks elements for user_guide/vault.rst
Addresses issue #75921
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-10-11 11:09:18 -07:00
71811407c5 Docs: code-block wrapping for playbooks_checkmode.rst #75925 (#75931)
* code-block wrapping for playbooks_checkmode.rst #75925
* Fixes typo in previously introduced code-block
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-10-11 10:42:06 -07:00
22a540e109 Docs: Code-block wrapping for playbooks_startnstep.rst #75934 (#75943)
* Code-block wrapping for playbooks_startnstep.rst #75934
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-10-11 10:07:16 -07:00
5c4bbed2de Docs: Add code-blocks to user guide doc (#75928)
* Add code-block elements to 5 examples

* Add :
2021-10-11 08:48:45 -07:00
81eec4a05a Docs: code-block wrapping for playbooks_module_defaults.rst #75936 (#75942) 2021-10-11 05:14:56 -07:00
a2ff765e06 Docs: add code-blocks to User Guide modules_intro (#75932) 2021-10-11 04:26:53 -07:00
a4a7a34893 Docs: Add code-blocks to user_guide/intro_patterns.rst (#75941) 2021-10-08 14:12:06 -07:00
4381336fbb Docs: issue 75922 add code-blocks to user_guide/playbooks_environment.rst (#75929)
Add code-blocks in the 6 outlined examples from the Issue
2021-10-08 13:27:33 -07:00
b03afeec6c Adding code-block elements in user_guide/playbooks_prompts.rst (#75935) 2021-10-08 13:01:50 -07:00
d0b88eecd8 Code block format user guide/windows setup.rst #75914 (#75956)
* set changes for code boxes.

* post changes to attempt to fix seealso links.

* attempting to fix seealso tag

* fix un-indention for sanity check.
2021-10-08 10:49:45 -07:00
89bc7ebfe6 code-block wrapping for playbooks_advanced_syntax.rst (#75981)
* code-block wrapping for playbooks_advanced_syntax.rst

* fixed spacing
2021-10-08 10:13:46 -07:00
8e77943a97 remove fest banner (#75901)
* remove fest banner

* fix nit
2021-10-08 08:30:19 -07:00
5cb1210f82 ansible-test - Update base and default containers.
- The containers are now based on Ubuntu 20.04 instead of Ubuntu 18.04.
- The default Python version used for the containers is now Python 3.10.
- The included version of PowerShell was upgraded to version 7.1.4.
- The included version of shellcheck was upgraded to version 0.7.0.

ci_complete
2021-10-07 23:04:31 -07:00
801eb73ccb ansible-test - Update Python constraints. (#75959)
* Remove obsolete constraints.
* Simplify constraints.
* Add changelog fragment.
2021-10-07 18:10:34 -07:00
7e19957afa ansible-test pslint - fix warning with nested objects (#75792)
* ansible-test pslint - fix warning with nested objects
2021-10-08 06:30:30 +10:00
8c3e576cd5 Fix docs get_url dest comment. Checksum does not prevent download if dest is dir. (#73185) 2021-10-07 15:35:43 -04:00
8510db4935 Allow ca_path to point to a bundle (#75894)
* Allow ca_path to point to a bundle. Fixes #75015
2021-10-08 05:04:48 +10:00
23b9d197eb ansible-doc: ignore plugin deprecation warnings (#75674)
Fixes #75671
2021-10-07 13:01:45 -05:00
8cef40f839 ansible-test - Fix inventory path. 2021-10-07 10:19:34 -07:00
801db758d3 code-block wrapping for playbooks_best_practices.rst #75937 (#75939) 2021-10-07 09:56:24 -07:00
bc0caad2ad Fix parsing of device serial number for RHEL8 (#75876)
* Fix parsing of device serial number for RHEL8

* Add tests and changelog

Co-authored-by: Miroslav Brabenec <miroslav.brabenec@memsource.com>
2021-10-06 17:24:09 -04:00
9a4346bae3 Docs: Moves the AWS Scenario Guide out of the main docs (#74704)
* removes AWS scenario  guide, moving to collection

* first attept to replace TOC entries

* not sure what I did, but saving it

* updates TOCs to reflect new location of aws guide

* reinstates original page as a stub

* adds links to new location for AWS guide, updates header

Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2021-10-06 12:34:44 -07:00
2f531d73dd ansible-test - Update base and default containers.
The containers now include Python 3.10.0 instead of Python 3.10.0rc2.
2021-10-06 11:40:54 -07:00
8a295b8ada Remove incidental_cloud_init_data_facts integration tests (#75885)
* Remove incidental_cloud_init_data_facts integration tests

* Remove cloud_init_data_facts.py

* ci_coverage ci_complete
2021-10-05 16:14:37 -05:00
0c8b62b527 Update the porting guide for a new ansible version (#75893) 2021-10-05 15:17:10 -04:00
000ae00cfd Docs: Clarify adding newlines in YAML folded block scalar (#75875)
* Removed translatable words from code blocks

##### SUMMARY
Removed translatable words from codeblocks as per #59449

##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr

* Maintaining intend as well as clearity

* Preserving "save_as" as the key

* showing equivalence and keeping same context
2021-10-05 04:13:49 -07:00
19fce0527a docs - Use code-block to format code examples in Developer Guide (#75849)
Fixes #75663
2021-10-04 13:55:00 -07:00
8988f8ab5d Corrected mytask.yml file name (#75860) 2021-10-04 16:39:55 -04:00
20904c2fb6 Move ansible-5.1 to 2021-12-21 (#75865)
We moved the target date for ansible-5.0 one week back so there's now
time to do 5.1 before the holidays start.
2021-10-04 16:37:50 -04:00
4aede377d2 docs - Use code-block to format code examples in Community Guide (#75847)
Fixes #75675
2021-10-04 10:46:43 -07:00
4d398ca3a4 docs - Use code-block to format examples in Network Guide (#75850)
Fixes #75676
2021-10-04 10:29:14 -07:00
f4d4391a1f ansible-test - Update distro test containers. 2021-10-01 11:20:49 -07:00
1932f0008b ansible-core - Remove support for Python 2.6. (#75853) 2021-10-01 01:16:37 -07:00
099d80829f ansible-test - Fix inventory generation. 2021-09-30 19:03:09 -07:00
68ab92e22a ansible-test - Remove support for Python 2.6.
Deferring removal of obsolete constraints until container updates are required.
2021-09-30 14:13:50 -07:00
827981c7dd Add support for distinct collection skeleton configuration (#75845)
Signed-off-by: Jeremy Kimber <jeremy.kimber@garmin.com>

Co-authored-by: Jeremy Kimber <jeremy.kimber@garmin.com>
2021-09-30 14:13:15 -07:00
3ef8782b90 Fix sanity test ignores. 2021-09-30 13:58:27 -07:00
e9c27c99dd Fix up deprecation removal changelog headers (#75848) 2021-10-01 06:37:45 +10:00
9de4f24d7a test support ec2_ami_info: remove ec2_ami_facts name deprecation (#75841)
Fixes #75829
2021-09-30 12:50:48 -07:00
f774292439 cli - remove deprecated setting verbosity before sub command (#75840)
* cli - remove deprecated setting verbosity before sub command

Fixes #75823

* Fix tests
2021-09-30 12:50:18 -07:00
239dbcb24f copy: remove deprecated thirsty alias (#75839)
Fixes #75824
2021-09-30 12:48:48 -07:00
44095caca9 url_argument_spec: remove deprecated thirsty alias (#75838)
Fixes #75825
Fixes #75826
2021-09-30 12:48:10 -07:00
13e535c3bc Remove deprecated Templar.set_available_variables() (#75836)
Fixes #75828
2021-09-30 12:46:07 -07:00
963a272b28 uri: add documentation for return value path (#75795) 2021-09-30 12:26:33 -07:00
bb59d9afe9 bump devel to 2.13 (#75833) 2021-09-30 09:18:32 -05:00
927ffe26b7 Docs: add install link for windows (#75811) 2021-09-29 08:04:35 -07:00
5d1abdbf6b correct runas comment (#75806) 2021-09-28 18:02:01 -04:00
a9bd8b6cff No Ansible Engine (#75812) 2021-09-28 12:25:15 -05:00
79e9dae292 Don't show params when there is an issue with set_option(s) (#75805) 2021-09-28 11:25:25 -05:00
8643db5ac3 Bump antsibull version to get support for attributes and CLI options (#75787)
* Bump antsibull version to get support for attributes and CLI options.

* Include fix for attributes.

* Include fix for rst_epilog collision and for #75799.
2021-09-27 16:52:05 -04:00
a160eeedd8 2.13 changelog cleanup (#75800) 2021-09-27 10:21:22 -05:00
2934c4f710 ansible is now ansible-core in AUR too (#75145) 2021-09-27 10:46:42 -04:00
2346 changed files with 85576 additions and 58106 deletions

View File

@ -26,17 +26,12 @@ variables:
value: ansible
- name: coverageBranches
value: devel
- name: pipelinesCoverage
value: coverage
- name: entryPoint
value: test/utils/shippable/shippable.sh
value: .azure-pipelines/commands/entry-point.sh
- name: fetchDepth
value: 500
resources:
containers:
- container: default
image: quay.io/ansible/azure-pipelines-test-container:1.9.0
- name: defaultContainer
value: quay.io/ansible/azure-pipelines-test-container:3.0.0
pool: Standard
@ -62,7 +57,6 @@ stages:
nameFormat: Python {0}
testFormat: units/{0}
targets:
- test: 2.6
- test: 2.7
- test: 3.5
- test: 3.6
@ -89,16 +83,18 @@ stages:
- template: templates/matrix.yml
parameters:
targets:
- name: macOS 11.1
test: macos/11.1
- name: macOS 12.0
test: macos/12.0
- name: RHEL 7.9
test: rhel/7.9
- name: RHEL 8.4 py36
test: rhel/8.4@3.6
- name: RHEL 8.4 py38
test: rhel/8.4@3.8
- name: FreeBSD 12.2
test: freebsd/12.2
- name: RHEL 8.5 py36
test: rhel/8.5@3.6
- name: RHEL 8.5 py38
test: rhel/8.5@3.8
- name: RHEL 9.0
test: rhel/9.0
- name: FreeBSD 12.3
test: freebsd/12.3
- name: FreeBSD 13.0
test: freebsd/13.0
groups:
@ -107,6 +103,23 @@ stages:
- 3
- 4
- 5
- template: templates/matrix.yml # context/controller (ansible-test container management)
parameters:
targets:
- name: Alpine 3.16
test: alpine/3.16
- name: Fedora 36
test: fedora/36
- name: RHEL 8.5
test: rhel/8.5
- name: RHEL 9.0
test: rhel/9.0
- name: Ubuntu 20.04
test: ubuntu/20.04
- name: Ubuntu 22.04
test: ubuntu/22.04
groups:
- 6
- stage: Docker
dependsOn: []
jobs:
@ -116,16 +129,12 @@ stages:
targets:
- name: Alpine 3
test: alpine3
- name: CentOS 6
test: centos6
- name: CentOS 7
test: centos7
- name: CentOS 8
test: centos8
- name: Fedora 33
test: fedora33
- name: Fedora 34
test: fedora34
- name: Fedora 35
test: fedora35
- name: openSUSE 15 py2
test: opensuse15py2
- name: openSUSE 15 py3
@ -162,52 +171,6 @@ stages:
- test: 3.8
- test: 3.9
- test: '3.10'
- stage: Incidental_Remote
displayName: Incidental Remote
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
testFormat: i/{0}
targets:
- name: macOS 11.1
test: macos/11.1
- name: RHEL 7.9
test: rhel/7.9
- name: RHEL 8.4 py36
test: rhel/8.4@3.6
- name: RHEL 8.4 py38
test: rhel/8.4@3.8
- name: FreeBSD 12.2
test: freebsd/12.2
- name: FreeBSD 13.0
test: freebsd/13.0
- stage: Incidental_Docker
displayName: Incidental Docker
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
testFormat: i/linux/{0}
targets:
- name: CentOS 6
test: centos6
- name: CentOS 7
test: centos7
- name: CentOS 8
test: centos8
- name: Fedora 33
test: fedora33
- name: Fedora 34
test: fedora34
- name: openSUSE 15 py2
test: opensuse15py2
- name: openSUSE 15 py3
test: opensuse15
- name: Ubuntu 18.04
test: ubuntu1804
- name: Ubuntu 20.04
test: ubuntu2004
- stage: Incidental_Windows
displayName: Incidental Windows
dependsOn: []
@ -249,8 +212,6 @@ stages:
- Docker
- Galaxy
- Generic
- Incidental_Remote
- Incidental_Docker
- Incidental_Windows
- Incidental
jobs:

View File

@ -59,4 +59,4 @@ fi
ansible-test env --dump --show --timeout "${timeout}" --color -v
"test/utils/shippable/${script}.sh" "${test}"
".azure-pipelines/commands/${script}.sh" "${test}"

View File

@ -11,4 +11,4 @@ script="${args[1]}"
IFS='/' test="${args[*]:1}"
"test/utils/shippable/incidental/${script}.sh" "${test}"
".azure-pipelines/commands/incidental/${script}.sh" "${test}"

View File

@ -12,10 +12,6 @@ target="shippable/windows/incidental/"
stage="${S:-prod}"
provider="${P:-default}"
# python versions to test in order
IFS=' ' read -r -a python_versions <<< \
"$(PYTHONPATH="${PWD}/test/lib" python -c 'from ansible_test._internal import constants; print(" ".join(constants.CONTROLLER_PYTHON_VERSIONS))')"
# python version to run full tests on while other versions run minimal tests
python_default="$(PYTHONPATH="${PWD}/test/lib" python -c 'from ansible_test._internal import constants; print(constants.CONTROLLER_MIN_PYTHON_VERSION)')"
@ -23,7 +19,7 @@ python_default="$(PYTHONPATH="${PWD}/test/lib" python -c 'from ansible_test._int
single_version=2012-R2
# shellcheck disable=SC2086
ansible-test windows-integration --explain ${CHANGED:+"$CHANGED"} ${UNSTABLE:+"$UNSTABLE"} > /tmp/explain.txt 2>&1 || { cat /tmp/explain.txt && false; }
ansible-test windows-integration --list-targets -v ${CHANGED:+"$CHANGED"} ${UNSTABLE:+"$UNSTABLE"} > /tmp/explain.txt 2>&1 || { cat /tmp/explain.txt && false; }
{ grep ' windows-integration: .* (targeted)$' /tmp/explain.txt || true; } > /tmp/windows.txt
if [ -s /tmp/windows.txt ] || [ "${CHANGED:+$CHANGED}" == "" ]; then
@ -49,25 +45,8 @@ else
)
fi
for version in "${python_versions[@]}"; do
if [ "${version}" == "${python_default}" ]; then
# full tests
ci="${target}"
else
# minimal tests for other python versions
ci="incidental_win_ping"
fi
# terminate remote instances on the final python version tested
if [ "${version}" = "${python_versions[-1]}" ]; then
terminate="always"
else
terminate="never"
fi
# shellcheck disable=SC2086
ansible-test windows-integration --color -v --retry-on-error "${ci}" ${COVERAGE:+"$COVERAGE"} ${CHANGED:+"$CHANGED"} ${UNSTABLE:+"$UNSTABLE"} \
"${platforms[@]}" \
--docker default --python "${version}" \
--remote-terminate "${terminate}" --remote-stage "${stage}" --remote-provider "${provider}"
done
# shellcheck disable=SC2086
ansible-test windows-integration --color -v --retry-on-error "${target}" ${COVERAGE:+"$COVERAGE"} ${CHANGED:+"$CHANGED"} ${UNSTABLE:+"$UNSTABLE"} \
"${platforms[@]}" \
--docker default --python "${python_default}" \
--remote-terminate always --remote-stage "${stage}" --remote-provider "${provider}"

View File

@ -0,0 +1 @@
remote.sh

View File

@ -7,12 +7,6 @@ IFS='/:' read -ra args <<< "$1"
group="${args[1]}"
if [ "${BASE_BRANCH:-}" ]; then
base_branch="origin/${BASE_BRANCH}"
else
base_branch=""
fi
case "${group}" in
1) options=(--skip-test pylint --skip-test ansible-doc --skip-test docs-build --skip-test package-data --skip-test changelog --skip-test validate-modules) ;;
2) options=( --test ansible-doc --test docs-build --test package-data --test changelog) ;;
@ -23,5 +17,5 @@ esac
# shellcheck disable=SC2086
ansible-test sanity --color -v --junit ${COVERAGE:+"$COVERAGE"} ${CHANGED:+"$CHANGED"} \
--docker --keep-git --base-branch "${base_branch}" \
--docker \
"${options[@]}" --allow-disabled

View File

@ -0,0 +1 @@
remote.sh

View File

@ -24,7 +24,7 @@ python_default="$(PYTHONPATH="${PWD}/test/lib" python -c 'from ansible_test._int
single_version=2012-R2
# shellcheck disable=SC2086
ansible-test windows-integration --explain ${CHANGED:+"$CHANGED"} ${UNSTABLE:+"$UNSTABLE"} > /tmp/explain.txt 2>&1 || { cat /tmp/explain.txt && false; }
ansible-test windows-integration --list-targets -v ${CHANGED:+"$CHANGED"} ${UNSTABLE:+"$UNSTABLE"} > /tmp/explain.txt 2>&1 || { cat /tmp/explain.txt && false; }
{ grep ' windows-integration: .* (targeted)$' /tmp/explain.txt || true; } > /tmp/windows.txt
if [ -s /tmp/windows.txt ] || [ "${CHANGED:+$CHANGED}" == "" ]; then

View File

@ -9,9 +9,9 @@ PATH="${PWD}/bin:${PATH}"
mkdir "${agent_temp_directory}/coverage/"
options=(--venv --venv-system-site-packages --color -v)
options=(--venv --color -v)
ansible-test coverage combine --export "${agent_temp_directory}/coverage/" "${options[@]}"
ansible-test coverage combine --group-by command --export "${agent_temp_directory}/coverage/" "${options[@]}"
if ansible-test coverage analyze targets generate --help >/dev/null 2>&1; then
# Only analyze coverage if the installed version of ansible-test supports it.

View File

@ -0,0 +1,101 @@
#!/usr/bin/env python
"""
Upload code coverage reports to codecov.io.
Multiple coverage files from multiple languages are accepted and aggregated after upload.
Python coverage, as well as PowerShell and Python stubs can all be uploaded.
"""
import argparse
import dataclasses
import pathlib
import shutil
import subprocess
import tempfile
import typing as t
import urllib.request
@dataclasses.dataclass(frozen=True)
class CoverageFile:
name: str
path: pathlib.Path
flags: t.List[str]
@dataclasses.dataclass(frozen=True)
class Args:
dry_run: bool
path: pathlib.Path
def parse_args() -> Args:
parser = argparse.ArgumentParser()
parser.add_argument('-n', '--dry-run', action='store_true')
parser.add_argument('path', type=pathlib.Path)
args = parser.parse_args()
# Store arguments in a typed dataclass
fields = dataclasses.fields(Args)
kwargs = {field.name: getattr(args, field.name) for field in fields}
return Args(**kwargs)
def process_files(directory: pathlib.Path) -> t.Tuple[CoverageFile, ...]:
processed = []
for file in directory.joinpath('reports').glob('coverage*.xml'):
name = file.stem.replace('coverage=', '')
# Get flags from name
flags = name.replace('-powershell', '').split('=') # Drop '-powershell' suffix
flags = [flag if not flag.startswith('stub') else flag.split('-')[0] for flag in flags] # Remove "-01" from stub files
processed.append(CoverageFile(name, file, flags))
return tuple(processed)
def upload_files(codecov_bin: pathlib.Path, files: t.Tuple[CoverageFile, ...], dry_run: bool = False) -> None:
for file in files:
cmd = [
str(codecov_bin),
'--name', file.name,
'--file', str(file.path),
]
for flag in file.flags:
cmd.extend(['--flags', flag])
if dry_run:
print(f'DRY-RUN: Would run command: {cmd}')
continue
subprocess.run(cmd, check=True)
def download_file(url: str, dest: pathlib.Path, flags: int, dry_run: bool = False) -> None:
if dry_run:
print(f'DRY-RUN: Would download {url} to {dest} and set mode to {flags:o}')
return
with urllib.request.urlopen(url) as resp:
with dest.open('w+b') as f:
# Read data in chunks rather than all at once
shutil.copyfileobj(resp, f, 64 * 1024)
dest.chmod(flags)
def main():
args = parse_args()
url = 'https://ci-files.testing.ansible.com/codecov/linux/codecov'
with tempfile.TemporaryDirectory(prefix='codecov-') as tmpdir:
codecov_bin = pathlib.Path(tmpdir) / 'codecov'
download_file(url, codecov_bin, 0o755, args.dry_run)
files = process_files(args.path)
upload_files(codecov_bin, files, args.dry_run)
if __name__ == '__main__':
main()

View File

@ -1,27 +0,0 @@
#!/usr/bin/env bash
# Upload code coverage reports to codecov.io.
# Multiple coverage files from multiple languages are accepted and aggregated after upload.
# Python coverage, as well as PowerShell and Python stubs can all be uploaded.
set -o pipefail -eu
output_path="$1"
curl --silent --show-error https://ansible-ci-files.s3.us-east-1.amazonaws.com/codecov/codecov.sh > codecov.sh
for file in "${output_path}"/reports/coverage*.xml; do
name="${file}"
name="${name##*/}" # remove path
name="${name##coverage=}" # remove 'coverage=' prefix if present
name="${name%.xml}" # remove '.xml' suffix
bash codecov.sh \
-f "${file}" \
-n "${name}" \
-X coveragepy \
-X gcov \
-X fix \
-X search \
-X xcode \
|| echo "Failed to upload code coverage report to codecov.io: ${file}"
done

View File

@ -14,4 +14,4 @@ fi
# Generate stubs using docker (if supported) otherwise fall back to using a virtual environment instead.
# The use of docker is required when Powershell code is present, but Ansible 2.12 was the first version to support --docker with coverage.
ansible-test coverage xml --stub --docker --color -v || ansible-test coverage xml --stub --venv --venv-system-site-packages --color -v
ansible-test coverage xml --group-by command --stub --docker --color -v || ansible-test coverage xml --group-by command --stub --venv --color -v

View File

@ -6,7 +6,7 @@
jobs:
- job: Coverage
displayName: Code Coverage
container: default
container: $[ variables.defaultContainer ]
workspace:
clean: all
steps:
@ -23,20 +23,7 @@ jobs:
- bash: .azure-pipelines/scripts/report-coverage.sh
displayName: Generate Coverage Report
condition: gt(variables.coverageFileCount, 0)
- task: PublishCodeCoverageResults@1
inputs:
codeCoverageTool: Cobertura
# Azure Pipelines only accepts a single coverage data file.
# That means only Python or PowerShell coverage can be uploaded, but not both.
# Set the "pipelinesCoverage" variable to determine which type is uploaded.
# Use "coverage" for Python and "coverage-powershell" for PowerShell.
summaryFileLocation: "$(outputPath)/reports/$(pipelinesCoverage).xml"
# Override the root (sources) path specified in the coverage XML files.
# This allows coverage to be reported in Azure Pipelines even if the report was generated in a container.
pathToSources: "$(Agent.BuildDirectory)/$(checkoutPath)"
displayName: Publish to Azure Pipelines
condition: gt(variables.coverageFileCount, 0)
- bash: .azure-pipelines/scripts/publish-codecov.sh "$(outputPath)"
- bash: .azure-pipelines/scripts/publish-codecov.py "$(outputPath)"
displayName: Publish to codecov.io
condition: gt(variables.coverageFileCount, 0)
continueOnError: true

View File

@ -11,7 +11,7 @@ jobs:
- ${{ each job in parameters.jobs }}:
- job: test_${{ replace(replace(replace(replace(job.test, '/', '_'), '.', '_'), '-', '_'), '@', '_') }}
displayName: ${{ job.name }}
container: default
container: $[ variables.defaultContainer ]
workspace:
clean: all
steps:

View File

@ -44,7 +44,7 @@ body:
**HINT:** Did you know the documentation has a `View on GitHub`
link on every page? Feel free to use it to start a pull request
link on some pages? Feel free to use it to start a pull request
right from the GitHub UI!
placeholder: >-
I was reading the ansible-core documentation of version X and I'm having

View File

@ -1,4 +1,5 @@
---
- 2.13.0 Nobody's Fault but Mine
- 2.12.0 Dazed and Confused
- 2.11.0 Hey Hey, What Can I Do
- 2.10.0 When the Levee Breaks

5
.gitignore vendored
View File

@ -38,6 +38,7 @@ docs/docsite/rst/cli/ansible-*.rst
docs/docsite/rst/cli/ansible.rst
docs/docsite/rst/dev_guide/collections_galaxy_meta.rst
docs/docsite/rst/dev_guide/testing/sanity/index.rst.new
docs/docsite/rst/dev_guide/index.rst
docs/docsite/rst/modules/*.rst
docs/docsite/rst/collections/*.rst
!docs/docsite/rst/collections/all_plugins.rst
@ -52,12 +53,10 @@ docs/docsite/searchindex.js
docs/docsite/_static/*.gif
docs/docsite/_static/*.png
docs/docsite/_static/websupport.js
# deb building stuff...
/debian/
deb-build
# Vim swap files
*.swp
*.swo
[._]*.un~
credentials.yml
# test output
*.retry

View File

@ -7,6 +7,11 @@ include docs/docsite/rst/collections/all_plugins.rst
exclude docs/docsite/rst_warnings
exclude docs/docsite/rst/conf.py
exclude docs/docsite/rst/index.rst
exclude docs/docsite/rst/dev_guide/index.rst
exclude docs/docsite/rst/dev_guide/testing/sanity/bin-symlinks.rst
exclude docs/docsite/rst/dev_guide/testing/sanity/botmeta.rst
exclude docs/docsite/rst/dev_guide/testing/sanity/integration-aliases.rst
exclude docs/docsite/rst/dev_guide/testing/sanity/release-names.rst
recursive-exclude docs/docsite/_build *
recursive-exclude docs/docsite/_extensions *.pyc *.pyo
include examples/hosts
@ -21,16 +26,19 @@ recursive-include lib/ansible/modules/windows *.ps1
recursive-include lib/ansible/galaxy/data *.yml *.j2 README.md ansible.cfg inventory .git_keep
recursive-include lib/ansible/config *.yml
recursive-include licenses *.txt
recursive-include packaging *
recursive-include packaging Makefile *.py
recursive-include test/ansible_test *.py Makefile
recursive-include test/integration *
recursive-include test/lib/ansible_test/config *.yml *.template
recursive-include test/lib/ansible_test/_data *.cfg *.ini *.ps1 *.txt *.yml coveragerc
recursive-include test/lib/ansible_test/_util *.cfg *.json *.ps1 *.psd1 *.py *.sh *.txt *.yml
recursive-include test/lib/ansible_test/_data *.cfg *.in *.ini *.ps1 *.txt *.yml coveragerc
recursive-include test/lib/ansible_test/_util *.cfg *.ini *.json *.ps1 *.psd1 *.py *.sh *.txt *.yml
recursive-include test/lib/ansible_test/_util/controller/sanity/validate-modules validate-modules
recursive-include test/sanity *.json *.py *.txt
recursive-include test/support *.py *.ps1 *.psm1 *.cs
recursive-include test/sanity *.in *.json *.py *.txt
recursive-include test/support *.py *.ps1 *.psm1 *.cs *.md
exclude test/sanity/code-smell/botmeta.*
exclude test/sanity/code-smell/release-names.*
exclude test/lib/ansible_test/_internal/commands/sanity/bin_symlinks.py
exclude test/lib/ansible_test/_internal/commands/sanity/integration_aliases.py
recursive-include test/units *
include Makefile
include MANIFEST.in
@ -38,3 +46,6 @@ include changelogs/CHANGELOG*.rst
include changelogs/changelog.yaml
recursive-include hacking/build_library *.py
include hacking/build-ansible.py
include hacking/test-module.py
include hacking/update-sanity-requirements.py
include bin/*

158
Makefile
View File

@ -4,15 +4,7 @@
#
# useful targets:
# make clean ---------------- clean up
# make webdocs -------------- produce ansible doc at docs/docsite/_build/html
# make coredocs ------------- produce core doc at docs/docsite/_build/html
# make sdist ---------------- produce a tarball
# make deb-src -------------- produce a DEB source
# make deb ------------------ produce a DEB
# make docs ----------------- rebuild the manpages (results are checked in)
# make gettext -------------- produce POT files for docs
# make generate-po ---------- generate language specific po file
# make needs-translation ---- generate list of file with unstranlated or fuzzy string for a specific language
# make tests ---------------- run the tests (see https://docs.ansible.com/ansible/devel/dev_guide/testing_units.html for requirements)
########################################################
@ -43,58 +35,6 @@ ifeq ($(findstring error,$(VERSION)), error)
$(error "version_helper failed")
endif
# Get the branch information from git
ifneq ($(shell which git),)
GIT_DATE := $(shell git log -n 1 --format="%ci")
GIT_HASH := $(shell git log -n 1 --format="%h")
GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD | sed 's/[-_.\/]//g')
GITINFO = .$(GIT_HASH).$(GIT_BRANCH)
else
GITINFO = ""
endif
ifeq ($(shell echo $(OS) | egrep -c 'Darwin|FreeBSD|OpenBSD|DragonFly'),1)
DATE := $(shell date -j -r $(shell git log -n 1 --format="%ct") +%Y%m%d%H%M)
CPUS ?= $(shell sysctl hw.ncpu|awk '{print $$2}')
else
DATE := $(shell date --utc --date="$(GIT_DATE)" +%Y%m%d%H%M)
CPUS ?= $(shell nproc)
endif
# Intenationalisation and Localisation
LANGUAGES ?=
# DEB build parameters
DEBUILD_BIN ?= debuild
DEBUILD_OPTS = --source-option="-I"
DPUT_BIN ?= dput
DPUT_OPTS ?=
DEB_DATE := $(shell LC_TIME=C date +"%a, %d %b %Y %T %z")
DEB_VERSION ?= $(shell $(PYTHON) packaging/release/versionhelper/version_helper.py --debversion)
ifeq ($(OFFICIAL),yes)
DEB_RELEASE ?= $(shell $(PYTHON) packaging/release/versionhelper/version_helper.py --debrelease)ppa
# Sign OFFICIAL builds using 'DEBSIGN_KEYID'
# DEBSIGN_KEYID is required when signing
ifneq ($(DEBSIGN_KEYID),)
DEBUILD_OPTS += -k$(DEBSIGN_KEYID)
endif
else
DEB_RELEASE ?= 100.git$(DATE)$(GITINFO)
# Do not sign unofficial builds
DEBUILD_OPTS += -uc -us
DPUT_OPTS += -u
endif
DEBUILD = $(DEBUILD_BIN) $(DEBUILD_OPTS)
DEB_PPA ?= ppa
# Choose the desired Ubuntu release: lucid precise saucy trusty
DEB_DIST ?= unstable
# pbuilder parameters
PBUILDER_ARCH ?= amd64
PBUILDER_CACHE_DIR = /var/cache/pbuilder
PBUILDER_BIN ?= pbuilder
PBUILDER_OPTS ?= --debootstrapopts --variant=buildd --architecture $(PBUILDER_ARCH) --debbuildopts -b
# ansible-test parameters
ANSIBLE_TEST ?= bin/ansible-test
TEST_FLAGS ?=
@ -161,9 +101,6 @@ clean:
find test/ -type f -name '*.retry' -delete
@echo "Cleaning up symlink cache"
rm -f SYMLINK_CACHE.json
@echo "Cleaning up Debian building stuff"
rm -rf debian
rm -rf deb-build
rm -rf docs/json
rm -rf docs/js
@echo "Cleaning up docsite"
@ -205,108 +142,13 @@ sdist_upload: clean docs
changelog:
PYTHONPATH=./lib antsibull-changelog release -vv --use-ansible-doc && PYTHONPATH=./lib antsibull-changelog generate -vv --use-ansible-doc
.PHONY: debian
debian: sdist
@for DIST in $(DEB_DIST) ; do \
mkdir -p deb-build/$${DIST} ; \
tar -C deb-build/$${DIST} -xvf dist/$(NAME)-$(VERSION).tar.gz ; \
cp -a packaging/debian deb-build/$${DIST}/$(NAME)-$(VERSION)/ ; \
sed -ie "s|%VERSION%|$(DEB_VERSION)|g;s|%RELEASE%|$(DEB_RELEASE)|;s|%DIST%|$${DIST}|g;s|%DATE%|$(DEB_DATE)|g" deb-build/$${DIST}/$(NAME)-$(VERSION)/debian/changelog ; \
done
.PHONY: deb
deb: deb-src
@for DIST in $(DEB_DIST) ; do \
PBUILDER_OPTS="$(PBUILDER_OPTS) --distribution $${DIST} --basetgz $(PBUILDER_CACHE_DIR)/$${DIST}-$(PBUILDER_ARCH)-base.tgz --buildresult $(CURDIR)/deb-build/$${DIST}" ; \
$(PBUILDER_BIN) create $${PBUILDER_OPTS} --othermirror "deb http://archive.ubuntu.com/ubuntu $${DIST} universe" ; \
$(PBUILDER_BIN) update $${PBUILDER_OPTS} ; \
$(PBUILDER_BIN) build $${PBUILDER_OPTS} deb-build/$${DIST}/$(NAME)_$(DEB_VERSION)-$(DEB_RELEASE)~$${DIST}.dsc ; \
done
@echo "#############################################"
@echo "Ansible DEB artifacts:"
@for DIST in $(DEB_DIST) ; do \
echo deb-build/$${DIST}/$(NAME)_$(DEB_VERSION)-$(DEB_RELEASE)~$${DIST}_amd64.changes ; \
done
@echo "#############################################"
# Build package outside of pbuilder, with locally installed dependencies.
# Install BuildRequires as noted in packaging/debian/control.
.PHONY: local_deb
local_deb: debian
@for DIST in $(DEB_DIST) ; do \
(cd deb-build/$${DIST}/$(NAME)-$(VERSION)/ && $(DEBUILD) -b) ; \
done
@echo "#############################################"
@echo "Ansible DEB artifacts:"
@for DIST in $(DEB_DIST) ; do \
echo deb-build/$${DIST}/$(NAME)_$(DEB_VERSION)-$(DEB_RELEASE)~$${DIST}_amd64.changes ; \
done
@echo "#############################################"
.PHONY: deb-src
deb-src: debian
@for DIST in $(DEB_DIST) ; do \
(cd deb-build/$${DIST}/$(NAME)-$(VERSION)/ && $(DEBUILD) -S) ; \
done
@echo "#############################################"
@echo "Ansible DEB artifacts:"
@for DIST in $(DEB_DIST) ; do \
echo deb-build/$${DIST}/$(NAME)_$(DEB_VERSION)-$(DEB_RELEASE)~$${DIST}_source.changes ; \
done
@echo "#############################################"
.PHONY: deb-upload
deb-upload: deb
@for DIST in $(DEB_DIST) ; do \
$(DPUT_BIN) $(DPUT_OPTS) $(DEB_PPA) deb-build/$${DIST}/$(NAME)_$(DEB_VERSION)-$(DEB_RELEASE)~$${DIST}_amd64.changes ; \
done
.PHONY: deb-src-upload
deb-src-upload: deb-src
@for DIST in $(DEB_DIST) ; do \
$(DPUT_BIN) $(DPUT_OPTS) $(DEB_PPA) deb-build/$${DIST}/$(NAME)_$(DEB_VERSION)-$(DEB_RELEASE)~$${DIST}_source.changes ; \
done
.PHONY: epub
epub:
(cd docs/docsite/; CPUS=$(CPUS) $(MAKE) epub)
# for arch or gentoo, read instructions in the appropriate 'packaging' subdirectory directory
.PHONY: webdocs
webdocs:
(cd docs/docsite/; CPUS=$(CPUS) $(MAKE) docs)
.PHONY: coredocs
coredocs:
(cd docs/docsite/; CPUS=$(CPUS) $(MAKE) coredocs)
.PHONY: gettext
gettext:
(cd docs/docsite/; CPUS=$(CPUS) $(MAKE) gettext)
.PHONY: generate-po
generate-po:
(cd docs/docsite/; CPUS=$(CPUS) LANGUAGES=$(LANGUAGES) $(MAKE) generate-po)
.PHONY: needs-translation
needs-translation:
(cd docs/docsite/; CPUS=$(CPUS) LANGUAGES=$(LANGUAGES) $(MAKE) needs-translation)
.PHONY: linkcheckdocs
linkcheckdocs:
(cd docs/docsite/; CPUS=$(CPUS) $(MAKE) linkcheckdocs)
.PHONY: generate_rst
generate_rst: lib/ansible/cli/*.py
mkdir -p ./docs/man/man1/ ; \
$(PYTHON) $(GENERATE_CLI) --template-file=docs/templates/man.j2 --output-dir=docs/man/man1/ --output-format man lib/ansible/cli/*.py
docs: generate_rst
$(MAKE) $(MANPAGES)
.PHONY: alldocs
alldocs: docs webdocs
version:
@echo $(VERSION)

View File

@ -32,8 +32,6 @@ You can install a released version of Ansible with ``pip`` or a package manager.
`installation guide <https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html>`_ for details on installing Ansible
on a variety of platforms.
Red Hat offers supported builds of `Ansible Engine <https://www.ansible.com/ansible-engine>`_.
Power users and developers can run the ``devel`` branch, which has the latest
features and fixes, directly. Although it is reasonably stable, you are more likely to encounter
breaking changes when running the ``devel`` branch. We recommend getting involved

View File

@ -1 +1 @@
../lib/ansible/cli/scripts/ansible_cli_stub.py
../lib/ansible/cli/adhoc.py

View File

@ -1 +1 @@
ansible
../lib/ansible/cli/config.py

View File

@ -1 +1 @@
ansible
../lib/ansible/cli/console.py

View File

@ -1 +1 @@
ansible
../lib/ansible/cli/doc.py

View File

@ -1 +1 @@
ansible
../lib/ansible/cli/galaxy.py

View File

@ -1 +1 @@
ansible
../lib/ansible/cli/inventory.py

View File

@ -1 +1 @@
ansible
../lib/ansible/cli/playbook.py

View File

@ -1 +1 @@
ansible
../lib/ansible/cli/pull.py

View File

@ -1 +1 @@
ansible
../lib/ansible/cli/vault.py

View File

@ -0,0 +1,727 @@
=========================================================
ansible-core 2.13 "Nobody's Fault but Mine" Release Notes
=========================================================
.. contents:: Topics
v2.13.10
========
Release Summary
---------------
| Release Date: 2023-05-22
| `Porting Guide <https://docs.ansible.com/ansible-core/2.13/porting_guides/porting_guide_core_2.13.html>`__
Minor Changes
-------------
- ansible-test - Allow float values for the ``--timeout`` option to the ``env`` command. This simplifies testing.
- ansible-test - Refactored ``env`` command logic and timeout handling.
- ansible-test - Use ``datetime.datetime.now`` with ``tz`` specified instead of ``datetime.datetime.utcnow``.
Bugfixes
--------
- ansible-galaxy - fix installing signed collections (https://github.com/ansible/ansible/issues/80648).
- ansible-galaxy collection verify - fix verifying signed collections when the keyring is not configured.
- ansible-test - Fix handling of timeouts exceeding one day.
- ansible-test - Fix various cases where the test timeout could expire without terminating the tests.
- ansible-test - When bootstrapping remote FreeBSD instances, use the OS packaged ``setuptools`` instead of installing the latest version from PyPI.
- pep517 build backend - Copy symlinks when copying the source tree. This avoids tracebacks in various scenarios, such as when a venv is present in the source tree.
v2.13.9
=======
Release Summary
---------------
| Release Date: 2023-04-24
| `Porting Guide <https://docs.ansible.com/ansible-core/2.13/porting_guides/porting_guide_core_2.13.html>`__
Minor Changes
-------------
- ansible-test - Moved git handling out of the validate-modules sanity test and into ansible-test.
- ansible-test - Removed the ``--keep-git`` sanity test option, which was limited to testing ansible-core itself.
- ansible-test - Updated the Azure Pipelines CI plugin to work with newer versions of git.
Breaking Changes / Porting Guide
--------------------------------
- ansible-test - Integration tests which depend on specific file permissions when running in an ansible-test managed host environment may require changes. Tests that require permissions other than ``755`` or ``644`` may need to be updated to set the necessary permissions as part of the test run.
Bugfixes
--------
- Fix ``MANIFEST.in`` to exclude unwanted files in the ``packaging/`` directory.
- Fix ``MANIFEST.in`` to include ``*.md`` files in the ``test/support/`` directory.
- Windows - Display a warning if the module failed to cleanup any temporary files rather than failing the task. The warning contains a brief description of what failed to be deleted.
- Windows - Ensure the module temp directory contains more unique values to avoid conflicts with concurrent runs - https://github.com/ansible/ansible/issues/80294
- Windows - Improve temporary file cleanup used by modules. Will use a more reliable delete operation on Windows Server 2016 and newer to delete files that might still be open by other software like Anti Virus scanners. There are still scenarios where a file or directory cannot be deleted but the new method should work in more scenarios.
- ansible-doc - stop generating wrong module URLs for module see-alsos. The URLs for modules in ansible.builtin do now work, and URLs for modules outside ansible.builtin are no longer added (https://github.com/ansible/ansible/pull/80280).
- ansible-galaxy - Improve retries for collection installs, to properly retry, and extend retry logic to common URL related connection errors (https://github.com/ansible/ansible/issues/80170 https://github.com/ansible/ansible/issues/80174)
- ansible-galaxy - reduce API calls to servers by fetching signatures only for final candidates.
- ansible-test - Add support for ``argcomplete`` version 3.
- ansible-test - Always indicate the Python version being used before installing requirements. Resolves issue https://github.com/ansible/ansible/issues/72855
- ansible-test - Exclude ansible-core vendored Python packages from ansible-test payloads.
- ansible-test - Integration test target prefixes defined in a ``tests/integration/target-prefixes.{group}`` file can now contain an underscore (``_``) character. Resolves issue https://github.com/ansible/ansible/issues/79225
- ansible-test - Removed pointless comparison in diff evaluation logic.
- ansible-test - Set ``PYLINTHOME`` for the ``pylint`` sanity test to prevent failures due to ``pylint`` checking for the existence of an obsolete home directory.
- ansible-test - Support loading of vendored Python packages from ansible-core.
- ansible-test - Use consistent file permissions when delegating tests to a container or remote host. Files with any execute bit set will use permissions ``755``. All other files will use permissions ``644``. (Resolves issue https://github.com/ansible/ansible/issues/75079)
- password lookup now correctly reads stored ident fields.
- pep517 build backend - Use the documented ``import_module`` import from ``importlib``.
v2.13.8
=======
Release Summary
---------------
| Release Date: 2023-02-27
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
Major Changes
-------------
- ansible-test - Docker Desktop on WSL2 is now supported (additional configuration required).
- ansible-test - Docker and Podman are now supported on hosts with cgroup v2 unified. Previously only cgroup v1 and cgroup v2 hybrid were supported.
- ansible-test - Podman now works on container hosts without systemd. Previously only some containers worked, while others required rootfull or rootless Podman, but would not work with both. Some containers did not work at all.
- ansible-test - Podman on WSL2 is now supported.
- ansible-test - When additional cgroup setup is required on the container host, this will be automatically detected. Instructions on how to configure the host will be provided in the error message shown.
Minor Changes
-------------
- ansible-test - A new ``audit`` option is available when running custom containers. This option can be used to indicate whether a container requires the AUDIT_WRITE capability. The default is ``required``, which most containers will need when using Podman. If necessary, the ``none`` option can be used to opt-out of the capability. This has no effect on Docker, which always provides the capability.
- ansible-test - A new ``cgroup`` option is available when running custom containers. This option can be used to indicate a container requires cgroup v1 or that it does not use cgroup. The default behavior assumes the container works with cgroup v2 (as well as v1).
- ansible-test - Add support for provisioning Alpine 3.16 remote instances.
- ansible-test - Add support for provisioning Fedora 36 remote instances.
- ansible-test - Add support for provisioning Ubuntu 20.04 remote instances.
- ansible-test - Add support for provisioning remotes which require ``doas`` for become.
- ansible-test - Additional log details are shown when containers fail to start or SSH connections to containers fail.
- ansible-test - Alpine remotes now use ``sudo`` for tests, using ``doas`` only for bootstrapping.
- ansible-test - Become support for remote instance provisioning is no longer tied to a fixed list of platforms.
- ansible-test - Connection failures to remote provisioned hosts now show failure details as a warning.
- ansible-test - Containers included with ansible-test no longer disable seccomp by default.
- ansible-test - Failure to connect to a container over SSH now results in a clear error. Previously tests would be attempted even after initial connection attempts failed.
- ansible-test - FreeBSD remotes now use ``sudo`` for tests, using ``su`` only for bootstrapping.
- ansible-test - Integration tests can be excluded from retries triggered by the ``--retry-on-error`` option by adding the ``retry/never`` alias. This is useful for tests that cannot pass on a retry or are too slow to make retries useful.
- ansible-test - More details are provided about an instance when provisioning fails.
- ansible-test - Reduce the polling limit for SSHD startup in containers from 60 retries to 10. The one second delay between retries remains in place.
- ansible-test - Remote Alpine instances now have the ``acl`` package installed.
- ansible-test - Remote Fedora instances now have the ``acl`` package installed.
- ansible-test - Remote FreeBSD instances now have ACLs enabled on the root filesystem.
- ansible-test - Remote Ubuntu instances now have the ``acl`` package installed.
- ansible-test - SSH connections from OpenSSH 8.8+ to CentOS 6 containers now work without additional configuration. However, clients older than OpenSSH 7.0 can no longer connect to CentOS 6 containers as a result. The container must have ``centos6`` in the image name for this work-around to be applied.
- ansible-test - SSH shell connections from OpenSSH 8.8+ to ansible-test provisioned network instances now work without additional configuration. However, clients older than OpenSSH 7.0 can no longer open shell sessions for ansible-test provisioned network instances as a result.
- ansible-test - Specify the configuration file location required by test plugins when the config file is not found. This resolves issue: https://github.com/ansible/ansible/issues/79411
- ansible-test - The ``ansible-test env`` command now detects and reports the container ID if running in a container.
- ansible-test - Unit tests now support network disconnect by default when running under Podman. Previously this feature only worked by default under Docker.
- ansible-test - Use ``stop --time 0`` followed by ``rm`` to remove ephemeral containers instead of ``rm -f``. This speeds up teardown of ephemeral containers.
- ansible-test - Warnings are now shown when using containers that were built with VOLUME instructions.
- ansible-test - When setting the max open files for containers, the container host's limit will be checked. If the host limit is lower than the preferred value, it will be used and a warning will be shown.
- ansible-test - When using Podman, ansible-test will detect if the loginuid used in containers is incorrect. When this occurs a warning is displayed and the container is run with the AUDIT_CONTROL capability. Previously containers would fail under this situation, with no useful warnings or errors given.
- ansible-test acme test container - update version to update used Pebble version, underlying Python and Go base containers, and Python requirements (https://github.com/ansible/ansible/pull/79783).
Bugfixes
--------
- Ansible.Basic.cs - Ignore compiler warning (reported as an error) when running under PowerShell 7.3.x.
- TaskExecutor - don't ignore templated _raw_params that k=v parser failed to parse (https://github.com/ansible/ansible/issues/79862)
- ansible-test - Always remove containers after failing to create/run them. This avoids leaving behind created containers when using podman.
- ansible-test - Avoid using ``exec`` after container startup when possible. This improves container startup performance and avoids intermittent startup issues with some old containers.
- ansible-test - Connection attempts to managed remote instances no longer abort on ``Permission denied`` errors.
- ansible-test - Detection for running in a Podman or Docker container has been fixed to detect more scenarios. The new detection relies on ``/proc/self/mountinfo`` instead of ``/proc/self/cpuset``. Detection now works with custom cgroups and private cgroup namespaces.
- ansible-test - Fix bootstrapping of Python 3.9 on Ubuntu 20.04 remotes.
- ansible-test - Fix validate-modules error when retrieving PowerShell argspec when retrieved inside a Cmdlet
- ansible-test - Handle server errors when executing the ``docker info`` command.
- ansible-test - Multiple containers now work under Podman without specifying the ``--docker-network`` option.
- ansible-test - Pass the ``XDG_RUNTIME_DIR`` environment variable through to container commands.
- ansible-test - Perform PyPI proxy configuration after instances are ready and bootstrapping has been completed. Only target instances are affected, as controller instances were already handled this way. This avoids proxy configuration errors when target instances are not yet ready for use.
- ansible-test - Prevent concurrent / repeat inspections of the same container image.
- ansible-test - Prevent concurrent / repeat pulls of the same container image.
- ansible-test - Prevent concurrent execution of cached methods.
- ansible-test - Show the exception type when reporting errors during instance provisioning.
- ansible-test - Support Podman 4.4.0+ by adding the ``SYS_CHROOT`` capability when running containers.
- ansible-test - Temporary executables are now verified as executable after creation. Without this check, path injected scripts may not be found, typically on systems with ``/tmp`` mounted using the "noexec" option. This can manifest as a missing Python interpreter, or use of the wrong Python interpreter, as well as other error conditions.
- ansible-test - Test containers are now run with the ``--tmpfs`` option for ``/tmp``, ``/run`` and ``/run/lock``. This allows use of containers built without the ``VOLUME`` instruction. Additionally, containers with those volumes defined no longer create anonymous volumes for them. This avoids leaving behind volumes on the container host after the container is stopped and deleted.
- ansible-test - fix warning message about failing to run an image to include the image name
- file - touch action in check mode was always returning ok. Fix now evaluates the different conditions and returns the appropriate changed status. (https://github.com/ansible/ansible/issues/79360)
Known Issues
------------
- ansible-test - Additional configuration may be required for certain container host and container combinations. Further details are available in the testing documentation.
- ansible-test - Custom containers with ``VOLUME`` instructions may be unable to start, when previously the containers started correctly. Remove the ``VOLUME`` instructions to resolve the issue. Containers with this condition will cause ``ansible-test`` to emit a warning.
- ansible-test - Systems with Podman networking issues may be unable to run containers, when previously the issue went unreported. Correct the networking issues to continue using ``ansible-test`` with Podman.
- ansible-test - Using Docker on systems with SELinux may require setting SELinux to permissive mode. Podman should work with SELinux in enforcing mode.
v2.13.7
=======
Release Summary
---------------
| Release Date: 2022-12-05
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
Minor Changes
-------------
- ansible-test - Improve consistency of executed ``pylint`` commands by making the plugins ordered.
Bugfixes
--------
- file lookup now plays nice with generic lookup ``errors`` option.
v2.13.6
=======
Release Summary
---------------
| Release Date: 2022-11-07
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
Minor Changes
-------------
- ansible-test - Improve consistency of version specific documentation links.
Bugfixes
--------
- BSD network facts - Do not assume column indexes, look for ``netmask`` and ``broadcast`` for determining the correct columns when parsing ``inet`` line (https://github.com/ansible/ansible/issues/79117)
- ansible-galaxy - make initial call to Galaxy server on-demand only when installing, getting info about, and listing roles.
- ansible-test - Add ``wheel < 0.38.0`` constraint for Python 3.6 and earlier.
- ansible-test - Fix broken documentation link for ``aws`` test plugin error messages.
- copy module will no longer move 'non files' set as src when remote_src=true.
- file lookup now handles missing files more gracefully.
- service_facts - Use python re to parse service output instead of grep (https://github.com/ansible/ansible/issues/78541)
- updated error messages to include 'acl' and not just mode changes when failing to set required permissions on remote.
v2.13.5
=======
Release Summary
---------------
| Release Date: 2022-10-10
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
Bugfixes
--------
- ``ansible-galaxy`` - remove extra server api call during dependency resolution for requirements and dependencies that are already satisfied (https://github.com/ansible/ansible/issues/77443).
- ansible-test - Allow disabled, unsupported, unstable and destructive integration test targets to be selected using their respective prefixes.
- ansible-test - Allow unstable tests to run when targeted changes are made and the ``--allow-unstable-changed`` option is specified (resolves https://github.com/ansible/ansible/issues/74213).
- apt - Fix module failure when a package is not installed and only_upgrade=True. Skip that package and check the remaining requested packages for upgrades. (https://github.com/ansible/ansible/issues/78762)
- apt module should not traceback on invalid type given as package. issue 78663.
- known_hosts - do not return changed status when a non-existing key is removed (https://github.com/ansible/ansible/issues/78598)
- paramiko - Add back support for ``ssh_args``, ``ssh_common_args``, and ``ssh_extra_args`` for parsing the ``ProxyCommand`` (https://github.com/ansible/ansible/issues/78750)
- plugin loader, fix detection for existing configuration before initializing for a plugin
v2.13.4
=======
Release Summary
---------------
| Release Date: 2022-09-12
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
Bugfixes
--------
- Fix for network_cli not getting all relevant connection options
- ansible-galaxy - Fix detection of ``--role-file`` in arguments for implicit role invocation (https://github.com/ansible/ansible/issues/78204)
- ansible-galaxy - Fix exit codes for role search and delete (https://github.com/ansible/ansible/issues/78516)
- ansible-test - Fix change detection for ansible-test's own integration tests.
- ansible-test - ansible-doc sanity test - Correctly determine the fully-qualified collection name for plugins in subdirectories, resolving https://github.com/ansible/ansible/issues/78490.
- apt - don't actually update the cache in check mode with update_cache=true.
- apt - don't mark existing packages as manually installed in check mode (https://github.com/ansible/ansible/issues/66413).
- apt - fix package selection to include /etc/apt/preferences(.d) (https://github.com/ansible/ansible/issues/77969)
- urls - Guard imports of ``urllib3`` by catching ``Exception`` instead of ``ImportError`` to prevent exceptions in the import process of optional dependencies from preventing use of ``urls.py`` (https://github.com/ansible/ansible/issues/78648)
- wait_for - Read file and perform comparisons using bytes to avoid decode errors (https://github.com/ansible/ansible/issues/78214)
v2.13.3
=======
Release Summary
---------------
| Release Date: 2022-08-15
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
Bugfixes
--------
- Avoid 'unreachable' error when chmod on AIX has 255 as return code.
- Fix PluginLoader to mimic Python import machinery by adding module to sys.modules before exec
- Fix dnf module documentation to indicate that comparison operators for package version require spaces around them (https://github.com/ansible/ansible/issues/78295)
- ansible-connection - decrypt vaulted parameters before sending over the socket, as vault secrets are not available on the other side.
- ansible-galaxy - Fix reinitializing the whole collection directory with ``ansible-galaxy collection init ns.coll --force``. Now directories and files that are not included in the collection skeleton will be removed.
- ansible-galaxy - do not require mandatory keys in the ``galaxy.yml`` of source collections when listing them (https://github.com/ansible/ansible/issues/70180).
- ansible-galaxy - fix listing collections that contains metadata but the namespace or name are not strings.
- ansible-galaxy - fix setting the cache for paginated responses from Galaxy NG/AH (https://github.com/ansible/ansible/issues/77911).
- ansible-test - Delegation for commands which generate output for programmatic consumption no longer redirect all output to stdout. The affected commands and options are ``shell``, ``sanity --lint``, ``sanity --list-tests``, ``integration --list-targets``, ``coverage analyze``
- ansible-test - Delegation now properly handles arguments given after ``--`` on the command line.
- ansible-test - Test configuration for collections is now parsed only once, prior to delegation. Fixes issue: https://github.com/ansible/ansible/issues/78334
- ansible-test - The ``shell`` command no longer redirects all output to stdout when running a provided command. Any command output written to stderr will be mixed with the stderr output from ansible-test.
- ansible-test - The ``shell`` command no longer requests a TTY when using delegation unless an interactive shell is being used. An interactive shell is the default behavior when no command is given to pass to the shell.
- dnf - fix output parsing on systems with ``LANGUAGE`` set to a language other than English (https://github.com/ansible/ansible/issues/78193)
- if a config setting prevents running ansible it should at least show it's "origin".
- prevent type annotation shim failures from causing runtime failures (https://github.com/ansible/ansible/pull/77860)
- template module/lookup - fix ``convert_data`` option that was effectively always set to True for Jinja macros (https://github.com/ansible/ansible/issues/78141)
- uri - properly use uri parameter use_proxy (https://github.com/ansible/ansible/issues/58632)
- yum - fix traceback when ``releasever`` is specified with ``latest`` (https://github.com/ansible/ansible/issues/78058)
v2.13.2
=======
Release Summary
---------------
| Release Date: 2022-07-18
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
Minor Changes
-------------
- ansible-test - An improved error message is shown when the download of a pip bootstrap script fails. The download now uses ``urllib2`` instead of ``urllib`` on Python 2.
Bugfixes
--------
- Move undefined check from concat to finalize (https://github.com/ansible/ansible/issues/78156)
- ansible-doc - no longer list module and plugin aliases that are created with symlinks (https://github.com/ansible/ansible/pull/78137).
- ansible-doc - when listing modules in collections, proceed recursively. This fixes module listing for community.general 5.x.y and community.network 4.x.y (https://github.com/ansible/ansible/pull/78137).
- ansible-doc will not add 'website for' in ":ref:" substitutions as it made them confusing.
- file backed cache plugins now handle concurrent access by making atomic updates to the files.
- password lookup does not ignore k=v arguments anymore.
- user - Fix error "Permission denied" in user module while generating SSH keys (https://github.com/ansible/ansible/issues/78017).
v2.13.1
=======
Release Summary
---------------
| Release Date: 2022-06-20
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
Minor Changes
-------------
- Add an 'action_plugin' field for modules in runtime.yml plugin_routing.
This fixes module_defaults by supporting modules-as-redirected-actions
without redirecting module_defaults entries to the common action.
.. code: yaml
plugin_routing:
action:
facts:
redirect: ns.coll.eos
command:
redirect: ns.coll.eos
modules:
facts:
redirect: ns.coll.eos_facts
command:
redirect: ns.coll.eos_command
With the runtime.yml above for ns.coll, a task such as
.. code: yaml
- hosts: all
module_defaults:
ns.coll.eos_facts: {'valid_for_eos_facts': 'value'}
ns.coll.eos_command: {'not_valid_for_eos_facts': 'value'}
tasks:
- ns.coll.facts:
will end up with defaults for eos_facts and eos_command
since both modules redirect to the same action.
To select an action plugin for a module without merging
module_defaults, define an action_plugin field for the resolved
module in the runtime.yml.
.. code: yaml
plugin_routing:
modules:
facts:
redirect: ns.coll.eos_facts
action_plugin: ns.coll.eos
command:
redirect: ns.coll.eos_command
action_plugin: ns.coll.eos
The action_plugin field can be a redirected action plugin, as
it is resolved normally.
Using the modified runtime.yml, the example task will only use
the ns.coll.eos_facts defaults.
- ansible-galaxy - Support resolvelib versions 0.6.x, 0.7.x, and 0.8.x. The full range of supported versions is now >= 0.5.3, < 0.9.0.
- ansible-test - Add RHEL 9.0 remote support.
- ansible-test - Add support for Ubuntu VMs using the ``--remote`` option.
- ansible-test - Add support for exporting inventory with ``ansible-test shell --export {path}``.
- ansible-test - Add support for multi-arch remotes.
- ansible-test - Add support for running non-interactive commands with ``ansible-test shell``.
- ansible-test - Avoid using the ``mock_use_standalone_module`` setting for unit tests running on Python 3.8 or later.
- ansible-test - Blocking mode is now enforced for stdin, stdout and stderr. If any of these are non-blocking then ansible-test will exit during startup with an error.
- ansible-test - Improve consistency of output messages by using stdout or stderr for most output, but not both.
- ansible-test - The ``shell`` command can be used outside a collection if no controller delegation is required.
Bugfixes
--------
- Add PyYAML >= 5.1 as a dependency of ansible-core to be compatible with Python 3.8+.
- ansible-config dump - Only display plugin type headers when plugin options are changed if --only-changed is specified.
- ansible-galaxy - handle unsupported versions of resolvelib gracefully.
- ansible-test - Fix internal validation of remote completion configuration.
- ansible-test - Prevent ``--target-`` prefixed options for the ``shell`` command from being combined with legacy environment options.
- ansible-test - Sanity test output with the ``--lint`` option is no longer mixed in with bootstrapping output.
- ansible-test - Subprocesses are now isolated from the stdin, stdout and stderr of ansible-test. This avoids issues with subprocesses tampering with the file descriptors, such as SSH making them non-blocking. As a result of this change, subprocess output from unit and integration tests on stderr now go to stdout.
- ansible-test - Subprocesses no longer have access to the TTY ansible-test is connected to, if any. This maintains consistent behavior between local testing and CI systems, which typically do not provide a TTY. Tests which require a TTY should use pexpect or another mechanism to create a PTY.
- apt module now correctly handles virtual packages.
- lookup plugin - catch KeyError when lookup returns dictionary (https://github.com/ansible/ansible/pull/77789).
- pip - fix cases where resolution of pip Python module fails when importlib.util has not already been imported
- plugin loader - Sort results when fuzzy matching plugin names (https://github.com/ansible/ansible/issues/77966).
- plugin loader will now load config data for plugin by name instead of by file to avoid issues with the same file being loaded under different names (fqcn + short name).
- psrp connection now handles default to inventory_hostname correctly.
- winrm connection now handles default to inventory_hostname correctly.
v2.13.0
=======
Release Summary
---------------
| Release Date: 2022-05-16
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
Major Changes
-------------
- Jinja2 Controller Requirement - Jinja2 3.0.0 or newer is required for the control node (the machine that runs Ansible) (https://github.com/ansible/ansible/pull/75881)
- Templating - remove ``safe_eval`` in favor of using ``NativeEnvironment`` but utilizing ``literal_eval`` only in cases when ``safe_eval`` was used (https://github.com/ansible/ansible/pull/75587)
Minor Changes
-------------
- Action Plugins - Add helper method for argument spec validation, and extend to pause and async_wrapper
- Added AIX root CA certs folders - enhance the TLS support in ``uri`` task on AIX
- Added ``module_utils.compat.typing`` to facilitate type-hinting on all supported Python versions.
- Ansible.Basic - small changes to allow use in PowerShell modules running on non-Windows platforms (https://github.com/ansible/ansible/pull/76924).
- AnsibleModule.run_command() now has a toggle to allow caller to decide to handle exceptions from executing the command itself
- Attach concat function to an environment class (https://github.com/ansible/ansible/pull/76282)
- Clarify in a comment that unrolling an iterator in ``Templar._finalize`` is actually necessary. Also switch to using the ``_unroll_iterator`` decorator directly to deduplicate code in ``Templar._finalize``. (https://github.com/ansible/ansible/pull/76436)
- Installation - modernize our python installation, to reduce dynamic code in setup.py, and migrate what is feasible to setup.cfg. This will enable shipping wheels in the future.
- PlayIterator - introduce public methods to access ``PlayIterator._host_states`` (https://github.com/ansible/ansible/pull/74416)
- PlayIterator - use enums for Iterating and Failed states (https://github.com/ansible/ansible/pull/74511)
- Reduce number of iterations through PlayIterator (https://github.com/ansible/ansible/pull/74175)
- Remove more Python 2.x compatibility code from controller (https://github.com/ansible/ansible/pull/77320).
- Start of moving away from using Six, Python 2 and 3 compatibility library (https://github.com/ansible/ansible/pull/75863)
- The collection loader now reports a Python warning if an attempt is made to install the Ansible collection loader a second time. Previously this condition was reported using an Ansible warning.
- ``ansible-galaxy collection [install|verify]`` - allow user-provided signature sources in addition to those from the Galaxy server. Each collection entry in a requirements file can specify a ``signatures`` key followed by a list of sources. Collection name(s) provided on the CLI can specify additional signature sources by using the ``--signatures`` CLI option. Signature sources should be URIs that can be opened with ``urllib.request.urlopen()``, such as "https://example.com/path/to/detached_signature.asc" or "file:///path/to/detached_signature.asc". The ``--keyring`` option must be specified if signature sources are provided.
- ``ansible-galaxy collection [install|verify]`` - use gpg to verify the authenticity of the signed ``MANIFEST.json`` with ASCII armored detached signatures provided by the Galaxy server. The keyring (which is not managed by ``ansible-galaxy``) must be provided with the ``--keyring`` option to use signature verification. If no ``--keyring`` is specified and the collection to ``install|verify`` has associated detached signatures on the Galaxy server, a warning is provided.
- ``ansible-galaxy collection install`` - Add a global configuration to modify the required number of signatures that must verify the authenticity of the collection. By default, the number of required successful signatures is 1. Set this option to ``all`` to require all signatures verify the collection. To ensure signature verification fails if there are no valid signatures, prepend the value with '+', such as ``+all`` or ``+1``.
- ``ansible-galaxy collection install`` - Add a global ignore list for gpg signature errors. This can be used to ignore certain signatures when the number of required successful signatures is all. When the required number of successful signatures is a positive integer, the only effect this has is to display fewer errors to the user on failure (success is determined by having the minimum number of successful signatures, in which case all errors are disregarded).
- ``ansible-galaxy collection install`` - Add a global toggle to turn off GPG signature verification.
- ``ansible-galaxy collection install`` - Store Galaxy server metadata alongside installed collections for provenance. Signatures obtained from the Galaxy server can be used for offline verification with ``ansible-galaxy collection verify --offline``.
- ansible-console - Provide a way to customize the stdout callback
- ansible-core modules - Remove unused Python shebangs from built-in modules.
- ansible-doc metadata dump - add option ``--no-fail-on-errors`` which allows to not fail the ansible-doc invocation when errors happen during docs parsing or processing. Instead they are reported in the JSON result in an ``error`` key for the affected plugins (https://github.com/ansible/ansible/pull/77035).
- ansible-galaxy - the option to skip certificate verification now also applies when cloning via SCM (git/hg) (https://github.com/ansible/ansible/issues/41077)
- ansible-test - Accept new-style Python modules without a shebang.
- ansible-test - Add ``--version`` support to show the ansible-core version.
- ansible-test - Add support for ``rhel/8.5`` remote instances.
- ansible-test - Add support for remote testing of FreeBSD 12.3.
- ansible-test - Add support for running container tests with ``podman remote`` (https://github.com/ansible/ansible/pull/75753)
- ansible-test - Added the ``fedora35`` test container.
- ansible-test - Change the maximum number of open files in a test container from the default to ``10240``.
- ansible-test - Declare public dependencies of ansible-core and use to limit unguarded imports in plugins.
- ansible-test - Importing ``distutils`` now results in an error.
- ansible-test - Installation of ``cryptography`` is no longer version constrained when ``openssl`` 1.1.0 or later is installed.
- ansible-test - Miscellaneous code cleanup and type hint fixes.
- ansible-test - PowerShell in the ``base`` and ``default`` containers has been upgraded to version 7.1.4.
- ansible-test - Remove RHEL 8.4 remote (``rhel/8.4``) support.
- ansible-test - Remove ``idna`` constraint.
- ansible-test - Remove obsolete ``MAXFD`` display.
- ansible-test - Remove obsolete constraints for Python 2.6.
- ansible-test - Remove support for FreeBSD 12.2 remote provisioning.
- ansible-test - Remove support for macOS 11.1 remote provisioning.
- ansible-test - Remove support for provisioning remote AIX instances.
- ansible-test - Remove the ``centos8`` test container since CentOS 8 will reach end-of-life soon.
- ansible-test - Remove the ``fedora33`` test container since Fedora 33 will reach end-of-life soon.
- ansible-test - Remove unused Python 2.x compatibility code.
- ansible-test - Removed support for Sherlock from the Azure provisioning plugin.
- ansible-test - Removed used ``MarkupSafe`` constraint for Python 3.5 and earlier.
- ansible-test - Requirements for the plugin import test are now frozen.
- ansible-test - Shellcheck in the ``base`` and ``default`` containers has been upgraded to version 0.7.0.
- ansible-test - Stop early with an error if the current working directory contains an invalid collection namespace or name.
- ansible-test - The ``--help`` option is now available when an unsupported cwd is in use.
- ansible-test - The ``--help`` output now shows the same instructions about cwd as would be shown in error messages if the cwd is unsupported.
- ansible-test - The ``pip`` and ``wheel`` packages are removed from all sanity test virtual environments after installation completes to reduce their size. Previously they were only removed from the environments used for the ``import`` sanity test.
- ansible-test - The explanation about cwd usage has been improved to explain more clearly what is required.
- ansible-test - The hash for all managed sanity test virtual environments has changed. Containers that include ``ansible-test sanity --prime-venvs`` will need to be rebuilt to continue using primed virtual environments.
- ansible-test - Update ``base`` container to version 2.1.0.
- ansible-test - Update ``base`` container to version 2.2.0.
- ansible-test - Update ``default`` containers to version 5.2.0.
- ansible-test - Update ``default`` containers to version 5.4.0.
- ansible-test - Update ``default`` containers to version 5.5.0.
- ansible-test - Update ``default`` containers to version 5.6.2.
- ansible-test - Update ``default`` containers to version 5.7.0.
- ansible-test - Update ``default`` containers to version 5.8.0.
- ansible-test - Update ``default`` containers to version 5.9.0.
- ansible-test - Update ``pip`` used to bootstrap remote FreeBSD instances from version 20.3.4 to 21.3.1.
- ansible-test - Update sanity test requirements.
- ansible-test - Update the NIOS test plugin container to version 1.4.0.
- ansible-test - Update the ``alpine`` container to version 3.3.0. This updates the base image from 3.14.2 to 3.15.0, which includes support for installing binary wheels using pip.
- ansible-test - Update the ``base`` and ``default`` containers from Python 3.10.0rc2 to 3.10.0.
- ansible-test - Update the ``base`` and ``default`` containers from a Ubuntu 18.04 to Ubuntu 20.04 base image.
- ansible-test - Update the ``default`` containers to version 5.1.0.
- ansible-test - Update the ``galaxy`` test plugin to get its container from a copy on quay.io.
- ansible-test - Update the ``openshift`` test plugin to get its container from a copy on quay.io.
- ansible-test - Use Python 3.10 as the default Python version for the ``base`` and ``default`` containers.
- ansible-test - add macOS 12.0 as a remote target (https://github.com/ansible/ansible/pull/76328)
- ansible-test - handle JSON decode error gracefully in podman environment.
- ansible-test pslint - Added the `AvoidLongLines <https://github.com/PowerShell/PSScriptAnalyzer/blob/master/docs/Rules/AvoidLongLines.md>`_ rule set to a length of 160.
- ansible-test pslint - Added the `PlaceCloseBrace <https://github.com/PowerShell/PSScriptAnalyzer/blob/master/docs/Rules/PlaceCloseBrace.md>`_ rule set to enforce close braces on a newline.
- ansible-test pslint - Added the `PlaceOpenBrace <https://github.com/PowerShell/PSScriptAnalyzer/blob/master/docs/Rules/PlaceOpenBrace.md>`_ rule set to enforce open braces on the same line and a subsequent newline.
- ansible-test pslint - Added the `UseConsistentIndentation <https://github.com/PowerShell/PSScriptAnalyzer/blob/master/docs/Rules/UseConsistentIndentation.md>`_ rule to enforce indentation is done with 4 spaces.
- ansible-test pslint - Added the `UseConsistentWhitespace <https://github.com/PowerShell/PSScriptAnalyzer/blob/master/docs/Rules/UseConsistentWhitespace.md>`_ rule to enforce whitespace consistency in PowerShell.
- ansible-test pslint - Updated ``PowerShellScriptAnalyzer`` to 1.20.0
- ansible-test sanity validate-modules - the validate-modules sanity test now also checks the documentation of documentable plugin types (https://github.com/ansible/ansible/pull/71734).
- ansible-test validate-modules sanity test - add more schema checks to improve quality of plugin documentation (https://github.com/ansible/ansible/pull/77268).
- ansible-test validate_modules - allow ``choices`` for return values (https://github.com/ansible/ansible/pull/76009).
- apt - Add support for using ">=" in package version number matching.
- apt - Adds APT option ``--allow-change-held-packages`` as module parameter ``allow_change_held_packages`` to allow APT up- or downgrading a package which is on APTs hold list (https://github.com/ansible/ansible/issues/65325)
- auto inventory plugin will now give plugin loading information on verbose output
- callbacks - Add result serialization format options to ``_dump_results`` allowing plugins such as the ``default`` callback to emit ``YAML`` serialized task results in addition to ``JSON``
- dnf - add more specific error message for GPG validation (https://github.com/ansible/ansible/issues/76192)
- env lookup, add default option
- facts - report prefix length for IPv4 addresses in Linux network facts.
- get_parsable_locale now logs result when in debug mode.
- git - display the destination directory path in error msg when local_mods detects local modifications conflict so that users see the exact location
- iptables - add the ``chain_management`` parameter that controls iptables chain creation and deletion
- jinja2_native - keep same behavior on Python 3.10.
- junit callback - Add support for replacing the directory portion of out-of-tree relative task paths with a placeholder.
- k8s - scenario guides for kubernetes migrated to ``kubernetes.core`` collection.
- module_utils.distro - Add missing ``typing`` import from original code.
- package_facts - add pkg_info support for OpenBSD and NetBSD (https://github.com/ansible/ansible/pull/76580)
- services_facts - Add support for openrc (https://github.com/ansible/ansible/pull/76373).
- setting DEFAULT_FACT_PATH is being deprecated in favor of the generic module_defaults keyword
- uri - Avoid reading the response body when not needed
- uri - Eliminate multiple requests to determine the final URL for file naming with ``dest``
- validate-modules - do some basic validation on the ``M(...)``, ``U(...)``, ``L(..., ...)`` and ``R(..., ...)`` documentation markups (https://github.com/ansible/ansible/pull/76262).
- vmware - migrated vmware scenario guides to `community.vmware` repo.
- yum, dnf - add sslverify option to temporarily disable certificate validation for a repository
Breaking Changes / Porting Guide
--------------------------------
- Module Python Dependency - Drop support for Python 2.6 in module execution.
- Templating - it is no longer allowed to perform arithmetic and concatenation operations outside of the jinja template (https://github.com/ansible/ansible/pull/75587)
- The ``finalize`` method is no longer exposed in the globals for use in templating.
Deprecated Features
-------------------
- ansible-core - Remove support for Python 2.6.
- ansible-test - Remove support for Python 2.6.
- ssh connection plugin option scp_if_ssh in favor of ssh_transfer_method.
Removed Features (previously deprecated)
----------------------------------------
- Remove deprecated ``Templar.set_available_variables()`` method (https://github.com/ansible/ansible/issues/75828)
- cli - remove deprecated ability to set verbosity before the sub-command (https://github.com/ansible/ansible/issues/75823)
- copy - remove deprecated ``thirsty`` alias (https://github.com/ansible/ansible/issues/75824)
- psrp - Removed fallback on ``put_file`` with older ``pypsrp`` versions. Users must have at least ``pypsrp>=0.4.0``.
- url_argument_spec - remove deprecated ``thirsty`` alias for ``get_url`` and ``uri`` modules (https://github.com/ansible/ansible/issues/75825, https://github.com/ansible/ansible/issues/75826)
Security Fixes
--------------
- Do not include params in exception when a call to ``set_options`` fails. Additionally, block the exception that is returned from being displayed to stdout. (CVE-2021-3620)
Bugfixes
--------
- Add a YAML representer for ``NativeJinjaText``
- Add a YAML representer for ``NativeJinjaUnsafeText``
- AnsiballZ - Ensure we use the full python package in the module cache filename to avoid a case where ``collections:`` is used to execute a module via short name, where the short name duplicates another module from ``ansible.builtin`` or another collection that was executed previously.
- Ansible.ModuleUtils.LinkUtil - Ignore the ``LIB`` environment variable when loading the ``LinkUtil`` code
- Ansible.ModuleUtils.SID - Use user principal name as is for lookup in the ``Convert-ToSID`` function - https://github.com/ansible/ansible/issues/77316
- Detect package manager for Amazon Linux 2022 (AL2022) as dnf
- Ensure the correct ``environment_class`` is set on ``AnsibleJ2Template``
- Fix ``AttributeError`` when providing password file via ``--connection-password-file`` (https://github.com/ansible/ansible/issues/76530)
- Fix ``end_play`` to end the current play only (https://github.com/ansible/ansible/issues/76672)
- Fix collection filter/test plugin redirects (https://github.com/ansible/ansible/issues/77192).
- Fix executing includes in the always section in the free strategy (https://github.com/ansible/ansible/issues/75642)
- Fix for when templating empty template file resulted in file with string 'None' (https://github.com/ansible/ansible/issues/76610)
- Fix help message for the 'ansible-galaxy collection verify' positional argument. The positional argument must be a collection name (https://github.com/ansible/ansible/issues/76087).
- Fix module logging issue when using custom module on WSL2 (https://github.com/ansible/ansible/issues/76320)
- Fix task debugger to work with ``run_once`` using ``linear`` strategy (https://github.com/ansible/ansible/issues/76049)
- Fix traceback when installing a collection from a git repository and git is not installed (https://github.com/ansible/ansible/issues/77479).
- Interpreter Discovery - Fallback to OS family if the distro is not found in ``INTERPRETER_PYTHON_DISTRO_MAP`` (https://github.com/ansible/ansible/issues/75560)
- Interpreter discovery - Add ``RHEL`` to ``OS_FAMILY_MAP`` for correct family fallback for interpreter discovery (https://github.com/ansible/ansible/issues/77368)
- Make include_role/include_tasks work with any_errors_fatal (https://github.com/ansible/ansible/issues/50897)
- Parser errors from within includes should not be rescueable (https://github.com/ansible/ansible/issues/73657)
- Prevent losing unsafe on results returned from lookups (https://github.com/ansible/ansible/issues/77535)
- Templating - Ensure we catch exceptions when getting ``.filters`` and ``.tests`` attributes on their respective plugins and properly error, instead of aborting which results in no filters being added to the jinja2 environment
- Trigger an undefined error when an undefined variable is detected within a dictionary and/or list (https://github.com/ansible/ansible/pull/75587)
- _run_loop - Add the task name to the warning (https://github.com/ansible/ansible/issues/76011)
- ``Templar.copy_with_new_env`` - set the ``finalize`` method of the new ``Templar`` object for the new environment (https://github.com/ansible/ansible/issues/76379)
- add_host/group_by: fix using changed_when in a loop (https://github.com/ansible/ansible/issues/71627)
- ansible - Exclude Python 2.6 from Python interpreter discovery.
- ansible-config avoid showing _terms and _input when --only-changed.
- ansible-doc - Fix ansible-doc -l ansible.builtin / ansible.legacy not returning anything
- ansible-doc - ignore plugin deprecation warnings (https://github.com/ansible/ansible/issues/75671)
- ansible-galaxy - Add galaxy_collection_skeleton/galaxy_collection_skeleton_ignore configuration options
- ansible-galaxy - Fix using the '--ignore-certs' option when there is no server-specific configuration for the Galaxy server.
- ansible-galaxy - installing/downloading collections with invalid versions in git repositories and directories now gives a formatted error message (https://github.com/ansible/ansible/issues/76425, https://github.com/ansible/ansible/issues/75404).
- ansible-galaxy - when installing a role properly raise an error when inaccessible path is specified multiple times in roles_path (e.g. via environment variable and command line option) (https://github.com/ansible/ansible/issues/76316)
- ansible-galaxy collection build - Ignore any existing ``MANIFEST.json`` and ``FILES.json`` in the root directory when building a collection.
- ansible-galaxy collection verify - display files/directories not included in the FILES.json as modified content.
- ansible-galaxy publish - Fix warning and error detection in import messages to properly display them in Ansible
- ansible-pull handle case where hostname and nodename are empty
- ansible-test - Add default entry for Windows remotes to be used with unknown versions.
- ansible-test - All virtual environments managed by ansible-test are marked as usable after being bootstrapped, to avoid errors caused by use of incomplete environments. Previously this was only done for sanity tests. Existing environments from previous versions of ansible-test will be recreated on demand due to lacking the new marker.
- ansible-test - Automatic target requirements installation is now based on the target environment instead of the controller environment.
- ansible-test - Correctly detect when running as the ``root`` user (UID 0) on the origin host. The result of the detection was incorrectly being inverted.
- ansible-test - Don't fail if network cannot be disconnected (https://github.com/ansible/ansible/pull/77472)
- ansible-test - Fix Python real prefix detection when running in a ``venv`` virtual environment.
- ansible-test - Fix ``windows-integration`` and ``network-integration`` when used with the ``--docker`` option and user-provided inventory.
- ansible-test - Fix installation and usage of ``pyyaml`` requirement for the ``import`` sanity test for collections.
- ansible-test - Fix path to inventory file for ``windows-integration`` and ``network-integration`` commands for collections.
- ansible-test - Fix plugin loading.
- ansible-test - Fix skipping of tests marked ``needs/python`` on the origin host.
- ansible-test - Fix skipping of tests marked ``needs/root`` on the origin host.
- ansible-test - Fix the ``import`` sanity test to work properly when Ansible's built-in vendoring support is in use.
- ansible-test - Fix the ``validate-modules`` sanity test to avoid double-loading the collection loader and possibly failing on import of the ``packaging`` module.
- ansible-test - Fix traceback in ``import`` sanity test on Python 2.7 when ``pip`` is not available.
- ansible-test - Fix traceback in the ``validate-modules`` sanity test when testing an Ansible module without any callables.
- ansible-test - Fix traceback when running from an install and delegating execution to a different Python interpreter.
- ansible-test - Fix traceback when using the ``--all`` option with PowerShell code coverage.
- ansible-test - Fix type hints.
- ansible-test - Import ``yaml.cyaml.CParser`` instead of ``_yaml.CParser`` in the ``yamllint`` sanity test.
- ansible-test - Limit ``paramiko`` installation to versions before 2.9.0. This is required to maintain support for systems which do not support RSA SHA-2 algorithms.
- ansible-test - Pylint Deprecated Plugin - Use correct message symbols when date or version is not a float or str (https://github.com/ansible/ansible/issues/77085)
- ansible-test - Relocate constants to eliminate symlink.
- ansible-test - Replace the directory portion of out-of-tree paths in JUnit files from integration tests with the ``out-of-tree:`` prefix.
- ansible-test - Sanity tests run with the ``--requirements` option for Python 2.x now install ``virtualenv`` when it is missing or too old. Previously it was only installed if missing. Version 16.7.12 is now installed instead of the latest version.
- ansible-test - Set the ``pytest`` option ``--rootdir`` instead of letting it be auto-detected.
- ansible-test - Show an error message instead of a traceback when running outside of a supported directory.
- ansible-test - Target integration test requirements are now correctly installed for target environments running on the controller.
- ansible-test - The ``import`` sanity test no longer reports errors about ``packaging`` being missing when testing collections.
- ansible-test - Update distribution test containers to version 3.1.0.
- ansible-test - Update help links to reference ``ansible-core`` instead of ``ansible``.
- ansible-test - Update unit tests to use the ``--forked`` option instead of the deprecated ``--boxed`` option.
- ansible-test - Use https://ci-files.testing.ansible.com/ for instance bootstrapping instead of an S3 endpoint.
- ansible-test - Use relative paths in JUnit files generated during integration test runs.
- ansible-test - Use the correct variable to reference the client's SSH key when generating inventory.
- ansible-test - Use the legacy collection loader for ``import`` sanity tests on target-only Python versions.
- ansible-test - Virtual environments managed by ansible-test now use consistent versions of ``pip``, ``setuptools`` and ``wheel``. This avoids issues with virtual environments containing outdated or dysfunctional versions of these tools. The initial bootstrapping of ``pip`` is done by ansible-test from an HTTPS endpoint instead of creating the virtual environment with it already present.
- ansible-test - fix a typo in validate-modules.
- ansible-test - fixed support container failures (eg http-test-container) under podman
- ansible-test compile sanity test - do not crash if a column could not be determined for an error (https://github.com/ansible/ansible/pull/77465).
- ansible-test pslint - Fix error when encountering validation results that are highly nested - https://github.com/ansible/ansible/issues/74151
- ansible-vault encrypt_string - fix ``--output`` option to correctly write encrypted string into given file (https://github.com/ansible/ansible/issues/75101)
- ansible.builtin.file modification_time supports check_mode
- ansible_facts.devices - Fix parsing of device serial number detected via sg_inq for rhel8 (https://github.com/ansible/ansible/issues/75420)
- apt - fails to deploy deb file to old debian systems using python-apt < 0.8.9 (https://github.com/ansible/ansible/issues/47277)
- arg_spec - Fix incorrect ``no_log`` warning when a parameter alias is used (https://github.com/ansible/ansible/pull/77576)
- async - Improve performance of sending async callback events by never sending the full task through the queue (https://github.com/ansible/ansible/issues/76729)
- catch the case that cowsay is broken which would lead to missing output
- cleaning facts will now only warn about the variable name and not post the content, which can be undesireable to disclose
- collection_loader - Implement 'find_spec' and 'exec_module' to override deprecated importlib methods 'find_module' and 'load_module' when applicable (https://github.com/ansible/ansible/issues/74660).
- correctly inherit vars from parent in block (https://github.com/ansible/ansible/issues/75286).
- default callback - Ensure we compare FQCN also in lockstep logic, to ensure using the FQCN of a strategy plugin triggers the correct behavior in the default callback plugin. (https://github.com/ansible/ansible/issues/76782)
- distribution - add EuroLinux to fact gathering (https://github.com/ansible/ansible/pull/76624).
- distribution - detect tencentos and gather correct facts on the distro.
- dnf - ensure releasever is passed into libdnf as string (https://github.com/ansible/ansible/issues/77010)
- extend timeout for ansible-galaxy when communicating with the galaxy server api, and apply it to all interactions with the api
- facts - add support for deepin distro information detection (https://github.com/ansible/ansible/issues/77286).
- first_found - fix to allow for spaces in file names (https://github.com/ansible/ansible/issues/77136)
- gather_facts - Fact gathering now continues even if it fails to read a file
- gather_facts action now handles the move of base connection plugin types into collections to add/prevent subset argument correctly
- gather_facts/setup will not fail anymore if capsh is present but not executable
- git module fix docs and proper use of ssh wrapper script and GIT_SSH_COMMAND depending on version.
- git module is more consistent and clearer about which ssh options are added to git calls.
- git module no longer uses wrapper script for ssh options.
- hacking - fix incorrect usage of deprecated fish-shell redirection operators that failed to honor ``--quiet`` flag when sourced (https://github.com/ansible/ansible/pull/77180).
- hostname - Do not require SystemdStrategy subclasses for every distro (https://github.com/ansible/ansible/issues/76792)
- hostname - Fix Debian strategy KeyError, use `SystemdStrategy` (https://github.com/ansible/ansible/issues/76124)
- hostname - Update the systemd strategy in the ``hostname`` module to not interfere with NetworkManager (https://github.com/ansible/ansible/issues/76958)
- hostname - add hostname support for openEuler distro (https://github.com/ansible/ansible/pull/76619).
- hostname - use ``file_get_content()`` to read the file containing the host name in the ``FileStrategy.get_permanent_hostname()`` method. This prevents a ``TypeError`` from being raised when the strategy is used (https://github.com/ansible/ansible/issues/77025).
- include_vars, properly initialize variable as there is corner case in which it can end up referenced and not defined
- inventory - parameterize ``disable_lookups`` in ``Constructable`` (https://github.com/ansible/ansible/issues/76769).
- inventory manager now respects --flush-cache
- junit callback - Fix traceback during automatic fact gathering when using relative paths.
- junit callback - Fix unicode error when handling non-ASCII task paths.
- module_utils.common.yaml - The ``SafeLoader``, ``SafeDumper`` and ``Parser`` classes now fallback to ``object`` when ``yaml`` is not available. This fixes tracebacks when inheriting from these classes without requiring a ``HAS_YAML`` guard around class definitions.
- parameters - handle blank values when argument is a list (https://github.com/ansible/ansible/issues/77108).
- play_context now compensates for when a conneciton sets the default to inventory_hostname but skips adding it to the vars.
- playbook/strategy have more informative 'attribute' based errors for playbook objects and handlers.
- python modules (new type) will now again prefer the specific python stated in the module's shebang instead of hardcoding to /usr/bin/python.
- replace - Always return ``rc`` to ensure return values are consistent - https://github.com/ansible/ansible/pull/71963
- script - skip in check mode if the plugin cannot determine if a change will occur (i.e. neither `creates` or `removes` are provided).
- service - Fixed handling of sleep arguments during service restarts on AIX. (https://github.com/ansible/ansible/issues/76877)
- service - Fixed service restarts with arguments on AIX. (https://github.com/ansible/ansible/issues/76840)
- service_facts module will now give more meaningful warnings when it fails to gather data.
- set_fact/include_vars correctly handle delegation assignments within loops
- setup - detect docker container with check for ./dockerenv or ./dockinit (https://github.com/ansible/ansible/pull/74349).
- shell/command - only return changed as True if the task has not been skipped.
- shell/command - only skip in check mode if the options `creates` and `removes` are both None.
- ssh connection - properly quote controlpersist path given by user to avoid issues with spaces and other characters
- ssh connection avoid parsing ssh cli debug lines as they can match expected output at high verbosities.
- ssh connection now uses more correct host source as play_context can ignore loop/delegation variations.
- sudo become plugin, fix handling of non interactive flags, previous substitution was too naive
- systemd - check if service is alias so it gets enabled (https://github.com/ansible/ansible/issues/75538).
- systemd - check if service is indirect so it gets enabled (https://github.com/ansible/ansible/issues/76453).
- task_executor reverts the change to push facts into delegated vars on loop finalization as result managing code already handles this and was duplicating effort to wrong result.
- template lookup - restore inadvertently deleted default for ``convert_data`` (https://github.com/ansible/ansible/issues/77004)
- to_json/to_nice_json filters defaults back to unvaulting/no unsafe packing.
- unarchive - Fix zip archive file listing that caused issues with content postprocessing (https://github.com/ansible/ansible/issues/76067).
- unarchive - Make extraction work when the LANGUAGE environment variable is set to a non-English locale.
- unarchive - apply ``owner`` and ``group`` permissions to top folder (https://github.com/ansible/ansible/issues/35426)
- unarchive - include the original error when a handler cannot manage the archive (https://github.com/ansible/ansible/issues/28977).
- unarchive - the ``io_buffer_size`` option added in 2.12 was not accepted by the module (https://github.com/ansible/ansible/pull/77271).
- urls - Allow ``ca_path`` to point to a bundle containing multiple PEM certs (https://github.com/ansible/ansible/issues/75015)
- urls/uri - Address case where ``HTTPError`` isn't fully initialized due to the error, and is missing certain methods and attributes (https://github.com/ansible/ansible/issues/76386)
- user - allow ``password_expiry_min`` and ``password_expiry_min`` to be set to ``0`` (https://github.com/ansible/ansible/issues/75017)
- user - allow password min and max to be set at the same time (https://github.com/ansible/ansible/issues/75017)
- user - update logic to check if user exists or not in MacOS.
- validate_argument_spec - Skip suboption validation if the top level option is an invalid type (https://github.com/ansible/ansible/issues/75612).
- variablemanager, more efficient read of vars files
- vault - Warn instead of fail for missing vault IDs if at least one valid vault secret is found.
- winrm - Ensure ``kinit`` is run with the same ``PATH`` env var as the Ansible process
- yum - prevent storing unnecessary cache data by running `yum makecache fast` (https://github.com/ansible/ansible/issues/76336)
Known Issues
------------
- get_url - document ``check_mode`` correctly with unreliable changed status (https://github.com/ansible/ansible/issues/65687).

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible_facts.devices - Fix parsing of device serial number detected via sg_inq for rhel8 (https://github.com/ansible/ansible/issues/75420)

View File

@ -1,7 +0,0 @@
minor_changes:
- >
get_distribution - ``lib.ansible.module_utils.common.sys_info.get_distribution`` now returns
distribution information for all platforms not just Linux (https://github.com/ansible/ansible/issues/17587)
- >
get_distribution_version - ``lib.ansible.module_utils.common.sys_info.get_distribution_version`` now
returns the version for all platfroms not just Linux (https://github.com/ansible/ansible/issues/17587)

View File

@ -0,0 +1,3 @@
release_summary: |
| Release Date: 2023-05-22
| `Porting Guide <https://docs.ansible.com/ansible-core/2.13/porting_guides/porting_guide_core_2.13.html>`__

View File

@ -0,0 +1,3 @@
release_summary: |
| Release Date: 2023-05-15
| `Porting Guide <https://docs.ansible.com/ansible-core/2.13/porting_guides/porting_guide_core_2.13.html>`__

View File

@ -0,0 +1,3 @@
release_summary: |
| Release Date: 2023-04-24
| `Porting Guide <https://docs.ansible.com/ansible-core/2.13/porting_guides/porting_guide_core_2.13.html>`__

View File

@ -0,0 +1,3 @@
release_summary: |
| Release Date: 2023-04-17
| `Porting Guide <https://docs.ansible.com/ansible-core/2.13/porting_guides/porting_guide_core_2.13.html>`__

View File

@ -1,4 +0,0 @@
bugfixes:
- register - Ensure that ``register`` used on ``set_fact`` or ``include_vars``
does not automatically wrap the facts as unsafe.
(https://github.com/ansible/ansible/issues/21088)

View File

@ -1,4 +0,0 @@
minor_changes:
- Python 2.6 Target Support - Deprecate Python 2.6 for targets, requiring Python 2.7 or newer.
``ansible-core==2.13`` will drop support for Python 2.6.
(https://github.com/ansible/ansible/pull/74165)

View File

@ -1,2 +0,0 @@
minor_changes:
- deprecate ``_remote_checksum()`` and remove all internal uses (https://github.com/ansible/ansible/pull/74848)

View File

@ -1,3 +0,0 @@
minor_changes:
- ssh - added pkcs11 support by adding the pkcs11_provider option in the
ssh connection module. (https://www.github.com/ansible/ansible/pull/32829)

View File

@ -1,2 +0,0 @@
bugfixes:
- subversion - fix stack trace when getting information about the repository (https://github.com/ansible/ansible/issues/36498)

View File

@ -1,4 +0,0 @@
bugfixes:
- >-
``failed_when``/``changed_when`` - Catch templating errors to prevent masking of module output
(https://github.com/ansible/ansible/issues/37187)

View File

@ -1,2 +0,0 @@
bugfixes:
- unarchive - fail when zipinfo binary is not found in executable paths (https://github.com/ansible/ansible/issues/39029).

View File

@ -0,0 +1,2 @@
bugfixes:
- apt - fails to deploy deb file to old debian systems using python-apt < 0.8.9 (https://github.com/ansible/ansible/issues/47277)

View File

@ -1,2 +0,0 @@
minor_changes:
- ini - added new parameter ``allow_no_value`` to ini lookup plugin (https://github.com/ansible/ansible/issues/50594).

View File

@ -0,0 +1,3 @@
minor_changes:
- uri - Eliminate multiple requests to determine the final URL for file naming with ``dest``
- uri - Avoid reading the response body when not needed

View File

@ -0,0 +1,2 @@
bugfixes:
- Make include_role/include_tasks work with any_errors_fatal (https://github.com/ansible/ansible/issues/50897)

View File

@ -1,3 +0,0 @@
---
minor_changes:
- validation testcases for check_* APIs (https://github.com/ansible/ansible/issues/55994).

View File

@ -1,2 +0,0 @@
bugfixes:
- recursive_diff - handle condition when parameters are not dict (https://github.com/ansible/ansible/issues/56249).

View File

@ -1,2 +0,0 @@
bugfixes:
- Add unicode support to ``ansible-inventory`` CLI (https://github.com/ansible/ansible/issues/57378)

View File

@ -1,2 +0,0 @@
minor_changes:
- facts - add fiber channel facts for HP-UX (https://github.com/ansible/ansible/pull/57406)

View File

@ -0,0 +1,2 @@
bugfixes:
- uri - properly use uri parameter use_proxy (https://github.com/ansible/ansible/issues/58632)

View File

@ -1,2 +0,0 @@
bugfixes:
- AnsibleModule.set_mode_if_different - don't check file existence when check_mode is activated (https://github.com/ansible/ansible/issues/61185).

View File

@ -1,2 +0,0 @@
bugfixes:
- system_service - use a context manager for file handling.

View File

@ -1,2 +0,0 @@
bugfixes:
- play - validate the ``hosts`` entry in a play (https://github.com/ansible/ansible/issues/65386)

View File

@ -1,4 +0,0 @@
minor_changes:
- >-
``include_role`` - Allow use of ``omit`` in the ``from_*`` arguments
(https://github.com/ansible/ansible/issues/66349)

View File

@ -1,7 +0,0 @@
bugfixes:
- hostname - No longer modifies system files in get_* methods and therefore when consulted in check_mode (https://github.com/ansible/ansible/issues/66432)
breaking_changes:
- hostname - Drops any remaining support for Python 2.4 by using ``with open()`` to simplify exception handling code which leaked file handles in several spots
- hostname - On FreeBSD, the string ``temporarystub`` no longer gets written to the hostname file in the get methods (and in check_mode). As a result, the default hostname will now appear as ``''`` (empty string) instead of ``temporarystub`` for consistency with other strategies. This means the ``before`` result will be different.
- hostname - On OpenRC systems and Solaris, the ``before`` value will now be ``''`` (empty string) if the permanent hostname file does not exist, for consistency with other strategies.

View File

@ -1,2 +0,0 @@
bugfixes:
- "slurp - Fix error messages for unreadable files and directories(https://github.com/ansible/ansible/issues/67340)."

View File

@ -0,0 +1,2 @@
minor_changes:
- ansible-galaxy - the option to skip certificate verification now also applies when cloning via SCM (git/hg) (https://github.com/ansible/ansible/issues/41077)

View File

@ -1,3 +0,0 @@
---
minor_changes:
- collection - match skip message as per role installation.

View File

@ -1,2 +0,0 @@
bugfixes:
- Add yaml representer for VarsWithSources (https://github.com/ansible/ansible/pull/68525).

View File

@ -1,2 +0,0 @@
minor_changes:
- template - Add comment attributes (``comment_start_string`` and ``comment_end_string``)

View File

@ -0,0 +1,3 @@
---
minor_changes:
- Added AIX root CA certs folders - enhance the TLS support in ``uri`` task on AIX

View File

@ -1,2 +0,0 @@
bugfixes:
- config - use ``callbacks_enabled`` instead ``callback_enabled`` in a deprecated message (https://github.com/ansible/ansible/issues/70028).

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-galaxy - do not require mandatory keys in the ``galaxy.yml`` of source collections when listing them (https://github.com/ansible/ansible/issues/70180).

View File

@ -1,2 +0,0 @@
bugfixes:
- yum - yum action plugin changes to support 'use' as an alias of 'use_backend' (https://github.com/ansible/ansible/issues/70774).

View File

@ -1,2 +0,0 @@
bugfixes:
- yum - fix parsing of multiple subsequent empty lines from ``yum check-update`` output (https://github.com/ansible/ansible/issues/70949)

View File

@ -1,2 +0,0 @@
bugfixes:
- basic - skip over module parameters which are used in ``journal.send`` API call (https://github.com/ansible/ansible/issues/71343).

View File

@ -0,0 +1,2 @@
bugfixes:
- "add_host/group_by: fix using changed_when in a loop (https://github.com/ansible/ansible/issues/71627)"

View File

@ -0,0 +1,2 @@
minor_changes:
- "ansible-test sanity validate-modules - the validate-modules sanity test now also checks the documentation of documentable plugin types (https://github.com/ansible/ansible/pull/71734)."

View File

@ -0,0 +1,2 @@
minor_changes:
- git - display the destination directory path in error msg when local_mods detects local modifications conflict so that users see the exact location

View File

@ -0,0 +1,2 @@
bugfixes:
- catch the case that cowsay is broken which would lead to missing output

View File

@ -1,2 +0,0 @@
minor_changes:
- YAML parsing - Create common utils for loading and dumping YAML that prefer the C extensions if available

View File

@ -1,2 +0,0 @@
bugfixes:
- dnf - properly capture transaction error (https://github.com/ansible/ansible/issues/72651)

View File

@ -1,2 +0,0 @@
minor_changes:
- include_vars - add ``hash_behaviour`` option (https://github.com/ansible/ansible/pull/72944).

View File

@ -1,2 +0,0 @@
bugfixes:
- yum - Fixed typo in failure message (https://github.com/ansible/ansible/pull/72964).

View File

@ -0,0 +1,2 @@
bugfixes:
- unarchive - apply ``owner`` and ``group`` permissions to top folder (https://github.com/ansible/ansible/issues/35426)

View File

@ -1,2 +0,0 @@
minor_changes:
- galaxy - support role artifact download from API response ``download_url`` location (https://github.com/ansible/ansible/issues/73103).

View File

@ -1,2 +0,0 @@
bugfixes:
- pause - ensure control characters are always set to an appropriate value (https://github.com/ansible/ansible/issues/73264)

Some files were not shown because too many files have changed in this diff Show More