Compare commits

...

280 Commits

Author SHA1 Message Date
8191ea534e New release v2.14.10 (#81682) 2023-09-11 17:11:24 -05:00
19fd0d6787 Update Ansible release version to v2.14.10rc1.post0. (#81641) 2023-09-05 16:18:09 -05:00
62b7d211b3 New release v2.14.10rc1 (#81636) 2023-09-05 14:59:41 -05:00
b4b600a70b [stable-2.14] tarfile: Handle deprecation warning for extract and extractall (#81545) (#81633)
* Python 3.11.4 introduces a new parameter 'filter' in extract and
extractall in tarfile. Handle deprecation warning message emitted
in Python 3.12.
* added probing mechanism in ansible-galaxy code to detect broken
data filter implementation in tarfile.

Fixes: #80832



(cherry picked from commit 1cc5efa)

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2023-09-05 12:42:24 -05:00
7d48bef252 PowerShell - remove uneeded dotnet code for future compatibility (#81472) (#81576)
(cherry picked from commit f3976117fb)
2023-08-31 14:10:17 -05:00
e7f64ed9d5 [stable-2.14] ansible-test - Always use managed entry points (#81537) (#81540)
(cherry picked from commit 390e508d27)
2023-08-22 12:27:41 -07:00
4a2fe5134c [stable-2.14] Remove obsolete text from release.py PR template (#81526) (#81528)
(cherry picked from commit 9afaf2216b)
2023-08-16 11:19:24 -07:00
53b685fd6d [stable-2.14] Fix f-string whitespace in release script (#81477) (#81479)
(cherry picked from commit 85d3305889)
2023-08-14 13:35:31 -07:00
5a225f9e95 [stable-2.14] Clean up release script (#81488) (#81490)
* Enable mypy for the entire packaging directory

* Return CompletedProcess only when capturing output

This allows stdout/stderr on CompletedProcess to be `str` instead of `str | None`.
The unused args on CompletedProcess have been removed.
Overload type hints have been added to reflect these changes.

* Relax return type on ensure_venv

This improves consistency with its usage, since `run` accepts `env` of `dict[str, t.Any]`.
Also removed unnecssary `str()` usage when updating `env`.

* Fix type hint on suppress_when

* Fix callable annotation

* Add type hint for command_parser

PyCharm complains about using a protected member, and also that it can't find the type in the type stubs.
However, mypy properly recognizes the type.

* Avoid unnecessary TypeVar usage.
(cherry picked from commit 47ab59753c)
2023-08-14 13:35:00 -07:00
4cbdf02efe Replace FreeBSD 12.3 w/ 12.4 in CI & ansible-test (#81497)
FreeBSD 12.3 bootstrap packages stopped being available.
2023-08-14 13:34:26 -07:00
0f8441ad83 Update Ansible release version to v2.14.9.post0. (#81510) 2023-08-14 13:33:50 -07:00
6a8d192649 New release v2.14.9 (#81507) 2023-08-14 11:18:31 -07:00
223a6ee8eb Update Ansible release version to v2.14.9rc1.post0. (#81461) 2023-08-07 16:33:57 -05:00
12308ba054 New release v2.14.9rc1 (#81458) 2023-08-07 15:09:23 -05:00
cf6df70765 [stable-2.14] Overhaul package-data sanity test (#81427) (#81438)
The sanity test now only inspects the sdist and wheel instead of trying to install the sdist using setup.py..
(cherry picked from commit f894ce89b4)
2023-08-03 17:25:25 -05:00
470be95257 [stable-2.14] ansible-test - Update source layout detection (#81418) (#81435)
(cherry picked from commit c525514994)
2023-08-03 17:25:08 -05:00
33f8460a78 fixed become page link in PE error message (#81391) (#81394)
(cherry picked from commit 0b9d83ccdb)
2023-08-03 17:24:55 -05:00
94a87bd92a The split filter was added in ansible-core 2.11. (#81275) (#81290)
(cherry picked from commit b771e59793)
2023-08-03 17:24:42 -05:00
5b8ffe66a2 Module docs fixes. (#81213) (#81235)
(cherry picked from commit dce51f4ff4)
2023-08-03 17:24:21 -05:00
ae2a1f403a [stable-2.14] Update update-sanity-requirements.py script (#81424) (#81432)
Frozen requirements can now preserve any explicitly installed package that would normally be omitted, not just setuptools.
(cherry picked from commit dbb3feddaf)
2023-08-03 13:31:14 -07:00
25de85e95b [stable-2.14] Revert "define code owners to support branch-protection rules on docs (#81041)" (#81228) (#81429)
This reverts commit 9117762358.
(cherry picked from commit 7c6564ad0e)
2023-08-03 13:06:26 -07:00
a2ceacd75d [stable-2.14] Clean up MANIFEST.in (#81415)
* Clean up MANIFEST.in (#80688)

* Remove unnecessary MANIFEST.in commands

This eliminates more setuptools warnings during build.

* Sort MANIFEST.in

Now that only include commands are used, the order of the commands no longer effects the build output.

(cherry picked from commit 6e325d9e4d)

* Omit hacking directory from MANIFEST.in (#81245)

* Omit `hacking` directory from `MANIFEST.in`

* Update package-data sanity test

(cherry picked from commit b93a628aed)
2023-08-02 13:30:41 -07:00
a22c7d8f3b [stable-2.14] Add changelog fragment for docs/examples removal (#81410) (#81412)
(cherry picked from commit 0c03a6bcf6)
2023-08-02 13:00:05 -07:00
2d4d354cb1 Remove BOTMETA.yml and sanity tests for it (#81198) (#81264)
(cherry picked from commit 39ef570e16)
2023-08-02 12:44:49 -07:00
dd45caa7a9 [stable-2.14] Docs removal and other backports (#81407)
* Remove straight.plugin dependency (#80084)

(cherry picked from commit f587856beb)

* Update package-data sanity test (#80344)

The test no longer relies on the Makefile.

(cherry picked from commit 46362bbd27)

* Remove obsolete release bits (#80347)

Releases are now built using the `packaging/release.py` tool.
This makes the `Makefile` and associated files in `packaging/release/` and `packaging/sdist/` obsolete.

* Use --no-isolation for package-data sanity test (#80377)

The dependencies are already in the sanity test venv. This avoids use of unpinned dependencies and a dependency on a network connection.

(cherry picked from commit 7fcb9960e6)

* Set the minimum setuptools to 45.2.0 (#80649)

Also update the package-data sanity test to use the minimum setuptools version.

(cherry picked from commit 4d25e3d54f)

* Use package_data instead of include_package_data (#80652)

This resolves warnings generated by setuptools such as the following:

_Warning: Package 'ansible.galaxy.data' is absent from the `packages` configuration.

(cherry picked from commit 5ac292e12d)

* Fix os.walk issues in package-data sanity test (#80703)

* Remove `docs` and `examples` directories (#81011)

* Remove docs dir

* Updates to reflect docs removal

* Fix integration test

* Remove examples dir

* Updates to reflect examples removal

* Remove build_library and build-ansible.py

* Remove refs to build_library and build-ansible.py

* Remove obsolete template

* Remove obsolete template reference

* Remove the now obsolete rstcheck sanity test

(cherry picked from commit 72e038e823)

* Omit pre-built man pages from sdist (#81395)

Since man pages aren't accessible to users after a `pip install`, there's no need to include them in the sdist.
This change makes it trivial to build man pages from source, which makes them much easier to iterate on.
It also simplifies creation and testing of the sdist, since it no longer requires building man pages.

The new `packaging/cli-doc/build.py` script can generate both man pages and RST documentation.
This supports inclusion on the docs site without a dependency on `ansible-core` internals.
Having a single implementation for both simplifies keeping the two formats in sync.

(cherry picked from commit 691c8e8603)
2023-08-02 12:26:32 -07:00
6f20fe3599 Fix backport of #81379 (#81386)
Two copies of the file existed in this branch, but only one was updated previously.
2023-07-31 18:03:46 -07:00
60f48ad1a3 [stable-2.14] Include subcommands in generated man pages (#81378) (#81383)
Sub commands of `ansible-galaxy role` and `ansible-galaxy collection` are now documented.
(cherry picked from commit 081c60b9d3)
2023-07-31 15:48:32 -07:00
63413cb0d4 [stable-2.14] Fix misrendered sections in manpage generation (#81380)
This change fixes bugs in the manpage generator that existed since it
was first added.

It exposes CLI `ARGUMENTS` value to manpage templates.

Before this change, the code contained a typo, causing the `for`-loop
iterate over individual characters of the `'ARGUMENTS'` string rather
than iterating over a tuple. A missing comma was at fault.

The updated code gets rid of the `for`-loop and conditionals since it
seems to have been a premature complexity increase and no other things
than `'ARGUMENTS'` were ever added into the broken iterable.

The functional change is that `arguments` is now always present in the
Jinja2 context, unlike being missing sometimes because of the previous
design (not that it was ever present, because of the bug! sigh...)

The Jinja2 templates perform an `{% if arguments %}` check, letting
the template engine silently ignore the missing variable. The clause
was always falsy, meaning that the arguments section was not included
in the manpages for at least the last 6 years. With this fix, it will
be.

This patch also deduplicates calling `opt_doc_list` @ generate_man.

It was called late in the execution, more times than necessary. This
patch makes sure it happens once by putting it at the top of the scope.

It fixes rendering library and inventory in manpages.

The corresponding Jinja2 templates have blocks wrapped with
conditionals like `{% if inventory %}` and `{% if library %}` but said
variables were never injected into the context, nor were they even
deduced on the Python side of the generator. This means that the
conditional clauses were always falsy, never showing the portions of
the manpages.

The Python script has hints for how the `inventory` variable was to be
calculated, which is confirmed through the Git paleontology efforts.

The block of code that references to the `inventory` bit was
incorrectly checking a variable with a list of nested objects for the
presence of a string which was never going to work.

This patch fixes this check by verifying the CLI flag against the
correct variable containing a list of options and exposes it to the
Jinja2 templates.
It also exposes the `library` variable in a similar way.

The block displaying other binaries in Sphinx CLI docs has been
synchronized with the manpage template.
Previously, the current binary was displayed also. This patch gets rid
of the unwanted trailing comma there too.

Finally, the CLI executables list in the manpage template now reuses
the same variable as the RST template that doesn't need any
post-processing in Jinja2.
Before, it was already used in the RST template so this patch aligns
both templates to use the same logic as they got out-of-sync over time.

PR #80450.
(cherry picked from commit a84b3a4e72)

Co-authored-by: Sviatoslav Sydorenko <webknjaz@redhat.com>
2023-07-31 14:04:26 -07:00
10f4d6b982 [stable-2.14] Fix missing command descriptions in manpages/docs (#81366). (#81371)
(cherry picked from commit 32b388b4ca)
2023-07-28 19:26:14 -07:00
b42dcee567 [stable-2.14] Fix command doc lookup in man page generation (#81365) (#81368)
(cherry picked from commit f9d674fcfd)
2023-07-28 18:08:06 -07:00
aaeb2c0b08 [stable-2.14] Exclude internal options from man pages and docs (#81360) (#81362)
(cherry picked from commit fead654671)
2023-07-28 15:26:02 -07:00
b660c7ec1e [stable-2.14] ansible-test - update module_utils/urls.py unit test to support cryptography >= 41.0.0 (#81296) (#81317)
(cherry picked from commit d20a0c02cc)

Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
2023-07-20 12:26:40 -07:00
71f3f1601a [stable-2.14] Convert non-docs *.rst files to *.md (#81217) (#81223)
* [stable-2.14] Convert non-docs *.rst files to *.md (#81217)

* Rename README.rst to README.md

* Change README format from reStructuredText to Markdown

* Fix whitespace in README.md

* Update setup.cfg to use README.md

* Replace changelog placeholder with README.md

* Update package-data sanity test
(cherry picked from commit 38e50c9f81)

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

* Remove README.rst from MANIFEST.in
2023-07-18 19:23:06 -07:00
a5010e1630 [stable-2.14] Add missing skip entries for selinux module_util (#81305) (#81308)
(cherry picked from commit 18cbfc688b)
2023-07-18 19:22:52 -07:00
bff040a0b6 [stable-2.14] ansible-test - Pre-build PyYAML wheels (#81300) (#81310)
This works around Cython failures when attempting to install PyYAML >= 5.4 <= 6.0..
(cherry picked from commit e964078a83)
2023-07-18 19:22:40 -07:00
f2246d3a3f [stable-2.14] Disable cron integration test on Alpine (#81301) (#81303)
The tests are now failing due to the lack of `libfaketime` in the Alpine repos.
(cherry picked from commit 261a12b8a9)
2023-07-18 18:12:16 -07:00
5698f942c9 Update Ansible release version to v2.14.8.post0. (#81287) 2023-07-17 20:26:48 -07:00
3dd60bfaf8 New release v2.14.8 (#81284) 2023-07-17 19:07:20 -07:00
50390e40ee Replace reboot_command integration test with unit tests (#78956) (#81267)
Co-authored-by: Matt Clay <matt@mystile.com>

(cherry picked from commit b6ebb9d41a)
2023-07-14 14:27:57 -07:00
b5ad911da8 [stable-2.14] Use *.md instead of *.rst for test READMEs (#81009) (#81230)
(cherry picked from commit 6ac0ea3567)
2023-07-11 17:13:24 -07:00
7f543f3d5f [stable-2.14] Reorganize CI sanity test matrix (#81004) (#81226)
(cherry picked from commit ff359fa8e1)
2023-07-11 16:28:34 -07:00
65f76121fb Update Ansible release version to v2.14.8rc1.post0. (#81210) 2023-07-10 19:43:59 +00:00
ec2fb0da49 New release v2.14.8rc1 (#81205) 2023-07-10 21:03:28 +02:00
5cd02deacf Re-introduce RHEL 9 modularity testing in CI (#81160) (#81193)
(cherry picked from commit 7b2647f3b2)
2023-07-10 17:26:24 +02:00
939370ea32 [stable-2.14] Resolve issues on python pre-3.10.6 with collection dirs longer than 100 characters (#81061) (#81073)
(cherry picked from commit 56b67cc)
2023-07-05 11:26:12 +02:00
c8fe9a74a1 [stable-2.14] Cache field attributes list on the playbook classes (#79091) (#81089)
* [stable-2.14] Cache field attributes list on the playbook classes (#79091)

* Cache field attributes list on the playbook classes
(cherry picked from commit 5863770)

Co-authored-by: Martin Krizek <martin.krizek@gmail.com>

* Replace deprecated stacked `@classmethod` and `@property` (#79952)

(cherry picked from commit 243d1b5e3d)

---------

Co-authored-by: Martin Krizek <martin.krizek@gmail.com>
2023-07-05 11:25:57 +02:00
178acc3805 [stable-2.14] ansible-test - Avoid using atexit module (#81096) (#81098)
(cherry picked from commit c3926268e2)
2023-06-22 10:14:10 -07:00
b1dea51116 Update Ansible release version to v2.14.7.post0. (#81090) 2023-06-20 12:00:49 -05:00
41258d3c8d New release v2.14.7 (#81087) 2023-06-20 11:06:33 -05:00
a2c685d300 [stable-2.14] define code owners to support branch-protection rules on docs (#81041) (#81044)
* during interim docs/ (and related dirs) split to separate repo, prevent merges that might require a rebase of the target repo
(cherry picked from commit 9117762358)
2023-06-12 11:41:31 -07:00
f2eb324313 Update Ansible release version to v2.14.7rc1.post0. (#81038) 2023-06-12 13:38:15 -05:00
9d262f177f New release v2.14.7rc1 (#81035) 2023-06-12 12:43:49 -05:00
b06c10b1ed Bump azure-pipelines-test-container to v4.0.1 @ CI (#80938)
This patch updates the test container used in CI to the new v4 that
defaults to using Python 3.10 and is based on Ubuntu 22.04 Jammy[[1]].

[1]: https://github.com/ansible/azure-pipelines-test-container/pull/17
2023-06-12 09:25:43 -07:00
dd63e31124 [stable-2.14] Remove hacking dir dependency from build backend (#81026)
* Copy man generation files into build backend

* Use copied files in build backend
2023-06-09 20:55:47 -07:00
2918785895 [stable-2.14] Remove docs dir dependency from man page build (#81003) (#81023)
* [stable-2.14] Remove docs dir dependency from man page build (#81003)
(cherry picked from commit b3f1290bcd)

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

* Update path in Makefile
2023-06-09 20:29:37 -07:00
fb91d25257 Remove straight.plugin dependency (#80084) (#81019)
(cherry picked from commit f587856)
2023-06-09 17:02:57 -07:00
5e347b0439 [stable-2.14] URI Module find json sub type (#80745) (#80870)
* uri: fixed search for json types to include strings in the format xxx/yyy+json
(cherry picked from commit 0c7361d)

Co-authored-by: Brent Barbachem <barbacbd@dukes.jmu.edu>
2023-06-07 09:17:30 -05:00
a22c346620 [stable-2.14] ansible-test - local change detection without --fork-point (#79734) (#80900)
(cherry picked from commit a5bb4c7dee)

Co-authored-by: Felix Fontein <felix@fontein.de>
2023-05-26 15:56:50 -07:00
54921364c4 update version switcher for 2.15 (#80791)
Co-authored-by: Sandra McCann <samccann@redhat.com>
2023-05-22 13:10:55 -05:00
45df7a9534 [stable-2.14] ansible-test - Fix traceback when mixing sources (#80801) (#80828)
* ansible-test - Fix traceback when mixing sources

* ansible-test - Refactor layout error handling

(cherry picked from commit b16041f1a9)
2023-05-22 10:25:34 -07:00
2a1cf1ae91 Update Ansible release version to v2.14.6.post0. (#80865) 2023-05-22 09:56:48 -07:00
2932c4c48a New release v2.14.6 (#80860) 2023-05-22 10:20:17 -05:00
5cb5c46eba Update Ansible release version to v2.14.6rc1.post0. (#80803) 2023-05-15 16:16:03 -05:00
1cbb689829 New release v2.14.6rc1 (#80798) 2023-05-15 12:37:03 -05:00
016fbec2a5 [stable-2.14] ansible-test - Fix handling of long timeouts (#80769) (#80773)
(cherry picked from commit aacab0633a)
2023-05-10 20:04:33 -07:00
5ab8903d58 [stable-2.14] ansible-test - Fix timeout handling (#80764) (#80766)
(cherry picked from commit 4c6aa70662)
2023-05-10 17:08:05 -07:00
85644ca5e8 [stable-2.14] ansible-test - Avoid use of deprecated utcnow (#80750) (#80758)
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:14 -07:00
594f37dbb4 [ansible-galaxy] Fix installing signed collections (#80661) (#80666)
* 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:27:23 -05:00
4008335f41 Account for overlays when interacting with Jinja envs (#80705) (#80717)
Instead of using Templar.environment in Templar.do_template for
accessing/mutating the environment, myenv local variable should be used
because it is the environment used for actual templating. It can either
point to Templar.environment or newly created environment overlay.

Fixes #80605

(cherry picked from commit 8cd95a8e66)
2023-05-09 14:26:28 -05:00
55b0b69545 [stable-2.14] pep517 backend - Copy symlinks when copying source (#80690) (#80701)
(cherry picked from commit 54576cd794)
2023-05-09 14:26:17 -05:00
88a25b7fdc Reconfigure stdout/stderr to replace invalid UTF-8 characters. Fixes #80258 (#80552) 2023-05-09 14:25:54 -05:00
0e58877f35 [stable-2.14] Release tool improvements (#80641) (#80680)
* Provide reproducible sdist builds.
* Use reproducible wheel builds.
* Add PyPI artifact checks.

(cherry picked from commit d37678c5ff)
2023-05-01 09:41:07 -07:00
db039c1744 [stable-2.14] ansible-test - Use FreeBSD packaged setuptools (#80615) (#80617)
This will avoid issues during bootstrapping caused by breaking changes in setuptools.

(cherry picked from commit abc58c026b)
2023-04-24 13:44:19 -07:00
b41ac8ca60 Update Ansible release version to v2.14.5.post0. (#80614) 2023-04-24 11:34:41 -05:00
5c6dfff687 New release v2.14.5 (#80611) 2023-04-24 10:52:38 -05:00
04249d9cf4 Update Ansible release version to v2.14.5rc1.post0. (#80539) 2023-04-17 15:53:15 -05:00
ec8817ace2 New release v2.14.5rc1 (#80536) 2023-04-17 14:13:50 -05:00
ba487253bb password lookup, handle ident properly when saved (#80251) (#80310)
* 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 block indent# https://chris.beams.io/posts/git-commit/

* clog

(cherry picked from commit 97c8da7783)

* fix bad merge indentation
2023-04-17 11:56:37 -05:00
d5a36b8734 Change ansible_job_id format (#79951) (#80282)
* Change ansible_job_id format

...to be something that does not resemble float or other type which
value could be changed by literal_eval that jinja2_native uses.

Specifically the format of '%d.%d' is converted from str to float and
then back to float which may result in truncating the number resulting
in the job not being found because the job id does not exist.

(cherry picked from commit 09e0fb3516)
2023-04-17 09:23:03 -05:00
8616d68ea9 [stable-2.14] ansible-galaxy collection install retry improvements (#80180) (#80274)
* 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)

[stable-2.14] ansible-galaxy collection install retry improvements (#80180)

* 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-17 09:22:51 -05:00
62a353c085 fix using templated values for include/import role FA (#80320) (#80378)
* fix using templated values for include/import role options 'public', 'allow_duplicates', and 'rolespec_validate'

* pass templated values without changing the instance

* Fix templating by setting always_post_validate to True and calling IncludeRole.post_validate() instead

ci_complete

* add changelog

(cherry picked from commit 666188892e)
2023-04-17 09:22:03 -05:00
495d48d51e Ansible.Basic - Improve temporary file cleanup process (#80293) (#80324)
* Ansible.Basic - Improve temporary file cleanup process

* Add comment on struct value used

(cherry picked from commit ba4505f5cb)
2023-04-12 15:09:39 -05:00
7da4a99239 Improve Ansible.Basic.cs tempdir uniqueness (#80328) (#80331)
* 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-12 15:09:19 -05:00
0f1c165196 [stable-2.14] --syntax-check is only applicable to ansible-playbook. Fixes #80506 (#80507) (#80510)
(cherry picked from commit f3774ae)
2023-04-12 15:03:03 -05:00
5d8fa14a7b [stable-2.14] pep517 backend - Use correct import_module import (#80480) (#80502)
(cherry picked from commit e87802cf2c)
2023-04-12 10:25:55 -07:00
4aa682003d Fetch signatures from galaxy after the dependency resolver runs (#80334) (#80398)
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-12 11:22:56 -05:00
c4b33c7ce8 [stable-2.14] ansible-test - Add support for argcomplete 3 (#80482) (#80485)
(cherry picked from commit 0371ea08d6)
2023-04-11 13:31:40 -07:00
fb76b9e8a4 [stable-2.14] ansible-test - Fix packaging change classification (#80360) (#80361)
(cherry picked from commit 5d64024f1a)
2023-03-29 18:49:42 -07:00
6d64021d7b Backportapalooza 03 29 (#80350)
* Update special_variables.rst (#80210)

The usage of a glossary on this page will allow linking to a specific special variable, like on the glossary page, e.g.: https://docs.ansible.com/ansible/latest/reference_appendices/glossary.html#term-Idempotency

(cherry picked from commit 1491ec8019)

* uri: improve force_basic_auth documentation (#80211)

Add more details about what "true" and "false" mean for the
force_basic_auth setting. Give example scenarios when clients may want
to use this setting.

(cherry picked from commit fc8203168e)

* Improve dirname and basename filter doc (#80054)

(cherry picked from commit 93beef053e)

* Move Collection requirements to ansible/ansible (#80234)

(cherry picked from commit cba3952434)

* Add Ansible community 7.4.0 porting guide (#80338)

(cherry picked from commit 29e0a68af2)

* Add antsibull-changelog and antsibull-docs to other tools and programs page. (#80340)

(cherry picked from commit cf44c84396)

---------

Co-authored-by: Benoît Geeraerts <10222438+b-enoit-be@users.noreply.github.com>
Co-authored-by: Ken Dreyer <kdreyer@redhat.com>
Co-authored-by: Daniel Ziegenberg <daniel@ziegenberg.at>
Co-authored-by: Anwesha Das <anwesha@das.community>
Co-authored-by: Felix Fontein <felix@fontein.de>
2023-03-29 14:53:19 -07:00
08297ce0db [2.14] ansible-doc: fix broken seealso links in text output (#80285)
* 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:33 -07:00
17ca4169da [stable-2.14] New upstream release tool (#80179) (#80321)
(cherry picked from commit a6bfa82bd0)
2023-03-27 13:38:20 -07:00
60b0bcbf52 [stable-2.14] Use variable instead of container resource in AZP (#80299) (#80316)
(cherry picked from commit 93d0253292)
2023-03-27 12:42:20 -07:00
a2497af802 Update Ansible release version to v2.14.4.post0. (#80314) 2023-03-27 13:36:37 -05:00
90ba582e3e New release v2.14.4 (#80313) 2023-03-27 12:27:04 -05:00
7bb078bd74 [stable-2.14] Fix url lookup test to use test container (#80284) (#80287)
(cherry picked from commit 054aa92158)
2023-03-23 14:26:29 -07:00
1b981d3fba Update Ansible release version to v2.14.4rc1.post0. (#80266) 2023-03-21 14:06:14 -07:00
fca15bb07e New release v2.14.4rc1 (#80265) 2023-03-21 13:03:39 -07:00
9f723d7123 [stable-2.14] 📦 Switch sdist build-system to pure setuptools (#80255) (#80261)
* [stable-2.14] 📦 Switch sdist build-system to pure setuptools (#80255)

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 will make sure not to modify the current
source checkout on that first build.

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

Co-authored-by: Sviatoslav Sydorenko <webknjaz@redhat.com>

* Make PEP 517 mutation tests use pinned old setuptools (#80262)

* Pin setuptools to lowest supported @ PEP 517 test

This allows catching the behavior of builds under old setuptools.

* Stop invoking `setup.py install` in tests

This is not the part we care about since it involves dealing with the
external runtime dependencies rather than building our source
distribution.

(cherry picked from commit eebfd71a6d)

---------

Co-authored-by: Sviatoslav Sydorenko <webknjaz@redhat.com>
2023-03-21 09:20:30 -07:00
1f48032437 [stable-2.14] Make isolated source changes @ PEP 517 backend (#80253)
(cherry picked from commit 888abf5d6e)

Co-authored-by: Sviatoslav Sydorenko <webknjaz@redhat.com>
2023-03-20 12:07:55 -07:00
ddbad58428 Use FAs with inheritance only when applicable (#80026) (#80076)
... and set default value of an attribute on an object
only in NonInheritableFA.

Fixes #79777

ci_complete

(cherry picked from commit 6c3d2a4e51)
2023-03-20 11:55:58 -05:00
dcad473afc Avoid redundant unsafe wrapping in ansible_eval_concat (#80143) (#80162)
The wrap_var is done in do_template for all concat functions after their
return.

(cherry picked from commit 694f12d01b)
2023-03-20 11:55:27 -05:00
1d3800a8d7 copy - fix check mode with remote_src=True (#78624) (#80176)
* Don't create dest directory in check mode

uncomment existing test

Fix checking for file attribute changes in check mode and add a test

(cherry picked from commit b7a0e0d792)
2023-03-20 11:55:15 -05:00
28c9d93fe0 ansible-galaxy role info - fix unhandled AttributeError (#80187)
* catch GalaxyError instead of its base class to ensure it will have a http_error attribute

(cherry picked from commit 6165dfea40)
2023-03-20 11:54:57 -05:00
24f40b44ae Backportapalooza 03 16 (#80246)
* improve doc dependency install steps (#80120)

(cherry picked from commit 352010f9c3)

* docs: automatic `always` tag in gather_facts (#80052)

(cherry picked from commit 3216e071c7)

* docsite requirements path (#80134)

(cherry picked from commit 1055803c3a)

* Adjust release schedule docs to four weeks (#80166)

(cherry picked from commit 7ce951ff48)

* Fix spelling and grammar in subelements filter doc (#80137)

(cherry picked from commit 12c1891ce6)

* Fixed typo (#80184)

`uvault` should be `unvault`

(cherry picked from commit cb2180e286)

* Document debugging conditionals (#80239)

##### SUMMARY
Add a section to the docs describing how to debug conditional statements - how to get Ansible to show you whether your `when:` clause evaluates to `true` or `false`.

I ran into trouble with this and couldn't find anything in the docs. Thought I'd add it.

##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr

(cherry picked from commit 507fd1bd60)

* Update connection.rst (#80194)

(cherry picked from commit 0937cc4862)

---------

Co-authored-by: Don Naro <dnaro@redhat.com>
Co-authored-by: Jairo Llopis <973709+yajo@users.noreply.github.com>
Co-authored-by: Kristian Heljas <11139388+kristianheljas@users.noreply.github.com>
Co-authored-by: Zachary Peschke <8718570+zpeschke@users.noreply.github.com>
Co-authored-by: Harmdhast <pandemonium.harmdhast@gmail.com>
Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
Co-authored-by: Esther Christopher <estheradamuchris@gmail.com>
2023-03-17 08:13:22 -07:00
913db09fbb [backport-2.14] 🎨 Convert RST to manpage in-memory @ PEP 517 (#80237)
* Add _convert_rst_in_template_to_manpage arg types

* 📦 Make manpage build dependencies conditional

Previously, said dependencies were declared as unconditionally
required even when manpages not needed to be built. This patch
Makes it so they are only required when needed.

* Correct _generate_rst_in_templates returned type

It was marked as Path before this patch but in fact, it's iterable of
paths.

* 🎨 Convert RST to manpage in-memory @ PEP 517

Previously, the automation was writing a temporary templated RST on
disk and calling a helper CLI script on that. But with this change, it
happens with less unnecessary I/O.

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

* 📦Expose sdist manpage build deps unconditionally

Due to a bug in pypa/build, the `get_requires_for_build_sdist()` hook
is always invoked with `config_settings=None`. This means that we
cannot conditionally extend build requirements in said hook.

As a workaround, this patch makes hook pretend that `--built-manpages`
is always passed.

Ref: https://github.com/pypa/build/issues/559.

---------

Co-authored-by: Matt Davis <6775756+nitzmahone@users.noreply.github.com>
(cherry picked from commit 67bafafbc0)

This is a backport of #80098.
2023-03-15 14:48:43 -07:00
86ebd55a3c [stable-2.14] 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:14 -07:00
4461de15de [stable-2.14] 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:47:58 -07:00
bea9a2acf7 [stable-2.14] ansible-test - Remove pointless comparison (#80168)
(cherry picked from commit 31658031ed)

Co-authored-by: Matt Clay <matt@mystile.com>
2023-03-14 17:47:48 -07:00
4a3f5b7167 [stable-2.14] 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:47:37 -07:00
7b21457d58 [stable-2.14] 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:47:26 -07:00
b1199e6a46 [stable-2.14] 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:47:16 -07:00
d36f52614d [stable-2.14] ansible-test - Improve code formatting (#79983) (#80206)
* ansible-test - Add blank lines after docstrings

* ansible-test - Preserve formatting of arg pairs

* ansible-test - Remove unused string

* ansible-test - Remove pointless dict() usage

* ansible-test - Clean up initial func arg indenting

* ansible-test - Clean up constructor arg indenting

* ansible-test - Clean up func arg wrapping

* ansible-test - Clean up comma and paren placement
(cherry picked from commit 715ab99462)
2023-03-13 18:23:04 -07:00
ff91a95ef1 [stable-2.14] ansible-test - Fix file permissions for delegation (#80203)
* [stable-2.14] 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 c8c1402)

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-13 17:47:29 -07:00
57cd9447fe Updating Japanese translation (#80161) 2023-03-10 11:24:56 -08:00
bfc26f55cc [backport-2.14] 📦 Integrate manpage builds into PEP 517 build backend (#80129)
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 the process of building a source distribution.
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.

PR #79606

Co-authored-by: Matt Clay <matt@mystile.com>
(cherry picked from commit 56036013cd)
2023-03-07 13:35:11 -08:00
6be77608c6 [stable-2.14] ansible-test - Fix pylint error with old home dir (#80151) (#80152)
* [stable-2.14] 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:47 -08:00
d8d2005096 [stable-2.14] Fix MANIFEST.in includes (#80147) (#80148)
(cherry picked from commit 7c62cdeecd)
2023-03-06 15:59:02 -08:00
162345a77a Backportapalooza 03 02 (#80127)
* Add Steampunk Spotter to Other tools list (#80006)

(cherry picked from commit 122de95d85)

* Clarify combine filter examples (#80078)

(cherry picked from commit 39fd899d83)

* Add Ansible community 7.3.0 porting guide (#80106)

(cherry picked from commit dbcaab1012)

* Clarify when plugin settings are being populated (#79710)

(cherry picked from commit 998b5c1a06)

* Update playbooks_tests.rst (#79788)

(cherry picked from commit ed879954f9)

* consistent booleans for page text and code blocks (#80036)

* consistent booleans for page text and code blocks

* Update check_mode from n to false

(cherry picked from commit 940fdf5dba)

* Update collection_integration_updating.rst (#80037)

(cherry picked from commit ce5471fc9f)

* package_facts requires python-rpm on SUSE systems in ansible 2.12.1 (#80041)

(cherry picked from commit 43aa47c2af)

* fix: jinja complex type transforms doesn't work as documented (#80067)

jinja complex type transforms: dict(somelist| slice(2)) doesn't work as documented. Changed the example to use zip_longest

(cherry picked from commit 5ad77fc7bb)

* Docs: Clarify note on tags (#80079)

The current wording could be read as "tasks that are tagged *both* configuration and packages" while in fact it is "tasks that are tagged *either* configuration *or* packages"

(cherry picked from commit 563833d124)

* Fix typo docs in playbooks_tags.rst (#80117)

(cherry picked from commit c8f740cfee)

* Encourage true/false for module documentation (#80060)

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

* fix link for development guidelines (#80055)

(cherry picked from commit 012393e2cd)

* improve password lookup syntax in examples (#80092)

(cherry picked from commit 809727a7c7)

* Fixing typos (#80045)

(cherry picked from commit 841b71c94f)

* clarify  playbook tests (#80073)

(cherry picked from commit 0521184337)

* Update playbooks_conditionals.rst (#80062)

"changed" was missing from the docs

(cherry picked from commit cc8e6d06d0)

---------

Co-authored-by: Anže Luzar <aluzarwork@gmail.com>
Co-authored-by: Klaus Frank <agowa338@users.noreply.github.com>
Co-authored-by: Anwesha Das <anwesha@das.community>
Co-authored-by: nkakouros <tterranigma@gmail.com>
Co-authored-by: Gijikiki <61326640+Gijikiki@users.noreply.github.com>
Co-authored-by: Aastha Varma <aastha.code@gmail.com>
Co-authored-by: Player256 <92082372+Player256@users.noreply.github.com>
Co-authored-by: Desmond Obisi <51109125+DesmondSanctity@users.noreply.github.com>
Co-authored-by: Raphael Michel <mail@raphaelmichel.de>
Co-authored-by: Nicolas P <0kyn.dev@gmail.com>
Co-authored-by: Kristian Heljas <11139388+kristianheljas@users.noreply.github.com>
Co-authored-by: Akira Yokochi <akira6592@gmail.com>
Co-authored-by: Andreas Deininger <andreas@deininger.net>
Co-authored-by: Keeper-of-the-Keys <es.rosenberg+github@gmail.com>
2023-03-03 10:46:43 -08:00
0c2dd3eed3 [stable-2.14] Do not use hardcoded httpbin.org in uri tests (#80101) (#80102)
(cherry picked from commit 060a27f)
2023-02-28 14:59:01 -06:00
1c1f3171bb Update Ansible release version to v2.14.3.post0. (#80100) 2023-02-27 19:15:35 -05:00
893d01b5c6 New release v2.14.3 (#80083) 2023-02-27 10:00:30 -05:00
88a7738127 Update Ansible release version to v2.14.3rc1.post0. (#80044) 2023-02-20 11:57:00 -05:00
ce6ed1653f New release v2.14.3rc1 (#80029) 2023-02-20 09:59:28 -05:00
da131ec48b Backportapalooza 02 16 (#80019)
* fixes typo in Ansible 7 roadmap (#79996)

Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
(cherry picked from commit 75274021d3)

* update banner' (#79971)

(cherry picked from commit f841c2803a)

---------

Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
2023-02-16 17:11:03 -06:00
58d66a7568 strategy fix invalid variables being registered (#79706) (#79818)
also added tests for normal and bad cases

(cherry picked from commit 281474e809)
2023-02-16 10:38:52 -06:00
02d9336b32 Make using blocks as handlers a parser error (#79993) (#80010)
Fixes #79968

(cherry picked from commit bd329dc543)
2023-02-16 09:30:23 -06:00
a082726ef2 [2.14] don't ignore templated _raw_params that k=v parser failed to parse (#79913) (#79964)
* don't ignore templated _raw_params that k=v parser failed to parse (#79913)

fixes #79862

(cherry picked from commit e1d298ed61)

* backport test change to runme.sh
2023-02-15 13:34:47 -06:00
c0395c486a fix installing collections from git repos that contain MANIFEST.json (#79808) (#79826)
* add null 'manifest' key to metadata for git repo collections containing MANIFEST.json

changelog

* set to Sentinel instead of None

* Test installing a collection in a git repo that contains a MANIFEST.json

* fix test

* Update changelogs/fragments/ansible-galaxy-install-git-src-manifest.yml

(cherry picked from commit 321848e98d)
2023-02-15 13:33:05 -06:00
65366f663d Fix conditionally notified include handlers (#79804) (#79807)
Fixes #79776

(cherry picked from commit 10eda5801a)
2023-02-15 13:32:48 -06:00
b2f362e6f1 [stable-2.14] 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:09 -08:00
ea9db2b441 Backportapalooza 02 09 (#79962)
* make this a warning, not a comment (#79928)

Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
(cherry picked from commit 5f947f867c)

* Update example to always init ANOTHER_LIBRARY_IMPORT_ERROR (#79927)

(cherry picked from commit 24519f3bd1)

* Rst fixes (#79939)

* fix rstcheck errors for 6.1.1
* spell shell correctly

(cherry picked from commit dc99005820)

* Update dnf.py (#79679)

(cherry picked from commit 0ab53aefc9)

* Change `yes` to `true` in uri-module (#79934)

(cherry picked from commit b5ff981369)

---------

Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
Co-authored-by: Matt Martz <matt@sivel.net>
Co-authored-by: Bartłomiej Kida <wireboot@gmail.com>
Co-authored-by: Sebastian Gumprich <rndmh3ro@users.noreply.github.com>
2023-02-10 17:18:02 -08:00
9e507faea5 [stable-2.14] ansible-test - Clean up indentation and spaces (#79980) (#79982)
(cherry picked from commit 58d84933fc)
2023-02-10 16:11:18 -08:00
8740fbd7cb Bump acme test container. (#79783) (#79816)
(cherry picked from commit 5fb8bc3ddb)
2023-02-10 14:58:09 -08:00
4fe7aae21d [stable-2.14] ansible-test - Specify config path in plugin error (#79881) (#79977)
(cherry picked from commit d48d1c23df)
2023-02-10 14:56:46 -08:00
7027806a77 [stable-2.14] ansible-test - Fix various type hinting issues. (#79798) (#79976)
* ansible-test - Add missing type hints.

* ansible-test - Remove redundant type hints.

* ansible-test - Fix return type annotations.

* ansible-test - Add assert, casts to assist mypy.

* ansible-test - Fix incorrect type hints.

* ansible-test - Remove no-op code.

* ansible-test - Fix incorrect types.

* ansible-test - Fix method signature mismatch.

(cherry picked from commit c9f20aedc0)
2023-02-10 14:56:16 -08:00
6d53f61f9e [stable-2.14] ansible-test - Remove obsolete DirectoryTarget. (#79975)
This code has been unused since at least the 2.9 release.

(cherry picked from commit 5f58015527)
2023-02-10 14:55:56 -08:00
6adea5fa5c [stable-2.14] ansible-test - fix warning to include image name (#79560) (#79973)
(cherry picked from commit 0a12d8a5bc)

Co-authored-by: Martin Krizek <martin.krizek@gmail.com>
2023-02-10 14:55:24 -08:00
50b6d3515c [stable-2.14] ansible-test - Avoid direct use of errno. (#79972)
Error handling on Python 3.x no longer requires the use of `errno` to identify specific errors.

(cherry picked from commit f9715f436c)
2023-02-10 14:54:59 -08:00
05ec8b6808 [stable-2.14] Ansible.Basic.cs - Fix compile error on PS 7.3.x (#79848) (#79850)
(cherry picked from commit 83fe75db07)
2023-02-02 16:24:06 -08:00
efe09ab86e [stable-2.14] Remove outdated note on relative imports in docs (#79873) (#79875)
(cherry picked from commit 58461bc204)
2023-02-02 16:08:36 -08:00
2420ff280b Backportapalooza 02 02 (#79890)
* [Docs] add easyfix/good first issue/docs links (#79830)

(cherry picked from commit 722fc05c31)

* [Docs] add doc links to documentation_contributions.rst (#79840)

(cherry picked from commit 58f0950638)

* Remove dev_guide stubs (#79795)

* Remove dev_guide stubs

* Remove Cisco ACI Dev Guide

(cherry picked from commit 10f0e5f6d4)

* maintainers_guidelines.rst: add a link to collection release guidelines (#79859)

(cherry picked from commit fa382670dc)

* Mentions 'meta: flush_handlers' task (#79542)

(cherry picked from commit d8dc76e134)

* Description for changing User ID to match user value (#79470)

(cherry picked from commit 913e4863af)

* Remove irrelevant line (#79865)

Remove irrelevant comment line form example code

(cherry picked from commit 1c01eab3fb)

---------

Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
Co-authored-by: Mario Lenz <m@riolenz.de>
Co-authored-by: Andrew Klychkov <aklychko@redhat.com>
Co-authored-by: JaroslavKlech <klechh@gmail.com>
Co-authored-by: Tabah Baridule M <dulemartins07@gmail.com>
Co-authored-by: Konrad Gawda <konrad.gawda.opensource@gmail.com>
2023-02-02 16:08:14 -08:00
6daf33b571 Docs Backportapalooza 01 26 (#79828)
* fix filename for sidecar docs (#79779)

(cherry picked from commit f2707d1fbc)

* correct examples to use removed_from_collection not collection_name (#79803)

(cherry picked from commit 7ab3de7ee8)

* Fix: documentation for per-task timeout (#79715)

(cherry picked from commit 48e6bf8d27)

* [Docs] maintainers_guidelines: add WG and real-time chat request info (#79750)

(cherry picked from commit 6cb6d655b3)

* doc fix for platform content #79794 (#79801)

(cherry picked from commit d7a4152851)

* Expand docs for the import sanity test. (#79768)

* Expand docs for the import sanity test.

* Remove note about Python 2.7 compat.

It should not be needed since there is a sanity test to enforce use of `__metaclass__ = type`.

* Improve introductory paragraph.

* Fix link typo.

(cherry picked from commit 2164d5699c)

* docs: Extend password entry of ansible.builtin.user (#79694)

* docs: Extend password entry of ansible.builtin.user

Clarify that `password` sets the password hash.
Not the actual password.
Fixes part of  #79684

(cherry picked from commit 6cd1a1404a)

* Update dev_guide.rst (#79625)

(cherry picked from commit 65eb5c0a9f)

* Improve documentation on requirements.yml (#76140)

Makes it clear that user can use range identifiers with collection
versions inside requirements.yml files.

(cherry picked from commit 44dcfde9b8)

---------

Co-authored-by: Evgeni Golov <evgeni@golov.de>
Co-authored-by: Jo <jo@swagspace.org>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
Co-authored-by: prasadpatil49 <51715670+prasadpatil49@users.noreply.github.com>
Co-authored-by: Matt Clay <matt@mystile.com>
Co-authored-by: Hofer-Julian <30049909+Hofer-Julian@users.noreply.github.com>
Co-authored-by: Jens Timmerman <github@caret.be>
Co-authored-by: Sorin Sbarnea <ssbarnea@redhat.com>
2023-01-31 14:31:02 -08:00
6aea337150 Add Ansible community 7.2.0 porting guide (#79867) (#79868)
(cherry picked from commit 9d42447fa5)

Co-authored-by: Christian Adams <chadams@redhat.com>
2023-01-31 14:29:43 -08:00
964d1f0852 Update Ansible release version to v2.14.2.post0. (#79845) 2023-01-30 13:11:51 -05:00
ad9867ca5e New release v2.14.2 (#79843) 2023-01-30 10:54:22 -05:00
d42313bb60 Update Ansible release version to v2.14.2rc1.post0. (#79792) 2023-01-23 13:54:17 -05:00
66c6fdefa6 New release v2.14.2rc1 (#79789) 2023-01-23 12:13:18 -05:00
83db3015e9 Fix traceback in template action with ANSIBLE_DEBUG=1 (#79764) (#79775)
Fixes #79763

(cherry picked from commit 4f5ed24972)
2023-01-23 09:42:38 -06:00
a7aeb61c03 Backportapalooza 01 19 (#79771)
* Update authentication.rst (#79623)

(cherry picked from commit e7af7532bd)

* Fix typo (#79641)

(cherry picked from commit 8e7cc371be)

* correct the mistake of example repeat_original (#79659)

there is a little mistake

##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr

(cherry picked from commit 6f8c1da0c8)

* switched reference from katacoda to instruqt (#79698)

(cherry picked from commit 0fc932fda0)

* contributor_path: fix typos (#79678)

(cherry picked from commit fe7d488a1b)

* Fix broken reference to FAQ (#79621)

(cherry picked from commit 602824db1d)

* Docsite: add Security Automation Working Group to Communication guide (#79692)

(cherry picked from commit 65efa4b97f)

* Docsite: remove dead Lockdown Working Group from Communication guide (#79693)

(cherry picked from commit 55f9d7f71f)

* Fix `undef()` example to a valid Jinja template (#79701)

(cherry picked from commit e41d2874a6)

* Truthy value should be one of false or true (#79730)

Otherwise ansible-lint complains: https://yamllint.readthedocs.io/en/stable/rules.html#module-yamllint.rules.truthy

(cherry picked from commit b756a08d89)

* Fix regex filter docs (#79736)

* Fix notes in regex_replace doc

The documentation says that this maps to 'regex.replace' when it should say 're.replace'. The distinction is important because of the third-party 'regex' module that has more features than the built-in 're' module. https://pypi.org/project/regex/

* Fix notes in re.search docs

The documentation says that this maps to 'regex.search' when it should say 're.search'. The distinction is important because of the third-party 'regex' module that has more features than the built-in 're' module. https://pypi.org/project/regex/

(cherry picked from commit cf50d8131f)

* complex_data_manipulation.rst: fix typo (#79758)

(cherry picked from commit b5b7f9bce2)

* Fix broken link for inventory script examples (#79762)

These scripts were removed from community.general in https://github.com/ansible-collections/community.general/pull/2696 and moved to ansible-community/contrib-scripts per https://github.com/ansible-community/community-topics/issues/16#issuecomment-853317111

(cherry picked from commit 97993eeb10)

* communication.rst: improve (#79751)

(cherry picked from commit 11a27eefa2)

* Fix broken docs links. (#79769)

(cherry picked from commit 5d71ace583)

Co-authored-by: Gineesh Madapparambath <net.gini@gmail.com>
Co-authored-by: Kristopher Henry Kram <kristopher@kristopherkram.com>
Co-authored-by: evangelionlion <546620084@qq.com>
Co-authored-by: Deric Crago <deric.crago@gmail.com>
Co-authored-by: Andrew Klychkov <aklychko@redhat.com>
Co-authored-by: Rune Juhl Jacobsen <rune@juhljacobsen.dk>
Co-authored-by: Kristian Heljas <11139388+kristianheljas@users.noreply.github.com>
Co-authored-by: Hofer-Julian <30049909+Hofer-Julian@users.noreply.github.com>
Co-authored-by: antonc42 <antonc42@users.noreply.github.com>
Co-authored-by: Kenyon Ralph <kenyon@kenyonralph.com>
Co-authored-by: Matt Clay <matt@mystile.com>
2023-01-19 15:58:23 -08:00
b96adb8602 document adjacent docs (sidecar) (#79056) (#79772)
* Update docs/docsite/rst/dev_guide/developing_locally.rst
Co-authored-by: Don Naro <dnaro@redhat.com>

(cherry picked from commit 8b032150a4)

Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>
2023-01-19 15:57:09 -08:00
522bdb8358 Argument spec alias handling: actually report deprecated aliases in suboptions, and fix warning message in suboptions when two aliases of the same option are used (#79740) (#79770)
* Normalize deprecation records.

* Fix alias deprecations in suboptions.

* Report in which option an alias warning happened for suboptions.

* Add deprecation tests for suboptions.

* Also test deprecation in list of dicts.

* Adjust unit tests for toplevel alias deprecation field name change.

(cherry picked from commit 8a7185c224)
2023-01-19 14:15:55 -08:00
cde91027e8 filter/test plugin listing, fix bug on file sorting (#79591) (#79605)
* filter/test plugin listing, fix bug on file sorting

avoid legacy/builtin special casing for 'all'

(cherry picked from commit b7e948e623)
2023-01-19 14:21:56 -06:00
165557df11 [2.14] fix role argument spec error for invalid suboptions & fix reporting of deprecated arguments for modules (#79738)
* fix role argument spec error for invalid suboptions (#76578)

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

(cherry picked from commit b5b239fd71)

* Fix reporting of deprecated arguments for modules. (#79681)

(cherry picked from commit 1a47a21b65)

Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
2023-01-19 14:21:41 -06:00
014a1a5715 [stable-2.14] Ensure we are passing ciphers to all url_get calls (#79718) (#79727)
* Ensure we are passing ciphers to all url_get calls. Fixes #79717

* Add clog frag

* Fix tests
(cherry picked from commit 2143bcd)

Co-authored-by: Matt Martz <matt@sivel.net>
2023-01-18 16:23:19 -06:00
a8642ef1b0 [stable-2.14] Better json content type detection for uri (#79719) (#79726)
* Better json content type detection for uri

* typo
(cherry picked from commit 74cdffe)

Co-authored-by: Matt Martz <matt@sivel.net>
2023-01-18 16:23:09 -06:00
c83669a83e ansible-galaxy - fix turning off the ConcreteArtifactManager's validate certs at the global level (#79561) (#79696)
Fix ignoring certs when downloading tarballs

Fix ignoring certs when downloading a collection from a specific source that isn't in the configured servers list

(cherry picked from commit acbf4cc60e)
2023-01-18 16:22:49 -06:00
c297ee9b5d Correctly count rescued tasks in play stats (#79724) (#79728)
Fixes #79711

ci_complete

(cherry picked from commit e38b3e64fd)
2023-01-18 16:22:34 -06:00
3a21caa217 Backportapalooza 12 15 (#79607)
* Add big support table (#79221)

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

* Add example of yaml file with --extra-vars (#79521)

(cherry picked from commit aa268b8db2)

* Fix `:ref:` usage in testing docs. (#79566)

(cherry picked from commit 245d516911)

* Typo in playbooks_blocks.rst (#79603)

(cherry picked from commit 69c874f478)

Co-authored-by: Matt Martz <matt@sivel.net>
Co-authored-by: Michael Mayer <mjmayer@ucdavis.edu>
Co-authored-by: Matt Clay <matt@mystile.com>
Co-authored-by: Peter Tripp <petertripp@gmail.com>
2023-01-18 15:33:21 -06:00
34ae99b516 Document callback types in documentation (#79651) (#79653)
(cherry picked from commit 51bddd862b)
2023-01-18 15:33:06 -06:00
8e9834fde5 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:15 -08:00
a398724a31 [stable-2.14] validate-modules: don't fail on invalid YAML (#79682)
* validate-modules: don't fail on invalid YAML

When validate-modules encounters invalid YAML (e.g. in the EXAMPLES
section), it tries to reformat the exception to include the line number
in the Python file instead of the line number of the embedded YAML
document. However, PyYAML doesn't allow modification of the Mark object
(anymore) which leads to a new exception being raised, instead of
reporting the original exception.

As the original exception is not needed in other places anymore, we
don't have to modify it at all and can just compute the right line
number when reporting the error via ansible-test.

Fixes: #75837

* Add test for invalid module doc YAML syntax.

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

Co-authored-by: Evgeni Golov <evgeni@golov.de>
2023-01-06 15:31:30 -08:00
4ff76ffe21 [stable-2.14] Fix link in compile sanity test docs.
(cherry picked from commit eae02bf5b8)

Co-authored-by: Matt Clay <matt@mystile.com>
2023-01-04 19:07:36 -08:00
b6ded6209e [stable-2.14] 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:49 -08:00
acc8c3ccf8 [stable-2.14] 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:14 -08:00
6a07424b36 [stable-2.14] 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:00 -08:00
6ebb1324d4 [stable-2.14] 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:22 -08:00
66889d8a7f Backportapaloosa 12 08 (#79565)
* Add Ansible community 6.7.0 porting guide (#79544)

(cherry picked from commit 3cdf589ca7)

* Fix hardcoded python call (#79520)

Co-authored-by: Lee Garrett <lgarrett@rocketjump.eu>
(cherry picked from commit 3fd519de57)

* Update windows_faq.rst (#79552)

`python-pip` changes to `python3-pip` for the Ubuntu 20.04 WSL distro

(cherry picked from commit 527abba860)

* Add Ansible community 7.1.0 porting guide (#79553)

(cherry picked from commit b1caba8b53)

* fixed misleading setup example (#79495)

(cherry picked from commit bc13099e56)

* Update docs for the `compile` sanity test. (#79562)

(cherry picked from commit 932a32153a)

* Remove obsolete legacy integration test docs. (#79563)

(cherry picked from commit 0f4afd7e6d)

* fix: broken link (#79461)

(cherry picked from commit 6a7fb7d2ab)

Co-authored-by: Anwesha Das <anwesha@das.community>
Co-authored-by: Lee Garrett <leegarrett@users.noreply.github.com>
Co-authored-by: Raymond Yee <raymond.yee@gmail.com>
Co-authored-by: Christian Adams <chadams@redhat.com>
Co-authored-by: zitatorocsik <zita.torocsik@gmail.com>
Co-authored-by: Matt Clay <matt@mystile.com>
Co-authored-by: Thomas Poindessous <thomas@poindessous.com>
2022-12-14 11:18:41 -06:00
240156ff67 [stable-2.14] 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:21 -08:00
578c96b854 [stable-2.14] 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:01 -08:00
5685f06189 Set explicit meta long_description_content_type (#79468) (#79486)
This is necessary for `twine check --strict` to pass.

(cherry picked from commit 80551633c7)
2022-12-06 14:25:59 -08:00
066054f1f2 [stable-2.14] Fix file touch check mode result (#79360) (#79422) (#79525)
* 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:11:54 -08:00
d40213c32c Removed sorting to preserve original order (#74839) (#79517)
updated tests to reflect new order

(cherry picked from commit 5b51b560d0)
2022-12-06 14:10:31 -08:00
fc2670772a local connection: avoid tb when running in container with invalid user (#79414) (#79503)
* local connection: avoid tb when running in container with invalid user

* clog

* cannot use uid, leave empty and ~/ will resolve itself

* get back to what it did

(cherry picked from commit 5f3a6b78db)
2022-12-06 14:09:46 -08:00
5e2806b502 [stable-2.14] ansible-test - Fix completion error in Python 3.11. (#79500)
(cherry picked from commit 38fe342)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-12-06 14:08:53 -08:00
022202056e [backport][2.14][PRs #78402 #79289] Enable the reboot integration test in CI (#79490)
* 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:07:20 -08:00
7337dc978a rejectlist backportable fix (#79418) 2022-12-06 14:04:35 -08:00
3ae796bdcf [stable-2.14] ansible-test - Improve container management. (#78550) (#79507)
* [stable-2.14] ansible-test - Improve container management. (#78550)

See changelogs/fragments/ansible-test-container-management.yml for details..
(cherry picked from commit cda16cc5e9)

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

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

(cherry picked from commit 80d2f8da02)
2022-12-06 14:03:34 -08:00
eb940d5ec6 Docs: Update intersphinx links for Ansible 7 (#79485) (#79515)
(cherry picked from commit 042a55fbe0)

Co-authored-by: Don Naro <dnaro@redhat.com>
2022-12-06 14:01:20 -08:00
53da28da6a Backportapalooza 12 01 (#79514)
* docs - make the existence of 'trivial' changelog entries easier to find (#79440)

(cherry picked from commit 3cc95d1f12)

* Add comma (#79480)

(cherry picked from commit 3a6b6370ad)

* Fix lists styling (#79481)

(cherry picked from commit 3723c426d2)

* add ansible-galaxy cli documentation for parallel execution (#79433)

* add ansible-galaxy cli documentation for parallel execution

Co-authored-by: saranti <tsarantis@proton.me>

* Update lib/ansible/cli/galaxy.py

* Update lib/ansible/cli/galaxy.py

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

Co-authored-by: saranti <tsarantis@proton.me>
Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
(cherry picked from commit 01ff57bdff)

Co-authored-by: Mark Chappell <mchappel@redhat.com>
Co-authored-by: Waleed Mortaja <27075022+WaleedMortaja@users.noreply.github.com>
Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
2022-12-06 14:00:27 -08:00
8befa158d1 Update Ansible release version to v2.14.1.post0. (#79551) 2022-12-06 16:53:23 -05:00
ed924d6493 New release v2.14.1 (#79550) 2022-12-06 15:24:59 -05:00
047affbdc5 Prevent stdio deadlock in forked children (#79522) (#79539)
* background threads writing to stdout/stderr can cause children to deadlock if a thread in the parent holds the internal lock on the BufferedWriter wrapper
* prevent writes to std handles during fork by monkeypatching stdout/stderr during display startup to require a mutex lock with fork(); this ensures no background threads can hold the lock during a fork operation
* add integration test that fails reliably on Linux without this fix

(cherry picked from commit 1424484be0)
2022-12-06 08:30:35 -08:00
f240f69508 [stable-2.14] Handle line wraps in jinja_plugins test.
(cherry picked from commit 31f95e201a)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-12-05 13:51:26 -08:00
3bcb4f267d [stable-2.14] 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:31 -08:00
ab661160cb Update Ansible release version to v2.14.1rc1.post0. (#79493) 2022-11-28 16:32:20 -05:00
28fe140ac9 New release v2.14.1rc1 (#79476) 2022-11-28 20:01:16 +01:00
713f5c5ae8 [stable-2.14] 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:55:59 -08:00
33717f3596 Add Ansible community 7.0.0 porting guide (#79448) (#79449)
(cherry picked from commit 6ea058315f)

Co-authored-by: Christian Adams <chadams@redhat.com>
2022-11-22 14:24:30 -08:00
c21f3569fc issue #79378 change devel for ansible 7 (#79402) 2022-11-22 13:39:22 -08:00
e8093275e7 Docs: Updating the Ansible community changelogs (#79400) (#79446)
(cherry picked from commit 32c90080e4)

Co-authored-by: Don Naro <dnaro@redhat.com>
2022-11-22 13:39:03 -08:00
f9ea06f9d1 issue #79378 html context in sphinx conf (#79401) (#79447)
(cherry picked from commit e5399c95d5)

Co-authored-by: Don Naro <dnaro@redhat.com>
2022-11-22 13:38:37 -08:00
035ce0a29b WinRM - Add doc entry for cert auth over TLS 1.3 (#79434) (#79435)
(cherry picked from commit 493ef4a559)
2022-11-21 15:04:07 -06:00
548248604d Backportapalooza 11 18 (#79416)
* communication.rst: Add IRC channel to Storage WG info (#79374)

(cherry picked from commit 66cc952b49)

* [DOCS] collection_release_with_branches.rst: update major releases section (#79335)

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Don Naro <dnaro@redhat.com>
(cherry picked from commit 6baf25a048)

* Update pull.py (#79387)

(cherry picked from commit b7ea661807)

* iss#55935: Documents missing internal parameters and polishes 'Intern… (#79118)

Co-authored-by: Jaroslav Klech <jklech@redhat.com>
Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
(cherry picked from commit 3ae2f97d4a)

* Clarify that b64decode does not work with binary output (#79294)

(cherry picked from commit f089aae5ee)

* Update fileglob.py (#78887)

Improve documentation for relative file paths

(cherry picked from commit 6cec31574f)

* consolidate duplicated test files (#79380)

(cherry picked from commit a954918b60)

* communication.rst: add AAP Config As Code WG (#79365)

(cherry picked from commit 35db7df9ce)

Co-authored-by: Andrew Klychkov <aklychko@redhat.com>
Co-authored-by: saranti <tsarantis@proton.me>
Co-authored-by: JaroslavKlech <klechh@gmail.com>
Co-authored-by: Joseph Shraibman <josephks@users.noreply.github.com>
Co-authored-by: seachanged <dll@sonic.net>
2022-11-21 11:39:07 -08:00
fb00aad414 set antsibull-docs to 1.7.3 (#79407) 2022-11-21 09:37:51 -08:00
217eaf1e68 mention acl in permissions errors (#79209) (#79250)
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-11-16 14:37:18 -06:00
c5065264c2 2.14: jinja2_native: preserve quotes in strings (#79119) (#79144)
* jinja2_native: preserve quotes in strings (#79119)

Fixes #79083

(cherry picked from commit d34b578685)

* Fix test for jinja2_native preserve quotes (#79131)

Fixes https://github.com/ansible/ansible/pull/79119#discussion_r993752129

(cherry picked from commit 3a6eca6670)
2022-11-16 14:37:05 -06:00
59f3c0238b [2.14] ansible-galaxy - fix unnecessary api check when installing role (#79142)
* 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 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-11-16 14:36:49 -06:00
ffcdcef21c copy, avoid moving non temp remote 'non' files (#79102) (#79154)
* copy, avoid moving non temp remote files that are not dirs/files
fix tests

(cherry picked from commit f66016df0e)
2022-11-16 12:37:15 -06:00
9fdc12cbe9 Add Ansible community 7.0.0rc1 porting guide (#79382) (#79383)
(cherry picked from commit 5c0b4a3798)

Co-authored-by: Christian Adams <chadams@redhat.com>
2022-11-16 12:19:12 -06:00
7b951e610c Replace _valid_attrs with fattributes (#79376) (#79385)
It was missed in one place it seems.

(cherry picked from commit 6059116a64)

Co-authored-by: Rabi Mishra <ramishra@redhat.com>
2022-11-16 12:18:56 -06:00
a46b18e68f Backportapalooza 11 10 (#79361)
* update backport instructions to 2.14 (#79354)

(cherry picked from commit 183c34db65)

* docfix for ssh_args FAQ (#79308)

(cherry picked from commit f9451dfaf8)

* communication.rst: add Storage WG info (#79359)

(cherry picked from commit 284e642cb9)

* Add note to command_line_tools.rst (#79351)

Documentation fix for #69390

(cherry picked from commit d02f96b78c)

Co-authored-by: prasadpatil49 <51715670+prasadpatil49@users.noreply.github.com>
Co-authored-by: Andrew Klychkov <aklychko@redhat.com>
Co-authored-by: saranti <tsarantis@proton.me>
2022-11-10 15:50:08 -08:00
aa43c17a89 Fix up incorrectly quoted doc example (#79356) (#79357)
(cherry picked from commit e7730f5d6c)
2022-11-10 15:49:18 -08:00
ab8b8ac8e1 Fix typo 'Ansbile'. (#79318) (#79330)
(cherry picked from commit 2a03c8028e)
2022-11-10 15:48:55 -08:00
a3d26de5c4 Add Ansible community 6.6.0 porting guide (#79340) (#79348)
(cherry picked from commit d5e90e1737)

Co-authored-by: Christian Adams <chadams@redhat.com>
2022-11-08 16:39:00 -08:00
4ec3cd5a26 Add Ansible community 7.0.0b1 porting guide (#79341) (#79347)
(cherry picked from commit ef053bbebb)

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

* update latest version

(cherry picked from commit 196084773b)
2022-11-08 16:37:42 -08:00
6068fbddb5 set japanese 2.14 version (#79278) 2022-11-08 16:37:24 -08:00
6f93710d1f set docs version in stable-2.14 (#79275) 2022-11-07 09:17:16 -08:00
175d4becbd update release table with 2.14 details (#79272) (#79324)
(cherry picked from commit 657acfb7af)
2022-11-07 09:16:56 -08:00
4af4347ea0 update version switcher to include 2.14 (#79273) (#79325)
(cherry picked from commit d0b6ce7473)
2022-11-07 09:16:05 -08:00
4085e0163b Update Ansible 7 roadmap (#79307) (#79311)
(cherry picked from commit 852e2d7550)

Co-authored-by: Mario Lenz <m@riolenz.de>
2022-11-07 09:15:30 -08:00
8408b5c11a replace yes/no with true/false in docstrings (#79274) (#79310)
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
(cherry picked from commit bfcb557777)

Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
2022-11-07 09:15:09 -08:00
4b2529afb2 Backportapalooza 10 4 (#79309)
* add ansible 7 porting guide to index page (#79254)

(cherry picked from commit 44f7ca4645)

* communication.rst: add Ansible MySQL WG information (#79269)

(cherry picked from commit 1c80209422)

* #59449: Removes translatable words from code blocks (#79193)

Co-authored-by: Jaroslav Klech <jklech@redhat.com>
(cherry picked from commit 65e725f08f)

* Add more documentation for InventoryData methods (#79288)

* Add more documentation for InventoryData methods

Reword some constructed documention and mention fetch_hostvars

* describe use cases for default strict behavior

Co-Authored-By: Brian Coca <bcoca@users.noreply.github.com>

Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>
(cherry picked from commit a12a9b409f)

* blockinfile - document multiline marker behavior (#79292)

(cherry picked from commit f700047e69)

Co-authored-by: Andrew Klychkov <aklychko@redhat.com>
Co-authored-by: JaroslavKlech <klechh@gmail.com>
Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
2022-11-07 09:13:46 -08:00
583d4ddc64 Update Ansible release version to v2.14.0.post0. (#79322) 2022-11-07 10:51:58 -05:00
520bb66f8a New release v2.14.0 (#79314) 2022-11-07 09:22:26 -05:00
0f3a1d3c82 [2.14] Log runme.sh execution in integration tests (#79282)
* 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:12 -07:00
edbd88d3f1 [stable-2.14] ansible-test - Fix and update documentation links.
(cherry picked from commit 938c0fa944)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-11-03 20:37:58 -07:00
66363dd182 Update Ansible release version to v2.14.0rc2.post0. (#79262) 2022-10-31 16:48:54 +01:00
6fb5f0c8b8 New release v2.14.0rc2 (#79257) 2022-10-31 14:33:03 +01:00
3fc245d3c6 Backportapalooza 10 27 (#79247)
* managed node requirement amend (#79189)

(cherry picked from commit 757efa4a45)

* documentation fix for file module 78988 (#79182)

(cherry picked from commit 465480f755)

* Added link to the Ansible meetup page (#79207)

(cherry picked from commit f3f7d44238)

* add link to fest videos (#79196)

(cherry picked from commit 060f114d8c)

* Docs: Typos and edits in collections integration (#79228)

(cherry picked from commit 74f55db5c6)

* fix url for fest VoD banner (#79229)

(cherry picked from commit 656d01dd24)

* Docs: Typos and edits in collections reviews (#79217)

(cherry picked from commit fa8dc6b73d)

* plugins/lookup/pipe: docs typo fixes (#79222)

(cherry picked from commit 0bacea70c4)

* collection roles dont support plugins (#79243)

(cherry picked from commit 6ee089bc80)

Co-authored-by: prasadpatil49 <51715670+prasadpatil49@users.noreply.github.com>
Co-authored-by: VICTORIA JOHNSON <110999245+DrVickie8@users.noreply.github.com>
Co-authored-by: Goodness Chris-Ugari <goodnesschrisugari@yahoo.com>
Co-authored-by: Kenyon Ralph <kenyon@kenyonralph.com>
Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>
2022-10-28 16:13:54 -07:00
70d1b34a9a contributor_path: misc doc fixes (#79239) 2022-10-27 13:06:58 -05:00
b162c509a9 Communication docs: note that editing Matrix messages causes IRC spam (#79238) (#79242)
(cherry picked from commit bc83da9a1b)
2022-10-27 13:06:45 -05:00
4653d1f4a0 ansible-test - Update default container. 2022-10-26 18:12:12 -07:00
a023813bd1 Bump antsibull-docs version from 1.6.1 to 1.7.0. (#79071) (#79231)
(cherry picked from commit 74b80c3193)

Co-authored-by: Felix Fontein <felix@fontein.de>
2022-10-26 16:23:28 -07:00
8f2b0a50d0 stable docs build: do not use YAML parsing/serialization for .deps files (#79233) (#79234)
* Do not use YAML parsing/serialization for .deps files.

* Prevent crash.

(cherry picked from commit 9545f2e0de)

Co-authored-by: Felix Fontein <felix@fontein.de>
2022-10-26 15:38:52 -07:00
bd085c6ce5 Add Ansible community 7.0.0a2 porting guide (#79219) (#79220)
(cherry picked from commit f02b8fb6f0)

Co-authored-by: Christian Adams <chadams@redhat.com>
2022-10-26 14:07:28 -05:00
df006fb581 contributor_path: fix links (#79137) 2022-10-26 08:29:35 -05:00
7868f4a436 update alpha to next week (#79166) (#79167)
(cherry picked from commit d82d232d07)
2022-10-25 16:27:45 -05:00
45bf720b06 contributor_path: add doc link (#79138) (#79139)
(cherry picked from commit 808f5a0c03)
2022-10-25 16:27:35 -05:00
8d6251af61 Updating Japanese translation (#79205) 2022-10-25 15:39:50 -05:00
795ac8993b Backportapalooza 10 20 (#79180)
* docs: fix typos (#79082)

(cherry picked from commit ad5d9843d6)

* Docs: syntax error in Parsing semi-structured text with Ansible (#79085)

(cherry picked from commit 7d6984618d)

* Added code-block wrappers in implicit_localhost.rst (#79086)

Fixes #79031

(cherry picked from commit 8ecfb7c6d8)

* Misc Typo fixes (#79088)

(cherry picked from commit a48c442275)

* Add code-block wrappers to code examples in playbooks_filters.rst (#79093)

Fixes #79029

(cherry picked from commit dfef3260a5)

* Apply minor formatting changes to "playbooks directory" section (#79092)

(cherry picked from commit 1286b7d42e)

* Made changes to notes on #L9 and #L21 (#79173)

(cherry picked from commit d6c268378f)

* Update communication.rst (#79172)

grammar fixes

(cherry picked from commit 1a6cfa8203)

* Update contributor_path.rst (#79170)

grammar fixes

(cherry picked from commit 64d5c6cc3a)

* Update overview_architecture.rst (#79161)

Add missing right parenthesis

(cherry picked from commit 89af4e6e31)

* Added the emphasize changelog (#79160)

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

* minor changes in documentation (#79114)

(cherry picked from commit cc3abae532)

* Setting indentation correctly in the Example section (#79072)

(cherry picked from commit 1182059d46)

* docs: cgroupsv1 is required for ansible-test with docker (#79066)

(cherry picked from commit ae38628404)

* Change occurance yes/no to true/false (#79035)

(cherry picked from commit 551f5a3753)

Co-authored-by: KIDANI Akito <a.kid.1985@gmail.com>
Co-authored-by: taso <74918216+tasoint@users.noreply.github.com>
Co-authored-by: 12-malak <73274076+12-malak@users.noreply.github.com>
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
Co-authored-by: Sharif Nassar <mrwacky42@users.noreply.github.com>
Co-authored-by: NitrogenPointBlue <110332643+NitrogenPointBlue@users.noreply.github.com>
Co-authored-by: Aysha Muhammed <64032658+Aysha-py@users.noreply.github.com>
Co-authored-by: Goodness Chris-Ugari <goodnesschrisugari@yahoo.com>
Co-authored-by: Jack Lin <46962923+blueskyson@users.noreply.github.com>
Co-authored-by: Tabah Baridule M <dulemartins07@gmail.com>
Co-authored-by: trolzen <trolzen@gmail.com>
Co-authored-by: Bart Dorlandt <bart@bamweb.nl>
Co-authored-by: Chris Smart <distroguy@gmail.com>
2022-10-25 15:36:03 -05:00
a76163ca3c remove AnsibleFest banner (#79156) (#79157)
(cherry picked from commit 5b04dff7bd)
2022-10-25 12:22:10 -05:00
3922d46a71 issue #79022 file parameter import_tasks and include_tasks (#79183)
Co-authored-by: Felix Fontein <felix@fontein.de>
2022-10-25 12:20:07 -05:00
b7f9d839e0 ansible-test - Update base and default containers. 2022-10-25 10:16:45 -07:00
41159432d1 [stable-2.14] 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:01:09 -07:00
418b92b323 [stable-2.14] ansible-test - Fix pylint support on Python 3.11.
(cherry picked from commit 645b6b8581)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-10-24 16:48:26 -07:00
51c0d50631 [stable-2.14] 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:17 -07:00
7e47371d2e Update Ansible release version to v2.14.0rc1.post0. (#79153) 2022-10-17 12:40:34 -04:00
86bdec3661 New release v2.14.0rc1 (#79127)
Signed-off-by: Ricardo Carrillo Cruz <ricarril@redhat.com>
2022-10-17 17:04:05 +02:00
febf071d01 [stable-2.14] Don't assume column index for netmask and broadcast (#79121) (#79132)
* 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-13 16:09:01 -05:00
9c9a33904a fix password lookup's use of f=v settings (#76551) (#79106)
* 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-13 14:47:07 -05:00
9bbdfb2c70 community_steering_committee: add a new member (#79089) (#79116)
(cherry picked from commit ad1eba9876)
2022-10-13 10:22:25 -05:00
2ac9e2761b ansible-config, only subvalues should use yaml shorthand (#79073) (#79078)
(cherry picked from commit 27ab589ee8)
2022-10-13 09:42:28 -05:00
172982e83f Add Ansible community 6.5.0 porting guide (#79123)
Co-authored-by: Ansible Service Account <chadams@redhat.com>
2022-10-12 16:16:54 -04:00
c6511e3a5b [stable-2.14] ansible-test - Update pylint to 2.15.4.
(cherry picked from commit 14e7f05318)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-10-11 11:15:40 -07:00
33ed9656c2 Update Ansible release version to v2.14.0b3.post0. (#79100) 2022-10-11 11:21:00 -04:00
d412bb245c New release v2.14.0b3 (#79076) 2022-10-10 10:51:34 -04:00
45f9af1fd4 Backport hacktoberfest 3 (#79069)
* Docs: true/false with boolean values in docsite/rst/playbook_guide (#78958)

(cherry picked from commit 173ddde126)

* No latin terms (#79009)

Fixes #79006

(cherry picked from commit f0cc70f9e1)

* docs: replace latin terms with english in network (#79013)

fixes #78999 by removing Latin usage in network docs

(cherry picked from commit 8d665a1a8e)

* Docs: Typo in Alibaba Cloud Compute Services Guide (#78984)

(cherry picked from commit ea04d05a1e)

* Docs: Replace Latin in the porting guides  (#79011)

(cherry picked from commit 8f4133b514)

Co-authored-by: Suven-p <pandeysuven@gmail.com>
Co-authored-by: Ishan Siddiqui <77967215+ishan-siddiqui@users.noreply.github.com>
Co-authored-by: Samuel Gaist <samuel.gaist@idiap.ch>
Co-authored-by: taso <74918216+tasoint@users.noreply.github.com>
Co-authored-by: smeet07 <81572407+smeet07@users.noreply.github.com>
2022-10-07 11:04:20 -07:00
c0901fcba5 Fixed Latin words, replaced all via with either through or by (#79004) (#79068)
(cherry picked from commit 4f4ad453c4)

Co-authored-by: Ishan Siddiqui <77967215+ishan-siddiqui@users.noreply.github.com>
2022-10-06 17:00:18 -05:00
b5d8c954b8 Backport hacktoberfest 4 (#79070)
* docs: replace latin terms with english in the reference_appendices (#79010)

(cherry picked from commit 4d3c12ae9e)

* docs: replace latin terms with english in the scenario_guides (#79008)

(cherry picked from commit 367cdae3b2)

* Docs: true/false with boolean values (#78980)

* Adding FQCN community.postgresql. to postgresql modules

(cherry picked from commit 56285b1d2b)

* Docs: Add code-block wrappers to code examples (#79037)

* Docs: Add code-block wrappers to code examples

(cherry picked from commit 63b5fc4b8d)

* Docs: Provide descriptive labels for http references (#78959)

(cherry picked from commit f7c01bc866)

* Docs: Adding code blocks wrapper (#79042)

* Adding code blocks wrapper

(cherry picked from commit 3a788314a2)

* Cleaned up test_strategies doc (#79045)

Authored-by: Shade Alabsa <shadealabsa@microsoft.com>
(cherry picked from commit 3fc3371463)

* Docs: fixed configs docs to properly display code blocks (#79040)

* fixed some docs to properly display code blocks
Co-authored-by: Shade Alabsa <shadealabsa@microsoft.com>

(cherry picked from commit 25a770de37)

* Docs: Add code-block wrappers in faq.rst (#79047)

(cherry picked from commit 35700f57cc)

* Docs: Add code-block wrappers in lookup.rst & strategy.rst (#79032, #79033) (#79048)

(cherry picked from commit 680bf029b1)

* Add code-block wrappers in network_debug_troubleshooting.rst

(cherry picked from commit 57f22529cb)

Co-authored-by: Samuel Gaist <samuel.gaist@idiap.ch>
Co-authored-by: prayatharth <73949575+prayatharth@users.noreply.github.com>
Co-authored-by: Mudit Choudhary <74391865+muditchoudhary@users.noreply.github.com>
Co-authored-by: Blaster4385 <53873108+Blaster4385@users.noreply.github.com>
Co-authored-by: Deepshri M <92997066+Deepshaded@users.noreply.github.com>
Co-authored-by: shade34321 <shade34321@users.noreply.github.com>
Co-authored-by: Shellylo <54233305+Shellylo@users.noreply.github.com>
Co-authored-by: Shubhadeep Das <dshubhadeep@gmail.com>
2022-10-06 17:00:05 -05:00
9d7989fbe8 Backport hacktoberfest 2 (#79067)
* Docs: Replace Latin terms in the dev_guide #78997 (#79005)

(cherry picked from commit fbd98cd824)

* replace with boolean true/false (#78950)

(cherry picked from commit 78c9fb4159)

* docs: replace latin terms with english in the os_guide directory (#79007)

Fixes #79003

(cherry picked from commit 55925958ea)

Co-authored-by: Mazen Ramadan <mazenramadan00@gmail.com>
Co-authored-by: Niranjan Meghwal <56632168+NiranjanMeghwal@users.noreply.github.com>
Co-authored-by: Samuel Gaist <samuel.gaist@idiap.ch>
2022-10-06 16:59:46 -05:00
7077ea7f95 Backport hactoberfest 1 (#79065)
* apt_key, fix example indentation

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

* Docs: Add code-block wrappers to code examples: testing_documentation.rst (#78966)

* Docs: Add code-block wrappers to code examples: testing_documentation.rst
List of changed files:
- docs/docsite/rst/dev_guide/testing_documentation.rst
* Fix: match whitespace convention of other occurences

(cherry picked from commit 538b99781f)

* added code-blocks according to #78962 (#78972)

(cherry picked from commit 01484cdc68)

* Adding code-block wrappers to code examples (#78968)

(cherry picked from commit 1db75a41bf)

* added code-blocks according to #78963 (#78969)

* added code-blocks according to  #78963
* Update testing.rst, added newlines

(cherry picked from commit 446406a0c8)

* Docs: Add code-block wrappers to code examples in style_guide (#78970)

* Docs: Add code-block wrappers to code examples in style_guide
List of changed files:
- docs/docsite/rst/dev-guide/style_guide/index.rst
- docs/docsite/rst/dev-guide/style_guide/basic_rules.rst

(cherry picked from commit 3dc0c2135e)

* #78971 Update module_lifecycle.rst (#78974)

* Update module_lifecycle.rst

(cherry picked from commit 93c2cb2b8e)

* #78965 Adding the code-block to prevent the translation (#78979)

* Adding the code-block to prevent the translation

(cherry picked from commit 9afb37eda6)

* Adds code-block in collection documentation (#78977)

* fix issue #78976

(cherry picked from commit 1b922b42dd)

* docs - Use code-block to format examples in Windows module development walkthrough (#78985)

(cherry picked from commit 56c48d1c45)

* Docs: true/false with boolean values in docsite/rst/os_guide (#78957)

(cherry picked from commit fb8c2daf46)

* Update porting_guide_2.0.rst (#78951)

Replaced http link with rst version - issue https://github.com/ansible/ansible/issues/78914

(cherry picked from commit dc2d15fca4)

* Update porting_guide_3.rst (#78952)

Fixes #78914

(cherry picked from commit 919c449256)

* Update porting_guide_4.rst (#78953)

(cherry picked from commit ba32642538)

* Update porting_guide_5.rst (#78954)

(cherry picked from commit 5137cb16e9)

* scenario guide doc changes (#78934)

(cherry picked from commit 5b333c9665)

Co-authored-by: Jasper <44026484+jasperjonker@users.noreply.github.com>
Co-authored-by: Ozan Uslan <54141068+ozanuslan@users.noreply.github.com>
Co-authored-by: Lukas Grimm <ombre@ombre.ch>
Co-authored-by: Deepshri M <92997066+Deepshaded@users.noreply.github.com>
Co-authored-by: IMvision12 <88665786+IMvision12@users.noreply.github.com>
Co-authored-by: Luigi Giugliano <luigi3000@gmail.com>
Co-authored-by: Thomas Doczkal <thomas@doczkal.eu>
Co-authored-by: jmakhack <joshmak@berkeley.edu>
Co-authored-by: Sudipto Ghosh <sudipto@ghosh.pro>
Co-authored-by: Kampftoast <creeper00001@googlemail.com>
Co-authored-by: J-F-Far <joel.f.farthing@gmail.com>
2022-10-06 16:59:30 -05:00
cd9ef334d0 [stable-2.14] Ensure that we do not squash keywords in validate (#79049) (#79062)
* [stable-2.14] Ensure that we do not squash keywords in validate (#79049)

* Ensure that we do not squash keywords in validate. Fixes #79021

* become_user: nobody should only apply to the test tasks, not the setup_test_user role

* Update how become_user is specified

* Add test to ensure keyword inheritance is working for become

* Add clog frag

* Cache fattributes to prevent re-calculation

* ci_complete

* Remove unnecessary getattr.
(cherry picked from commit 420564c5bc)

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

* Remove unneeded merge conflict changes
2022-10-06 09:32:40 -05:00
cd52ae459d Fix using FQCN for flush_handlers (#79057) (#79061)
Fixes #79023

(cherry picked from commit e1daaae42a)
2022-10-06 09:23:49 -05:00
b5eba64882 Omit full fix (#79024)
* omit keyword should reset to context (#78917)

* omit keyword should reset to context

  ensure we use context/inheritance when calculating value,
  using default only when context is unavailable.

  fixes #75692

(cherry picked from commit 9650ddb11c)

* fixes to FA inheritance (#78990)

finalized applies to all field attributes
fix getting parent value
also remove unused/needed extend/prepend signature
moar testing

(cherry picked from commit ff6e4da36a)

* setup role needs it's own info
2022-10-06 08:53:36 -05:00
332ba231cd [stable-2.14] Use python re to parse service output instead of grep (#79015) (#79050)
* 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-06 08:46:51 -05:00
fea62e7553 Do not crash templating when filter/test name is not a valid Ansible plugin name (#78913) (#79026)
* Do not crash templating when filter/test name is not a valid Ansible plugin name.
* Store and re-raise KeyError if there was one.

Co-authored-by: s-hertel <19572925+s-hertel@users.noreply.github.com>
(cherry picked from commit 6d0aeac1e1)
2022-10-06 08:46:42 -05:00
288dab3214 Update Ansible release version to v2.14.0b2.post0. (#78996) 2022-10-03 15:20:08 -05:00
e88427ae6b New release v2.14.0b2 (#78944) 2022-10-03 13:40:10 -04:00
f46bbb2140 [stable-2.14] ansible-test - Update distro containers to 4.8.0.
The updated containers include coverage 6.5.0..
(cherry picked from commit 5b239acb77)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-09-30 11:03:12 -07:00
53bac70257 [stable-2.14] ansible-test - Update coverage to version 6.5.0. (#78945)
(cherry picked from commit 20c1252212)
2022-09-30 09:56:28 -07:00
d15815c88d Fix connection/become task loop settings (#78565) (#78935)
* Fix connection/become task loop settings

* Remove old code

(cherry picked from commit ba6da65a0f)
2022-09-29 17:04:36 -07:00
04fe7b374d ansible-test validate-module - support sidecar docs (#78904) (#78933)
(cherry picked from commit be4807b712)
2022-09-29 17:03:25 -07:00
923f952d6b Upgrade antsibull-docs to 1.6.1 (#78872) (#78929)
* Bump antsibull-docs version to 1.6.0 to fully support filter docs.

* known_good_reqs.txt no longer exists.

* Bump version to 1.6.1.

(cherry picked from commit d93883645c)

Co-authored-by: Felix Fontein <felix@fontein.de>
2022-09-29 17:02:27 -07:00
5dff3bf46f Backportapalooza 09 29 (#78928)
* iss#72389: Adds note and polishes docs/docsite/rst/tips_tricks/sample_setup.rst (#78858)

Co-authored-by: Jaroslav Klech <jklech@redhat.com>
(cherry picked from commit 964e2bc6fe)

* Fixes typo in rst format (#78884)

.. hint:: requires a blank line above and below.

(cherry picked from commit 71adb02142)

* Update yum.py (#78829)

##### SUMMARY
The entire yum command should be highlighted, not only its options.

##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr

(cherry picked from commit f8f76c5886)

* Add Ansible community 7.x porting guide (#78916)

(cherry picked from commit 0884a7cf0e)

* Fixed spelling (#78911)

(cherry picked from commit ae66d9a1f4)

* Add message about viewing chat history when on IRC (#78834)

(cherry picked from commit 0343ae46d2)

Co-authored-by: JaroslavKlech <klechh@gmail.com>
Co-authored-by: Anwesha Das <anwesha@das.community>
Co-authored-by: Olivier Clavel <olivier.clavel@gmail.com>
Co-authored-by: Christian Adams <chadams@redhat.com>
Co-authored-by: Joel McGuire <jlmcguire4@gmail.com>
Co-authored-by: Greg "Gwmngilfen" Sutcliffe <github@emeraldreverie.org>
2022-09-29 17:01:59 -07:00
7209c0b3d4 apt_repository, handle both new/old gpgp stds (#78735) (#78909)
* apt_repository, handle both new/old gpgp stds

(cherry picked from commit c7cde2645d)
2022-09-29 17:01:05 -07:00
6b8432850f apt module, prevent tb from invalid type for pkg (#78666) (#78907)
* apt module, prevent tb from invalid type for pkg

 see #78663

(cherry picked from commit 7acd4f75c0)
2022-09-28 09:13:00 -05:00
0747c5c859 [stable 2.14] Fix known host changed status when removing non-existing key #78598 (#78881)
* 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>

* Rename changelog fragment for fix known hosts changed status cherry pick

* Rename changelog according to new PR number

Co-authored-by: Matt Martz <matt@sivel.net>
2022-09-28 08:16:08 -05:00
df01924168 [2.14] Improve filter docs (#78883)
(cherry picked from commit 9aa9b4eac0)
2022-09-28 08:15:53 -05:00
e5fd4ae747 plugin loader fix existing config testing (#78859) (#78891)
create specific function to find config entry to avoid repopulating constantly

(cherry picked from commit 4115ddd135)
2022-09-28 08:15:43 -05:00
30b7bfc1d8 documented windows filters (#78876) (#78892)
* documented windows filters

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Sandra McCann <samccann@redhat.com>
(cherry picked from commit 7c4d5f5099)
2022-09-28 08:15:29 -05:00
47712d8d48 Update Ansible release version to v2.14.0b1.post0. (#78875) 2022-09-26 10:27:57 -04:00
c02a270ef1 New release v2.14.0b1 (#78870)
Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>

Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
2022-09-26 09:30:06 -04:00
4655fe6d8b [stable-2.14] 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:14 -07:00
7aff371ba5 ansible-test - Fix default container version. (#78854) 2022-09-22 00:20:53 -07:00
38f706a2a3 ansible-test - Update base and default containers. (#78847) 2022-09-21 15:49:43 -07:00
eb35cf9bb7 [stable-2.14] Don't request repo updates when only testing modes (#78843) (#78848)
(cherry picked from commit 2542048)

Co-authored-by: Matt Martz <matt@sivel.net>
2022-09-21 15:24:37 -07:00
900010571d [stable-2.14] Add use_rsa_sha2_algorithms option for paramiko (#78789) (#78842)
Fixes #76737
Fixes #77673

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

Co-authored-by: Matt Martz <matt@sivel.net>
2022-09-21 12:50:13 -05:00
85dba943ab [stable-2.14] ansible-test - Update Python 3.11 support. (#78840) (#78841)
- Update sanity test requirements to fully support Python 3.11.
- Make Python 3.11 the default in the base and default test containers.

(cherry picked from commit 4d25233ece)
2022-09-21 10:42:14 -07:00
c71fdadadb [stable-2.14] Add ssh_args and friends back, add var for proxy_command (#78826) (#78836)
* [stable-2.14] 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
2022-09-21 11:35:31 -05:00
1352 changed files with 15935 additions and 128036 deletions

View File

@ -27,14 +27,11 @@ variables:
- name: coverageBranches
value: devel
- 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:3.0.0
- name: defaultContainer
value: quay.io/ansible/azure-pipelines-test-container:4.0.1
pool: Standard
@ -49,9 +46,6 @@ stages:
targets:
- test: 1
- test: 2
- test: 3
- test: 4
- test: 5
- stage: Units
dependsOn: []
jobs:
@ -84,7 +78,7 @@ stages:
- stage: Remote
dependsOn: []
jobs:
- template: templates/matrix.yml
- template: templates/matrix.yml # context/target
parameters:
targets:
- name: macOS 12.0
@ -97,14 +91,14 @@ stages:
test: rhel/8.6@3.9
- name: RHEL 9.0
test: rhel/9.0
- name: FreeBSD 12.3
test: freebsd/12.3
- name: FreeBSD 12.4
test: freebsd/12.4
- name: FreeBSD 13.1
test: freebsd/13.1
groups:
- 1
- 2
- template: templates/matrix.yml
- template: templates/matrix.yml # context/controller
parameters:
targets:
- name: macOS 12.0
@ -119,6 +113,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.6
test: rhel/8.6
- 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:

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

@ -0,0 +1,41 @@
#!/usr/bin/env bash
set -o pipefail -eux
declare -a args
IFS='/:' read -ra args <<< "$1"
group="${args[1]}"
group2_include=(
ansible-doc
changelog
package-data
pep8
pylint
validate-modules
)
group1_exclude=(
"${group2_include[@]}"
)
options=()
case "${group}" in
1)
for name in "${group1_exclude[@]}"; do
options+=(--skip-test "${name}")
done
;;
2)
for name in "${group2_include[@]}"; do
options+=(--test "${name}")
done
;;
esac
# shellcheck disable=SC2086
ansible-test sanity --color -v --junit ${COVERAGE:+"$COVERAGE"} ${CHANGED:+"$CHANGED"} \
--docker \
"${options[@]}" --allow-disabled

View File

@ -6,7 +6,7 @@
jobs:
- job: Coverage
displayName: Code Coverage
container: default
container: $[ variables.defaultContainer ]
workspace:
clean: all
steps:

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:

151
.github/BOTMETA.yml vendored
View File

@ -1,151 +0,0 @@
automerge: false
collection_redirect: true
notifications: false
files:
$module_utils/csharp: &id001
labels: windows
maintainers: $team_windows_core
support: core
$module_utils/network:
labels: networking
$module_utils/network/common:
maintainers: $team_networking
support: network
$module_utils/powershell: *id001
$modules:
ignored: ryansb tomaszkiewicz
$modules/lineinfile.py: $team_ansible samdoran
$modules/stat.py:
ignored: bpennypacker
$modules/unarchive.py:
ignored: dagwieers
labels: m:unarchive
maintainers: pileofrogs
$modules/add_host.py:
ignored: skvidal
maintainers: $team_ansible
$modules/get_url.py: ptux
$modules/uri.py:
ignored: romeotheriault
maintainers: $team_ansible
$modules/pip.py: Lujeni webknjaz
$modules//yum.py:
ignored: skvidal
maintainers: $team_ansible kustodian
$modules/user.py: $team_ansible samdoran
$modules/pause.py: samdoran
$modules/wait_for.py: gregswift
$plugins/cliconf/:
labels: networking
$plugins/connection/psrp.py: *id001
$plugins/connection/winrm.py: *id001
$plugins/doc_fragments/url_windows.py:
labels: windows
maintainers: $team_windows_core
support: core
$plugins/httpapi:
labels: networking
maintainers: $team_networking
support: network
$plugins/netconf/:
labels: networking
maintainers: $team_networking
support: network
$plugins/shell/powershell.py: *id001
$plugins/terminal/:
labels: networking
$plugins/terminal/__init__.py:
support: network
.github/BOTMETA.yml:
labels: botmeta
support: core
docs/:
maintainers:
- acozine
docs/docsite/rst/community/:
maintainers:
- gundalow
docs/docsite/rst/dev_guide/:
maintainers:
- gundalow
docs/docsite/rst/network/:
labels: networking
maintainers:
- samccann
docs/docsite/rst/user_guide/windows: *id001
hacking/report.py:
notified: mattclay
hacking/shippable/:
notified: mattclay
lib/ansible/cli/scripts/ansible_connection_cli_stub.py:
keywords:
- persistent connection
labels: networking
lib/ansible/config/ansible_builtin_runtime.yml:
labels: runtime
maintainers: gundalow
lib/ansible/executor/powershell: *id001
lib/ansible/inventory:
keywords:
- core inventory
- inventory
- inventory parsing
lib/ansible/playbook/handler.py:
keywords:
- handlers
lib/ansible/playbook/role:
keywords:
- roles path
- roles_path
- role
- role path
lib/ansible/playbook/role/include.py:
keywords:
- include role
- include_role
- role include
lib/ansible/playbook/role/requirement.py:
keywords:
- role dependencies
- role dep
- role dependency
lib/ansible/release.py:
notified: mattclay nitzmahone
lib/ansible/template:
keywords:
- jinja
- jinja2
lib/ansible/utils/collection_loader.py:
notified: mattclay nitzmahone
test/integration/targets/incidental_:
notified: mattclay
test/lib/:
notified: mattclay
test/lib/ansible_test/_util/controller/sanity/validate-modules:
keywords:
- validate-modules
notified:
- mattclay
test/lib/ansible_test/_util/controller/sanity/validate-modules/validate_modules/main.py:
notified:
- gundalow
- sivel
test/lib/ansible_test/_util/controller/sanity/validate-modules/validate_modules/schema.py:
notified:
- gundalow
- sivel
test/sanity/:
notified: mattclay
test/sanity/ignore.txt:
notified: tremble
test/support/:
notified: mattclay
test/utils/shippable/:
notified: mattclay
macros:
module_utils: lib/ansible/module_utils
modules: lib/ansible/modules
plugins: lib/ansible/plugins
team_ansible: []
team_networking: Qalthos ganeshrn trishnaguha justjais NilashishC danielmellado rohitthakur2590 GomathiselviS
team_windows_core: nitzmahone jborean93

View File

@ -1,54 +1,12 @@
include README.rst
include COPYING
include SYMLINK_CACHE.json
include requirements.txt
recursive-include docs *
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
include examples/ansible.cfg
include examples/scripts/ConfigureRemotingForAnsible.ps1
include examples/scripts/upgrade_to_ps3.ps1
include lib/ansible/keyword_desc.yml
recursive-include lib/ansible/executor/powershell *.ps1
recursive-include lib/ansible/module_utils/csharp *.cs
recursive-include lib/ansible/module_utils/powershell *.psm1
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 lib/ansible/modules *.yml
recursive-include lib/ansible/plugins/test *.yml
recursive-include lib/ansible/plugins/filter *.yml
recursive-include licenses *.txt
recursive-include packaging *
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 *.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 *.in *.json *.py *.txt
recursive-include test/support *.py *.ps1 *.psm1 *.cs
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
include bin/*
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/*
include licenses/*.txt
include requirements.txt
recursive-include packaging *.py *.j2
recursive-include test/ansible_test *.py Makefile
recursive-include test/integration *
recursive-include test/sanity *.in *.json *.py *.txt
recursive-include test/support *.py *.ps1 *.psm1 *.cs *.md
recursive-include test/units *

157
Makefile
View File

@ -1,157 +0,0 @@
# WARN: gmake syntax
########################################################
# Makefile for Ansible
#
# useful targets:
# make clean ---------------- clean up
# make sdist ---------------- produce a tarball
# make tests ---------------- run the tests (see https://docs.ansible.com/ansible/devel/dev_guide/testing_units.html for requirements)
########################################################
# variable section
NAME = ansible-core
OS = $(shell uname -s)
PREFIX ?= '/usr/local'
SDIST_DIR ?= 'dist'
# This doesn't evaluate until it's called. The -D argument is the
# directory of the target file ($@), kinda like `dirname`.
MANPAGES ?= $(patsubst %.rst.in,%,$(wildcard ./docs/man/man1/ansible*.1.rst.in))
ifneq ($(shell command -v rst2man 2>/dev/null),)
ASCII2MAN = rst2man $< $@
else ifneq ($(shell command -v rst2man.py 2>/dev/null),)
ASCII2MAN = rst2man.py $< $@
else
ASCII2MAN = @echo "ERROR: rst2man from docutils command is not installed but is required to build $(MANPAGES)" && exit 1
endif
PYTHON ?= python
GENERATE_CLI = hacking/build-ansible.py generate-man
# fetch version from project release.py as single source-of-truth
VERSION := $(shell $(PYTHON) packaging/release/versionhelper/version_helper.py --raw || echo error)
ifeq ($(findstring error,$(VERSION)), error)
$(error "version_helper failed")
endif
# ansible-test parameters
ANSIBLE_TEST ?= bin/ansible-test
TEST_FLAGS ?=
# ansible-test units parameters (make test / make test-py3)
PYTHON_VERSION ?= $(shell python2 -c 'import sys; print("%s.%s" % sys.version_info[:2])')
PYTHON3_VERSION ?= $(shell python3 -c 'import sys; print("%s.%s" % sys.version_info[:2])')
# ansible-test integration parameters (make integration)
IMAGE ?= centos7
TARGET ?=
########################################################
.PHONY: all
all: clean python
.PHONY: tests
tests:
$(ANSIBLE_TEST) units -v --python $(PYTHON_VERSION) $(TEST_FLAGS)
.PHONY: tests-py3
tests-py3:
$(ANSIBLE_TEST) units -v --python $(PYTHON3_VERSION) $(TEST_FLAGS)
.PHONY: integration
integration:
$(ANSIBLE_TEST) integration -v --docker $(IMAGE) $(TARGET) $(TEST_FLAGS)
# Regenerate %.1.rst if %.1.rst.in has been modified more
# recently than %.1.rst.
%.1.rst: %.1.rst.in
sed "s/%VERSION%/$(VERSION)/" $< > $@
rm $<
# Regenerate %.1 if %.1.rst or release.py has been modified more
# recently than %.1. (Implicitly runs the %.1.rst recipe)
%.1: %.1.rst lib/ansible/release.py
$(ASCII2MAN)
.PHONY: clean
clean:
@echo "Cleaning up distutils stuff"
rm -rf build
rm -rf dist
rm -rf lib/ansible*.egg-info/
@echo "Cleaning up byte compiled python stuff"
find . -type f -regex ".*\.py[co]$$" -delete
find . -type d -name "__pycache__" -delete
@echo "Cleaning up editor backup files"
find . -type f -not -path ./test/units/inventory_test_data/group_vars/noparse/all.yml~ \( -name "*~" -or -name "#*" \) -delete
find . -type f \( -name "*.swp" \) -delete
@echo "Cleaning up manpage stuff"
find ./docs/man -type f -name "*.xml" -delete
find ./docs/man -type f -name "*.rst" -delete
find ./docs/man/man3 -type f -name "*.3" -delete
rm -f ./docs/man/man1/*
@echo "Cleaning up output from test runs"
rm -rf test/test_data
rm -rf logs/
rm -rf .cache/
rm -f test/units/.coverage*
rm -rf test/results/*/*
find test/ -type f -name '*.retry' -delete
@echo "Cleaning up symlink cache"
rm -f SYMLINK_CACHE.json
rm -rf docs/json
rm -rf docs/js
@echo "Cleaning up docsite"
$(MAKE) -C docs/docsite clean
.PHONY: python
python:
$(PYTHON) setup.py build
.PHONY: install
install:
$(PYTHON) setup.py install
.PHONY: install_manpages
install_manpages:
gzip -9 $(wildcard ./docs/man/man1/ansible*.1)
cp $(wildcard ./docs/man/man1/ansible*.1.gz) $(PREFIX)/man/man1/
.PHONY: sdist_check
sdist_check:
$(PYTHON) -c 'import setuptools, sys; sys.exit(int(not (tuple(map(int, setuptools.__version__.split("."))) > (39, 2, 0))))'
$(PYTHON) packaging/sdist/check-link-behavior.py
.PHONY: sdist
sdist: sdist_check clean docs
_ANSIBLE_SDIST_FROM_MAKEFILE=1 $(PYTHON) setup.py sdist --dist-dir=$(SDIST_DIR)
# Official releases generate the changelog as the last commit before the release.
# Snapshots shouldn't result in new checkins so the changelog is generated as
# part of creating the tarball.
.PHONY: snapshot
snapshot: sdist_check clean docs changelog
_ANSIBLE_SDIST_FROM_MAKEFILE=1 $(PYTHON) setup.py sdist --dist-dir=$(SDIST_DIR)
.PHONY: sdist_upload
sdist_upload: clean docs
$(PYTHON) setup.py sdist upload 2>&1 |tee upload.log
.PHONY: changelog
changelog:
PYTHONPATH=./lib antsibull-changelog release -vv --use-ansible-doc && PYTHONPATH=./lib antsibull-changelog generate -vv --use-ansible-doc
.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
.PHONY: docs
docs: generate_rst
$(MAKE) $(MANPAGES)
.PHONY: version
version:
@echo $(VERSION)

89
README.md Normal file
View File

@ -0,0 +1,89 @@
[![PyPI version](https://img.shields.io/pypi/v/ansible-core.svg)](https://pypi.org/project/ansible-core)
[![Docs badge](https://img.shields.io/badge/docs-latest-brightgreen.svg)](https://docs.ansible.com/ansible/latest/)
[![Chat badge](https://img.shields.io/badge/chat-IRC-brightgreen.svg)](https://docs.ansible.com/ansible/latest/community/communication.html)
[![Build Status](https://dev.azure.com/ansible/ansible/_apis/build/status/CI?branchName=devel)](https://dev.azure.com/ansible/ansible/_build/latest?definitionId=20&branchName=devel)
[![Ansible Code of Conduct](https://img.shields.io/badge/code%20of%20conduct-Ansible-silver.svg)](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html)
[![Ansible mailing lists](https://img.shields.io/badge/mailing%20lists-Ansible-orange.svg)](https://docs.ansible.com/ansible/latest/community/communication.html#mailing-list-information)
[![Repository License](https://img.shields.io/badge/license-GPL%20v3.0-brightgreen.svg)](COPYING)
[![Ansible CII Best Practices certification](https://bestpractices.coreinfrastructure.org/projects/2372/badge)](https://bestpractices.coreinfrastructure.org/projects/2372)
# Ansible
Ansible is a radically simple IT automation system. It handles
configuration management, application deployment, cloud provisioning,
ad-hoc task execution, network automation, and multi-node orchestration. Ansible makes complex
changes like zero-downtime rolling updates with load balancers easy. More information on the Ansible [website](https://ansible.com/).
## Design Principles
* Have an extremely simple setup process with a minimal learning curve.
* Manage machines quickly and in parallel.
* Avoid custom-agents and additional open ports, be agentless by
leveraging the existing SSH daemon.
* Describe infrastructure in a language that is both machine and human
friendly.
* Focus on security and easy auditability/review/rewriting of content.
* Manage new remote machines instantly, without bootstrapping any
software.
* Allow module development in any dynamic language, not just Python.
* Be usable as non-root.
* Be the easiest IT automation system to use, ever.
## Use Ansible
You can install a released version of Ansible with `pip` or a package manager. See our
[installation guide](https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html) for details on installing Ansible
on a variety of platforms.
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
in the Ansible community if you want to run the `devel` branch.
## Get Involved
* Read [Community Information](https://docs.ansible.com/ansible/latest/community) for all
kinds of ways to contribute to and interact with the project,
including mailing list information and how to submit bug reports and
code to Ansible.
* Join a [Working Group](https://github.com/ansible/community/wiki),
an organized community devoted to a specific technology domain or platform.
* Submit a proposed code update through a pull request to the `devel` branch.
* Talk to us before making larger changes
to avoid duplicate efforts. This not only helps everyone
know what is going on, but it also helps save time and effort if we decide
some changes are needed.
* For a list of email lists, IRC channels and Working Groups, see the
[Communication page](https://docs.ansible.com/ansible/latest/community/communication.html)
## Coding Guidelines
We document our Coding Guidelines in the [Developer Guide](https://docs.ansible.com/ansible/devel/dev_guide/). We particularly suggest you review:
* [Contributing your module to Ansible](https://docs.ansible.com/ansible/devel/dev_guide/developing_modules_checklist.html)
* [Conventions, tips, and pitfalls](https://docs.ansible.com/ansible/devel/dev_guide/developing_modules_best_practices.html)
## Branch Info
* The `devel` branch corresponds to the release actively under development.
* The `stable-2.X` branches correspond to stable releases.
* Create a branch based on `devel` and set up a [dev environment](https://docs.ansible.com/ansible/latest/dev_guide/developing_modules_general.html#common-environment-setup) if you want to open a PR.
* See the [Ansible release and maintenance](https://docs.ansible.com/ansible/devel/reference_appendices/release_and_maintenance.html) page for information about active branches.
## Roadmap
Based on team and community feedback, an initial roadmap will be published for a major or minor version (ex: 2.7, 2.8).
The [Ansible Roadmap page](https://docs.ansible.com/ansible/devel/roadmap/) details what is planned and how to influence the roadmap.
## Authors
Ansible was created by [Michael DeHaan](https://github.com/mpdehaan)
and has contributions from over 5000 users (and growing). Thanks everyone!
[Ansible](https://www.ansible.com) is sponsored by [Red Hat, Inc.](https://www.redhat.com)
## License
GNU General Public License v3.0 or later
See [COPYING](COPYING) to see the full text.

View File

@ -1,115 +0,0 @@
|PyPI version| |Docs badge| |Chat badge| |Build Status| |Code Of Conduct| |Mailing Lists| |License| |CII Best Practices|
*******
Ansible
*******
Ansible is a radically simple IT automation system. It handles
configuration management, application deployment, cloud provisioning,
ad-hoc task execution, network automation, and multi-node orchestration. Ansible makes complex
changes like zero-downtime rolling updates with load balancers easy. More information on the Ansible `website <https://ansible.com/>`_.
Design Principles
=================
* Have an extremely simple setup process with a minimal learning curve.
* Manage machines quickly and in parallel.
* Avoid custom-agents and additional open ports, be agentless by
leveraging the existing SSH daemon.
* Describe infrastructure in a language that is both machine and human
friendly.
* Focus on security and easy auditability/review/rewriting of content.
* Manage new remote machines instantly, without bootstrapping any
software.
* Allow module development in any dynamic language, not just Python.
* Be usable as non-root.
* Be the easiest IT automation system to use, ever.
Use Ansible
===========
You can install a released version of Ansible with ``pip`` or a package manager. See our
`installation guide <https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html>`_ for details on installing Ansible
on a variety of platforms.
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
in the Ansible community if you want to run the ``devel`` branch.
Get Involved
============
* Read `Community
Information <https://docs.ansible.com/ansible/latest/community>`_ for all
kinds of ways to contribute to and interact with the project,
including mailing list information and how to submit bug reports and
code to Ansible.
* Join a `Working Group
<https://github.com/ansible/community/wiki>`_, an organized community devoted to a specific technology domain or platform.
* Submit a proposed code update through a pull request to the ``devel`` branch.
* Talk to us before making larger changes
to avoid duplicate efforts. This not only helps everyone
know what is going on, but it also helps save time and effort if we decide
some changes are needed.
* For a list of email lists, IRC channels and Working Groups, see the
`Communication page <https://docs.ansible.com/ansible/latest/community/communication.html>`_
Coding Guidelines
=================
We document our Coding Guidelines in the `Developer Guide <https://docs.ansible.com/ansible/devel/dev_guide/>`_. We particularly suggest you review:
* `Contributing your module to Ansible <https://docs.ansible.com/ansible/devel/dev_guide/developing_modules_checklist.html>`_
* `Conventions, tips, and pitfalls <https://docs.ansible.com/ansible/devel/dev_guide/developing_modules_best_practices.html>`_
Branch Info
===========
* The ``devel`` branch corresponds to the release actively under development.
* The ``stable-2.X`` branches correspond to stable releases.
* Create a branch based on ``devel`` and set up a `dev environment <https://docs.ansible.com/ansible/latest/dev_guide/developing_modules_general.html#common-environment-setup>`_ if you want to open a PR.
* See the `Ansible release and maintenance <https://docs.ansible.com/ansible/devel/reference_appendices/release_and_maintenance.html>`_ page for information about active branches.
Roadmap
=======
Based on team and community feedback, an initial roadmap will be published for a major or minor version (ex: 2.7, 2.8).
The `Ansible Roadmap page <https://docs.ansible.com/ansible/devel/roadmap/>`_ details what is planned and how to influence the roadmap.
Authors
=======
Ansible was created by `Michael DeHaan <https://github.com/mpdehaan>`_
and has contributions from over 5000 users (and growing). Thanks everyone!
`Ansible <https://www.ansible.com>`_ is sponsored by `Red Hat, Inc.
<https://www.redhat.com>`_
License
=======
GNU General Public License v3.0 or later
See `COPYING <COPYING>`_ to see the full text.
.. |PyPI version| image:: https://img.shields.io/pypi/v/ansible-core.svg
:target: https://pypi.org/project/ansible-core
.. |Docs badge| image:: https://img.shields.io/badge/docs-latest-brightgreen.svg
:target: https://docs.ansible.com/ansible/latest/
.. |Build Status| image:: https://dev.azure.com/ansible/ansible/_apis/build/status/CI?branchName=devel
:target: https://dev.azure.com/ansible/ansible/_build/latest?definitionId=20&branchName=devel
.. |Chat badge| image:: https://img.shields.io/badge/chat-IRC-brightgreen.svg
:target: https://docs.ansible.com/ansible/latest/community/communication.html
.. |Code Of Conduct| image:: https://img.shields.io/badge/code%20of%20conduct-Ansible-silver.svg
:target: https://docs.ansible.com/ansible/latest/community/code_of_conduct.html
:alt: Ansible Code of Conduct
.. |Mailing Lists| image:: https://img.shields.io/badge/mailing%20lists-Ansible-orange.svg
:target: https://docs.ansible.com/ansible/latest/community/communication.html#mailing-list-information
:alt: Ansible mailing lists
.. |License| image:: https://img.shields.io/badge/license-GPL%20v3.0-brightgreen.svg
:target: COPYING
:alt: Repository License
.. |CII Best Practices| image:: https://bestpractices.coreinfrastructure.org/projects/2372/badge
:target: https://bestpractices.coreinfrastructure.org/projects/2372
:alt: Ansible CII Best Practices certification

View File

@ -0,0 +1,725 @@
=================================================
ansible-core 2.14 "C'mon Everybody" Release Notes
=================================================
.. contents:: Topics
v2.14.10
========
Release Summary
---------------
| Release Date: 2023-09-11
| `Porting Guide <https://docs.ansible.com/ansible-core/2.14/porting_guides/porting_guide_core_2.14.html>`__
Minor Changes
-------------
- ansible-test — Replaced `freebsd/12.3` remote with `freebsd/12.4`. The former is no longer functional.
Bugfixes
--------
- PowerShell - Remove some code which is no longer valid for dotnet 5+
- ansible-galaxy - Enabled the ``data`` tarfile filter during role installation for Python versions that support it. A probing mechanism is used to avoid Python versions with a broken implementation.
- ansible-test - Always use ansible-test managed entry points for ansible-core CLI tools when not running from source. This fixes issues where CLI entry points created during install are not compatible with ansible-test.
- tarfile - handle data filter deprecation warning message for extract and extractall (https://github.com/ansible/ansible/issues/80832).
v2.14.9
=======
Release Summary
---------------
| Release Date: 2023-08-14
| `Porting Guide <https://docs.ansible.com/ansible-core/2.14/porting_guides/porting_guide_core_2.14.html>`__
Minor Changes
-------------
- Removed ``exclude`` and ``recursive-exclude`` commands for generated files from the ``MANIFEST.in`` file. These excludes were unnecessary since releases are expected to be built with a clean worktree.
- Removed ``exclude`` commands for sanity test files from the ``MANIFEST.in`` file. These tests were previously excluded because they did not pass when run from an sdist. However, sanity tests are not expected to pass from an sdist, so excluding some (but not all) of the failing tests makes little sense.
- Removed redundant ``include`` commands from the ``MANIFEST.in`` file. These includes either duplicated default behavior or another command.
- The ``ansible-core`` sdist no longer contains pre-generated man pages. Instead, a ``packaging/cli-doc/build.py`` script is included in the sdist. This script can generate man pages and standalone RST documentation for ``ansible-core`` CLI programs.
- The ``docs`` and ``examples`` directories are no longer included in the ``ansible-core`` sdist. These directories have been moved to the https://github.com/ansible/ansible-documentation repository.
- The minimum required ``setuptools`` version is now 45.2.0, as it is the oldest version to support Python 3.10.
- Use ``include`` where ``recursive-include`` is unnecessary in the ``MANIFEST.in`` file.
- Use ``package_data`` instead of ``include_package_data`` for ``setup.cfg`` to avoid ``setuptools`` warnings.
- ansible-test - Update the logic used to detect when ``ansible-test`` is running from source.
Bugfixes
--------
- Exclude internal options from man pages and docs.
- Fix ``ansible-config init`` man page option indentation.
- The ``ansible-config init`` command now has a documentation description.
- The ``ansible-galaxy collection download`` command now has a documentation description.
- The ``ansible-galaxy collection install`` command documentation is now visible (previously hidden by a decorator).
- The ``ansible-galaxy collection verify`` command now has a documentation description.
- The ``ansible-galaxy role install`` command documentation is now visible (previously hidden by a decorator).
- The ``ansible-inventory`` command command now has a documentation description (previously used as the epilog).
- Update module_utils.urls unit test to work with cryptography >= 41.0.0.
- When generating man pages, use ``func`` to find the command function instead of looking it up by the command name.
- ansible-test - Pre-build a PyYAML wheel before installing requirements to avoid a potential Cython build failure.
- man page build - Sub commands of ``ansible-galaxy role`` and ``ansible-galaxy collection`` are now documented.
v2.14.8
=======
Release Summary
---------------
| Release Date: 2023-07-18
| `Porting Guide <https://docs.ansible.com/ansible-core/2.14/porting_guides/porting_guide_core_2.14.html>`__
Minor Changes
-------------
- Cache field attributes list on the playbook classes
- Playbook objects - Replace deprecated stacked ``@classmethod`` and ``@property``
- ansible-test - Use a context manager to perform cleanup at exit instead of using the built-in ``atexit`` module.
Bugfixes
--------
- ansible-galaxy - Fix issue installing collections containing directories with more than 100 characters on python versions before 3.10.6
v2.14.7
=======
Release Summary
---------------
| Release Date: 2023-06-20
| `Porting Guide <https://docs.ansible.com/ansible-core/2.14/porting_guides/porting_guide_core_2.14.html>`__
Minor Changes
-------------
- Removed ``straight.plugin`` from the build and packaging requirements.
Bugfixes
--------
- ansible-test - Fix a traceback that occurs when attempting to test Ansible source using a different ansible-test. A clear error message is now given when this scenario occurs.
- ansible-test local change detection - use ``git merge-base <branch> HEAD`` instead of ``git merge-base --fork-point <branch>`` (https://github.com/ansible/ansible/pull/79734).
- man page build - Remove the dependency on the ``docs`` directory for building man pages.
- uri - fix search for JSON type to include complex strings containing '+'
v2.14.6
=======
Release Summary
---------------
| Release Date: 2023-05-22
| `Porting Guide <https://docs.ansible.com/ansible-core/2.14/porting_guides/porting_guide_core_2.14.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
--------
- Display - Defensively configure writing to stdout and stderr with the replace encoding error handler that will replace invalid characters (https://github.com/ansible/ansible/issues/80258)
- Properly disable ``jinja2_native`` in the template module when jinja2 override is used in the template (https://github.com/ansible/ansible/issues/80605)
- 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.14.5
=======
Release Summary
---------------
| Release Date: 2023-04-24
| `Porting Guide <https://docs.ansible.com/ansible-core/2.14/porting_guides/porting_guide_core_2.14.html>`__
Bugfixes
--------
- 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.
- jinja2_native - fix intermittent 'could not find job' failures when a value of ``ansible_job_id`` from a result of an async task was inadvertently changed during execution; to prevent this a format of ``ansible_job_id`` was changed.
- password lookup now correctly reads stored ident fields.
- pep517 build backend - Use the documented ``import_module`` import from ``importlib``.
- roles - Fix templating ``public``, ``allow_duplicates`` and ``rolespec_validate`` (https://github.com/ansible/ansible/issues/80304).
- syntax check - Limit ``--syntax-check`` to ``ansible-playbook`` only, as that is the only CLI affected by this argument (https://github.com/ansible/ansible/issues/80506)
v2.14.4
=======
Release Summary
---------------
| Release Date: 2023-03-27
| `Porting Guide <https://docs.ansible.com/ansible-core/2.14/porting_guides/porting_guide_core_2.14.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.
- Fix an issue where the value of ``become`` was ignored when used on a role used as a dependency in ``main/meta.yml`` (https://github.com/ansible/ansible/issues/79777)
- ``ansible_eval_concat`` - avoid redundant unsafe wrapping of templated strings converted to Python types
- ansible-galaxy role info - fix unhandled AttributeError by catching the correct exception.
- 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)
- copy - fix creating the dest directory in check mode with remote_src=True (https://github.com/ansible/ansible/issues/78611).
- copy - fix reporting changes to file attributes in check mode with remote_src=True (https://github.com/ansible/ansible/issues/77957).
v2.14.3
=======
Release Summary
---------------
| Release Date: 2023-02-27
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
Minor Changes
-------------
- Make using blocks as handlers a parser error (https://github.com/ansible/ansible/issues/79968)
- 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 - Update error handling code to use Python 3.x constructs, avoiding direct use of ``errno``.
- 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.
- Fix conditionally notifying ``include_tasks` handlers when ``force_handlers`` is used (https://github.com/ansible/ansible/issues/79776)
- TaskExecutor - don't ignore templated _raw_params that k=v parser failed to parse (https://github.com/ansible/ansible/issues/79862)
- ansible-galaxy - fix installing collections in git repositories/directories which contain a MANIFEST.json file (https://github.com/ansible/ansible/issues/79796).
- ansible-test - Support Podman 4.4.0+ by adding the ``SYS_CHROOT`` capability when running containers.
- ansible-test - fix warning message about failing to run an image to include the image name
- strategy plugins now correctly identify bad registered variables, even on skip.
v2.14.2
=======
Release Summary
---------------
| Release Date: 2023-01-30
| `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 - Additional log details are shown when containers fail to start or SSH connections to containers fail.
- 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 - 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 - 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 - 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.
Bugfixes
--------
- Correctly count rescued tasks in play recap (https://github.com/ansible/ansible/issues/79711)
- Fix traceback when using the ``template`` module and running with ``ANSIBLE_DEBUG=1`` (https://github.com/ansible/ansible/issues/79763)
- Fix using ``GALAXY_IGNORE_CERTS`` in conjunction with collections in requirements files which specify a specific ``source`` that isn't in the configured servers.
- Fix using ``GALAXY_IGNORE_CERTS`` when downloading tarballs from Galaxy servers (https://github.com/ansible/ansible/issues/79557).
- Module and role argument validation - include the valid suboption choices in the error when an invalid suboption is provided.
- ansible-doc now will correctly display short descriptions on listing filters/tests no matter the directory sorting.
- ansible-inventory will not explicitly sort groups/hosts anymore, giving a chance (depending on output format) to match the order in the input sources.
- ansible-test - Added a work-around for a traceback under Python 3.11 when completing certain command line options.
- 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 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 sanity - correctly report invalid YAML in validate-modules (https://github.com/ansible/ansible/issues/75837).
- argument spec validation - again report deprecated parameters for Python-based modules. This was accidentally removed in ansible-core 2.11 when argument spec validation was refactored (https://github.com/ansible/ansible/issues/79680, https://github.com/ansible/ansible/pull/79681).
- argument spec validation - ensure that deprecated aliases in suboptions are also reported (https://github.com/ansible/ansible/pull/79740).
- argument spec validation - fix warning message when two aliases of the same option are used for suboptions to also mention the option's name they are in (https://github.com/ansible/ansible/pull/79740).
- connection local now avoids traceback on invalid user being used to execuet ansible (valid in host, but not in container).
- 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)
- get_url - Ensure we are passing ciphers to all url_get calls (https://github.com/ansible/ansible/issues/79717)
- plugin filter now works with rejectlist as documented (still falls back to blacklist if used).
- uri - improve JSON content type detection
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.14.1
=======
Release Summary
---------------
| Release Date: 2022-12-06
| `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
--------
- Fixes leftover _valid_attrs usage.
- ansible-galaxy - make initial call to Galaxy server on-demand only when installing, getting info about, and listing roles.
- copy module will no longer move 'non files' set as src when remote_src=true.
- display - reduce risk of post-fork output deadlocks (https://github.com/ansible/ansible/pull/79522)
- jinja2_native: preserve quotes in strings (https://github.com/ansible/ansible/issues/79083)
- updated error messages to include 'acl' and not just mode changes when failing to set required permissions on remote.
v2.14.0
=======
Release Summary
---------------
| Release Date: 2022-11-07
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
Major Changes
-------------
- Move handler processing into new ``PlayIterator`` phase to use the configured strategy (https://github.com/ansible/ansible/issues/65067)
- ansible - At startup the filesystem encoding and locale are checked to verify they are UTF-8. If not, the process exits with an error reporting the errant encoding.
- ansible - Increase minimum Python requirement to Python 3.9 for CLI utilities and controller code
- ansible-test - At startup the filesystem encoding is checked to verify it is UTF-8. If not, the process exits with an error reporting the errant encoding.
- ansible-test - At startup the locale is configured as ``en_US.UTF-8``, with a fallback to ``C.UTF-8``. If neither encoding is available the process exits with an error. If the fallback is used, a warning is displayed. In previous versions the ``en_US.UTF-8`` locale was always requested. However, no startup checking was performed to verify the locale was successfully configured.
Minor Changes
-------------
- Add a new "INVENTORY_UNPARSED_WARNING" flag add to hide the "No inventory was parsed, only implicit localhost is available" warning
- 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.
- Add support for parsing ``-a`` module options as JSON and not just key=value arguments - https://github.com/ansible/ansible/issues/78112
- Added Kylin Linux Advanced Server OS in RedHat OS Family.
- Allow ``when`` conditionals to be used on ``flush_handlers`` (https://github.com/ansible/ansible/issues/77616)
- Allow meta tasks to be used as handlers.
- Display - The display class will now proxy calls to Display.display via the queue from forks/workers to be handled by the parent process for actual display. This reduces some reliance on the fork start method and improves reliability of displaying messages.
- Jinja version test - Add pep440 version_type for version test. (https://github.com/ansible/ansible/issues/78288)
- Loops - Add new ``loop_control.extended_allitems`` to allow users to disable tracking all loop items for each loop (https://github.com/ansible/ansible/issues/75216)
- NetBSD - Add uptime_seconds fact
- Provide a `utc` option for strftime to show time in UTC rather than local time
- Raise a proper error when ``include_role`` or ``import_role`` is used as a handler.
- Remove the ``AnsibleContext.resolve`` method as its override is not necessary. Furthermore the ability to override the ``resolve`` method was deprecated in Jinja 3.0.0 and removed in Jinja 3.1.0.
- Utilize @classmethod and @property together to form classproperty (Python 3.9) to access field attributes of a class
- ``LoopControl`` is now templated through standard ``post_validate`` method (https://github.com/ansible/ansible/pull/75715)
- ``ansible-galaxy collection install`` - add an ``--offline`` option to prevent querying distribution servers (https://github.com/ansible/ansible/issues/77443).
- ansible - Add support for Python 3.11 to Python interpreter discovery.
- ansible - At startup the stdin/stdout/stderr file handles are checked to verify they are using blocking IO. If not, the process exits with an error reporting which file handle(s) are using non-blocking IO.
- ansible-config adds JSON and YAML output formats for list and dump actions.
- ansible-connection now supports verbosity directly on cli
- ansible-console added 'collections' command to match playbook keyword.
- ansible-doc - remove some of the manual formatting, and use YAML more uniformly. This in particular means that ``true`` and ``false`` are used for boolean values, instead of ``True`` and ``False`` (https://github.com/ansible/ansible/pull/78668).
- 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-galaxy now supports a user defined timeout, instead of existing hardcoded 60s (now the default).
- ansible-test - Add FreeBSD 13.1 remote support.
- ansible-test - Add RHEL 9.0 remote support.
- ansible-test - Add support for Python 3.11.
- ansible-test - Add support for RHEL 8.6 remotes.
- 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 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 - Add support for running non-interactive commands with ``ansible-test shell``.
- ansible-test - Alpine remotes now use ``sudo`` for tests, using ``doas`` only for bootstrapping.
- 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.
- ansible-test - Avoid using the ``mock_use_standalone_module`` setting for unit tests running on Python 3.8 or later.
- ansible-test - Become support for remote instance provisioning is no longer tied to a fixed list of platforms.
- 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 - Distribution specific test containers are now multi-arch, supporting both x86_64 and aarch64.
- ansible-test - Distribution specific test containers no longer contain a ``/etc/ansible/hosts`` file.
- ansible-test - Enable loading of ``coverage`` data files created by older supported ansible-test releases.
- ansible-test - Fedora 36 has been added as a test container.
- ansible-test - FreeBSD remotes now use ``sudo`` for tests, using ``su`` only for bootstrapping.
- ansible-test - Improve consistency of output messages by using stdout or stderr for most output, but not both.
- ansible-test - Improve consistency of version specific documentation links.
- 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 - Remove Fedora 34 test container.
- ansible-test - Remove Fedora 35 test container.
- ansible-test - Remove FreeBSD 13.0 remote support.
- ansible-test - Remove RHEL 8.5 remote support.
- ansible-test - Remove Ubuntu 18.04 test container.
- ansible-test - Remove support for Python 2.7 on provisioned FreeBSD instances.
- ansible-test - Remove support for Python 3.8 on the controller.
- ansible-test - Remove the ``opensuse15py2`` container.
- ansible-test - Support multiple pinned versions of the ``coverage`` module. The version used now depends on the Python version in use.
- ansible-test - Test containers have been updated to remove the ``VOLUME`` instruction.
- ansible-test - The Alpine 3 test container has been updated to Alpine 3.16.0.
- ansible-test - The ``http-test-container`` container is now multi-arch, supporting both x86_64 and aarch64.
- ansible-test - The ``pypi-test-container`` container is now multi-arch, supporting both x86_64 and aarch64.
- ansible-test - The ``shell`` command can be used outside a collection if no controller delegation is required.
- ansible-test - The openSUSE test container has been updated to openSUSE Leap 15.4.
- ansible-test - Ubuntu 22.04 has been added as a test container.
- ansible-test - Update ``base`` and ``default`` containers to include Python 3.11.0.
- ansible-test - Update ``default`` containers to include new ``docs-build`` sanity test requirements.
- ansible-test - Update pinned sanity test requirements for all tests.
- ansible-test - Update the ``base`` container to 3.4.0.
- ansible-test - Update the ``default`` containers to 6.6.0.
- ansible-test validate-modules - Added support for validating module documentation stored in a sidecar file alongside the module (``{module}.yml`` or ``{module}.yaml``). Previously these files were ignored and documentation had to be placed in ``{module}.py``.
- apt_repository remove dependency on apt-key and use gpg + /usr/share/keyrings directly instead
- apt_repository will use the trust repo directories in order of preference (more appropriate to less) as they exist on the target.
- blockinfile - The presence of the multiline flag (?m) in the regular expression for insertafter opr insertbefore controls whether the match is done line by line or with multiple lines (https://github.com/ansible/ansible/pull/75090).
- calls to listify_lookup_plugin_terms in core do not pass in loader/dataloader anymore.
- collections - ``ansible-galaxy collection build`` can now utilize ``MANIFEST.in`` style directives from ``galaxy.yml`` instead of ``build_ignore`` effectively inverting the logic from include by default, to exclude by default. (https://github.com/ansible/ansible/pull/78422)
- config manager, move templating into main query function in config instead of constants
- config manager, remove updates to configdata as it is mostly unused
- configuration entry INTERPRETER_PYTHON_DISTRO_MAP is now 'private' and won't show up in normal configuration queries and docs, since it is not 'settable' this avoids user confusion.
- distribution - add distribution_minor_version for Debian Distro (https://github.com/ansible/ansible/issues/74481).
- documentation construction now gives more information on error.
- facts - add OSMC to Debian os_family mapping
- get_url - permit to pass to parameter ``checksum`` an URL pointing to a file containing only a checksum (https://github.com/ansible/ansible/issues/54390).
- new tests url, uri and urn will verify string as such, but they don't check existance of the resource
- plugin loader - add ansible_name and ansible_aliases attributes to plugin objects/classes.
- systemd is now systemd_service to better reflect the scope of the module, systemd is kept as an alias for backwards compatibility.
- templating - removed internal template cache
- uri - cleanup write_file method, remove overkill safety checks and report any exception, change shutilcopyfile to use module.atomic_move
- urls - Add support to specify SSL/TLS ciphers to use during a request (https://github.com/ansible/ansible/issues/78633)
- validate-modules - Allow ``type: raw`` on a module return type definition for values that have a dynamic type
- version output now includes the path to the python executable that Ansible is running under
- yum_repository - do not give the ``async`` parameter a default value anymore, since this option is deprecated in RHEL 8. This means that ``async = 1`` won't be added to repository files if omitted, but it can still be set explicitly if needed.
Breaking Changes / Porting Guide
--------------------------------
- Allow for lazy evaluation of Jinja2 expressions (https://github.com/ansible/ansible/issues/56017)
- The default ansible-galaxy role skeletons no longer contain .travis.yml files. You can configure ansible-galaxy to use a custom role skeleton that contains a .travis.yml file to continue using Galaxy's integration with Travis CI.
- ansible - At startup the filesystem encoding and locale are checked to verify they are UTF-8. If not, the process exits with an error reporting the errant encoding.
- ansible - Increase minimum Python requirement to Python 3.9 for CLI utilities and controller code
- ansible-test - At startup the filesystem encoding is checked to verify it is UTF-8. If not, the process exits with an error reporting the errant encoding.
- ansible-test - At startup the locale is configured as ``en_US.UTF-8``, with a fallback to ``C.UTF-8``. If neither encoding is available the process exits with an error. If the fallback is used, a warning is displayed. In previous versions the ``en_US.UTF-8`` locale was always requested. However, no startup checking was performed to verify the locale was successfully configured.
- ansible-test validate-modules - Removed the ``missing-python-doc`` error code in validate modules, ``missing-documentation`` is used instead for missing PowerShell module documentation.
- strategy plugins - Make ``ignore_unreachable`` to increase ``ignored`` and ``ok`` and counter, not ``skipped`` and ``unreachable``. (https://github.com/ansible/ansible/issues/77690)
Deprecated Features
-------------------
- Deprecate ability of lookup plugins to return arbitrary data. Lookup plugins must return lists, failing to do so will be an error in 2.18. (https://github.com/ansible/ansible/issues/77788)
- Encryption - Deprecate use of the Python crypt module due to it's impending removal from Python 3.13
- PlayContext.verbosity is deprecated and will be removed in 2.18. Use ansible.utils.display.Display().verbosity as the single source of truth.
- ``DEFAULT_FACT_PATH``, ``DEFAULT_GATHER_SUBSET`` and ``DEFAULT_GATHER_TIMEOUT`` are deprecated and will be removed in 2.18. Use ``module_defaults`` keyword instead.
- ``PlayIterator`` - deprecate ``cache_block_tasks`` and ``get_original_task`` which are noop and unused.
- ``Templar`` - deprecate ``shared_loader_obj`` option which is unused. ``ansible.plugins.loader`` is used directly instead.
- listify_lookup_plugin_terms, deprecate 'loader/dataloader' parameter as it not used.
- vars plugins - determining whether or not to run ansible.legacy vars plugins with the class attribute REQUIRES_WHITELIST is deprecated, set REQUIRES_ENABLED instead.
Removed Features (previously deprecated)
----------------------------------------
- PlayIterator - remove deprecated ``PlayIterator.ITERATING_*`` and ``PlayIterator.FAILED_*``
- Remove deprecated ``ALLOW_WORLD_READABLE_TMPFILES`` configuration option (https://github.com/ansible/ansible/issues/77393)
- Remove deprecated ``COMMAND_WARNINGS`` configuration option (https://github.com/ansible/ansible/issues/77394)
- Remove deprecated ``DISPLAY_SKIPPED_HOSTS`` environment variable (https://github.com/ansible/ansible/issues/77396)
- Remove deprecated ``LIBVIRT_LXC_NOSECLABEL`` environment variable (https://github.com/ansible/ansible/issues/77395)
- Remove deprecated ``NETWORK_GROUP_MODULES`` environment variable (https://github.com/ansible/ansible/issues/77397)
- Remove deprecated ``UnsafeProxy``
- Remove deprecated ``plugin_filters_cfg`` config option from ``default`` section (https://github.com/ansible/ansible/issues/77398)
- Remove deprecated functionality that allows loading cache plugins directly without using ``cache_loader``.
- Remove deprecated functionality that allows subclassing ``DefaultCallback`` without the corresponding ``doc_fragment``.
- Remove deprecated powershell functions ``Load-CommandUtils`` and ``Import-PrivilegeUtil``
- apt_key - remove deprecated ``key`` module param
- command/shell - remove deprecated ``warn`` module param
- get_url - remove deprecated ``sha256sum`` module param
- import_playbook - remove deprecated functionality that allows providing additional parameters in free form
Bugfixes
--------
- "meta: refresh_inventory" does not clobber entries added by add_host/group_by anymore.
- Add PyYAML >= 5.1 as a dependency of ansible-core to be compatible with Python 3.8+.
- Avoid 'unreachable' error when chmod on AIX has 255 as return code.
- 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)
- Bug fix for when handlers were ran on failed hosts after an ``always`` section was executed (https://github.com/ansible/ansible/issues/52561)
- Do not allow handlers from dynamic includes to be notified (https://github.com/ansible/ansible/pull/78399)
- Do not crash when templating an expression with a test or filter that is not a valid Ansible filter name (https://github.com/ansible/ansible/issues/78912, https://github.com/ansible/ansible/pull/78913).
- Ensure handlers observe ``any_errors_fatal`` (https://github.com/ansible/ansible/issues/46447)
- Ensure syntax check errors include playbook filenames
- Ensure the correct ``environment_class`` is set on ``AnsibleJ2Template``
- Error for collection redirects that do not use fully qualified collection names, as the redirect would be determined by the ``collections`` keyword.
- Fix PluginLoader to mimic Python import machinery by adding module to sys.modules before exec
- Fix ``-vv`` output for meta tasks to not have an empty message when skipped, print the skip reason instead. (https://github.com/ansible/ansible/issues/77315)
- Fix an issue where ``ansible_play_hosts`` and ``ansible_play_batch`` were not properly updated when a failure occured in an explicit block inside the rescue section (https://github.com/ansible/ansible/issues/78612)
- Fix dnf module documentation to indicate that comparison operators for package version require spaces around them (https://github.com/ansible/ansible/issues/78295)
- Fix for linear strategy when tasks were executed in incorrect order or even removed from execution. (https://github.com/ansible/ansible/issues/64611, https://github.com/ansible/ansible/issues/64999, https://github.com/ansible/ansible/issues/72725, https://github.com/ansible/ansible/issues/72781)
- Fix for network_cli not getting all relevant connection options
- Fix handlers execution with ``serial`` in the ``linear`` strategy (https://github.com/ansible/ansible/issues/54991)
- Fix potential, but unlikely, cases of variable use before definition.
- Fix reusing a connection in a task loop that uses a redirected or aliased name - https://github.com/ansible/ansible/issues/78425
- Fix setting become activation in a task loop - https://github.com/ansible/ansible/issues/78425
- Fix traceback when installing a collection from a git repository and git is not installed (https://github.com/ansible/ansible/issues/77479).
- GALAXY_IGNORE_CERTS reworked to allow each server entry to override
- More gracefully handle separator errors in jinja2 template overrides (https://github.com/ansible/ansible/pull/77495).
- Move undefined check from concat to finalize (https://github.com/ansible/ansible/issues/78156)
- Prevent losing unsafe on results returned from lookups (https://github.com/ansible/ansible/issues/77535)
- Propagate ``ansible_failed_task`` and ``ansible_failed_result`` to an outer rescue (https://github.com/ansible/ansible/issues/43191)
- Properly execute rescue section when an include task fails in all loop iterations (https://github.com/ansible/ansible/issues/23161)
- Properly send a skipped message when a list in a ``loop`` is empty and comes from a template (https://github.com/ansible/ansible/issues/77934)
- Support colons in jinja2 template override values (https://github.com/ansible/ansible/pull/77495).
- ``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-config init -f vars` will now use shorthand format
- action plugins now pass cannonical info to modules instead of 'temporary' info from play_context
- ansible - Exclude Python 2.6 from Python interpreter discovery.
- ansible-config dump - Only display plugin type headers when plugin options are changed if --only-changed is specified.
- ansible-config limit shorthand format to assigned values
- ansible-configi init should now skip internal reserved config entries
- ansible-connection - decrypt vaulted parameters before sending over the socket, as vault secrets are not available on the other side.
- ansible-console - Renamed the first argument of ``ConsoleCLI.default`` from ``arg`` to ``line`` to match the first argument of the same method on the base class ``Cmd``.
- ansible-console commands now all have a help entry.
- ansible-console fixed to load modules via fqcn, short names and handle redirects.
- ansible-console now shows installed collection modules.
- ansible-doc - fix listing plugins.
- ansible-doc will not add 'website for' in ":ref:" substitutions as it made them confusing.
- ansible-doc will not again warn and skip when missing docs, always show the doc file (for edit on github) and match legacy plugins.
- ansible-doc will not traceback when legacy plugins don't have docs nor adjacent file with docs
- ansible-doc will now also display until as an 'implicit' templating keyword.
- ansible-doc will now not display version_added_collection under same conditions it does not display version_added.
- 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-galaxy - Fix loading boolean server options so False doesn't become a truthy string (https://github.com/ansible/ansible/issues/77416).
- 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 - Fix unhandled traceback if a role's dependencies in meta/main.yml or meta/requirements.yml are not lists.
- 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 installing collections that have dependencies in the metadata set to null instead of an empty dictionary (https://github.com/ansible/ansible/issues/77560).
- ansible-galaxy - fix listing collections that contains metadata but the namespace or name are not strings.
- ansible-galaxy - fix missing meta/runtime.yml in default galaxy skeleton used for ansible-galaxy collection init
- ansible-galaxy - fix setting the cache for paginated responses from Galaxy NG/AH (https://github.com/ansible/ansible/issues/77911).
- ansible-galaxy - handle unsupported versions of resolvelib gracefully.
- ansible-galaxy --ignore-certs now has proper precedence over configuration
- ansible-test - Add ``wheel < 0.38.0`` constraint for Python 3.6 and earlier.
- 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).
- ansible-test - Always remove containers after failing to create/run them. This avoids leaving behind created containers when using podman.
- 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 - 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 - Don't fail if network cannot be disconnected (https://github.com/ansible/ansible/pull/77472)
- ansible-test - Fix bootstrapping of Python 3.9 on Ubuntu 20.04 remotes.
- ansible-test - Fix broken documentation link for ``aws`` test plugin error messages.
- ansible-test - Fix change detection for ansible-test's own integration tests.
- ansible-test - Fix internal validation of remote completion configuration.
- 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 - 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.
- 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 configuration for collections is now parsed only once, prior to delegation. Fixes issue: https://github.com/ansible/ansible/issues/78334
- 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 - 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.
- ansible-test - Update the ``pylint`` sanity test requirements to resolve crashes on Python 3.11. (https://github.com/ansible/ansible/issues/78882)
- ansible-test - Update the ``pylint`` sanity test to use version 2.15.4.
- ansible-test - Update the ``pylint`` sanity test to use version 2.15.5.
- 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.
- ansible-test - validate-modules - Documentation-only modules, used for documenting actions, are now allowed to have docstrings (https://github.com/ansible/ansible/issues/77972).
- 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).
- 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 - 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)
- apt module now correctly handles virtual packages.
- apt module should not traceback on invalid type given as package. issue 78663.
- arg_spec - Fix incorrect ``no_log`` warning when a parameter alias is used (https://github.com/ansible/ansible/pull/77576)
- callback plugins - do not crash when ``exception`` passed from a module is not a string (https://github.com/ansible/ansible/issues/75726, https://github.com/ansible/ansible/pull/77781).
- cli now emits clearer error on no hosts selected
- config, ensure that pulling values from configmanager are templated if possible.
- display itself should be single source of 'verbosity' level to the engine.
- dnf - Condense a few internal boolean returns.
- dnf - The ``nobest`` option now also works for ``state=latest``.
- dnf - The ``skip_broken`` option is now used in installs (https://github.com/ansible/ansible/issues/73072).
- dnf - fix output parsing on systems with ``LANGUAGE`` set to a language other than English (https://github.com/ansible/ansible/issues/78193)
- facts - fix IP address discovery for specific interface names (https://github.com/ansible/ansible/issues/77792).
- facts - fix processor facts on AIX: correctly detect number of cores and threads, turn ``processor`` into a list (https://github.com/ansible/ansible/pull/78223).
- fetch_file - Ensure we only use the filename when calculating a tempfile, and do not incude the query string (https://github.com/ansible/ansible/issues/29680)
- fetch_file - properly split files with multiple file extensions (https://github.com/ansible/ansible/pull/75257)
- file - setting attributes of symbolic links or files that are hard linked no longer fails when the link target is unspecified (https://github.com/ansible/ansible/issues/76142).
- file backed cache plugins now handle concurrent access by making atomic updates to the files.
- git module fix docs and proper use of ssh wrapper script and GIT_SSH_COMMAND depending on version.
- handlers - fix an issue where the ``flush_handlers`` meta task could not be used with FQCN: ``ansible.builtin.meta`` (https://github.com/ansible/ansible/issues/79023)
- if a config setting prevents running ansible it should at least show it's "origin".
- include module - add docs url to include deprecation message (https://github.com/ansible/ansible/issues/76684).
- items2dict - Handle error if an item is not a dictionary or is missing the required keys (https://github.com/ansible/ansible/issues/70337).
- keyword inheritance - Ensure that we do not squash keywords in validate (https://github.com/ansible/ansible/issues/79021)
- known_hosts - do not return changed status when a non-existing key is removed (https://github.com/ansible/ansible/issues/78598)
- local facts - if a local fact in the facts directory cannot be stated, store an error message as the fact value and emit a warning just as if just as if the facts execution has failed. The stat can fail e.g. on dangling symlinks.
- lookup plugin - catch KeyError when lookup returns dictionary (https://github.com/ansible/ansible/pull/77789).
- module_utils - Make distro.id() report newer versions of OpenSuSE (at least >=15) also report as ``opensuse``. They report themselves as ``opensuse-leap``.
- module_utils.service - daemonize - Avoid modifying the list of file descriptors while iterating over it.
- null_representation config entry changed to 'raw' as it must allow 'none/null' and empty string.
- omit on keywords was resetting to default value, ignoring inheritance.
- paramiko - Add a new option to allow paramiko >= 2.9 to easily work with all devices now that rsa-sha2 support was added to paramiko, which prevented communication with numerous platforms. (https://github.com/ansible/ansible/issues/76737)
- 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)
- password lookup does not ignore k=v arguments anymore.
- pause module will now report proper 'echo' vs always being true.
- 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).
- plugin loader, fix detection for existing configuration before initializing for a plugin
- plugin loader, now when skipping a plugin due to an abstract method error we provide that in 'verbose' mode instead of totally obscuring the error. The current implementation assumed only the base classes would trigger this and failed to consider 'in development' plugins.
- prevent lusermod from using group name instead of group id (https://github.com/ansible/ansible/pull/77914)
- prevent type annotation shim failures from causing runtime failures (https://github.com/ansible/ansible/pull/77860)
- psrp connection now handles default to inventory_hostname correctly.
- roles, fixed issue with roles loading paths not contained in the role itself when using the `_from` options.
- service_facts - Use python re to parse service output instead of grep (https://github.com/ansible/ansible/issues/78541)
- setup - Adds a default value to ``lvm_facts`` when lvm or lvm2 is not installed on linux (https://github.com/ansible/ansible/issues/17393)
- shell plugins now give a more user friendly error when fed the wrong type of data.
- template module/lookup - fix ``convert_data`` option that was effectively always set to True for Jinja macros (https://github.com/ansible/ansible/issues/78141)
- unarchive - if unzip is available but zipinfo is not, use unzip -Z instead of zipinfo (https://github.com/ansible/ansible/issues/76959).
- uri - properly use uri parameter use_proxy (https://github.com/ansible/ansible/issues/58632)
- uri module - failed status when Authentication Bearer used with netrc, because Basic authentication was by default. Fix now allows to ignore netrc by changing use_netrc=False (https://github.com/ansible/ansible/issues/74397).
- 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)
- user - Fix error "Permission denied" in user module while generating SSH keys (https://github.com/ansible/ansible/issues/78017).
- user - fix creating a local user if the user group already exists (https://github.com/ansible/ansible/pull/75042)
- user module - Replace uses of the deprecated ``spwd`` python module with ctypes (https://github.com/ansible/ansible/pull/78050)
- validate-modules - fix validating version_added for new options.
- variablemanager, more efficient read of vars files
- vault secrets file now executes in the correct context when it is a symlink (not resolved to canonical file).
- wait_for - Read file and perform comparisons using bytes to avoid decode errors (https://github.com/ansible/ansible/issues/78214)
- winrm - Ensure ``kinit`` is run with the same ``PATH`` env var as the Ansible process
- winrm connection now handles default to inventory_hostname correctly.
- yaml inventory plugin - fix the error message for non-string hostnames (https://github.com/ansible/ansible/issues/77519).
- yum - fix traceback when ``releasever`` is specified with ``latest`` (https://github.com/ansible/ansible/issues/78058)
New Plugins
-----------
Test
~~~~
- uri - is the string a valid URI
- url - is the string a valid URL
- urn - is the string a valid URN

View File

@ -1,6 +0,0 @@
Placeholder changelog
=====================
This file is a placeholder; a version-specific ``CHANGELOG-vX.Y.rst`` will be generated during releases from fragments
under changelogs/fragments. On release branches once a release has been created, consult the branch's version-specific
file for changes that have occurred in that branch.

8
changelogs/README.md Normal file
View File

@ -0,0 +1,8 @@
Changelogs
==========
As part of the release process a version-specific `CHANGELOG-vX.Y.rst` will be generated from fragments in
the `fragments` directory.
On release branches once a release has been created, consult the branch's version-specific file for changes that have
occurred in that branch. The `devel` branch does not have a generated changelog, only changelog fragments.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,3 @@
release_summary: |
| Release Date: 2023-09-11
| `Porting Guide <https://docs.ansible.com/ansible-core/2.14/porting_guides/porting_guide_core_2.14.html>`__

View File

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

View File

@ -0,0 +1,3 @@
release_summary: |
| Release Date: 2023-03-27
| `Porting Guide <https://docs.ansible.com/ansible-core/2.14/porting_guides/porting_guide_core_2.14.html>`__

View File

@ -0,0 +1,3 @@
release_summary: |
| Release Date: 2023-03-21
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

View File

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

View File

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

View File

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

View File

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

View File

@ -0,0 +1,3 @@
release_summary: |
| Release Date: 2023-06-20
| `Porting Guide <https://docs.ansible.com/ansible-core/2.14/porting_guides/porting_guide_core_2.14.html>`__

View File

@ -0,0 +1,3 @@
release_summary: |
| Release Date: 2023-06-12
| `Porting Guide <https://docs.ansible.com/ansible-core/2.14/porting_guides/porting_guide_core_2.14.html>`__

View File

@ -0,0 +1,3 @@
release_summary: |
| Release Date: 2023-07-18
| `Porting Guide <https://docs.ansible.com/ansible-core/2.14/porting_guides/porting_guide_core_2.14.html>`__

View File

@ -0,0 +1,3 @@
release_summary: |
| Release Date: 2023-07-10
| `Porting Guide <https://docs.ansible.com/ansible-core/2.14/porting_guides/porting_guide_core_2.14.html>`__

View File

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

View File

@ -0,0 +1,3 @@
release_summary: |
| Release Date: 2023-08-07
| `Porting Guide <https://docs.ansible.com/ansible-core/2.14/porting_guides/porting_guide_core_2.14.html>`__

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-test sanity - correctly report invalid YAML in validate-modules (https://github.com/ansible/ansible/issues/75837).

View File

@ -0,0 +1,2 @@
bugfixes:
- Module and role argument validation - include the valid suboption choices in the error when an invalid suboption is provided.

View File

@ -0,0 +1,5 @@
bugfixes:
- paramiko - Add a new option to allow paramiko >= 2.9 to easily work with
all devices now that rsa-sha2 support was added to paramiko, which
prevented communication with numerous platforms.
(https://github.com/ansible/ansible/issues/76737)

View File

@ -0,0 +1,3 @@
bugfixes:
- service_facts - Use python re to parse service output instead of grep
(https://github.com/ansible/ansible/issues/78541)

View File

@ -0,0 +1,3 @@
bugfixes:
- copy - fix reporting changes to file attributes in check mode with remote_src=True (https://github.com/ansible/ansible/issues/77957).
- copy - fix creating the dest directory in check mode with remote_src=True (https://github.com/ansible/ansible/issues/78611).

View File

@ -0,0 +1,3 @@
bugfixes:
- 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)

View File

@ -0,0 +1,2 @@
bugfixes:
- known_hosts - do not return changed status when a non-existing key is removed (https://github.com/ansible/ansible/issues/78598)

View File

@ -0,0 +1,2 @@
bugfixes:
- "Do not crash when templating an expression with a test or filter that is not a valid Ansible filter name (https://github.com/ansible/ansible/issues/78912, https://github.com/ansible/ansible/pull/78913)."

View File

@ -0,0 +1,3 @@
bugfixes:
- keyword inheritance - Ensure that we do not squash keywords in validate
(https://github.com/ansible/ansible/issues/79021)

View File

@ -0,0 +1,2 @@
bugfixes:
- "handlers - fix an issue where the ``flush_handlers`` meta task could not be used with FQCN: ``ansible.builtin.meta`` (https://github.com/ansible/ansible/issues/79023)"

View File

@ -0,0 +1,2 @@
bugfixes:
- "jinja2_native: preserve quotes in strings (https://github.com/ansible/ansible/issues/79083)"

View File

@ -0,0 +1,4 @@
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)

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-test - Add ``wheel < 0.38.0`` constraint for Python 3.6 and earlier.

View File

@ -0,0 +1,2 @@
bugfixes:
- Fixes leftover _valid_attrs usage.

View File

@ -0,0 +1,3 @@
bugfixes:
- 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)

View File

@ -0,0 +1,3 @@
bugfixes:
- Fix using ``GALAXY_IGNORE_CERTS`` when downloading tarballs from Galaxy servers (https://github.com/ansible/ansible/issues/79557).
- Fix using ``GALAXY_IGNORE_CERTS`` in conjunction with collections in requirements files which specify a specific ``source`` that isn't in the configured servers.

View File

@ -0,0 +1,2 @@
bugfixes:
- "argument spec validation - again report deprecated parameters for Python-based modules. This was accidentally removed in ansible-core 2.11 when argument spec validation was refactored (https://github.com/ansible/ansible/issues/79680, https://github.com/ansible/ansible/pull/79681)."

View File

@ -0,0 +1,2 @@
bugfixes:
- Correctly count rescued tasks in play recap (https://github.com/ansible/ansible/issues/79711)

View File

@ -0,0 +1,2 @@
bugfixes:
- get_url - Ensure we are passing ciphers to all url_get calls (https://github.com/ansible/ansible/issues/79717)

View File

@ -0,0 +1,2 @@
bugfixes:
- "ansible-test local change detection - use ``git merge-base <branch> HEAD`` instead of ``git merge-base --fork-point <branch>`` (https://github.com/ansible/ansible/pull/79734)."

View File

@ -0,0 +1,3 @@
bugfixes:
- "argument spec validation - ensure that deprecated aliases in suboptions are also reported (https://github.com/ansible/ansible/pull/79740)."
- "argument spec validation - fix warning message when two aliases of the same option are used for suboptions to also mention the option's name they are in (https://github.com/ansible/ansible/pull/79740)."

View File

@ -0,0 +1,2 @@
bugfixes:
- Fix traceback when using the ``template`` module and running with ``ANSIBLE_DEBUG=1`` (https://github.com/ansible/ansible/issues/79763)

View File

@ -0,0 +1,2 @@
bugfixes:
- Fix conditionally notifying ``include_tasks` handlers when ``force_handlers`` is used (https://github.com/ansible/ansible/issues/79776)

View File

@ -0,0 +1,2 @@
bugfixes:
- "Fix an issue where the value of ``become`` was ignored when used on a role used as a dependency in ``main/meta.yml`` (https://github.com/ansible/ansible/issues/79777)"

View File

@ -0,0 +1,2 @@
minor_changes:
- "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)."

View File

@ -0,0 +1,2 @@
bugfixes:
- TaskExecutor - don't ignore templated _raw_params that k=v parser failed to parse (https://github.com/ansible/ansible/issues/79862)

View File

@ -0,0 +1,2 @@
minor_changes:
- Make using blocks as handlers a parser error (https://github.com/ansible/ansible/issues/79968)

View File

@ -0,0 +1,3 @@
bugfixes:
- Display - Defensively configure writing to stdout and stderr with the replace encoding error handler that will replace invalid characters
(https://github.com/ansible/ansible/issues/80258)

View File

@ -0,0 +1,2 @@
bugfixes:
- "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)."

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-galaxy - reduce API calls to servers by fetching signatures only for final candidates.

View File

@ -0,0 +1,3 @@
bugfixes:
- syntax check - Limit ``--syntax-check`` to ``ansible-playbook`` only, as that is the only CLI affected by this argument
(https://github.com/ansible/ansible/issues/80506)

View File

@ -0,0 +1,2 @@
bugfixes:
- "Properly disable ``jinja2_native`` in the template module when jinja2 override is used in the template (https://github.com/ansible/ansible/issues/80605)"

View File

@ -0,0 +1,3 @@
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.

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-galaxy role info - fix unhandled AttributeError by catching the correct exception.

View File

@ -0,0 +1,8 @@
bugfixes:
- The ``ansible-config init`` command now has a documentation description.
- The ``ansible-galaxy collection download`` command now has a documentation description.
- The ``ansible-galaxy collection verify`` command now has a documentation description.
- The ``ansible-inventory`` command command now has a documentation description (previously used as the epilog).
- The ``ansible-galaxy collection install`` command documentation is now visible (previously hidden by a decorator).
- The ``ansible-galaxy role install`` command documentation is now visible (previously hidden by a decorator).
- Fix ``ansible-config init`` man page option indentation.

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-config limit shorthand format to assigned values

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-doc now will correctly display short descriptions on listing filters/tests no matter the directory sorting.

View File

@ -0,0 +1,2 @@
bugfixes:
- Windows - Ensure the module temp directory contains more unique values to avoid conflicts with concurrent runs - https://github.com/ansible/ansible/issues/80294

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-galaxy - make initial call to Galaxy server on-demand only when installing, getting info about, and listing roles.

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-galaxy - fix installing collections in git repositories/directories which contain a MANIFEST.json file (https://github.com/ansible/ansible/issues/79796).

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-test - Add support for ``argcomplete`` version 3.

View File

@ -0,0 +1,2 @@
minor_changes:
- ansible-test - Use a context manager to perform cleanup at exit instead of using the built-in ``atexit`` module.

View File

@ -0,0 +1,70 @@
major_changes:
- 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 - Docker Desktop on WSL2 is now supported (additional configuration required).
- ansible-test - Podman on WSL2 is now 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 - 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 - 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 - 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 - Warnings are now shown when using containers that were built with VOLUME instructions.
- 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 - Additional log details are shown when containers fail to start or SSH connections to containers fail.
- ansible-test - Containers included with ansible-test no longer disable seccomp by default.
- 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 - 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 - More details are provided about an instance when provisioning fails.
- ansible-test - Connection failures to remote provisioned hosts now show failure details as a warning.
- 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 - Use ``stop --time 0`` followed by ``rm`` to remove ephemeral containers instead of ``rm -f``.
This speeds up teardown of ephemeral containers.
- 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 - 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 - The ``ansible-test env`` command now detects and reports the container ID if running in a container.
- 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.
bugfixes:
- ansible-test - Multiple containers now work under Podman without specifying the ``--docker-network`` option.
- ansible-test - Prevent concurrent / repeat pulls of the same container image.
- ansible-test - Prevent concurrent / repeat inspections of the same container image.
- ansible-test - Prevent concurrent execution of cached methods.
- ansible-test - Handle server errors when executing the ``docker info`` command.
- ansible-test - Show the exception type when reporting errors during instance provisioning.
- ansible-test - Pass the ``XDG_RUNTIME_DIR`` environment variable through to container commands.
- 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 - Avoid using ``exec`` after container startup when possible.
This improves container startup performance and avoids intermittent startup issues with some old containers.
known_issues:
- ansible-test - Using Docker on systems with SELinux may require setting SELinux to permissive mode.
Podman should work with SELinux in enforcing mode.
- ansible-test - Additional configuration may be required for certain container host and container combinations.
Further details are available in the testing documentation.
- 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 - 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.

View File

@ -0,0 +1,2 @@
minor_changes:
- ansible-test - Update ``default`` containers to include new ``docs-build`` sanity test requirements.

View File

@ -0,0 +1,2 @@
minor_changes:
- ansible-test - Update ``base`` and ``default`` containers to include Python 3.11.0.

View File

@ -0,0 +1,4 @@
bugfixes:
- ansible-test - Fix broken documentation link for ``aws`` test plugin error messages.
minor_changes:
- ansible-test - Improve consistency of version specific documentation links.

View File

@ -0,0 +1,3 @@
bugfixes:
- ansible-test - Always use ansible-test managed entry points for ansible-core CLI tools when not running from source.
This fixes issues where CLI entry points created during install are not compatible with ansible-test.

View File

@ -0,0 +1,2 @@
minor_changes:
- ansible-test - Update error handling code to use Python 3.x constructs, avoiding direct use of ``errno``.

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-test - Removed pointless comparison in diff evaluation logic.

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-test - Added a work-around for a traceback under Python 3.11 when completing certain command line options.

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-test - fix warning message about failing to run an image to include the image name

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-test - When bootstrapping remote FreeBSD instances, use the OS packaged ``setuptools`` instead of installing the latest version from PyPI.

View File

@ -0,0 +1,4 @@
minor_changes:
- ansible-test - Updated the Azure Pipelines CI plugin to work with newer versions of git.
- 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.

View File

@ -0,0 +1,4 @@
bugfixes:
- 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

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