Compare commits

...

549 Commits

Author SHA1 Message Date
f27a4a4f5c New release v2.15.0b2 (#80467) 2023-04-10 16:01:01 -05:00
3a378ba61b ansible-test - Update default containers (#80466) 2023-04-10 13:25:41 -07:00
c7603bbb72 [stable-2.15] Replace validate-modules's semantic markup parser with antsibull-docs-parser (#80406) (#80432)
(cherry picked from commit 92c694372b)

Co-authored-by: Felix Fontein <felix@fontein.de>
2023-04-07 10:04:32 -07:00
8f0ddcba2c dnf5: fix module/pkg names in the failed respawn msg (#80402) (#80434)
(cherry picked from commit 12ce7d2e4e)
2023-04-06 13:19:40 -05:00
856e0312ff dnf5: use the logs API to determine transaction problems (#80401) (#80433)
(cherry picked from commit 8d5c250234)
2023-04-06 13:19:27 -05:00
13cdec1f46 [stable-2.15] Extend ansible-doc test with more classic markup. (#80407) (#80431)
(cherry picked from commit 96f7fd5539)

Co-authored-by: Felix Fontein <felix@fontein.de>
2023-04-06 09:58:49 -07:00
66ef54e83f [stable-2.15] Only use the selectors code path when we are prompt matching (#79931) (#80400)
(cherry picked from commit 6d1e355)
2023-04-05 11:06:28 -05:00
4fcf731ced Fetch signatures from galaxy after the dependency resolver runs (#80334) (#80397)
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-05 11:06:13 -05:00
ca08c27c94 Update Ansible release version to v2.15.0b1.post0. (#80396) 2023-04-04 13:29:32 -05:00
5a262ab510 New release v2.15.0b1 (#80395) 2023-04-04 12:41:20 -05:00
2f647e9617 Implement semantic markup support for Ansible documentation in validate-modules. (#80243) 2023-03-31 14:14:35 -07:00
7fcb9960e6 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.
2023-03-31 12:29:06 -07:00
4b20191c52 list all tags (including never) when listing tags (#80309)
* Ensure we default to show all tags when listing tags

 'never' was being excluded by default,as it is not part of the 'run tags'
 runtime default ('all'). For listing we now add it to the default 'run tags'.
2023-03-31 11:37:17 -04:00
043a0f3ee8 Fix run_once by instantly tiny post_validate (#78492) (#80051)
Signed-off-by: tu1h <lihai.tu@daocloud.io>
2023-03-31 11:36:44 -04:00
0e509ecf25 Support role extension for semantic markup. (#80305) 2023-03-31 10:52:10 -04:00
a81b787a05 Add new dnf5 module (#80272) 2023-03-31 15:51:48 +02:00
666188892e fix using templated values for include/import role FA (#80320)
* 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
2023-03-30 17:20:10 -05:00
a45dd2a01c 🐛📝 Undouble trailing colon @ faq.rst (#80359)
It is causing parsing/representation problems of the following
explicit RST code block.
2023-03-30 12:20:38 -07:00
5d64024f1a ansible-test - Fix packaging change classification (#80360) 2023-03-29 17:54:30 -07:00
d8adc081d8 ansible-test - Update base and default container (#80355) 2023-03-29 14:59:44 -07:00
49b5c80c41 ansible-test - Update sanity test requirements (#80354) 2023-03-29 12:15:25 -07:00
6a66761e0e 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.
2023-03-29 10:14:39 -07:00
cf44c84396 Add antsibull-changelog and antsibull-docs to other tools and programs page. (#80340) 2023-03-29 11:06:18 -04:00
55c40d4d45 Remove obsolete MANIFEST.in entries (#80346)
The referenced file and directory no longer exist.
2023-03-28 17:11:47 -07:00
0cfdf0ad59 Use a dedicated version helper for the docs build (#80345)
This removes the dependency on the release version helper in the docs-build sanity test.
2023-03-28 17:00:12 -07:00
46362bbd27 Update package-data sanity test (#80344)
The test no longer relies on the Makefile.
2023-03-28 16:44:36 -07:00
052da3c89e Use skip/macos instead of skip/macos/13.2 (#80343)
The reason for the skip won't be going away with future versions of macOS.
2023-03-28 16:11:56 -07:00
1d6f019ce6 Remove obsolete integration test aliases (#80342)
* Remove obsolete integration test aliases

* Remove obsolete `skip/osx` aliases

* Use `skip/macos` instead of `skip/osx` in docs
2023-03-28 13:45:56 -07:00
d2f6ea4179 New deb822_repository module (#80018)
Fixes #77073
2023-03-28 14:34:15 -05:00
29e0a68af2 Add Ansible community 7.4.0 porting guide (#80338) 2023-03-28 14:56:25 -04:00
2e413b74e4 Add work-around for old AZP jobs (#80339) 2023-03-28 11:50:47 -07:00
9faf94468b Enforce that Display.display requires a str (#80327)
* Enforce that Display.display requires a str

* clog frag

* ci_complete
2023-03-28 17:41:02 +02:00
bf74f390af clog (#80336)
(cherry picked from commit 97c8da7783)
2023-03-28 10:25:54 -04:00
fc9415eeb4 "Ansible Lint" IntelliJ plugin added (#80263) 2023-03-28 12:26:45 +01:00
fb6b90fe42 Improve Ansible.Basic.cs tempdir uniqueness (#80328)
* 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
2023-03-28 12:25:10 +10:00
8600a1b927 Bump antsibull-docs version in docs-build sanity test (#80326)
* Bump antsibull-docs to 1.11.0.

* Update all requirements for the docs-build sanity test.

* Run again with Python 3.9.
2023-03-27 15:23:47 -07:00
086ae42209 Fix URL processing. (#80295) 2023-03-27 13:54:29 -07:00
ba4505f5cb Ansible.Basic - Improve temporary file cleanup process (#80293)
* Ansible.Basic - Improve temporary file cleanup process

* Add comment on struct value used
2023-03-28 05:57:17 +10:00
8ce102f302 ansible-test - Remove macos/12.0 remote (#80319) 2023-03-27 12:56:13 -07:00
a6bfa82bd0 New upstream release tool (#80179) 2023-03-27 12:40:35 -07:00
93beef053e Improve dirname and basename filter doc (#80054) 2023-03-27 14:17:29 -04:00
93d0253292 Use variable instead of container resource in AZP (#80299) 2023-03-27 10:04:36 -07:00
0fd88717c9 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.
2023-03-27 10:22:18 -04:00
016b7f71b1 ansible-galaxy - support resolvelib >= 0.5.3, < 1.1.0 (#80196)
* ansible-galaxy - support `resolvelib >= 0.5.3, < 1.1.0`

<https://pypi.org/project/resolvelib/1.0.1> released on 2023-03-09:

-   <https://github.com/sarugaku/resolvelib/blob/main/CHANGELOG.rst#101-2023-03-09>
-   <https://github.com/sarugaku/resolvelib/releases/tag/1.0.1>

Signed-off-by: Wong Hoi Sing Edison <hswong3i@pantarei-design.com>

* Trigger CI by pinning resolvelib with latest version

Since resolvelib is pre-installed in our test containers, we should temporarily pin the latest version allowed to force the tests to run with that version. Once the tests have passed that commit can be reverted.

Please make those changes without force pushing, so that we keep the reference to the passing CI run. We can squash the commits when merging the PR so the temporary commits won't be in the final commit merged to the devel branch.

Signed-off-by: Wong Hoi Sing Edison <hswong3i@pantarei-design.com>

* https://github.com/ansible/ansible/pull/80196#discussion_r1136003637

Also test resolvelib with multiple supported versions.

Signed-off-by: Wong Hoi Sing Edison <hswong3i@pantarei-design.com>

* Revert "Trigger CI by pinning resolvelib with latest version"

This reverts commit 5518e5dbca.

---------

Signed-off-by: Wong Hoi Sing Edison <hswong3i@pantarei-design.com>
2023-03-27 16:19:23 +02:00
b398613120 Add support for plugin field in seealso. (#80212) 2023-03-23 17:37:09 -07:00
054aa92158 Fix url lookup test to use test container (#80284) 2023-03-23 12:58:57 -07:00
ed4b1afc6c Don't double loop, ensuring that machine formats don't dupe collections onto all paths (#80277)
* Don't double loop, ensuring that machine formats don't dupe collections onto all paths

* Add tests
2023-03-23 12:57:14 -07:00
42355d181a Do not double calculate loops and delegate_to (#80171) 2023-03-23 13:04:09 -05:00
fafb23094e ansible-doc: fix broken seealso links in text output (#80280)
* Fix broken URLs.

* Also remove auto-generated description for modules outside ansible.builtin.
2023-03-23 13:28:05 -04:00
4ea50cef23 validate-modules: check_mode attribute and compare with supports_check_mode parameter (#80090)
Co-authored-by: Brian Scholer <1260690+briantist@users.noreply.github.com>
2023-03-23 09:59:33 -07:00
5388f6020a validate-modules: support plugin see-also (#80244) 2023-03-23 09:48:22 -07:00
6a6824f570 ansible-test - Update CloudStack test container (#80278) 2023-03-23 09:28:23 -07:00
cf8fa5e75c ansible-test - Update sanity test requirements (#80279) 2023-03-22 17:47:06 -07:00
c2cc4225c2 Remove test related targets from Makefile (#80115)
Invoke `ansible-test` directly instead of wrapping invocations with `make`.
2023-03-22 15:51:00 -07:00
2ae013667e 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

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

* Add missing import

---------

Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
2023-03-22 11:04:56 -05:00
cba3952434 Move Collection requirements to ansible/ansible (#80234) 2023-03-21 16:59:26 -04:00
a2dc5fcc7d Implement semantic markup support for Ansible documentation in ansible-doc. (#80242) 2023-03-21 11:29:45 -04:00
4ca3a29cd2 Bump antsibull-docs version to 1.10.0 to support semantic markup. (#80201) 2023-03-21 10:21:54 -04:00
eebfd71a6d 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.
2023-03-20 14:53:13 -07:00
7097df3eed 📦 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>
2023-03-20 12:01:16 -07:00
888abf5d6e Make isolated source changes @ PEP 517 backend (#80253) 2023-03-20 11:26:53 -07:00
1491ec8019 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
2023-03-17 09:55:04 -04:00
fc8203168e 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.
2023-03-17 09:41:31 -04:00
0937cc4862 Update connection.rst (#80194) 2023-03-16 16:13:01 -04:00
507fd1bd60 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
2023-03-16 15:47:01 -04:00
0a6333f7d0 corrected class documentation (#80241) 2023-03-16 15:38:02 -04:00
516cb9a52e fix typo in plugin_docs.py (#80195)
lable -> label
2023-03-16 10:34:08 -04:00
bad8843124 ansible-test - Update git diff handling (#80202)
This change allows ansible-test to work with newer versions of git on AZP.
2023-03-13 15:29:09 -07:00
1c156c0d16 Replace deprecated BadZipfile with BadZipFile (#80198)
* Replace deprecated BadZipfile with BadZipFile

* Retain support for Python 2.7
2023-03-13 05:39:30 +10:00
7ce951ff48 Adjust release schedule docs to four weeks (#80166) 2023-03-10 11:41:45 -05:00
6165dfea40 ansible-galaxy role info - fix unhandled AttributeError
* catch GalaxyError instead of its base class to ensure it will have a http_error attribute
2023-03-09 16:47:13 -05:00
cb2180e286 Fixed typo (#80184)
`uvault` should be `unvault`
2023-03-09 11:21:08 -08:00
f3bc0f18ff ansible-test - Update base and default container (#80178) 2023-03-08 14:38:14 -08:00
85b5f31f75 Update mypy to 1.1.1 (#80175) 2023-03-08 13:11:03 -08:00
b7a0e0d792 copy - fix check mode with remote_src=True (#78624)
* Don't create dest directory in check mode

uncomment existing test

Fix checking for file attribute changes in check mode and add a test
2023-03-08 15:40:01 -05:00
c564c6e21e ansible-test - Update pylint requirements (#80172) 2023-03-08 12:15:02 -08:00
31658031ed ansible-test - Remove pointless comparison (#80168) 2023-03-08 11:06:54 -08:00
cfa7acbc19 Raise an error on invalid FA.isa value (#80040)
Avoids bad definitions of playbook classes
2023-03-08 12:48:43 -05:00
701f8852ec Revert "🧪 Switch macOS 13.2 to 12.0 in CI (#80145)" (#80156)
This reverts commit 326e70c02a.
2023-03-07 23:13:42 -08:00
46c08c4467 move test so it runs when the plugin is modified (#80158) 2023-03-07 17:13:02 -05:00
9a03c8f5b3 update paramiko_ssh unit tests load the connection with plugin loader (#80157)
* Load the paramiko_ssh connection plugin properly using plugin loader so it can use config manager when _connect() is called
2023-03-07 16:05:13 -05:00
a1bff416ed paramiko connection now uses the correct source of data (#79704)
* paramiko connection now uses the correct source of data

* keep orig name

* added missing port to docs

* Update changelogs/fragments/paramiko_config.yml

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

* test ansible_host templating

* added missing private_key_file

* removed all play_context fallbacks

* Update lib/ansible/plugins/connection/paramiko_ssh.py

Co-authored-by: Jordan Borean <jborean93@gmail.com>

* Update lib/ansible/plugins/connection/paramiko_ssh.py

Co-authored-by: Jordan Borean <jborean93@gmail.com>

---------

Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
Co-authored-by: Jordan Borean <jborean93@gmail.com>
2023-03-07 10:09:14 -06:00
694f12d01b Avoid redundant unsafe wrapping in ansible_eval_concat (#80143)
The wrap_var is done in do_template for all concat functions after their
return.
2023-03-07 16:14:52 +01:00
12c1891ce6 Fix spelling and grammar in subelements filter doc (#80137) 2023-03-07 16:05:02 +01:00
367d45facd ansible-test - Fix error with missing pylint home (#80155) 2023-03-06 19:49:21 -08:00
27287b40c0 ansible-test - Fix pylint error with old home dir (#80151) 2023-03-06 17:58:14 -08:00
7c62cdeecd Fix MANIFEST.in includes (#80147) 2023-03-06 15:28:53 -08:00
326e70c02a 🧪 Switch macOS 13.2 to 12.0 in CI (#80145)
* 🧪 Switch macOS 13.2 to 12.0 in CI

The former revealed unexpected flakiness while the latter is the
previous value that was used to be stable. This is a temporary revert.

* Skip lookup_url integration test under macOS 12.0
2023-03-06 14:55:12 -08:00
ca604513db apt_repository, dont assume only missing apt-key will populate stderr (#79827)
fixes #79825
2023-03-06 16:14:35 -05:00
ff3ee9c4bd ansible-inventory prevent duplicating host entries (#80059)
this happened after implementing limits we introduced a bug that a host would be duplicated if it existed in a group's children
2023-03-06 15:46:54 -05:00
1055803c3a docsite requirements path (#80134) 2023-03-03 10:09:40 -05:00
3216e071c7 docs: automatic always tag in gather_facts (#80052) 2023-03-03 10:08:03 -05:00
8fec2d2a82 Add macOS 13 to CI and ansible-test (#79508)
* ✨ Add macOS 13.2 to `ansible-test`

* 🧪 Replace macOS 12.0 with 13.2 in the CI matrix

* Skip `lookup_url` under macOS 13.2

This is due to https://wefearchange.org/2018/11/forkmacos.rst.html
that manifests itself as follows:

    TASK [lookup_url : Test that retrieving a url works] ***************************
    objc[15394]: +[__NSCFConstantString initialize] may have been in progress in another thread when fork() was called.
    objc[15394]: +[__NSCFConstantString initialize] may have been in progress in another thread when fork() was called. We cannot safely call it or ignore it in t
    he fork() child process. Crashing instead. Set a breakpoint on objc_initializeAfterForkError to debug.
    ERROR! A worker was found in a dead state

* 📝 Extend ansible-test change note w/ macOS 13.2
2023-03-03 04:30:30 +01:00
c0e0550bce 🐛 Make integration tests compatible w/ modern Git (#80122)
* 🐛 Make integration tests compatible w/ modern Git

This patch makes use of the `init.defaultBranch` setting to unify
the test across new and old Git versions since one defaults to
`master` and the other uses `main` for the default branch.

Where possible, it uses the `HEAD` committish to avoid having to
normalize the branch name.

The change fixes the following integration tests:

  * `ansible-galaxy`

  * `ansible-galaxy-collection-scm` (recursive collection)

  * `git`

* 🐛Replace `git-symbolic-ref` with a repo template

This custom Git repository template emulates the `init.defaultBranch` setting
on Git versions below 2.28. Ref: https://superuser.com/a/1559582.
Other workarounds mentioned there, like invoking
`git symbolic-ref HEAD refs/heads/main` after each `git init` turned
out to have mysterious side effects that break the tests in surprising ways.

* 🎨 Make Git integration test non-destructive

This patch makes use of the `$HOME` environment variable to trick Git
into using a user-global config generated in the temporary directory.
2023-03-03 02:34:29 +01:00
cc8e6d06d0 Update playbooks_conditionals.rst (#80062)
"changed" was missing from the docs
2023-03-02 14:17:50 -05:00
0521184337 clarify playbook tests (#80073) 2023-03-02 14:14:31 -05:00
841b71c94f Fixing typos (#80045) 2023-03-02 14:04:43 -05:00
809727a7c7 improve password lookup syntax in examples (#80092) 2023-03-02 14:03:26 -05:00
012393e2cd fix link for development guidelines (#80055) 2023-03-02 13:54:42 -05:00
02c49ffe60 Encourage true/false for module documentation (#80060)
Co-authored-by: Felix Fontein <felix@fontein.de>
2023-03-02 13:46:02 -05:00
c8f740cfee Fix typo docs in playbooks_tags.rst (#80117) 2023-03-02 13:32:22 -05:00
352010f9c3 improve doc dependency install steps (#80120) 2023-03-02 13:31:08 -05:00
980ec16422 📦 Drop unnecessary wheel PEP 517 build dependency (#80096)
Code snippets advertising the `wheel` dependency in the
`pyproject.toml`'s `[build-system].requires` setting were a historical
mistake. This has been corrected in
https://github.com/pypa/setuptools/commit/f7d30a95 but many pyprojects
still have `wheel` in their configs.

It is not needed for building sdists and the corresponding setuptools'
PEP 517 hook that provides requirements for building wheels already
esposes this dependency automatically.
2023-03-01 12:07:59 -06:00
292c70368b unarchive - log errors from underlying commands (#75329)
* unarchive - log errors from underlying commands

When a command run by the module fails, log the errors if debugging is enabled.

* Use debug() method
2023-03-01 16:55:14 +01:00
a56428de11 unarchive - properly handle relative path for dest (#75267)
* unarchive - properly handle relative path for dest

* Add integration test

* Return output of underlying commands with increased verbosity

* Revert "Return output of underlying commands with increased verbosity"

This reverts commit a2790c8275cdc5697b65670a0beffdc74b741bf6.

* Warn when a relative destination path was provided
2023-03-01 16:54:00 +01:00
f47bc03599 Relocate the AZP entry point scripts (#80114)
Scripts previously under `test/utils/shippable/` are now under `.azure-pipelines/commands/` instead.
2023-02-28 13:21:11 -08:00
b981a9dfcd add a worker queue to get updates from the main results thread (#79886)
* Create a queue per WorkerProcess to receive intra-task updates
* Update `pause` action to use the worker queue
* Deprecate ConnectionBase()._new_stdin
* Add new `Display`  convenience method `prompt_until` to manage both controller- and worker-sourced prompting without cross-fork stdin sharing, in-worker mechanism to handle request-response over new worker queue.
2023-02-28 12:21:48 -08:00
c2ea56e12e Relocate and refactor ansible-test diff unit tests (#80113)
This provides the same test coverage as the previous tests, without the dependency on git.
It also includes many more specific test cases with assertions, instead of simply relying on the code to not raise an exception.
2023-02-28 11:46:36 -08:00
67bafafbc0 🎨 Convert RST to manpage in-memory @ PEP 517 (#80098)
* 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>
2023-02-28 16:13:41 +01:00
dbcaab1012 Add Ansible community 7.3.0 porting guide (#80106) 2023-02-28 08:43:53 -05:00
060a27f28f Do not use hardcoded httpbin.org in uri tests (#80101) 2023-02-27 16:59:32 -06:00
f64e79be41 sanity tests - ignore pre-release versions for deprecation comparisons (#79185) 2023-02-27 13:23:40 -08:00
39fd899d83 Clarify combine filter examples (#80078) 2023-02-27 09:15:18 -08:00
a895cae5a1 Relocate validate-modules unit tests (#80087)
This allows the validate-modules unit tests to run as part of the regular unit test suite.
2023-02-23 17:47:02 -08:00
2f62db842d ansible-test - Update base and default container (#80086) 2023-02-23 17:19:14 -08:00
c028006aaf Define all processor facts on s390x (#19755) (#79806)
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2023-02-23 16:40:14 -08:00
f587856beb Remove straight.plugin dependency (#80084) 2023-02-23 15:37:12 -08:00
dc3c88be8b Remove unused integration test support files (#80081)
* Remove unused integration test support files
* Remove obsolete ignores

ci_complete
ci_coverage
2023-02-23 14:39:45 -08:00
086046d478 Remove unused network test support files (#80080)
* Remove unused network test support files

* Remove obsolete ignores
2023-02-23 13:19:19 -08:00
6bfe6b899a ansible-test - Fix vendoring support (#80074)
- Support loading of vendored Python packages.
- Exclude vendored Python packages from payloads.
2023-02-23 12:45:43 -08:00
56036013cd 📦 Integrate manpage builds into PEP 517 build backend
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>
2023-02-23 21:37:02 +01:00
563833d124 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"
2023-02-23 11:40:59 -08:00
3fd0e12571 Introduce Delegatable and Notifiable mixin classes (#80077)
* Introduce Delegatable and Notifiable mixin classes

* fix sanity

* fix sanity
2023-02-23 11:32:22 -08:00
43aa47c2af package_facts requires python-rpm on SUSE systems in ansible 2.12.1 (#80041) 2023-02-23 10:28:52 -05:00
5ad77fc7bb 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
2023-02-23 10:27:17 -05:00
940fdf5dba consistent booleans for page text and code blocks (#80036)
* consistent booleans for page text and code blocks

* Update check_mode from n to false
2023-02-23 10:24:26 -05:00
ce5471fc9f Update collection_integration_updating.rst (#80037) 2023-02-23 10:21:39 -05:00
998b5c1a06 Clarify when plugin settings are being populated (#79710) 2023-02-22 11:41:44 -05:00
6c3d2a4e51 Use FAs with inheritance only when applicable (#80026)
... and set default value of an attribute on an object
only in NonInheritableFA.

Fixes #79777

ci_complete
2023-02-22 17:18:10 +01:00
ed879954f9 Update playbooks_tests.rst (#79788) 2023-02-22 10:32:26 -05:00
5f6ebebce9 Update ansible-test openshift plugin tests (#80064)
Update ansible-test openshift plugin tests to use config to get server endpoint.

Also update the comment explaining why the tests are disabled.
2023-02-21 14:56:25 -08:00
1108c0f331 Fix markdown in changelog fragment (#80065) 2023-02-21 14:54:32 -08:00
9f02e505d9 add wheel to docsite pre-reqs #79513 (#80061) 2023-02-21 17:03:22 -05:00
bca55d945b ansible-test - Adjust vcenter test plugin behavior (#80063)
The previous change to the default mode of operation for the plugin is now limited to collections.

This enables easier testing of the plugin in core, so the previously removed tests have been restored.
2023-02-21 13:50:32 -08:00
39a5b08ca6 ansible-test - Update base and default container (#80058) 2023-02-21 12:24:29 -08:00
c05d813661 Fix #80020 typos confusing pylint for pytest (#80056) 2023-02-21 08:43:24 -08:00
ecf66c6f82 ansible-test - Update mypy and pylint requirements (#80049) 2023-02-20 20:39:54 -08:00
5e3db6e441 ansible-test - Show Python version before install (#80022)
Always indicate the Python version being used before installing requirements.
2023-02-20 17:55:04 -08:00
e6cffce0eb 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.
2023-02-20 17:54:34 -08:00
fe2732b91e ansible-test - Support pylint assertion rewriting (#80020)
Add support for `pylint` assertion rewriting when running unit tests on Python 3.5 and later.
2023-02-20 17:54:20 -08:00
2f8f7fba4c Update lookup to use positional only arg for name to avoid conflicts (#79839) 2023-02-20 13:45:03 -06:00
122de95d85 Add Steampunk Spotter to Other tools list (#80006) 2023-02-20 12:43:18 -05:00
b7ef2c1589 ansible-playbook -K breaks when passwords have quotes (#79837)
Now only 'unquote' when ini config file is the source
2023-02-20 11:58:21 -05:00
72c59cfd98 Avoid trailing spaces in unit test (#80033) 2023-02-17 18:02:20 -08:00
21fc699b77 Remove trailing spaces from lines in YAML (#80032) 2023-02-17 17:00:41 -08:00
a4248a63aa Add missing newlines to YAML files (#80031) 2023-02-17 16:34:49 -08:00
967a88963f Update docs requirements to latest package versions (#79930)
Co-authored-by: Matt Clay <matt@mystile.com>
2023-02-17 13:32:21 -05:00
f841c2803a update banner' (#79971) 2023-02-15 16:02:13 -05:00
54ff9afa10 Data tagging delayed to 2.16 (#80011) 2023-02-15 14:47:12 -06:00
1e6b8249e7 Add condition that causes a when to skip a task to output msg (#78918)
* Add condition that causes a when to skip a task

* Fix up tests

* Use false_condition instead of failed_condition

* Remove formatting accidentially added

* Fix sanity
2023-02-15 08:49:30 +10:00
bd329dc543 Make using blocks as handlers a parser error (#79993)
Fixes #79968
2023-02-14 15:00:01 -06:00
117cf0a44b ansible-test - Disable the pep8 E203 rule (#79966)
The `E203` rule in `pycodestyle` is not fully PEP 8 compliant.
Disabling it provides compatibility with the output of the `black` code formatter.
2023-02-14 12:39:04 -08:00
67d49734f7 ansible-test - Support Podman 4.4.0+ 2023-02-14 12:17:42 -08:00
930c2137d3 Revert "Disable F37 podman tests for ansible-test (#79998)"
This reverts commit 875a4ec242.
2023-02-14 12:17:42 -08:00
d67b436eba ansible-test - Improve pylint backwards compat (#79997) 2023-02-14 11:34:39 -08:00
875a4ec242 Disable F37 podman tests for ansible-test (#79998)
The recent update from podman 4.3.1 to 4.4.1 has broken container management.
Removing the tests from the CI matrix until the issue is resolved.
2023-02-14 09:54:08 -08:00
75274021d3 fixes typo in Ansible 7 roadmap (#79996)
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2023-02-14 11:54:23 -05:00
0946ee2f14 adds roadmap for Ansible 8 (#79598) 2023-02-14 11:19:19 -05:00
556dadba6d user - fix comparing existing group names to group IDs (#79981) 2023-02-14 16:08:02 +01:00
715ab99462 ansible-test - Improve code formatting (#79983)
* 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
2023-02-13 10:49:58 -08:00
43487c6581 ansible-test - Enable unused-import pylint rule (#79912)
This was previously enabled for core. This change enables it for collections.
2023-02-13 10:09:05 -08:00
10bc8af5a2 ansible-test - Remove auto format pylint rule (#79985) 2023-02-13 09:21:11 -08:00
e2f147bcec ansible-inventory, add --limit option (#79596)
* ansible-inventory, add --limit option

* also graph

* optimize the when not providing limit

* added tests and clog

* avoid empty groups, fix tests

* i swear there as an ignore_errors there already!!?!?!?

* Fix stdout test fallback

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

* simpler approach using subset against inventory directly

* tyupose

* renamed funciton to what it actuall does
got yaml in line with others about removing empty groups

* have graph ignore limts, also note same for --host

* fixed typo long line

* better test

* cause hosvars are not a thing

---------

Co-authored-by: Matt Davis <6775756+nitzmahone@users.noreply.github.com>
Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
2023-02-13 11:07:10 -06:00
58d84933fc ansible-test - Clean up indentation and spaces (#79980) 2023-02-10 14:53:36 -08:00
71f2e777ed Update mypy to version 1.0.0 (#79963) 2023-02-09 16:52:31 -08:00
d47a848219 fix core devel doc output (#79902) 2023-02-09 14:22:15 -05:00
ceafb5411a Add an integration test to ensure that defaults don't count towards mutually exclusive (#79949) 2023-02-09 14:18:27 -05:00
b5ff981369 Change yes to true in uri-module (#79934) 2023-02-09 14:15:07 -05:00
d43d8274b1 Remove unneeded fallback code for nested defined/undefined tests (#79960)
* Remove unneeded fallback code for nested defined/undefined tests

The code used to handle defined/undefined tests on objects containing
nested undefined variables. Due to changes in lazy evalution of Jinja2
expressions it is no longer needed, see #56116.
2023-02-09 10:35:46 -06:00
243d1b5e3d Replace deprecated stacked @classmethod and @property (#79952) 2023-02-09 08:51:18 -06:00
09e0fb3516 Change ansible_job_id format (#79951)
* 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.
2023-02-09 08:49:07 -06:00
e1d298ed61 don't ignore templated _raw_params that k=v parser failed to parse (#79913)
fixes #79862
2023-02-08 17:54:46 -06:00
2525d0a136 basic.py - Perform Python version check earlier (#79954) 2023-02-08 17:19:40 -06:00
e6900f5cad pycompat24 - Remove support for Python <= 2.5 (#79953) 2023-02-08 15:44:59 -06:00
fcdd7493ae improve password_hash warning for unsupported algorithms (#79872)
* password_hash - give a warning for unsupported algorithms (that raise a TypeError)

* add suggested changes, a test and changelog
2023-02-08 11:46:07 -08:00
9d65e122ff Fix detection of available hashlib algorithms (#79946)
* Fix detection of available hashlib algorithms

Detection of hashlib algorithms now works on Python 3.x.
The new implementation works on Python 2.7 and later.

Test coverage is provided by both integration and unit tests.

* Add additional details about hashlib in docs
2023-02-08 09:27:59 -08:00
dc99005820 Rst fixes (#79939)
* fix rstcheck errors for 6.1.1
* spell shell correctly
2023-02-08 08:02:38 -08:00
0793833847 ansible-test - Fix collection delegation (#79947) 2023-02-08 00:24:20 -08:00
497d296ed6 Enable pylint rules to detect pointless statements (#79944)
Also instruct `git blame` to ignore the commit used to convert pointless strings to comments.
2023-02-07 21:11:51 -08:00
716631189c Fix "pointless" strings detected by pylint (#79943)
Convert these strings to comments, since they are not valid docstrings.
2023-02-07 16:36:29 -08:00
02f6e40534 Clean up pointless statements (#79941)
* Add ignores for intentional pointless statements

* Remove redundant docstring

* Fix function docstring placement
2023-02-07 14:46:33 -08:00
1ba100a3b4 Fix pointless statements in unit tests (#79940) 2023-02-07 14:00:38 -08:00
fa1564c548 include_vars - document hash_behaviour + dir (#79790)
* document that hash_behaviour does not apply to individual files of variables when using the dir option

* add tests
2023-02-07 16:31:08 -05:00
c8c1402ff6 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
2023-02-07 12:18:20 -08:00
c7c991e79d quiet default ansible-doc integration test output (#79921)
* quiet default ansible-doc integration test output 

* typical non-verbose output was exceeding 27k lines per fun
* disables `set -x` unless `-v` is passed to the script (eg when ansible-test is called with `-v` or `--retry-on-error` adds it on the second try
* added simple progress echoes
* suppress some grep output

* only enable `set -x` for >= `-vvv`

* fix shellcheck default complaint
2023-02-07 16:20:57 +01:00
5f947f867c make this a warning, not a comment (#79928)
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2023-02-06 16:12:11 -05:00
24519f3bd1 Update example to always init ANOTHER_LIBRARY_IMPORT_ERROR (#79927) 2023-02-06 13:44:10 -06:00
32672c6326 Improving the RETURN and its docs on the apt_repository module (#79658)
* Improving the documentation on how we generate the default value of the filename parameter

* fix pep8

* removing unnecessary documentation and improving the module's return

* making the RETURN docs

* pep8

* version_added and changelog

* module._diff

* module._diff fix

* add rudimentary tests for new outputs

---------

Co-authored-by: Matt Davis <mrd@redhat.com>
2023-02-06 10:56:21 -08:00
402ae0aa5d ansible-test - Remove old containers and remotes (#79929) 2023-02-06 10:49:56 -08:00
ce6e53e1f6 Remove another unwanted comma from pause action (#79926) 2023-02-06 11:00:20 -05:00
379058e10f Update collections.abc imports (#79911)
* Update `collections.abc` imports

- Use `six.moves` for modules and module_utils
- Use `collections.abc` for controller code

This avoids using `ansible.module_utils.common._collections_compat`,
which was added before the vendored `six` was updated to provide these
imports.

* Update _collections_compat to use six.moves

Also update the custom pylint rule to reflect this change.
2023-02-03 16:22:40 -08:00
e658995760 ansible-test - Enable pylint unused-import for core (#79910) 2023-02-03 15:42:09 -08:00
4706af58ab ansible-test - Enable trailing-comma-tuple pylint rule (#79909) 2023-02-03 15:19:35 -08:00
3b4f3c066a Ignore necessary unused imports in module_utils (#79904) 2023-02-03 14:50:39 -08:00
9e2aad6e51 Remove unwanted comma from pause action (#79908) 2023-02-03 14:41:32 -08:00
51fadd0aac Clean up unused imports in plugins (#79899) 2023-02-03 14:40:55 -08:00
833909ac19 Clean up unused imports in core (#79900)
* Clean up unused imports in core

* Add changelog fragment
2023-02-03 14:35:09 -08:00
b3307f1aa7 Remove unused stdlib imports from module_utils (#79905) 2023-02-03 14:22:57 -08:00
639e3e30d7 Remove unused internal imports from module_utils (#79906) 2023-02-03 14:20:44 -08:00
2fa8ee503c Clean up unused imports in modules (#79898) 2023-02-03 14:16:06 -08:00
0cf9db6fc2 Clean up unused imports in ansible-test unit tests (#79897) 2023-02-02 16:38:34 -08:00
ca54b7b26d Clean up unused imports in sanity tests (#79896) 2023-02-02 16:24:31 -08:00
7495070b83 Clean up unused imports in integration tests (#79895) 2023-02-02 16:15:03 -08:00
e69ef1b249 Clean up unused imports in hacking directory (#79894) 2023-02-02 16:00:50 -08:00
25d859f8fb Clean up unused imports in unit tests (#79893) 2023-02-02 15:52:38 -08:00
d637e87a9e user - Remove invalid return docs (#79891) 2023-02-02 12:55:27 -08:00
0a00263a53 Use arg validation in debug action (#79866)
* Use arg validation in debug action. Fixes #79862

* Add clog frag

* Move the msg default into the argspec
2023-02-02 11:21:59 -08:00
1c01eab3fb Remove irrelevant line (#79865)
Remove irrelevant comment line form example code
2023-02-02 11:19:15 -08:00
0ab53aefc9 Update dnf.py (#79679) 2023-02-02 14:18:08 -05:00
913e4863af Description for changing User ID to match user value (#79470) 2023-02-02 14:17:18 -05:00
d8dc76e134 Mentions 'meta: flush_handlers' task (#79542) 2023-02-02 13:19:08 -05:00
07f1a1b7dc docsite: bump antsibull-docs, reference collection env var index (#79666) 2023-02-02 13:17:32 -05:00
1fd0265e22 ansible-test - Update default containers (#79887) 2023-02-02 09:31:30 -08:00
d48d1c23df ansible-test - Specify config path in plugin error (#79881) 2023-02-02 00:21:38 -08:00
91807695c3 Remove unused unit test code (#79879)
* Remove unused test fixtures

* Removed unused _old_dump_load_cycle method

* Remove Python 2.x compat

* Remove unused code

* Remove unused context manager

* Fix cowsay test

- The test no longer depends on another test to initialize config.
- Also remove unreachable code.

* Remove Python 2.x compat
2023-02-01 16:00:57 -08:00
0a53309f47 ansible-test - Update pylint to 2.16.0 (#79878) 2023-02-01 12:40:36 -08:00
58461bc204 Remove outdated note on relative imports in docs (#79873) 2023-02-01 12:23:59 -05:00
fa382670dc maintainers_guidelines.rst: add a link to collection release guidelines (#79859) 2023-02-01 09:08:37 +00:00
9d42447fa5 Add Ansible community 7.2.0 porting guide (#79867) 2023-01-31 17:00:31 -05:00
652a74e087 AddType - Support compiling with /unsafe C# code (#79853)
* AddType - Support compiling with /unsafe C# code

* Update Ansible version in docstring
2023-01-31 10:23:12 +10:00
d16ec2455d Add tests to cover win_reboot incidental paths (#79856)
* Add tests to cover win_reboot incidental paths

* Fix sanity issues
2023-01-31 10:10:30 +10:00
c33c8cf086 Remove unused and unreachable unit test code (#79854) 2023-01-30 15:29:17 -08:00
1dce45c42d ansible-test - Update base and default containers (#79846) 2023-01-30 12:32:47 -08:00
83fe75db07 Ansible.Basic.cs - Fix compile error on PS 7.3.x (#79848) 2023-01-31 06:09:43 +10:00
10f0e5f6d4 Remove dev_guide stubs (#79795)
* Remove dev_guide stubs

* Remove Cisco ACI Dev Guide
2023-01-30 13:46:14 -05:00
58f0950638 [Docs] add doc links to documentation_contributions.rst (#79840) 2023-01-30 11:34:36 -05:00
722fc05c31 [Docs] add easyfix/good first issue/docs links (#79830) 2023-01-30 11:18:52 -05:00
44dcfde9b8 Improve documentation on requirements.yml (#76140)
Makes it clear that user can use range identifiers with collection
versions inside requirements.yml files.
2023-01-26 17:08:59 -05:00
65eb5c0a9f Update dev_guide.rst (#79625) 2023-01-26 16:50:15 -05:00
6cd1a1404a 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
2023-01-26 16:30:48 -05:00
2164d5699c 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.
2023-01-26 12:38:26 -08:00
321848e98d fix installing collections from git repos that contain MANIFEST.json (#79808)
* 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
2023-01-26 11:15:18 -08:00
52d3d39ffc ansible-test - Deprecate the foreman test plugin (#79821) 2023-01-25 16:51:43 -08:00
7e53ec3c01 ansible-test - Update the NIOS test container (#79820) 2023-01-25 16:31:31 -08:00
739bc8bb6c ansible-test - Update sanity test requirements (#79819)
Also update core sanity test requirements, except mypy (already updated) and docs-build (update separately).
2023-01-25 16:05:25 -08:00
27cd5e77d8 Update mypy and its dependencies. (#79812)
* Update mypy and its dependencies.

* Fix requirements.

* Remove unnecessary matching constraints.
2023-01-25 12:46:09 -08:00
f4a38a787b Drop requirement for matching sanity constraints
Each sanity test uses its own virtual environment, so there is no risk of conflicting requirements between tests.

It may still be a good idea to make an effort to keep frozen requirements in sync between tests.

Making it a hard requirement unnecessarily complicates updating individual tests and increases the risk of incorrect manual changes.
2023-01-25 11:31:02 -08:00
281474e809 strategy fix invalid variables being registered (#79706)
also added tests for normal and bad cases
2023-01-25 14:28:18 -05:00
7329ec6936 ansible-test - Update CloudStack plugin container (#79813) 2023-01-25 11:22:28 -08:00
Jo
48e6bf8d27 Fix: documentation for per-task timeout (#79715) 2023-01-25 19:21:02 +00:00
d7a4152851 doc fix for platform content #79794 (#79801) 2023-01-25 19:20:03 +00:00
5fb8bc3ddb Bump acme test container. (#79783) 2023-01-25 08:53:23 -08:00
330af433f3 Use raise ... from instead of six.raise_from 2023-01-25 16:21:27 +01:00
6cb6d655b3 [Docs] maintainers_guidelines: add WG and real-time chat request info (#79750) 2023-01-25 14:50:18 +00:00
7ab3de7ee8 correct examples to use removed_from_collection not collection_name (#79803) 2023-01-25 09:36:03 +00:00
a3b7863098 validate-modules - Remove __future__ limits (#79800)
* validate-modules - Remove `__future__` limits

Limits on specific `__future__` imports are handled by other sanity tests.

* Add integration test for module/plugin imports.
2023-01-24 13:25:32 -08:00
10eda5801a Fix conditionally notified include handlers (#79804)
Fixes #79776

ci_complete
2023-01-24 16:26:25 +01:00
c9f20aedc0 ansible-test - Fix various type hinting issues. (#79798)
* 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.
2023-01-23 16:56:07 -08:00
5f58015527 ansible-test - Remove obsolete DirectoryTarget.
This code has been unused since at least the 2.9 release.
2023-01-23 16:08:58 -08:00
29b20f68e6 ansible-test - Deprecate the govcsim container.
Also remove the integration tests for the `vcenter` test plugin, since the tests relied on using the simulator.
2023-01-23 15:48:12 -08:00
f2707d1fbc fix filename for sidecar docs (#79779) 2023-01-23 10:42:55 -05:00
4f5ed24972 Fix traceback in template action with ANSIBLE_DEBUG=1 (#79764)
Fixes #79763
2023-01-20 09:39:18 +01:00
868d721d8c Flush output in sanity requirements update script. (#79774)
This keeps the subprocess output under the correct heading.
2023-01-19 21:49:04 -08:00
8e80b03b33 document where to save cloud config files (#79412) 2023-01-19 15:25:16 -08:00
5d71ace583 Fix broken docs links. (#79769) 2023-01-19 12:47:10 -08:00
11a27eefa2 communication.rst: improve (#79751) 2023-01-19 15:04:21 -05:00
97993eeb10 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
2023-01-19 15:03:14 -05:00
8a7185c224 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)
* 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.
2023-01-19 11:58:02 -05:00
b5b7f9bce2 complex_data_manipulation.rst: fix typo (#79758) 2023-01-19 16:54:52 +00:00
6c0559bffe Show filename additionally if missing secrets prevents decryption (#79732)
Fixes #79723
2023-01-18 09:37:33 +01:00
cf50d8131f 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/
2023-01-17 16:14:02 +01:00
b756a08d89 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
2023-01-17 16:04:44 +01:00
40dd762e68 add task for testing to remove gpg key using key id (#79729) 2023-01-17 16:03:30 +01:00
1852f9fab4 Support test and filter plugins in ansible-doc sanity test (#77737)
* Support test and filter plugins in ansible-doc sanity test.

* Move integration target non-filter file check_pylint.py from filter/ to plugin_utils/.
2023-01-16 14:15:55 -05:00
1a47a21b65 Fix reporting of deprecated arguments for modules. (#79681) 2023-01-13 16:55:48 -05:00
e38b3e64fd Correctly count rescued tasks in play stats (#79724)
Fixes #79711

ci_complete
2023-01-13 05:18:41 +10:00
74cdffe30d Better json content type detection for uri (#79719)
* Better json content type detection for uri

* typo
2023-01-13 05:11:31 +10:00
2143bcd6b1 Ensure we are passing ciphers to all url_get calls (#79718)
* Ensure we are passing ciphers to all url_get calls. Fixes #79717

* Add clog frag

* Fix tests
2023-01-13 05:10:09 +10:00
8b032150a4 document adjacent docs (sidecar) (#79056)
* Update docs/docsite/rst/dev_guide/developing_locally.rst
Co-authored-by: Don Naro <dnaro@redhat.com>
2023-01-12 11:47:07 -05:00
61d5586c7c Use uri in uri test instead of get_url. 2023-01-11 11:30:36 -08:00
fb32e92b1a communication.rst: remove Tesing WG info 2023-01-11 10:14:41 -08:00
50a673f9e7 normal action plugin: remove superfluous code (#79690)
* Remove obsolete 'if'

The result dict returned by super.run() will never have a 'skipped' entry.
Without the if, it is more clear that wrap_async is actually defined at the end of the function.

* Remove more dead code.

The result dict will also not contain invocation.

* Remove notes.
2023-01-11 15:07:00 +01:00
ee33be9484 ansible-test - fix ps argspec check inside cmdlet (#79699)
* ansible-test - fix ps argspec check inside cmdlet

* Added error condition test

* Fix sanity problem
2023-01-11 08:05:50 +10:00
602824db1d Fix broken reference to FAQ (#79621) 2023-01-10 19:33:27 +00:00
56d142350d Add support for importlib.resources (#78915)
* Add support for importlib.resources

* Remove the importlib.resources imports

* return the correct data

* Some code comments, and re-order for consistency

* Disallow traversing packages below an individual collection

* Add a traversable class for namespaces

* Re-use variable

* Utilize itertools.chain.from_iterable

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

* Simplify logic to check for packages from ansible loaders

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

* Just a generator expression, instead of a generator

* docstrings

* Add comment about find_spec for our namespaces

* Add some initial unit tests for importlib.resources

* normalize

* Utilize importlib.resources for listing collections

* collections_path is already in config, just use config

* install uses a different default for collections_path

* Remove unused import

* Remove duplicate __truediv__

* Bring back TraversableResources

* Apply some small suggestions from code review

Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
Co-authored-by: Matt Davis <6775756+nitzmahone@users.noreply.github.com>

* Remove cross contamination between plugin loader code and CLI code

* Remove unused import

Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
Co-authored-by: Matt Davis <6775756+nitzmahone@users.noreply.github.com>
2023-01-10 11:09:57 -06:00
e41d2874a6 Fix undef() example to a valid Jinja template (#79701) 2023-01-10 12:58:46 +00:00
55f9d7f71f Docsite: remove dead Lockdown Working Group from Communication guide (#79693) 2023-01-10 12:44:39 +00:00
65efa4b97f Docsite: add Security Automation Working Group to Communication guide (#79692) 2023-01-10 12:43:36 +00:00
fe7d488a1b contributor_path: fix typos (#79678) 2023-01-10 12:41:48 +00:00
0fc932fda0 switched reference from katacoda to instruqt (#79698) 2023-01-09 16:30:26 -05:00
b5b239fd71 fix role argument spec error for invalid suboptions (#76578)
fixes https://github.com/ansible/ansible/issues/75536
2023-01-09 11:54:45 -05:00
acbf4cc60e ansible-galaxy - fix turning off the ConcreteArtifactManager's validate certs at the global level (#79561)
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
2023-01-09 11:42:07 -05:00
fd325c00bd ansible-galaxy collection|role init - fix preserving symlinks (#79134)
* Preserve symlinks in custom role/collection skeletons

* changelog
2023-01-09 10:59:05 -05:00
32c5793de5 systemd: ignore errors in daemon_reload and daemon_reexec when running in a chroot or with $SYSTEMD_OFFLINE==1 (#79643)
Signed-off-by: Olaf Klischat <olaf.klischat@gmail.com>
2023-01-09 09:43:13 -05:00
1375861ec2 ansible-test - Update available platforms. 2023-01-06 17:13:20 -08:00
6a73a5a480 Fixes for uri integration test. (#79688)
* Fix HTTP methods used in URI test.

* Fix urllib2 redirect tests on Python 3.11.

* Fix uri cookie testing on Python 3.11.
2023-01-06 15:44:46 -08:00
a7111c4dbb 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>
2023-01-06 11:34:35 -08:00
6f8c1da0c8 correct the mistake of example repeat_original (#79659)
there is a little mistake 


##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2023-01-05 12:22:34 -08:00
4a29591b98 Fix a typo in the warning message (#79635) 2023-01-05 17:03:48 +00:00
eae02bf5b8 Fix link in compile sanity test docs. 2023-01-04 18:34:12 -08:00
1243d2ace0 Fix EPEL setup for integration tests on RHEL 7 2023-01-04 15:40:32 -08:00
8e7cc371be Fix typo (#79641) 2023-01-04 14:31:03 +00:00
e7af7532bd Update authentication.rst (#79623) 2023-01-04 14:23:15 +00:00
51bddd862b Document callback types in documentation (#79651) 2023-01-03 14:32:37 -05:00
38cedc7f1a Fixed incorrect spelling of the word overridden. (#79620) 2023-01-03 10:48:06 -05:00
45df14a2e0 Fix spelling of "triple" in Issue Templates (#79628) 2022-12-27 02:22:32 +01:00
754c54d3d6 Clean up setup_paramiko test target.
- Remove obsolete install/uninstall files.
- Use OS packages on Alpine 3.
2022-12-16 17:33:11 -08:00
04fc98c794 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.
2022-12-15 19:42:58 -08:00
69c874f478 Typo in playbooks_blocks.rst (#79603) 2022-12-15 13:30:21 -05:00
b7e948e623 filter/test plugin listing, fix bug on file sorting (#79591)
* filter/test plugin listing, fix bug on file sorting

avoid legacy/builtin special casing for 'all'
2022-12-15 10:06:13 -05:00
f6c0e22f98 Add more retries to ansible-test-container test. 2022-12-14 14:50:59 -08:00
75b60b17ee ansible-test - Support RSA SHA-1 for SSH clients. 2022-12-14 09:19:33 -08:00
aa268b8db2 Add example of yaml file with --extra-vars (#79521) 2022-12-13 17:12:14 -05:00
b3a1eabb7d Add big support table (#79221)
Co-authored-by: samccann <samccann@redhat.com>
Co-authored-by: Matt Clay <matt@mystile.com>
2022-12-13 15:08:45 -05:00
0f01c69f1e Update split.yml (#79570)
typo fix
2022-12-13 16:09:07 +01:00
da3b1d3f50 ansible-test - Fix --prime-containers and --explain (#79581)
* Remove unused code.
* Fix explain errors.
* Fix `--prime-containers` with docker on cgroup v2.
2022-12-12 12:12:16 -08:00
dcc08eec35 ansible-test - Fix target PyPI proxy config. 2022-12-12 09:51:02 -08:00
04209d328b 2.15.0 will release 2023-05-15 (#79567)
* 2.15.0 will release 2023-05-15

* Eliminate 1 week freeze, shift dates 1 week

* oops

Co-authored-by: Martin Krizek <martin.krizek@gmail.com>
2022-12-12 09:26:53 -06:00
60f76436c1 Simplify AnsibleJ2Vars by using ChainMap for vars (#78713)
Co-authored-by: Matt Martz <matt@sivel.net>
2022-12-09 13:33:13 +01:00
245d516911 Fix :ref: usage in testing docs. (#79566) 2022-12-09 11:27:01 +00:00
6a7fb7d2ab fix: broken link (#79461) 2022-12-08 16:24:21 -05:00
0f4afd7e6d Remove obsolete legacy integration test docs. (#79563) 2022-12-08 16:22:22 -05:00
932a32153a Update docs for the compile sanity test. (#79562) 2022-12-08 16:05:44 -05:00
0a12d8a5bc ansible-test - fix warning to include image name (#79560) 2022-12-09 05:21:00 +10:00
bc13099e56 fixed misleading setup example (#79495) 2022-12-08 14:06:37 -05:00
11e43e9d6e Set locale for python apt (#79546)
* set locale to get_best_parsable_locale for the python-apt API

* add a test case

* add changelog

* remove test that tests nothing
2022-12-09 05:06:08 +10:00
527abba860 Update windows_faq.rst (#79552)
`python-pip` changes to `python3-pip` for the Ubuntu 20.04 WSL distro
2022-12-08 12:05:30 -05:00
b1caba8b53 Add Ansible community 7.1.0 porting guide (#79553) 2022-12-07 15:31:33 -05:00
3fd519de57 Fix hardcoded python call (#79520)
Co-authored-by: Lee Garrett <lgarrett@rocketjump.eu>
2022-12-06 16:43:43 -05:00
3cdf589ca7 Add Ansible community 6.7.0 porting guide (#79544) 2022-12-06 11:12:38 -05:00
1424484be0 Prevent stdio deadlock in forked children (#79522)
* 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
2022-12-05 20:46:15 -08:00
80d2f8da02 ansible-test - Fix container detection. (#79530) 2022-12-05 13:33:14 -08:00
31f95e201a Handle line wraps in jinja_plugins test. 2022-12-05 12:47:06 -08:00
79dfe14adf More integration tests for import sanity test. (#79532) 2022-12-05 12:28:01 -08:00
31f9d60b8d Don't use color in jinja_plugins test.
This should prevent color codes from interfering with string matches.
2022-12-05 11:45:53 -08:00
9acca5b3b9 Allow test to run on system with selinux enabled. Fixes #77564 (#79510) 2022-12-01 11:23:08 -08:00
042a55fbe0 Docs: Update intersphinx links for Ansible 7 (#79485) 2022-12-01 14:01:23 -05:00
5b51b560d0 Removed sorting to preserve original order (#74839)
updated tests to reflect new order
2022-11-30 09:25:34 -05:00
1998521e2d Always create new role (#78661)
Don't use role cache for determining whether to create a new instance of role
2022-11-29 15:56:41 -06:00
f9715f436c ansible-test - Avoid direct use of errno.
Error handling on Python 3.x no longer requires the use of `errno` to identify specific errors.
2022-11-29 13:40:04 -08:00
cda16cc5e9 ansible-test - Improve container management. (#78550)
See changelogs/fragments/ansible-test-container-management.yml for details.
2022-11-29 13:35:53 -08:00
3bda4eae6f Fix repr(Task) to check action when testing for a meta task (#79464)
Fixes #79459
2022-11-29 16:43:14 +01:00
01ff57bdff 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>
2022-11-29 16:27:08 +01:00
c33a782a9c Fix password lookup rewrites file when using encrypt (#79431)
* Remove unused mock from test_password_already_created_encrypt

The _get_paths mock is never used in the
test_password_already_created_encrypt test case.

* Add test to assert the password file is not rewritten

If the password file already contains the salt and the hasing algorithm
does not use the ident parameter, the password lookup should not write
to the password file.

* Fix "changed" if using "encrypt" in password lookup

When using the "encrypt" parameter to the password lookup without the
ident parameter, the password file was always marked as "changed". This
caused the file to be rewritten with the same content. This is fixed by
only marking the file as changed, if an "ident" value needs to be added
to the file.

Fixes #79430.

Add changelog entry
2022-11-29 16:26:30 +01:00
3936b5c471 Fix file touch check mode result (#79360) (#79422)
Fixes #79360
2022-11-29 16:17:38 +01:00
ab76916b14 galaxy: Add license_file to manifest directives (#79420)
* galaxy: Add license_file to manifest directives

* ag collection build: Test license handling

This adds tests to ensure that
    - REUSE licensing files: .reuse/dep5, LICENSES/*, anyfile.license
    - galaxy.yml license_file
are always included in the manifest.
2022-11-29 16:12:47 +01:00
5f3a6b78db local connection: avoid tb when running in container with invalid user (#79414)
* 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
2022-11-29 16:08:32 +01:00
38fe34244c ansible-test - Fix completion error in Python 3.11. 2022-11-28 19:41:47 -08:00
3723c426d2 Fix lists styling (#79481) 2022-11-28 11:04:37 -05:00
3a6b6370ad Add comma (#79480) 2022-11-28 11:03:02 -05:00
80551633c7 Set explicit meta long_description_content_type (#79468)
This is necessary for `twine check --strict` to pass.
2022-11-28 16:16:46 +01:00
f79a54ae22 Update vendored distro (#79227)
Commit bb35d41 in branch python2.7-support from 2022-10-10:
https://github.com/python-distro/distro/commit/bb35d41
2022-11-23 14:44:15 -05:00
505b29b2a9 more strftime docs (#79417)
* more strftime docs

fixes #79397
Co-authored-by: Matt Martz <matt@sivel.net>
Co-authored-by: Don Naro <dnaro@redhat.com>
Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
2022-11-23 12:27:09 -05:00
b148fd8dd7 ansible-galaxy - support `resolvelib >= 0.5.3, < 0.10.0` (#79399)
* Upgrade `resolvelib >= 0.5.3, < 0.10.0`

https://pypi.org/project/resolvelib/0.9.0/ released on 2022-11-17:

  * https://github.com/sarugaku/resolvelib/blob/master/CHANGELOG.rst#090-2022-11-17
  * https://github.com/sarugaku/resolvelib/releases/tag/0.9.0

Signed-off-by: Wong Hoi Sing Edison <hswong3i@pantarei-design.com>
2022-11-23 08:57:24 -05:00
6ea058315f Add Ansible community 7.0.0 porting guide (#79448) 2022-11-22 17:04:36 -05:00
e5399c95d5 issue #79378 html context in sphinx conf (#79401) 2022-11-22 16:17:15 -05:00
32c90080e4 Docs: Updating the Ansible community changelogs (#79400) 2022-11-22 16:12:45 -05:00
3cc95d1f12 docs - make the existence of 'trivial' changelog entries easier to find (#79440) 2022-11-22 14:54:19 -05:00
493ef4a559 WinRM - Add doc entry for cert auth over TLS 1.3 (#79434) 2022-11-22 06:46:48 +10:00
1bda6750f5 fix reject list (#79391) 2022-11-18 14:26:35 -05:00
942bcf6e7a Add manifest includes for reuse licenses (#79403)
* Add includes for reuse licenses

* Add additional exludes to follow REJECT_EXTS

* clog frag
2022-11-17 17:13:01 -06:00
a954918b60 consolidate duplicated test files (#79380) 2022-11-17 16:20:20 -05:00
d925ece764 Allow pip like version syntax for installing collections (#79405) 2022-11-17 15:17:48 -06:00
6cec31574f Update fileglob.py (#78887)
Improve documentation for relative file paths
2022-11-17 15:48:50 -05:00
f089aae5ee Clarify that b64decode does not work with binary output (#79294) 2022-11-17 14:17:47 -05:00
3ae2f97d4a 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>
2022-11-17 14:05:38 -05:00
7d35f70caf Add tests to validate vars_files first found behavior (#79386) 2022-11-17 14:05:02 -05:00
ec3f6ed9b9 update antsibull-docs to 1.7.3 (#79395)
* update antsibull-docs to 1.7.3

* remove extraneous changes
2022-11-17 13:48:58 -05:00
0a2b96f402 typos (#79377) 2022-11-17 12:02:24 -05:00
b7ea661807 Update pull.py (#79387) 2022-11-17 12:00:25 -05:00
6059116a64 Replace _valid_attrs with fattributes (#79376)
It was missed in one place it seems.
2022-11-15 10:25:57 -05:00
5c0b4a3798 Add Ansible community 7.0.0rc1 porting guide (#79382) 2022-11-15 10:15:59 -05:00
6baf25a048 [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>
2022-11-15 15:09:02 +00:00
1705ec98cd ansible-doc and validate-modules: remove underscore deprecation handling for collections (#79362)
* Remove underscore deprecation handling for collections.

* Also consider ansible.legacy.
2022-11-15 10:03:47 -05:00
66cc952b49 communication.rst: Add IRC channel to Storage WG info (#79374) 2022-11-15 13:14:34 +00:00
3448fcabc5 file lookup now works with general lookup error framework (#79339)
* file lookup now works with general lookup error framework
2022-11-14 11:45:34 -05:00
35db7df9ce communication.rst: add AAP Config As Code WG (#79365) 2022-11-11 09:02:46 +00:00
d02f96b78c Add note to command_line_tools.rst (#79351)
Documentation fix for #69390
2022-11-10 13:40:49 -05:00
f9451dfaf8 docfix for ssh_args FAQ (#79308) 2022-11-10 10:35:02 +00:00
183c34db65 update backport instructions to 2.14 (#79354) 2022-11-10 10:03:19 +00:00
284e642cb9 communication.rst: add Storage WG info (#79359) 2022-11-10 10:02:04 +00:00
e7730f5d6c Fix up incorrectly quoted doc example (#79356) 2022-11-10 07:03:50 +10:00
d72326b6af Allow force deletion of group (#78172)
* Allow force deletion of group

* Update version_added

Co-authored-by: Jordan Borean <jborean93@gmail.com>
2022-11-10 06:52:27 +10:00
a3531ac422 Refactor structure of group module integration tests (#78652)
This to match the structure with the tests for the user module. When having the tests available as stand-alone tests, it will be easier to add more integration tests in the future.
2022-11-10 06:29:24 +10:00
196084773b Japanese version switcher (#79276)
* update japanese version switcher for 2.14

* update latest version
2022-11-08 13:20:09 -05:00
d5e90e1737 Add Ansible community 6.6.0 porting guide (#79340) 2022-11-08 12:23:49 -05:00
ef053bbebb Add Ansible community 7.0.0b1 porting guide (#79341) 2022-11-08 12:23:09 -05:00
eae42ec57e openbsd factgs, use physmem instead of usermem for total mem (#79316)
Signed-off-by: darshanip <darshancoding@gmail.com>
2022-11-08 10:30:12 -05:00
4759590467 Move collection playbook output from "warning" to "-v" (#79320)
* lib/ansible/executor/playbook_executor.py: fix minor typo in comment

* lib/ansible/executor/playbook_executor.py: move 'running playbook inside collection' from warning to -v debugging output
2022-11-08 10:17:53 -05:00
e0118d9d03 The attribute was renamed to 'action' and the extra data was not used anymore. (#79317) 2022-11-08 10:16:52 -05:00
0ae963a311 Add missing type to the reference option of the documentation of the git module (#79305)
* Add missing type to the `reference` option of the `git` module

* No more doc-missing-type error in validate-modules
2022-11-08 10:06:22 -05:00
d0b6ce7473 update version switcher to include 2.14 (#79273) 2022-11-07 10:43:56 -05:00
657acfb7af update release table with 2.14 details (#79272) 2022-11-07 10:37:29 -05:00
2a03c8028e Fix typo 'Ansbile'. (#79318) 2022-11-07 09:06:10 +00:00
852e2d7550 Update Ansible 7 roadmap (#79307) 2022-11-04 12:29:33 -04:00
f3be331c9c Delete a bad PR #79263 change note (#79295) 2022-11-03 12:20:31 -07:00
f700047e69 blockinfile - document multiline marker behavior (#79292) 2022-11-03 12:10:45 -07:00
a12a9b409f 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>
2022-11-03 12:05:33 -07:00
938c0fa944 ansible-test - Fix and update documentation links. 2022-11-03 11:04:31 -07:00
e2450d4886 added --allow-change-held-packages for apt remove (#78203)
* added --allow-change-held-packages for apt remove

* add tests for apt remove (allow_change_held_packages=yes)

* add changelog for apt remove (allow-change-held-packages=yes)

* update tests for apt remove (allow_change_held_packages=yes)
2022-11-02 12:02:04 -04:00
26a4775611 [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.
2022-11-02 16:52:46 +01:00
bb7ad0f0d8 Enable the reboot integration test in CI
Co-Authored-By: Matt Clay <matt@mystile.com>
2022-11-02 02:56:54 +01:00
698da30c1e ansible-test - Update test container to 7.4.0 (#79281) 2022-11-02 10:39:33 +10:00
f0d61245e3 Added ignore revs file for tracking commits with bulk sanity changes (#79280) 2022-11-02 08:52:28 +10:00
6def4a3180 Fix up sanity problems 2022-11-02 08:18:38 +10:00
4ad02dc6e3 ansible-test - Update PSScriptAnalyzer to 1.21.0 2022-11-02 08:18:38 +10:00
bfcb557777 replace yes/no with true/false in docstrings (#79274)
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2022-11-01 15:50:11 -04:00
1c80209422 communication.rst: add Ansible MySQL WG information (#79269) 2022-11-01 11:13:41 -04:00
6e379e5d65 validate-modules: do not treat falsy non-False defaults as None (#79267)
* Do not treat falsy non-False defaults as None.

* Fix various instances of this in modules.

* Add changelog fragment.
2022-11-01 11:12:59 -04:00
6674c43edd 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
2022-11-01 11:10:05 -04:00
6d9e2bc5e9 De-duplicate initialisation of ConnectionBase._connected (#79256)
The same value is unconditionally set 4 lines down.
2022-11-01 11:08:13 -04:00
65e725f08f #59449: Removes translatable words from code blocks (#79193)
Co-authored-by: Jaroslav Klech <jklech@redhat.com>
2022-11-01 10:44:45 -04:00
44f7ca4645 add ansible 7 porting guide to index page (#79254) 2022-10-28 15:13:36 -04:00
0f18ddca9f mention acl in permissions errors (#79209)
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
2022-10-27 19:37:19 -04:00
aaab0791d9 File lookup handle missing file more gracefully (#79230)
previously it would have a 2nd tb due to bad error raising
 also remove superfluous warning
2022-10-27 15:28:32 -04:00
0bacea70c4 plugins/lookup/pipe: docs typo fixes (#79222) 2022-10-27 14:31:08 -04:00
6ee089bc80 collection roles dont support plugins (#79243) 2022-10-27 14:30:38 -04:00
bc83da9a1b Communication docs: note that editing Matrix messages causes IRC spam (#79238) 2022-10-27 11:02:56 +01:00
fa8dc6b73d Docs: Typos and edits in collections reviews (#79217) 2022-10-27 09:17:38 +01:00
d55423f5a4 ansible-test - Update default container. 2022-10-26 18:12:04 -07:00
9545f2e0de stable docs build: do not use YAML parsing/serialization for .deps files (#79233)
* Do not use YAML parsing/serialization for .deps files.

* Prevent crash.
2022-10-26 14:54:00 -07:00
74b80c3193 Bump antsibull-docs version from 1.6.1 to 1.7.0. (#79071) 2022-10-26 15:26:34 -04:00
656d01dd24 fix url for fest VoD banner (#79229) 2022-10-26 19:35:34 +01:00
74f55db5c6 Docs: Typos and edits in collections integration (#79228) 2022-10-26 16:04:55 +01:00
04957715cc contributor_path: misc doc fixes (#79224) 2022-10-26 13:13:08 +01:00
f02b8fb6f0 Add Ansible community 7.0.0a2 porting guide (#79219) 2022-10-25 16:36:12 -04:00
4fb5240af2 ansible-test - Update base and default containers. 2022-10-25 10:15:51 -07:00
4202acb41b 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
2022-10-25 09:48:26 -07:00
da3a7618ba give a warning when no roles match the search instead of returning rc 1 (#79195)
* give a warning when no roles match the search instead of returning rc 1

* porting guide note

* Update docs/docsite/rst/porting_guides/porting_guide_core_2.15.rst

Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
2022-10-25 12:00:56 -04:00
f3f7d44238 Added link to the Ansible meetup page (#79207) 2022-10-25 11:41:20 -04:00
060f114d8c add link to fest videos (#79196) 2022-10-25 09:46:01 +01:00
645b6b8581 ansible-test - Fix pylint support on Python 3.11. 2022-10-24 15:29:20 -07:00
a76bbb18a5 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>
2022-10-24 14:57:54 -07:00
757efa4a45 managed node requirement amend (#79189) 2022-10-24 16:53:43 -04:00
465480f755 documentation fix for file module 78988 (#79182) 2022-10-24 13:13:52 +01:00
bcdc2286e8 Revert "Fix yum exclude example to align to parameter doc (#79128)" (#79179)
This reverts commit 062315ecaa.
2022-10-20 15:57:36 -04:00
551f5a3753 Change occurance yes/no to true/false (#79035) 2022-10-20 15:06:15 -04:00
ae38628404 docs: cgroupsv1 is required for ansible-test with docker (#79066) 2022-10-20 14:38:02 -04:00
1182059d46 Setting indentation correctly in the Example section (#79072) 2022-10-20 14:34:05 -04:00
cc3abae532 minor changes in documentation (#79114) 2022-10-20 14:30:55 -04:00
062315ecaa Fix yum exclude example to align to parameter doc (#79128) 2022-10-20 14:20:56 -04:00
b7eb067090 Added the emphasize changelog (#79160)
Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
2022-10-20 14:19:43 -04:00
89af4e6e31 Update overview_architecture.rst (#79161)
Add missing right parenthesis
2022-10-20 14:09:43 -04:00
64d5c6cc3a Update contributor_path.rst (#79170)
grammar fixes
2022-10-20 14:05:25 -04:00
1a6cfa8203 Update communication.rst (#79172)
grammar fixes
2022-10-20 13:58:39 -04:00
d6c268378f Made changes to notes on #L9 and #L21 (#79173) 2022-10-20 13:55:41 -04:00
d82d232d07 update alpha to next week (#79166) 2022-10-19 15:23:51 -04:00
89d682464b 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.
2022-10-18 08:25:39 -04:00
5b04dff7bd remove AnsibleFest banner (#79156) 2022-10-17 20:45:38 +01:00
f66016df0e copy, avoid moving non temp remote 'non' files (#79102)
* copy, avoid moving non temp remote files that are not dirs/files
fix tests
2022-10-17 13:07:04 -04:00
cb2e434dd2 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
2022-10-14 09:14:35 -04:00
808f5a0c03 contributor_path: add doc link (#79138) 2022-10-14 11:18:12 +01:00
58f051a941 contributor_path: fix refs (#79136) 2022-10-14 09:15:09 +01:00
8d94a95ccf Docs: file parameter import_tasks and include_tasks (#79077)
* issue #79022 file parameter import_tasks and include_tasks

* adding details back

* Update lib/ansible/modules/import_tasks.py

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

* Update lib/ansible/modules/include_tasks.py

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

* use pipe as in original version

Co-authored-by: Felix Fontein <felix@fontein.de>
2022-10-13 17:39:27 -07:00
3a6eca6670 Fix test for jinja2_native preserve quotes (#79131)
Fixes https://github.com/ansible/ansible/pull/79119#discussion_r993752129
2022-10-13 12:21:02 -07:00
f53dbf90ea Don't assume column index for netmask and broadcast (#79121)
* Don't assume column index for netmask and broadcast. Fixes #79117

* fix typo
2022-10-13 12:16:13 -07:00
c4d6629bce fix password unit tests (#79113) 2022-10-13 09:47:47 -05:00
7e060c148a Add Ansible community 6.5.0 porting guide (#79122) 2022-10-12 16:11:25 -04:00
d34b578685 jinja2_native: preserve quotes in strings (#79119)
Fixes #79083
2022-10-12 12:16:06 -05:00
f9cb679675 compile role with all parents in the dep chain (#79079)
fix inheriting from parents when role depth exceeds 3

Fixes #47023
2022-10-12 09:44:22 -04:00
cc2e7501db Disable IP address lookups in iptables -module when listing (#78828)
* add --numeric to list

Co-authored-by: Mikko Toivola <mikko.toivola@insta.fi>
2022-10-11 16:59:35 -04:00
5d253a1380 fix password lookup's use of f=v settings (#76551)
update tests
2022-10-11 15:09:00 -04:00
14e7f05318 ansible-test - Update pylint to 2.15.4. 2022-10-11 10:37:50 -07:00
58637702b4 Cache field attributes list on the playbook classes (#79091)
* Cache field attributes list on the playbook classes
2022-10-11 11:16:57 -04:00
1286b7d42e Apply minor formatting changes to "playbooks directory" section (#79092) 2022-10-11 08:36:37 +05:30
dfef3260a5 Add code-block wrappers to code examples in playbooks_filters.rst (#79093)
Fixes #79029
2022-10-10 14:59:23 -07:00
a48c442275 Misc Typo fixes (#79088) 2022-10-10 14:41:20 +01:00
ad1eba9876 community_steering_committee: add a new member (#79089) 2022-10-10 13:50:09 +01:00
7d6984618d Docs: syntax error in Parsing semi-structured text with Ansible (#79085) 2022-10-10 09:34:31 +05:30
8ecfb7c6d8 Added code-block wrappers in implicit_localhost.rst (#79086)
Fixes #79031
2022-10-10 09:33:03 +05:30
ad5d9843d6 docs: fix typos (#79082) 2022-10-09 19:51:43 +05:30
eecc4046e8 Fix empty str defaults in config/base.yml (#77733)
* fix empty str default for config/base.yml config options by rendering '' instead of ``''``

Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>
2022-10-07 15:27:17 -04:00
e208fe5932 copy module - fix copying directories recursively with remote_src=True (#76997)
* copy module - fix copying directories containing modified subdirs with remote_src=True. Previously, the first changed subdir would prevent recursively checking for changes for in subdirs at the same level.

* Fix reporting changed for copying empty directories with remote_src=True. If a directory is created on the remote but nothing else, changed is True.
2022-10-07 14:24:46 -04:00
27ab589ee8 ansible-config, only subvalues should use yaml shorthand (#79073)
* ensure we only use shorthand for assigned values

* fix ansible-config std display

* split baby

* killed offending whitespace

* moved to func instead

* the revenge of whitespace
2022-10-07 12:45:40 -04:00
fcea07bbef Custom salt for ansible-vault encrypt (#79063)
* Custom salt for ansible-vault encrypt

  add VAULT_ENCRYPT_SALT config
  add salt testing


Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
Co-authored-by: Piotr Stawarski <p@stawarski.pl>
2022-10-07 10:05:46 -04:00
8cf7a0d3f0 Fix collection install from source respects symlinks (#78983)
* Fix installation from source transforms symlinks of dirs to empty dirs

* Add test to check symlinks to dirs are respected when installing from source

* Add changelog for collection install from source symlink to dirs issue
2022-10-06 13:53:23 -04:00
420564c5bc 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
2022-10-06 08:55:56 -05:00
11c1777d56 facts: List all local (scope host) IP address ranges (#79018)
After changes:
```
        "ansible_locally_reachable_ips": {
            "ipv4": [
                "127.0.0.0/8",
                "127.0.0.1",
                "192.168.0.1",
                "192.168.1.0/24"
            ],
            "ipv6": [
                "::1",
                "fe80::2eea:7fff:feca:fe68",
                ...
            ]
        },
```

192.168.1.0/24 is a local prefix, where any IP address inside this range
is reachable locally (or outside this host if this prefix is announced via
EGP/IGP).

Signed-off-by: Donatas Abraitis <donatas.abraitis@hostinger.com>
2022-10-06 09:30:57 -04:00
e1daaae42a Fix using FQCN for flush_handlers (#79057)
Fixes #79023
2022-10-06 09:26:49 -04:00
f8f1c6a6b5 Add password_hash filter and fix some nits (#78743)
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2022-10-06 17:11:06 +05:30
44581289e8 Use python re to parse service output instead of grep (#79015)
* 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
2022-10-05 12:19:40 -05:00
680bf029b1 Docs: Add code-block wrappers in lookup.rst & strategy.rst (#79032, #79033) (#79048) 2022-10-05 09:55:41 -07:00
35700f57cc Docs: Add code-block wrappers in faq.rst (#79047) 2022-10-05 09:46:14 -07:00
25a770de37 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>
2022-10-05 09:28:53 -07:00
3fc3371463 Cleaned up test_strategies doc (#79045)
Authored-by: Shade Alabsa <shadealabsa@microsoft.com>
2022-10-05 08:51:43 -07:00
3a788314a2 Docs: Adding code blocks wrapper (#79042)
* Adding code blocks wrapper
2022-10-05 08:41:34 -07:00
63b5fc4b8d Docs: Add code-block wrappers to code examples (#79037)
* Docs: Add code-block wrappers to code examples
2022-10-05 05:39:06 -07:00
57f22529cb Add code-block wrappers in network_debug_troubleshooting.rst 2022-10-05 17:16:08 +05:30
ff6e4da36a fixes to FA inheritance (#78990)
finalized applies to all field attributes
fix getting parent value
also remove unused/needed extend/prepend signature
moar testing
2022-10-04 11:47:32 -04:00
b5db71e318 ansible-vault: add newline to the output of the 'encrypt_string' command (#79017)
* ansible-vault: add newline to the output of the 'encrypt_string' command

* Add comment with issue description and improve string joining

* Add changelog fragment

* Update changelogs/fragments/79017-ansible-vault-string-encryption-ending-with-newline.yml

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

* Fixed some typos in changelog fragment

* Improve comment regarding newline character at the end of file

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

Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
2022-10-04 08:05:37 -07:00
56285b1d2b Docs: true/false with boolean values (#78980)
* Adding FQCN community.postgresql. to postgresql modules
2022-10-04 10:29:26 -04:00
6d0aeac1e1 Do not crash templating when filter/test name is not a valid Ansible plugin name (#78913)
* 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>
2022-10-04 09:44:00 -04:00
367cdae3b2 docs: replace latin terms with english in the scenario_guides (#79008) 2022-10-04 10:35:45 +01:00
4d3c12ae9e docs: replace latin terms with english in the reference_appendices (#79010) 2022-10-04 10:33:40 +01:00
8f4133b514 Docs: Replace Latin in the porting guides (#79011) 2022-10-04 10:30:57 +01:00
ea04d05a1e Docs: Typo in Alibaba Cloud Compute Services Guide (#78984) 2022-10-04 10:19:13 +01:00
8d665a1a8e docs: replace latin terms with english in network (#79013)
fixes #78999 by removing Latin usage in network docs
2022-10-04 09:47:24 +01:00
f0cc70f9e1 No latin terms (#79009)
Fixes #79006
2022-10-04 08:05:15 +05:30
173ddde126 Docs: true/false with boolean values in docsite/rst/playbook_guide (#78958) 2022-10-03 16:55:00 -04:00
4f4ad453c4 Fixed Latin words, replaced all via with either through or by (#79004) 2022-10-03 16:54:03 -04:00
55925958ea docs: replace latin terms with english in the os_guide directory (#79007)
Fixes #79003
2022-10-03 16:51:44 -04:00
78c9fb4159 replace with boolean true/false (#78950) 2022-10-03 16:49:43 -04:00
fbd98cd824 Docs: Replace Latin terms in the dev_guide #78997 (#79005) 2022-10-03 16:42:37 -04:00
5b333c9665 scenario guide doc changes (#78934) 2022-10-03 16:40:12 -04:00
5137cb16e9 Update porting_guide_5.rst (#78954) 2022-10-03 16:35:06 -04:00
ba32642538 Update porting_guide_4.rst (#78953) 2022-10-03 16:34:47 -04:00
919c449256 Update porting_guide_3.rst (#78952)
Fixes #78914
2022-10-03 16:34:16 -04:00
dc2d15fca4 Update porting_guide_2.0.rst (#78951)
Replaced http link with rst version - issue https://github.com/ansible/ansible/issues/78914
2022-10-03 16:33:57 -04:00
f7c01bc866 Docs: Provide descriptive labels for http references (#78959) 2022-10-03 15:01:27 -04:00
fb8c2daf46 Docs: true/false with boolean values in docsite/rst/os_guide (#78957) 2022-10-03 14:39:09 -04:00
56c48d1c45 docs - Use code-block to format examples in Windows module development walkthrough (#78985) 2022-10-03 01:51:14 -07:00
1b922b42dd Adds code-block in collection documentation (#78977)
* fix issue #78976
2022-10-03 01:45:44 -07:00
9afb37eda6 #78965 Adding the code-block to prevent the translation (#78979)
* Adding the code-block to prevent the translation
2022-10-01 11:40:28 -07:00
93c2cb2b8e #78971 Update module_lifecycle.rst (#78974)
* Update module_lifecycle.rst
2022-10-01 08:37:57 -07:00
3dc0c2135e 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
2022-10-01 08:11:07 -07:00
446406a0c8 added code-blocks according to #78963 (#78969)
* added code-blocks according to  #78963
* Update testing.rst, added newlines
2022-10-01 07:59:43 -07:00
1db75a41bf Adding code-block wrappers to code examples (#78968) 2022-10-01 07:51:02 -07:00
01484cdc68 added code-blocks according to #78962 (#78972) 2022-10-01 07:37:40 -07:00
538b99781f 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
2022-10-01 06:37:42 -07:00
5b239acb77 ansible-test - Update distro containers to 4.8.0.
The updated containers include coverage 6.5.0.
2022-09-30 10:31:42 -07:00
9650ddb11c 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
2022-09-30 13:07:24 -04:00
20c1252212 ansible-test - Update coverage to version 6.5.0.
ci_complete
ci_coverage
2022-09-30 08:57:21 -07:00
cee9872605 apt_key, fix example indentation
Co-authored-by: Matt Clay <matt@mystile.com>
2022-09-30 11:06:41 -04:00
ba6da65a0f Fix connection/become task loop settings (#78565)
* Fix connection/become task loop settings

* Remove old code
2022-09-30 09:06:10 +10:00
be4807b712 ansible-test validate-module - support sidecar docs (#78904) 2022-09-30 08:22:42 +10:00
c3fc8db41c Deprecate using a list of dicts for vars. See #78920 (#78927) 2022-09-29 12:45:55 -07:00
d93883645c Upgrade antsibull-docs to 1.6.1 (#78872)
* 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.
2022-09-29 11:54:00 -04:00
0343ae46d2 Add message about viewing chat history when on IRC (#78834) 2022-09-29 11:19:34 -04:00
ae66d9a1f4 Fixed spelling (#78911) 2022-09-29 11:01:46 -04:00
0884a7cf0e Add Ansible community 7.x porting guide (#78916) 2022-09-29 09:15:01 -04:00
0b678d5036 avoid roles exporting vars: (#69040)
- correct 'vars:' precedence to allow phasing out of include_params
 - actually merge vars and always include role_vars
 - avoided dupe deps from giving wrong vars
 - use 'first' instance of dep as others are from previous instances/invocations
   and can have diff values for vars
 - ensured deps only provide exportable vars themselves
 - added COMMENTS
 - added tests
 - apply export restrictions setting to defaults
 - use 'public' as cutoff

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

ci_complete
2022-09-28 15:54:48 -04:00
3423a6609f Fix docs for new commonpath and normpath filters (#78897) 2022-09-28 14:41:01 -04:00
4b0697ee03 make pager and editor configurable, specifically for ansible (#78816)
* make pager and editor configurable, specifically for ansilbe

  fallback on common ways to configure
2022-09-28 10:09:46 -04:00
c7cde2645d apt_repository, handle both new/old gpgp stds (#78735)
* apt_repository, handle both new/old gpgp stds
2022-09-28 10:08:00 -04:00
7acd4f75c0 apt module, prevent tb from invalid type for pkg (#78666)
* apt module, prevent tb from invalid type for pkg

 see #78663
2022-09-28 09:58:03 -04:00
95236c5569 slight var loading optimization (#78835)
Avoid having to recalculate these values since they don't change from first access
2022-09-28 09:13:05 -04:00
3515b3c5fc winrm - fix reducing 'Read timed out' error (#78869)
* winrm - fix reducing 'Read timed out' error

This fix reduces the exceptiopn 'Read timed out. (read timeout=nnn)' occurring seemingly randomly and
unpredictable on some networks (which have long latency and/or many hops or other problems). The fix
ensures that the involved timeout is set to a value so this issue is reduced.

* Add changelog fragment

Co-authored-by: Jordan Borean <jborean93@gmail.com>
2022-09-28 09:00:57 +10:00
bc274f57f7 ansible-test - Improve pylint command consistency. (#78896)
* ansible-test - Improve pylint command consistency.

Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
2022-09-27 11:39:25 -07:00
6e949d8f5d Added normpath filter (#78894)
Signed-off-by: Shivam Durgbuns <sdurgbun@redhat.com>
2022-09-27 13:21:38 -04:00
7c4d5f5099 documented windows filters (#78876)
* documented windows filters

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Sandra McCann <samccann@redhat.com>
2022-09-27 12:14:14 -04:00
8444d47b11 Adding two new os.path filters and its docs (#78794)
* Adding two new os.path filters and its docs

Signed-off-by: Shivam Durgbuns <sdurgbun@redhat.com>
2022-09-27 11:46:44 -04:00
4115ddd135 plugin loader fix existing config testing (#78859)
create specific function to find config entry to avoid repopulating constantly
2022-09-27 11:34:59 -04:00
71adb02142 Fixes typo in rst format (#78884)
.. hint:: requires a blank line above and below.
2022-09-27 11:11:32 -04:00
9aa9b4eac0 Improve filter docs (#78839) 2022-09-26 14:28:37 -04:00
de4ff281ab 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>
2022-09-26 09:27:20 -04:00
50dae8087e runtime-metadata sanity test: ensure redirects are FQCRs (#78802)
* Ensure that meta/runtime.yml redirects are FQCRs.

* Avoid crash when YAML errors without context mark happen, for example if file starts with 'foo---' instead of '---'.
2022-09-26 07:35:43 -04:00
964e2bc6fe iss#72389: Adds note and polishes docs/docsite/rst/tips_tricks/sample_setup.rst (#78858)
Co-authored-by: Jaroslav Klech <jklech@redhat.com>
2022-09-23 10:19:21 -04:00
d3d7785472 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).
2022-09-22 12:28:54 -07:00
f8f76c5886 Update yum.py (#78829)
##### SUMMARY
The entire yum command should be highlighted, not only its options.


##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
2022-09-22 12:09:27 -07:00
16cde1104f ansible-test - Update base and default containers. (#78846) 2022-09-21 15:49:33 -07:00
4c26022171 Don't request repo updates when only testing modes (#78843) (#78850)
(cherry picked from commit 254204856f)
2022-09-21 15:24:19 -07:00
228d25a321 Remove deprecated ANSIBLE_COW_WHITELIST/cow_whitelist (#78831)
Fixes #78819
Fixes #78820
2022-09-21 15:09:05 -05:00
d514aeb2a1 Remove deprecated ANSIBLE_CALLBACK_WHITELIST/callback_whitelist (#78830)
Fixes #78821
Fixes #78822
2022-09-21 15:08:53 -05:00
76b746655a Add use_rsa_sha2_algorithms option for paramiko (#78789)
Fixes #76737
Fixes #77673

Co-authored-by: Matt Clay <matt@mystile.com>
2022-09-21 12:14:55 -05:00
4d25233ece ansible-test - Update Python 3.11 support. (#78840)
- Update sanity test requirements to fully support Python 3.11.
- Make Python 3.11 the default in the base and default test containers.
2022-09-21 10:09:11 -07:00
163819efa2 tests: Fix test_ansible_version() when run within a git checkout (#78636)
When running the unit tests locally, in a git clone, `ansible --test`
prints additional information about the git revision, e.g.

```
~/src/ansible$ ansible --version
ansible 2.10.8
...
~/src/ansible$ source hacking/env-setup
...

Setting up Ansible to run out of checkout...
...
~/src/ansible$ ansible --version
[WARNING]: You are running the development version of Ansible. You
should only run Ansible from "devel" if you are modifying the Ansible
engine, or trying out features under development. This is a rapidly
changing source of code and can become unstable at any point.
ansible [core 2.14.0.dev0] (test_ansible_version-devel df497ea13b) last
updated 2022/08/25 10:37:07 (GMT +100)
...
```

which causes `test_ansible_version()` to fail.

Also removed an unused argument from previous parameterisation.

Co-authored-by: Alex Willmer <alex.willmer@cgi.com>
2022-09-21 09:34:53 -07:00
1b47def5ed Add ssh_args and friends back, add var for proxy_command (#78826)
Fixes #78750
2022-09-21 10:58:00 -05:00
161e2631f2 Remove missed clog frags (#78825) 2022-09-20 18:31:19 -05:00
f8e8326437 Bump devel to 2.15.0.dev0 (#78817) 2022-09-20 14:04:29 -05:00
1640 changed files with 28670 additions and 15761 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:3.0.0
pool: Standard
@ -84,41 +81,58 @@ stages:
- stage: Remote
dependsOn: []
jobs:
- template: templates/matrix.yml
- template: templates/matrix.yml # context/target
parameters:
targets:
- name: macOS 12.0
test: macos/12.0
- name: macOS 13.2
test: macos/13.2
- name: RHEL 7.9
test: rhel/7.9
- name: RHEL 8.6 py36
test: rhel/8.6@3.6
- name: RHEL 8.6 py39
test: rhel/8.6@3.9
- name: RHEL 9.0
test: rhel/9.0
- name: FreeBSD 12.3
test: freebsd/12.3
- name: RHEL 8.7 py36
test: rhel/8.7@3.6
- name: RHEL 8.7 py39
test: rhel/8.7@3.9
- name: RHEL 9.1
test: rhel/9.1
- 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
test: macos/12.0
- name: RHEL 8.6
test: rhel/8.6
- name: RHEL 9.0
test: rhel/9.0
- name: macOS 13.2
test: macos/13.2
- name: RHEL 8.7
test: rhel/8.7
- name: RHEL 9.1
test: rhel/9.1
- name: FreeBSD 13.1
test: freebsd/13.1
groups:
- 3
- 4
- 5
- template: templates/matrix.yml # context/controller (ansible-test container management)
parameters:
targets:
- name: Alpine 3.17
test: alpine/3.17
- name: Fedora 37
test: fedora/37
- name: RHEL 8.7
test: rhel/8.7
- name: RHEL 9.1
test: rhel/9.1
- name: Ubuntu 20.04
test: ubuntu/20.04
- name: Ubuntu 22.04
test: ubuntu/22.04
groups:
- 6
- stage: Docker
dependsOn: []
jobs:
@ -130,8 +144,8 @@ stages:
test: alpine3
- name: CentOS 7
test: centos7
- name: Fedora 36
test: fedora36
- name: Fedora 37
test: fedora37
- name: openSUSE 15
test: opensuse15
- name: Ubuntu 20.04
@ -147,8 +161,8 @@ stages:
targets:
- name: Alpine 3
test: alpine3
- name: Fedora 36
test: fedora36
- name: Fedora 37
test: fedora37
- name: Ubuntu 22.04
test: ubuntu2204
groups:

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

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

View File

@ -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:

4
.git-blame-ignore-revs Normal file
View File

@ -0,0 +1,4 @@
# .git-blame-ignore-revs
# Bulk PowerShell sanity fixes
6def4a3180fe03981ba64c6d8db28fed3bb39c0c
716631189cb5a3f66b3add98f39e64e98bc17bf7

View File

@ -96,7 +96,7 @@ body:
label: Ansible Version
description: >-
Paste verbatim output from `ansible --version` below, under
the prompt line. Please don't wrap it with tripple backticks — your
the prompt line. Please don't wrap it with triple backticks — your
whole input will be turned into a code snippet automatically.
render: console
value: |
@ -121,7 +121,7 @@ body:
description: >-
Paste verbatim output from `ansible-config dump --only-changed -t all` below, under the prompt line.
(if using a version older than ansible-core 2.12 you should omit the '-t all')
Please don't wrap it with tripple backticks — your
Please don't wrap it with triple backticks — your
whole input will be turned into a code snippet automatically.
render: console
value: |
@ -193,7 +193,7 @@ body:
description: |
Describe what actually happened. If possible run with extra verbosity (`-vvvv`).
Paste verbatim command output and don't wrap it with tripple backticks — your
Paste verbatim command output and don't wrap it with triple backticks — your
whole input will be turned into a code snippet automatically.
render: console
placeholder: >-

View File

@ -106,7 +106,7 @@ body:
label: Ansible Version
description: >-
Paste verbatim output from `ansible --version` below, under
the prompt line. Please don't wrap it with tripple backticks — your
the prompt line. Please don't wrap it with triple backticks — your
whole input will be turned into a code snippet automatically.
render: console
value: |
@ -131,7 +131,7 @@ body:
description: >-
Paste verbatim output from `ansible-config dump --only-changed -t all` below, under the prompt line.
(if using a version older than ansible-core 2.12 you should omit the '-t all')
Please don't wrap it with tripple backticks — your
Please don't wrap it with triple backticks — your
whole input will be turned into a code snippet automatically.
render: console
value: |

View File

@ -1,4 +1,5 @@
---
- 2.15.0 Ten Years Gone
- 2.14.0 C'mon Everybody
- 2.13.0 Nobody's Fault but Mine
- 2.12.0 Dazed and Confused

View File

@ -1,6 +1,5 @@
include README.rst
include COPYING
include SYMLINK_CACHE.json
include requirements.txt
recursive-include docs *
include docs/docsite/rst/collections/all_plugins.rst
@ -29,21 +28,19 @@ 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 packaging *.py
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
recursive-include test/support *.py *.ps1 *.psm1 *.cs *.md
exclude test/sanity/code-smell/botmeta.*
exclude test/sanity/code-smell/release-names.*
exclude test/lib/ansible_test/_internal/commands/sanity/bin_symlinks.py
exclude test/lib/ansible_test/_internal/commands/sanity/integration_aliases.py
recursive-include test/units *
include Makefile
include MANIFEST.in
include changelogs/CHANGELOG*.rst
include changelogs/changelog.yaml

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)

View File

@ -0,0 +1,340 @@
================================================
ansible-core 2.15 "Ten Years Gone" Release Notes
================================================
.. contents:: Topics
v2.15.0b2
=========
Release Summary
---------------
| Release Date: 2023-04-10
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
Bugfixes
--------
- AnsibleModule.run_command - Only use selectors when needed, and rely on Python stdlib subprocess for the simple task of collecting stdout/stderr when prompt matching is not required.
- ansible-galaxy - reduce API calls to servers by fetching signatures only for final candidates.
- dnf5 - fix module and package names in the message following failed module respawn attempt
- dnf5 - use the logs API to determine transaction problems
- validate-modules sanity test - replace semantic markup parsing and validating code with the code from `antsibull-docs-parser 0.2.0 <https://github.com/ansible-community/antsibull-docs-parser/releases/tag/0.2.0>`__ (https://github.com/ansible/ansible/pull/80406).
v2.15.0b1
=========
Release Summary
---------------
| Release Date: 2023-04-04
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.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
-------------
- Add support for custom salt for vault encoding to make it deterministic (https://github.com/ansible/ansible/issues/35480).
- Added the conditional that was False if ``when`` caused a task to skip under ``false_condition``.
- Allow force deletion of a group even when it is the primary group of a user. (https://github.com/ansible/ansible/issues/77849)
- Ansible.ModuleUtils.AddType - Add support for compiling ``unsafe`` code with the ``//AllowUnsafe`` directive
- Cache field attributes list on the playbook classes
- Cleaned up unused imports in core.
- Get user input for ``pause`` and ``paramiko_ssh`` from the strategy rather than access ``sys.stdin`` in the WorkerProcess.
- Introduce ``Delegatable`` and ``Notifiable`` mixin classes for playbook objects
- Make using blocks as handlers a parser error (https://github.com/ansible/ansible/issues/79968)
- Playbook objects - Replace deprecated stacked ``@classmethod`` and ``@property``
- Raise an error when an incorrect ``isa`` type is passed to ``FieldAttribute``.
- Remove fallback code for when ``defined``/``undefined`` tests were used on objects containing nested undefined variables; due to changes in lazy evalution of Jinja2 expressions it is no longer needed.
- Remove unused Python stdlib imports from module_utils which were not present for backwards compatibility in: common.file, compat.selectors, facts.network.iscsi, facts.network.nvme, yumdnf
- Remove unused internal imports from module_utils which were not present for backwards compatibility in: common.file, common.parameters, facts.system.caps, yumdnf
- Removed ``straight.plugin`` from the build and packaging requirements.
- Removed unused imports from the following action plugins: async_status, command, pause, set_stats, uri, validate_argument_spec
- Removed unused imports from the following lookup plugins: fileglob, template
- Removed unused imports from the following modules: apt, dnf, expect, pip, slurp, user, yum
- Removed unused imports from the following set of test plugins: files
- Removed unused imports from the following strategy plugins: debug
- Removed unused imports from the following vars plugins: host_group_vars
- Use ``ansible.module_utils.six.moves.collections_abc`` instead of ``ansible.module_utils.common._collections_compat`` in modules and module_utils.
- Use ``collections.abc`` instead of ``ansible.module_utils.common._collections_compat`` in controller code.
- ``AnsibleJ2Vars`` class that acts as a storage for all variables for templating purposes now uses ``collections.ChainMap`` internally.
- add parameter ``numeric`` to the iptables module to disable dns lookups when running list -action internally (https://github.com/ansible/ansible/issues/78793).
- allow user to set ansible specific env vars for selecting pager and editor, but still fall back to commonly used defaults.
- ansible-doc - support role extension for semantic markup spec so that ``O()`` and ``RV()`` referring to role entrypoints are rendered more readable (https://github.com/ansible/ansible/pull/80305).
- ansible-doc - support semantic markup in text output (https://github.com/ansible/ansible/pull/80242).
- ansible-doc text output - support ``seealso`` plugin record that was added for filter and test plugin documentation (https://github.com/ansible/ansible/pull/80212).
- ansible-galaxy - Add ability to specify collection versions on the CLI without the need for a colon. Such as ``namespace.name==1.2.3`` vs ``namespace.name:1.2.3``.
- ansible-galaxy - Use Python's native ``raise ... from`` instead of ``six.raise_from``.
- ansible-galaxy - support ``resolvelib >= 0.5.3, < 0.10.0``.
- ansible-galaxy - support ``resolvelib >= 0.5.3, < 1.1.0``.
- ansible-inventory now supports the limit command line options.
- ansible-test - A new ``audit`` option is available when running custom containers. This option can be used to indicate whether a container requires the AUDIT_WRITE capability. The default is ``required``, which most containers will need when using Podman. If necessary, the ``none`` option can be used to opt-out of the capability. This has no effect on Docker, which always provides the capability.
- ansible-test - A new ``cgroup`` option is available when running custom containers. This option can be used to indicate a container requires cgroup v1 or that it does not use cgroup. The default behavior assumes the container works with cgroup v2 (as well as v1).
- ansible-test - Add Alpine 3.17 remote.
- ansible-test - Add Fedora 37 container.
- ansible-test - Add Fedora 37 remote.
- ansible-test - Add FreeBSD 12.4 remote.
- ansible-test - Add RHEL 8.7 remote.
- ansible-test - Add RHEL 9.1 remote.
- ansible-test - Add macOS 13.2 remote.
- 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 - Disabled the ``ansible-format-automatic-specification`` rule from the ``pylint`` sanity test, now that Python 2.6 is no longer supported.
- ansible-test - Enable the ``trailing-comma-tuple`` rule in the ``pylint`` sanity test.
- ansible-test - Enable the ``unused-import`` rule for the ``pylint`` sanity test for collections.
- 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 - Improve consistency of executed ``pylint`` commands by making the plugins ordered.
- ansible-test - Improve consistency of version specific documentation links.
- 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 - Minor cleanup and package updates in distro containers.
- ansible-test - More details are provided about an instance when provisioning fails.
- ansible-test - Moved git handling out of the validate-modules sanity test and into ansible-test.
- 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 - Removed test containers: fedora36
- ansible-test - Removed test remotes: alpine/3.16, fedora/36, freebsd/12.3, rhel/8.6, rhel/9.0, macos/12.0
- ansible-test - Removed the ``--keep-git`` sanity test option, which was limited to testing ansible-core itself.
- ansible-test - SSH connections from OpenSSH 8.8+ to CentOS 6 containers now work without additional configuration. However, clients older than OpenSSH 7.0 can no longer connect to CentOS 6 containers as a result. The container must have ``centos6`` in the image name for this work-around to be applied.
- ansible-test - SSH shell connections from OpenSSH 8.8+ to ansible-test provisioned network instances now work without additional configuration. However, clients older than OpenSSH 7.0 can no longer open shell sessions for ansible-test provisioned network instances as a result.
- ansible-test - Specify the configuration file location required by test plugins when the config file is not found. This resolves issue: https://github.com/ansible/ansible/issues/79411
- ansible-test - The ``ansible-test env`` command now detects and reports the container ID if running in a container.
- ansible-test - The ``pep8`` sanity test rule ``E203`` is now disabled since it is not PEP 8 compliant. This provides compatibility with output generated by the ``black`` code formatter.
- ansible-test - The ``validate-modules`` sanity test no longer limits the ``__future__`` imports that can be used. Other sanity tests that check ``__future__`` imports remain unchanged. As a result, the error code ``illegal-future-imports`` is no longer used.
- 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 - Update Alpine 3 container to 3.17.
- ansible-test - Update Python requirements used for sanity tests.
- 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 error handling code to use Python 3.x constructs, avoiding direct use of ``errno``.
- ansible-test - Update test container to ``7.4.0`` which includes the new PSScriptAnalyzer versions
- ansible-test - Update the CloudStack test plugin to use a newer test container with CloudStack 4.18.0.
- ansible-test - Update the NIOS test plugin to use a newer multi-arch test container.
- ansible-test - Update the ``ansible-bad-import-from`` rule in the ``pylint`` sanity test to recommend ``ansible.module_utils.six.moves.collections_abc`` instead of ``ansible.module_utils.common._collections_compat``.
- ansible-test - Update the ``base`` and ``default`` test containers with the latest requirements.
- ansible-test - Updated the Azure Pipelines CI plugin to work with newer versions of git.
- ansible-test - Use ``stop --time 0`` followed by ``rm`` to remove ephemeral containers instead of ``rm -f``. This speeds up teardown of ephemeral containers.
- ansible-test - Warnings are now shown when using containers that were built with VOLUME instructions.
- ansible-test - When setting the max open files for containers, the container host's limit will be checked. If the host limit is lower than the preferred value, it will be used and a warning will be shown.
- ansible-test - When using Podman, ansible-test will detect if the loginuid used in containers is incorrect. When this occurs a warning is displayed and the container is run with the AUDIT_CONTROL capability. Previously containers would fail under this situation, with no useful warnings or errors given.
- ansible-test acme test container - update version to update used Pebble version, underlying Python and Go base containers, and Python requirements (https://github.com/ansible/ansible/pull/79783).
- ansible-test pslint - Upgrade PSScriptAnalyzer to ``1.21.0`` which enables the ``AvoidMultipleTypeAttributes``, ``AvoidSemicolonsAsLineTerminators``, and ``AvoidUsingBrokenHashAlgorithms`` rules
- ansible-test runtime-metadata sanity test - ensure that ``redirect`` entries in ``meta/runtime.yml`` contain collection names, except for ``module_utils`` plugin redirects and ``import_redirect`` redirects (https://github.com/ansible/ansible/pull/78802).
- ansible-test sanity --test ansible-doc - now also lists documentation for test and filter plugins that are documented (https://github.com/ansible/ansible/pull/77737).
- 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``.
- ansible-test validate-modules - no longer treat falsy non-``False`` values for defaults as ``None`` (https://github.com/ansible/ansible/pull/79267).
- apt - add allow-change-held-packages option to apt remove (https://github.com/ansible/ansible/issues/78131)
- apt_repository - adds ``sources_added`` and ``sources_removed`` to the return of the module (https://github.com/ansible/ansible/issues/79306).
- apt_repository will use the trust repo directories in order of preference (more appropriate to less) as they exist on the target.
- collections - Add additional ignores for commonly rejected file extensions
- collections - Add additional includes for REUSE license files (https://github.com/ansible/ansible/issues/79368)
- deb822_repository - Add new module for managing DEB822 formatted apt repositories
- debug - Perform argspec valdiation in debug action plugin (https://github.com/ansible/ansible/issues/79862)
- dnf5 - Add new module for managing packages and other artifacts via the next version of DNF (https://github.com/ansible/ansible/issues/78898)
- galaxy - include ``license_file`` in the default manifest directives (https://github.com/ansible/ansible/pull-request/79420)
- optimized var loading by caching results as there is no variance in input during run.
- pycompat24 module_utils - Remove support for Python 2.5 and earlier.
- sanity tests - updates the collection-deprecated-version tests to ignore the ``prerelease`` component of the collection version ().
- strftime filter, additional docs and links to source of truth.
- updated the vendored distro library to upstream version (https://github.com/ansible/ansible/pull/79227)
- validate-modules sanity test - add support for semantic markup (https://github.com/ansible/ansible/pull/80243).
- validate-modules sanity test - if the ``check_mode`` attribute is present, check that it coincides with the ``support_check_mode`` parameter of ``AnsibleModule`` (https://github.com/ansible/ansible/pull/80090).
- validate-modules sanity test - remove support for the never implemented ``forced_action_plugin`` attribute (https://github.com/ansible/ansible/pull/79317).
- validate-modules sanity test - support the ``plugin`` see-also part of the semantic markup specification (https://github.com/ansible/ansible/pull/80244).
Breaking Changes / Porting Guide
--------------------------------
- ansible-doc - no longer treat plugins in collections whose name starts with ``_`` as deprecated (https://github.com/ansible/ansible/pull/79217).
- 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.
- ansible-test - The ``vcenter`` test plugin now defaults to using a user-provided static configuration instead of the ``govcsim`` simulator for collections. Set the ``ANSIBLE_VCSIM_CONTAINER`` environment variable to ``govcsim`` to use the simulator. Keep in mind that the simulator is deprecated and will be removed in a future release.
- ansible-test sanity - previously plugins and modules in collections whose name started with ``_`` were treated as deprecated, even when they were not marked as deprecated in ``meta/runtime.yml``. This is no longer the case (https://github.com/ansible/ansible/pull/79362).
- ansible-test validate-modules - Removed the ``missing-python-doc`` error code in validate modules, ``missing-documentation`` is used instead for missing PowerShell module documentation.
Deprecated Features
-------------------
- The ``ConnectionBase()._new_stdin`` attribute is deprecated, use ``display.prompt_until(msg)`` instead.
- ansible-test - The ``foreman`` test plugin is now deprecated. It will be removed in a future release.
- ansible-test - The ``govcsim`` simulator in the ``vcenter`` test plugin is now deprecated. It will be removed in a future release. Users should switch to providing their own test environment through a static configuration file.
- password_hash - deprecate using passlib.hash.hashtype if hashtype isn't in the list of documented choices.
- vars - Specifying a list of dictionaries for ``vars:`` is deprecated in favor of specifying a dictionary.
Removed Features (previously deprecated)
----------------------------------------
- Remove deprecated ``ANSIBLE_CALLBACK_WHITELIST`` configuration environment variable, use ``ANSIBLE_CALLBACKS_ENABLED`` instead. (https://github.com/ansible/ansible/issues/78821)
- Remove deprecated ``ANSIBLE_COW_WHITELIST`` configuration environment variable, use ``ANSIBLE_COW_ACCEPTLIST`` instead. (https://github.com/ansible/ansible/issues/78819)
- Remove deprecated ``callback_whitelist`` configuration option, use ``callbacks_enabled`` instead. (https://github.com/ansible/ansible/issues/78822)
- Remove deprecated ``cow_whitelist`` configuration option, use ``cowsay_enabled_stencils`` instead. (https://github.com/ansible/ansible/issues/78820)
Bugfixes
--------
- Ansible.Basic.cs - Ignore compiler warning (reported as an error) when running under PowerShell 7.3.x.
- 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)
- Correctly count rescued tasks in play recap (https://github.com/ansible/ansible/issues/79711)
- 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).
- Fix ``MANIFEST.in`` to exclude unwanted files in the ``packaging/`` directory.
- Fix ``MANIFEST.in`` to include ``*.md`` files in the ``test/support/`` directory.
- Fix a traceback occuring when a task is named ``meta`` (https://github.com/ansible/ansible/issues/79459)
- 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)
- Fix bug in `vars` applied to roles, they were being incorrectly exported among others while only vars/main.yml was meant to be. Also adjusted the precedence to act the same as inline params.
- Fix conditionally notifying ``include_tasks` handlers when ``force_handlers`` is used (https://github.com/ansible/ansible/issues/79776)
- 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 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).
- Fixes leftover _valid_attrs usage.
- Fixes the password lookup to not rewrite files if they are not changed when using the "encrypt" parameter (#79430).
- Module and role argument validation - include the valid suboption choices in the error when an invalid suboption is provided.
- Perform type check on data passed to Display.display to enforce the requirement of being given a python3 unicode string
- TaskExecutor - don't ignore templated _raw_params that k=v parser failed to parse (https://github.com/ansible/ansible/issues/79862)
- 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-galaxy search rolename`` - give a warning instead of non-zero return code when search results are empty. This is similar to the behavior when listing roles, which gives a warning if a role cannot be found and exits with a return code of ``0``.
- ``ansible_eval_concat`` - avoid redundant unsafe wrapping of templated strings converted to Python types
- ansible-config limit shorthand format to assigned values
- 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-doc now will correctly display short descriptions on listing filters/tests no matter the directory sorting.
- 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 - fix installing collections in git repositories/directories which contain a MANIFEST.json file (https://github.com/ansible/ansible/issues/79796).
- ansible-galaxy - make initial call to Galaxy server on-demand only when installing, getting info about, and listing roles.
- ansible-galaxy collection install - respect symlinks when installing from source or local repository (https://github.com/ansible/ansible/issues/78442)
- ansible-galaxy collection/role init - preserve symlinks (https://github.com/ansible/ansible/issues/39334).
- ansible-galaxy role info - fix unhandled AttributeError by catching the correct exception.
- ansible-inventory will no longer duplicate host entries if they were part of a group's childrens tree.
- 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-playbook -K breaks when passwords have quotes (https://github.com/ansible/ansible/issues/79836).
- ansible-test - Add ``wheel < 0.38.0`` constraint for Python 3.6 and earlier.
- ansible-test - Add support for ``pytest`` assertion rewriting when running unit tests on Python 3.5 and later. Resolves issue https://github.com/ansible/ansible/issues/68032
- ansible-test - Added a work-around for a traceback under Python 3.11 when completing certain command line options.
- 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 indicate the Python version being used before installing requirements. Resolves issue https://github.com/ansible/ansible/issues/72855
- 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 - Exclude ansible-core vendored Python packages from ansible-test payloads.
- ansible-test - Fix broken documentation link for ``aws`` test plugin error messages.
- 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 - 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 - 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 - 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 - Show the exception type when reporting errors during instance provisioning.
- ansible-test - Support Podman 4.4.0+ by adding the ``SYS_CHROOT`` capability when running containers.
- ansible-test - Support loading of vendored Python packages from ansible-core.
- ansible-test - The ``validate-modules`` sanity test now properly enforces documentation before imports for plugins. Previously this was only enforced for modules due to a coding error.
- 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 - 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)
- ansible-test - fix warning message about failing to run an image to include the image name
- ansible-test runtime-metadata sanity test - do not crash on YAML parsing errors without a context mark (https://github.com/ansible/ansible/pull/78802).
- ansible-test sanity - correctly report invalid YAML in validate-modules (https://github.com/ansible/ansible/issues/75837).
- ansible-vault encrypt_string - started appending a line feed at the end of the encrypted string output. Missing newline character caused problems identifying where the string ends in some shells (like bash) or accidentally copying an extra trailing terminator symbol (e.g., zsh prints out a ``%`` sign to signal where the original output stops) (https://github.com/ansible/ansible/issues/78932).
- ansible_facts.hardware - Define all processor facts on s390x (https://github.com/ansible/ansible/issues/19755)
- apt - set locale to fix updating the cache (https://github.com/ansible/ansible/issues/79523).
- apt module should not traceback on invalid type given as package. issue 78663.
- apt_repository will no longer fail to detect key when unrelated errors/warnings are issued by apt-key.
- 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).
- basic.py module_utils - Perform Python version check much earlier to ensure it runs before other errors occur.
- connection local now avoids traceback on invalid user being used to execuet ansible (valid in host, but not in container).
- 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).
- copy module will no longer move 'non files' set as src when remote_src=true.
- copy remote_src=true - fix copying subdirs recursively when the dest exists and the src and dest have multiple common subdirectories in a common directory (https://github.com/ansible/ansible/issues/74536).
- copy remote_src=true - fix reporting changed for copying empty directories.
- display - reduce risk of post-fork output deadlocks (https://github.com/ansible/ansible/pull/79522)
- 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)
- file lookup now handles missing files more gracefully.
- file lookup now plays nice with generic lookup ``errors`` option.
- get_url - Ensure we are passing ciphers to all url_get calls (https://github.com/ansible/ansible/issues/79717)
- get_url module - Added a documentation reference to ``hashlib`` regarding algorithms, as well as a note about ``md5`` support on systems running in FIPS compliant mode.
- get_url module - Removed out-of-date documentation stating that ``hashlib`` is a third-party library.
- 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)
- include_role - Inherit from role parents beyond a depth of 3 (https://github.com/ansible/ansible/issues/47023).
- 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.
- jinja2_native: preserve quotes in strings (https://github.com/ansible/ansible/issues/79083)
- 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)
- list-tags now shows the 'never' tag, which was being excluded by default. To list all tasks you still need to add `--list-tasks --tags never,all`.
- loops/delegate_to - Do not double calculate the values of loops and ``delegate_to`` (https://github.com/ansible/ansible/issues/80038)
- module_utils/basic.py - Fix detection of available hashing algorithms on Python 3.x. All supported algorithms are now available instead of being limited to a hard-coded list. This affects modules such as ``get_url`` which accept an arbitrary checksum algorithm.
- normal action plugin - remove obsolete ``if`` (https://github.com/ansible/ansible/pull/79690).
- 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)
- paramiko connection was still using outdated playcontext, this should bring it up to date to use the 'correct' data for each task/loop.
- password lookup now correctly reads stored ident fields.
- password_hash - handle errors using unknown passlib hashtypes more gracefully (https://github.com/ansible/ansible/issues/45392).
- plugin loader, fix detection for existing configuration before initializing for a plugin
- role deduplication - Always create new role object, regardless of deduplication. Deduplication will only affect whether a duplicate call to a role will execute, as opposed to re-using the same object. (https://github.com/ansible/ansible/pull/78661)
- roles - Fix templating ``public``, ``allow_duplicates`` and ``rolespec_validate`` (https://github.com/ansible/ansible/issues/80304).
- service_facts - Use python re to parse service output instead of grep (https://github.com/ansible/ansible/issues/78541)
- strategy plugins now correctly identify bad registered variables, even on skip.
- strategy plugins: get the correctly templated and validated run_once value on strategy linear (https://github.com/ansible/ansible/issues/78492)
- systemd - daemon-reload and daemon-reexec ignore errors when running in a chroot (https://github.com/ansible/ansible/pull/79643)
- templates - Fixed ``TypeError`` when a lookup plugin has an option called ``name``.
- unarchive - allow relative path for ``dest`` (https://github.com/ansible/ansible/issues/64612)
- unarchive - log errors from commands to assist in debugging (https://github.com/ansible/ansible/issues/64612)
- updated error messages to include 'acl' and not just mode changes when failing to set required permissions on remote.
- uri - improve JSON content type detection
- user - fix comparing group IDs to existing group names so groups are not always updated (https://github.com/ansible/ansible/issues/79956).
- user module - Removed ``password_expire_max`` from the return docs, as it is not returned.
- user module - Removed ``password_expire_min`` from the return docs, as it is not returned.
- vault - show filename additionally if missing secrets prevents decryption (https://github.com/ansible/ansible/issues/79723)
- winrm - Increase the read timeout to 10 seconds later than the operation timeout reducing the chances of a false read timeout
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 - Unit tests for collections do not support ``pytest`` assertion rewriting on Python 2.7.
- ansible-test - Using Docker on systems with SELinux may require setting SELinux to permissive mode. Podman should work with SELinux in enforcing mode.
- dnf5 - The DNF5 package manager currently does not provide all functionality to ensure feature parity between the existing ``dnf`` and the new ``dnf5`` module. As a result the following ``dnf5`` options are effectively a no-op: ``cacheonly``, ``enable_plugin``, ``disable_plugin`` and ``lock_timeout``.
New Plugins
-----------
Filter
~~~~~~
- commonpath - gets the common path
- normpath - Normalize a pathname
New Modules
-----------
Lib
~~~
ansible.modules
^^^^^^^^^^^^^^^
- deb822_repository - Add and remove deb822 formatted repositories
- dnf5 - Manages packages with the I(dnf5) package manager

View File

@ -1,2 +1,755 @@
ancestor: 2.13.0
releases: {}
ancestor: 2.14.0
releases:
2.15.0b1:
changes:
breaking_changes:
- ansible-doc - no longer treat plugins in collections whose name starts with
``_`` as deprecated (https://github.com/ansible/ansible/pull/79217).
- 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.
- ansible-test - The ``vcenter`` test plugin now defaults to using a user-provided
static configuration instead of the ``govcsim`` simulator for collections.
Set the ``ANSIBLE_VCSIM_CONTAINER`` environment variable to ``govcsim`` to
use the simulator. Keep in mind that the simulator is deprecated and will
be removed in a future release.
- ansible-test sanity - previously plugins and modules in collections whose
name started with ``_`` were treated as deprecated, even when they were not
marked as deprecated in ``meta/runtime.yml``. This is no longer the case (https://github.com/ansible/ansible/pull/79362).
- ansible-test validate-modules - Removed the ``missing-python-doc`` error code
in validate modules, ``missing-documentation`` is used instead for missing
PowerShell module documentation.
bugfixes:
- Ansible.Basic.cs - Ignore compiler warning (reported as an error) when running
under PowerShell 7.3.x.
- 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)
- Correctly count rescued tasks in play recap (https://github.com/ansible/ansible/issues/79711)
- 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).
- Fix ``MANIFEST.in`` to exclude unwanted files in the ``packaging/`` directory.
- Fix ``MANIFEST.in`` to include ``*.md`` files in the ``test/support/`` directory.
- Fix a traceback occuring when a task is named ``meta`` (https://github.com/ansible/ansible/issues/79459)
- 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)
- Fix bug in `vars` applied to roles, they were being incorrectly exported among
others while only vars/main.yml was meant to be. Also adjusted the precedence
to act the same as inline params.
- Fix conditionally notifying ``include_tasks` handlers when ``force_handlers``
is used (https://github.com/ansible/ansible/issues/79776)
- 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 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).
- Fixes leftover _valid_attrs usage.
- Fixes the password lookup to not rewrite files if they are not changed when
using the "encrypt" parameter (#79430).
- Module and role argument validation - include the valid suboption choices
in the error when an invalid suboption is provided.
- Perform type check on data passed to Display.display to enforce the requirement
of being given a python3 unicode string
- TaskExecutor - don't ignore templated _raw_params that k=v parser failed to
parse (https://github.com/ansible/ansible/issues/79862)
- 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-galaxy search rolename`` - give a warning instead of non-zero return
code when search results are empty. This is similar to the behavior when listing
roles, which gives a warning if a role cannot be found and exits with a return
code of ``0``.'
- '``ansible_eval_concat`` - avoid redundant unsafe wrapping of templated strings
converted to Python types'
- ansible-config limit shorthand format to assigned values
- 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-doc now will correctly display short descriptions on listing filters/tests
no matter the directory sorting.
- 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 - fix installing collections in git repositories/directories
which contain a MANIFEST.json file (https://github.com/ansible/ansible/issues/79796).
- ansible-galaxy - make initial call to Galaxy server on-demand only when installing,
getting info about, and listing roles.
- ansible-galaxy collection install - respect symlinks when installing from
source or local repository (https://github.com/ansible/ansible/issues/78442)
- ansible-galaxy collection/role init - preserve symlinks (https://github.com/ansible/ansible/issues/39334).
- ansible-galaxy role info - fix unhandled AttributeError by catching the correct
exception.
- ansible-inventory will no longer duplicate host entries if they were part
of a group's childrens tree.
- 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-playbook -K breaks when passwords have quotes (https://github.com/ansible/ansible/issues/79836).
- ansible-test - Add ``wheel < 0.38.0`` constraint for Python 3.6 and earlier.
- ansible-test - Add support for ``pytest`` assertion rewriting when running
unit tests on Python 3.5 and later. Resolves issue https://github.com/ansible/ansible/issues/68032
- ansible-test - Added a work-around for a traceback under Python 3.11 when
completing certain command line options.
- 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 indicate the Python version being used before installing
requirements. Resolves issue https://github.com/ansible/ansible/issues/72855
- 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 - Exclude ansible-core vendored Python packages from ansible-test
payloads.
- ansible-test - Fix broken documentation link for ``aws`` test plugin error
messages.
- 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 - 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 - 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 - 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 - Show the exception type when reporting errors during instance
provisioning.
- ansible-test - Support Podman 4.4.0+ by adding the ``SYS_CHROOT`` capability
when running containers.
- ansible-test - Support loading of vendored Python packages from ansible-core.
- ansible-test - The ``validate-modules`` sanity test now properly enforces
documentation before imports for plugins. Previously this was only enforced
for modules due to a coding error.
- 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 - 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)
- ansible-test - fix warning message about failing to run an image to include
the image name
- ansible-test runtime-metadata sanity test - do not crash on YAML parsing errors
without a context mark (https://github.com/ansible/ansible/pull/78802).
- ansible-test sanity - correctly report invalid YAML in validate-modules (https://github.com/ansible/ansible/issues/75837).
- ansible-vault encrypt_string - started appending a line feed at the end of
the encrypted string output. Missing newline character caused problems identifying
where the string ends in some shells (like bash) or accidentally copying an
extra trailing terminator symbol (e.g., zsh prints out a ``%`` sign to signal
where the original output stops) (https://github.com/ansible/ansible/issues/78932).
- ansible_facts.hardware - Define all processor facts on s390x (https://github.com/ansible/ansible/issues/19755)
- apt - set locale to fix updating the cache (https://github.com/ansible/ansible/issues/79523).
- apt module should not traceback on invalid type given as package. issue 78663.
- apt_repository will no longer fail to detect key when unrelated errors/warnings
are issued by apt-key.
- 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).
- basic.py module_utils - Perform Python version check much earlier to ensure
it runs before other errors occur.
- connection local now avoids traceback on invalid user being used to execuet
ansible (valid in host, but not in container).
- 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).
- copy module will no longer move 'non files' set as src when remote_src=true.
- copy remote_src=true - fix copying subdirs recursively when the dest exists
and the src and dest have multiple common subdirectories in a common directory
(https://github.com/ansible/ansible/issues/74536).
- copy remote_src=true - fix reporting changed for copying empty directories.
- display - reduce risk of post-fork output deadlocks (https://github.com/ansible/ansible/pull/79522)
- 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)
- file lookup now handles missing files more gracefully.
- file lookup now plays nice with generic lookup ``errors`` option.
- get_url - Ensure we are passing ciphers to all url_get calls (https://github.com/ansible/ansible/issues/79717)
- get_url module - Added a documentation reference to ``hashlib`` regarding
algorithms, as well as a note about ``md5`` support on systems running in
FIPS compliant mode.
- get_url module - Removed out-of-date documentation stating that ``hashlib``
is a third-party library.
- '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)'
- include_role - Inherit from role parents beyond a depth of 3 (https://github.com/ansible/ansible/issues/47023).
- 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.
- 'jinja2_native: preserve quotes in strings (https://github.com/ansible/ansible/issues/79083)'
- 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)
- list-tags now shows the 'never' tag, which was being excluded by default.
To list all tasks you still need to add `--list-tasks --tags never,all`.
- loops/delegate_to - Do not double calculate the values of loops and ``delegate_to``
(https://github.com/ansible/ansible/issues/80038)
- module_utils/basic.py - Fix detection of available hashing algorithms on Python
3.x. All supported algorithms are now available instead of being limited to
a hard-coded list. This affects modules such as ``get_url`` which accept an
arbitrary checksum algorithm.
- normal action plugin - remove obsolete ``if`` (https://github.com/ansible/ansible/pull/79690).
- 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)
- paramiko connection was still using outdated playcontext, this should bring
it up to date to use the 'correct' data for each task/loop.
- password lookup now correctly reads stored ident fields.
- password_hash - handle errors using unknown passlib hashtypes more gracefully
(https://github.com/ansible/ansible/issues/45392).
- plugin loader, fix detection for existing configuration before initializing
for a plugin
- role deduplication - Always create new role object, regardless of deduplication.
Deduplication will only affect whether a duplicate call to a role will execute,
as opposed to re-using the same object. (https://github.com/ansible/ansible/pull/78661)
- roles - Fix templating ``public``, ``allow_duplicates`` and ``rolespec_validate``
(https://github.com/ansible/ansible/issues/80304).
- service_facts - Use python re to parse service output instead of grep (https://github.com/ansible/ansible/issues/78541)
- strategy plugins now correctly identify bad registered variables, even on
skip.
- 'strategy plugins: get the correctly templated and validated run_once value
on strategy linear (https://github.com/ansible/ansible/issues/78492)'
- systemd - daemon-reload and daemon-reexec ignore errors when running in a
chroot (https://github.com/ansible/ansible/pull/79643)
- templates - Fixed ``TypeError`` when a lookup plugin has an option called
``name``.
- unarchive - allow relative path for ``dest`` (https://github.com/ansible/ansible/issues/64612)
- unarchive - log errors from commands to assist in debugging (https://github.com/ansible/ansible/issues/64612)
- updated error messages to include 'acl' and not just mode changes when failing
to set required permissions on remote.
- uri - improve JSON content type detection
- user - fix comparing group IDs to existing group names so groups are not always
updated (https://github.com/ansible/ansible/issues/79956).
- user module - Removed ``password_expire_max`` from the return docs, as it
is not returned.
- user module - Removed ``password_expire_min`` from the return docs, as it
is not returned.
- vault - show filename additionally if missing secrets prevents decryption
(https://github.com/ansible/ansible/issues/79723)
- winrm - Increase the read timeout to 10 seconds later than the operation timeout
reducing the chances of a false read timeout
deprecated_features:
- The ``ConnectionBase()._new_stdin`` attribute is deprecated, use ``display.prompt_until(msg)``
instead.
- ansible-test - The ``foreman`` test plugin is now deprecated. It will be removed
in a future release.
- ansible-test - The ``govcsim`` simulator in the ``vcenter`` test plugin is
now deprecated. It will be removed in a future release. Users should switch
to providing their own test environment through a static configuration file.
- password_hash - deprecate using passlib.hash.hashtype if hashtype isn't in
the list of documented choices.
- vars - Specifying a list of dictionaries for ``vars:`` is deprecated in favor
of specifying a dictionary.
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 - Unit tests for collections do not support ``pytest`` assertion
rewriting on Python 2.7.
- ansible-test - Using Docker on systems with SELinux may require setting SELinux
to permissive mode. Podman should work with SELinux in enforcing mode.
- 'dnf5 - The DNF5 package manager currently does not provide all functionality
to ensure feature parity between the existing ``dnf`` and the new ``dnf5``
module. As a result the following ``dnf5`` options are effectively a no-op:
``cacheonly``, ``enable_plugin``, ``disable_plugin`` and ``lock_timeout``.'
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:
- Add support for custom salt for vault encoding to make it deterministic (https://github.com/ansible/ansible/issues/35480).
- Added the conditional that was False if ``when`` caused a task to skip under
``false_condition``.
- Allow force deletion of a group even when it is the primary group of a user.
(https://github.com/ansible/ansible/issues/77849)
- Ansible.ModuleUtils.AddType - Add support for compiling ``unsafe`` code with
the ``//AllowUnsafe`` directive
- Cache field attributes list on the playbook classes
- Cleaned up unused imports in core.
- Get user input for ``pause`` and ``paramiko_ssh`` from the strategy rather
than access ``sys.stdin`` in the WorkerProcess.
- Introduce ``Delegatable`` and ``Notifiable`` mixin classes for playbook objects
- Make using blocks as handlers a parser error (https://github.com/ansible/ansible/issues/79968)
- Playbook objects - Replace deprecated stacked ``@classmethod`` and ``@property``
- Raise an error when an incorrect ``isa`` type is passed to ``FieldAttribute``.
- Remove fallback code for when ``defined``/``undefined`` tests were used on
objects containing nested undefined variables; due to changes in lazy evalution
of Jinja2 expressions it is no longer needed.
- 'Remove unused Python stdlib imports from module_utils which were not present
for backwards compatibility in: common.file, compat.selectors, facts.network.iscsi,
facts.network.nvme, yumdnf
'
- 'Remove unused internal imports from module_utils which were not present for
backwards compatibility in: common.file, common.parameters, facts.system.caps,
yumdnf
'
- Removed ``straight.plugin`` from the build and packaging requirements.
- 'Removed unused imports from the following action plugins: async_status, command,
pause, set_stats, uri, validate_argument_spec'
- 'Removed unused imports from the following lookup plugins: fileglob, template'
- 'Removed unused imports from the following modules: apt, dnf, expect, pip,
slurp, user, yum'
- 'Removed unused imports from the following set of test plugins: files'
- 'Removed unused imports from the following strategy plugins: debug'
- 'Removed unused imports from the following vars plugins: host_group_vars'
- Use ``ansible.module_utils.six.moves.collections_abc`` instead of ``ansible.module_utils.common._collections_compat``
in modules and module_utils.
- Use ``collections.abc`` instead of ``ansible.module_utils.common._collections_compat``
in controller code.
- '``AnsibleJ2Vars`` class that acts as a storage for all variables for templating
purposes now uses ``collections.ChainMap`` internally.'
- add parameter ``numeric`` to the iptables module to disable dns lookups when
running list -action internally (https://github.com/ansible/ansible/issues/78793).
- allow user to set ansible specific env vars for selecting pager and editor,
but still fall back to commonly used defaults.
- ansible-doc - support role extension for semantic markup spec so that ``O()``
and ``RV()`` referring to role entrypoints are rendered more readable (https://github.com/ansible/ansible/pull/80305).
- ansible-doc - support semantic markup in text output (https://github.com/ansible/ansible/pull/80242).
- ansible-doc text output - support ``seealso`` plugin record that was added
for filter and test plugin documentation (https://github.com/ansible/ansible/pull/80212).
- ansible-galaxy - Add ability to specify collection versions on the CLI without
the need for a colon. Such as ``namespace.name==1.2.3`` vs ``namespace.name:1.2.3``.
- ansible-galaxy - Use Python's native ``raise ... from`` instead of ``six.raise_from``.
- ansible-galaxy - support ``resolvelib >= 0.5.3, < 0.10.0``.
- ansible-galaxy - support ``resolvelib >= 0.5.3, < 1.1.0``.
- ansible-inventory now supports the limit command line options.
- ansible-test - A new ``audit`` option is available when running custom containers.
This option can be used to indicate whether a container requires the AUDIT_WRITE
capability. The default is ``required``, which most containers will need when
using Podman. If necessary, the ``none`` option can be used to opt-out of
the capability. This has no effect on Docker, which always provides the capability.
- ansible-test - A new ``cgroup`` option is available when running custom containers.
This option can be used to indicate a container requires cgroup v1 or that
it does not use cgroup. The default behavior assumes the container works with
cgroup v2 (as well as v1).
- ansible-test - Add Alpine 3.17 remote.
- ansible-test - Add Fedora 37 container.
- ansible-test - Add Fedora 37 remote.
- ansible-test - Add FreeBSD 12.4 remote.
- ansible-test - Add RHEL 8.7 remote.
- ansible-test - Add RHEL 9.1 remote.
- ansible-test - Add macOS 13.2 remote.
- 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 - Disabled the ``ansible-format-automatic-specification`` rule
from the ``pylint`` sanity test, now that Python 2.6 is no longer supported.
- ansible-test - Enable the ``trailing-comma-tuple`` rule in the ``pylint``
sanity test.
- ansible-test - Enable the ``unused-import`` rule for the ``pylint`` sanity
test for collections.
- 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 - Improve consistency of executed ``pylint`` commands by making
the plugins ordered.
- ansible-test - Improve consistency of version specific documentation links.
- 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 - Minor cleanup and package updates in distro containers.
- ansible-test - More details are provided about an instance when provisioning
fails.
- ansible-test - Moved git handling out of the validate-modules sanity test
and into ansible-test.
- 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 - Removed test containers: fedora36'
- 'ansible-test - Removed test remotes: alpine/3.16, fedora/36, freebsd/12.3,
rhel/8.6, rhel/9.0, macos/12.0'
- ansible-test - Removed the ``--keep-git`` sanity test option, which was limited
to testing ansible-core itself.
- ansible-test - SSH connections from OpenSSH 8.8+ to CentOS 6 containers now
work without additional configuration. However, clients older than OpenSSH
7.0 can no longer connect to CentOS 6 containers as a result. The container
must have ``centos6`` in the image name for this work-around to be applied.
- ansible-test - SSH shell connections from OpenSSH 8.8+ to ansible-test provisioned
network instances now work without additional configuration. However, clients
older than OpenSSH 7.0 can no longer open shell sessions for ansible-test
provisioned network instances as a result.
- 'ansible-test - Specify the configuration file location required by test plugins
when the config file is not found. This resolves issue: https://github.com/ansible/ansible/issues/79411'
- ansible-test - The ``ansible-test env`` command now detects and reports the
container ID if running in a container.
- ansible-test - The ``pep8`` sanity test rule ``E203`` is now disabled since
it is not PEP 8 compliant. This provides compatibility with output generated
by the ``black`` code formatter.
- ansible-test - The ``validate-modules`` sanity test no longer limits the ``__future__``
imports that can be used. Other sanity tests that check ``__future__`` imports
remain unchanged. As a result, the error code ``illegal-future-imports`` is
no longer used.
- 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 - Update Alpine 3 container to 3.17.
- ansible-test - Update Python requirements used for sanity tests.
- 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 error handling code to use Python 3.x constructs, avoiding
direct use of ``errno``.
- ansible-test - Update test container to ``7.4.0`` which includes the new PSScriptAnalyzer
versions
- ansible-test - Update the CloudStack test plugin to use a newer test container
with CloudStack 4.18.0.
- ansible-test - Update the NIOS test plugin to use a newer multi-arch test
container.
- ansible-test - Update the ``ansible-bad-import-from`` rule in the ``pylint``
sanity test to recommend ``ansible.module_utils.six.moves.collections_abc``
instead of ``ansible.module_utils.common._collections_compat``.
- ansible-test - Update the ``base`` and ``default`` test containers with the
latest requirements.
- ansible-test - Updated the Azure Pipelines CI plugin to work with newer versions
of git.
- ansible-test - Use ``stop --time 0`` followed by ``rm`` to remove ephemeral
containers instead of ``rm -f``. This speeds up teardown of ephemeral containers.
- ansible-test - Warnings are now shown when using containers that were built
with VOLUME instructions.
- ansible-test - When setting the max open files for containers, the container
host's limit will be checked. If the host limit is lower than the preferred
value, it will be used and a warning will be shown.
- ansible-test - When using Podman, ansible-test will detect if the loginuid
used in containers is incorrect. When this occurs a warning is displayed and
the container is run with the AUDIT_CONTROL capability. Previously containers
would fail under this situation, with no useful warnings or errors given.
- ansible-test acme test container - update version to update used Pebble version,
underlying Python and Go base containers, and Python requirements (https://github.com/ansible/ansible/pull/79783).
- ansible-test pslint - Upgrade PSScriptAnalyzer to ``1.21.0`` which enables
the ``AvoidMultipleTypeAttributes``, ``AvoidSemicolonsAsLineTerminators``,
and ``AvoidUsingBrokenHashAlgorithms`` rules
- ansible-test runtime-metadata sanity test - ensure that ``redirect`` entries
in ``meta/runtime.yml`` contain collection names, except for ``module_utils``
plugin redirects and ``import_redirect`` redirects (https://github.com/ansible/ansible/pull/78802).
- ansible-test sanity --test ansible-doc - now also lists documentation for
test and filter plugins that are documented (https://github.com/ansible/ansible/pull/77737).
- 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``.
- ansible-test validate-modules - no longer treat falsy non-``False`` values
for defaults as ``None`` (https://github.com/ansible/ansible/pull/79267).
- apt - add allow-change-held-packages option to apt remove (https://github.com/ansible/ansible/issues/78131)
- apt_repository - adds ``sources_added`` and ``sources_removed`` to the return
of the module (https://github.com/ansible/ansible/issues/79306).
- apt_repository will use the trust repo directories in order of preference
(more appropriate to less) as they exist on the target.
- collections - Add additional ignores for commonly rejected file extensions
- collections - Add additional includes for REUSE license files (https://github.com/ansible/ansible/issues/79368)
- deb822_repository - Add new module for managing DEB822 formatted apt repositories
- debug - Perform argspec valdiation in debug action plugin (https://github.com/ansible/ansible/issues/79862)
- dnf5 - Add new module for managing packages and other artifacts via the next
version of DNF (https://github.com/ansible/ansible/issues/78898)
- galaxy - include ``license_file`` in the default manifest directives (https://github.com/ansible/ansible/pull-request/79420)
- optimized var loading by caching results as there is no variance in input
during run.
- pycompat24 module_utils - Remove support for Python 2.5 and earlier.
- sanity tests - updates the collection-deprecated-version tests to ignore the
``prerelease`` component of the collection version ().
- strftime filter, additional docs and links to source of truth.
- updated the vendored distro library to upstream version (https://github.com/ansible/ansible/pull/79227)
- validate-modules sanity test - add support for semantic markup (https://github.com/ansible/ansible/pull/80243).
- validate-modules sanity test - if the ``check_mode`` attribute is present,
check that it coincides with the ``support_check_mode`` parameter of ``AnsibleModule``
(https://github.com/ansible/ansible/pull/80090).
- validate-modules sanity test - remove support for the never implemented ``forced_action_plugin``
attribute (https://github.com/ansible/ansible/pull/79317).
- validate-modules sanity test - support the ``plugin`` see-also part of the
semantic markup specification (https://github.com/ansible/ansible/pull/80244).
release_summary: '| Release Date: 2023-04-04
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
'
removed_features:
- Remove deprecated ``ANSIBLE_CALLBACK_WHITELIST`` configuration environment
variable, use ``ANSIBLE_CALLBACKS_ENABLED`` instead. (https://github.com/ansible/ansible/issues/78821)
- Remove deprecated ``ANSIBLE_COW_WHITELIST`` configuration environment variable,
use ``ANSIBLE_COW_ACCEPTLIST`` instead. (https://github.com/ansible/ansible/issues/78819)
- Remove deprecated ``callback_whitelist`` configuration option, use ``callbacks_enabled``
instead. (https://github.com/ansible/ansible/issues/78822)
- Remove deprecated ``cow_whitelist`` configuration option, use ``cowsay_enabled_stencils``
instead. (https://github.com/ansible/ansible/issues/78820)
codename: Ten Years Gone
fragments:
- 19755-ansible_processor-s390x.yml
- 2.15.0b1_summary.yaml
- 20221021-deprecated-sanity.yml
- 64612-unarchive-log-command-output.yml
- 64612-unarchive-relative-path-dest.yml
- 71424-deterministic-vault-encode.yml
- 75837-validate-modules-invalid-yaml.yml
- 76578-fix-role-argspec-suboptions-error.yml
- 76737-paramiko-rsa-sha2.yml
- 76997-fix-copy-subdirs-with-remote-src.yml
- 77737-ansible-doc-test-filters-tests.yml
- 78172-allow-force-deletion-of-group.yaml
- 78492-fix-invalid-run_once-value.yml
- 78541-service-facts-re.yml
- 78624-copy-remote-src-check-mode.yml
- 78748-fix-known-hosts-wrong-changed-status.yaml
- 78750-paramiko-ssh-args-compat.yml
- 78802-sanity-meta-runtime.yml
- 78819-78820-remove-deprecated-cow-options.yml
- 78821-78822-remove-callback_whitelist.yml
- 78828-iptables-option-to-disable-dns-lookups.yml
- 78913-template-missing-filter-test.yml
- 78983-fix-collection-install-from-source-respects-dir-symlinks.yaml
- 79017-ansible-vault-string-encryption-ending-with-newline.yml
- 79021-dont-squash-in-validate.yml
- 79023-fix-flush_handlers-fqcn.yml
- 79079-fix-role-dep-chain.yaml
- 79083-jinja2_native-preserve-quotes-in-strings.yml
- 79117-bsd-ifconfig-inet-fix.yml
- 79134-ansible-galaxy-init-symlinks.yml
- 79187--wheel-0.38.0.yml
- 79227-update-vendored-distro.yaml
- 79267-validate-modules-defaults.yml
- 79362-validate-modules-underscore.yml
- 79368-galaxy-manifest-reuse-licenses.yml
- 79376-replace-valid-attrs-with-fattributes.yaml
- 79399-resolvelib_lt_0_10_0.yml
- 79420-galaxy-manifest-license.yaml
- 79422-fix-file-touch-check-mode-status.yaml
- 79431-fix-password-lookup-rewrites.yml
- 79459-fix-meta-task-check.yml
- 79546-apt-fix-setting-locale.yml
- 79561-fix-a-g-global-ignore-certs-cfg.yml
- 79643-fix-systemd-daemon-reload-in-chroot.yml
- 79658-improving-return-and-docs.yaml
- 79681-argspec-param-deprecation.yml
- 79690-normal-action-undefined.yml
- 79711-fix-play-stats-rescued.yml
- 79717-get-url-ciphers.yml
- 79732-filename_in_decrypt_error.yml
- 79740-aliases-warnings-deprecations-in-suboptions.yml
- 79763-ansible_debug_template_tb_fix.yml
- 79776-fix-force_handlers-cond-include.yml
- 79777-fix-inheritance-roles-meta.yml
- 79783-acme-test-container.yml
- 79837-unquoting-only-when-origin-is-ini.yml
- 79839-lookup-option-name.yml
- 79862-debug-action-args.yml
- 79862-fix-varargs.yml
- 79968-blocks-handlers-error.yml
- 79981-user-fix-groups-comparison.yml
- 80090-validate-modules-check_mode-attribute.yml
- 80196-resolvelib_lt_1_1_0.yml
- 80212-ansible-doc-seealso.yml
- 80242-ansible-doc-semantic-markup.yml
- 80243-validate-modules.yml
- 80244-validate-modules-seealso.yml
- 80280-ansible-doc-seealso-urls.yml
- 80305-ansible-doc-role-semantic-markup.yml
- AddType-unsafe.yml
- a-g-role-fix-catching-exception.yml
- adjust_config_list.yml
- adoc_fix_list.yml
- ainv_limit.yml
- ainv_limit_fix.yml
- always-create-new-role.yml
- ansible-basic-tmpdir-uniqueness.yml
- ansible-galaxy-install-delay-initial-api-call.yml
- ansible-galaxy-install-git-src-manifest.yml
- ansible-galaxy-role-search-rc.yml
- ansible-test-cloudstack-plugin.yml
- ansible-test-container-management.yml
- ansible-test-containers-docs-build.yml
- ansible-test-containers-python-3.11.0.yml
- ansible-test-default-container-update.yml
- ansible-test-docs-links.yml
- ansible-test-errno.yml
- ansible-test-fix-pointless-comparison.yml
- ansible-test-fix-python-3.11-traceback.yml
- ansible-test-fix-warning-msg.yml
- ansible-test-foreman.yml
- ansible-test-git-handling.yml
- ansible-test-govcsim.yml
- ansible-test-integration-target-prefixes.yml
- ansible-test-integration-targets-filter.yml
- ansible-test-nios-plugin.yml
- ansible-test-payload-file-permissions.yml
- ansible-test-pep8-e203.yml
- ansible-test-podman-chroot.yml
- ansible-test-pylint-2.15.4.yml
- ansible-test-pylint-2.15.5.yml
- ansible-test-pylint-command.yml
- ansible-test-pylint-home.yml
- ansible-test-pylint-string-format.yml
- ansible-test-pylint-trailing-comma-tuple.yml
- ansible-test-pypi-proxy-fix.yml
- ansible-test-pytest-assertion-rewriting.yml
- ansible-test-removed-old-platforms.yml
- ansible-test-requirements-message.yml
- ansible-test-sanity-requirements.yml
- ansible-test-test-plugin-error-message.yml
- ansible-test-unused-import-collections.yml
- ansible-test-updated-platforms.yml
- ansible-test-validate-modules-future-import.yml
- ansible-test-vendoring-support.yml
- ansible_eval_concat-remove-redundant-unsafe-wrap.yml
- ansiblej2vars-chainmap.yml
- apt-remove_allow-change-held-packages.yml
- apt_notb.yml
- apt_repo_fix.yml
- apt_repo_trust_prefs.yml
- basic-version-check.yml
- become-loop-setting.yml
- better-maybe-json-uri.yml
- build-no-straight.yaml
- cache-fa-on-pb-cls.yml
- deb822-repository.yml
- deprecate-non-enforced-password_hash-type-choices.yml
- deprecate-vars-list-of-dicts.yml
- display-display-str-only.yml
- dnf5-module.yml
- dont_move_non_files.yml
- file_lookup_errors.yml
- file_lookup_fix.yml
- fix-manifest.yml
- fix-templating-private-role-FA.yml
- fix_jinja_native_async.yml
- fix_omit_key.yml
- fork_safe_stdio.yml
- galaxy-improve-retries.yml
- galaxy-install-no-colon.yml
- hashlib-algorithms.yml
- isa-value-check.yml
- listalltags.yml
- local_bad_user.yml
- mention_acl.yml
- new-mixins.yml
- new_editor_pager_opts.yml
- no-double-loop-delegate-to-calc.yml
- no-stacked-descriptors.yaml
- optimize_vars_loads.yml
- paramiko_config.yml
- password_lookup_file_fix.yml
- plugin_loader_fix.yml
- powershell-7.3-fix.yml
- prompt-via-worker-queue.yml
- psscriptanalyzer-1.21.0.yml
- pycompat24.yml
- remove-nested-defined-fallback-code.yml
- role_vars_scope_fix.yml
- skip-conditional.yml
- strategy_badid_fix.yml
- strftime_docs.yml
- test-container-update.yml
- unsorted.yml
- unused-imports-core.yml
- unused-imports-module-utils-internal.yml
- unused-imports-module-utils-stdlib.yml
- unused-imports-modules.yml
- unused-imports-plugins.yml
- update-collections-abc-imports.yml
- use-native-raise-from.yml
- user-module-return-docs.yml
- v2.15.0-initial-commit.yaml
- validate-module-ps-cmdlet.yml
- validate-modules-forced_action_plugin.yml
- validate-modules-sidecar.yml
- win-temp-cleanup.yml
- winrm-read-timeout.yml
modules:
- description: Add and remove deb822 formatted repositories
name: deb822_repository
namespace: lib.ansible.modules
- description: Manages packages with the I(dnf5) package manager
name: dnf5
namespace: lib.ansible.modules
plugins:
filter:
- description: gets the common path
name: commonpath
namespace: null
- description: Normalize a pathname
name: normpath
namespace: null
release_date: '2023-04-04'
2.15.0b2:
changes:
bugfixes:
- AnsibleModule.run_command - Only use selectors when needed, and rely on Python
stdlib subprocess for the simple task of collecting stdout/stderr when prompt
matching is not required.
- ansible-galaxy - reduce API calls to servers by fetching signatures only for
final candidates.
- dnf5 - fix module and package names in the message following failed module
respawn attempt
- dnf5 - use the logs API to determine transaction problems
- validate-modules sanity test - replace semantic markup parsing and validating
code with the code from `antsibull-docs-parser 0.2.0 <https://github.com/ansible-community/antsibull-docs-parser/releases/tag/0.2.0>`__
(https://github.com/ansible/ansible/pull/80406).
release_summary: '| Release Date: 2023-04-10
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
'
codename: Ten Years Gone
fragments:
- 2.15.0b2_summary.yaml
- 80334-reduce-ansible-galaxy-api-calls.yml
- 80406-validate-modules-semantic-markup.yml
- dnf5-fix-interpreter-fail-msg.yml
- dnf5-logs-api.yml
- run-command-selectors-prompt-only.yml
release_date: '2023-04-10'

View File

@ -1,2 +0,0 @@
bugfixes:
- setup - Adds a default value to ``lvm_facts`` when lvm or lvm2 is not installed on linux (https://github.com/ansible/ansible/issues/17393)

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible_facts.hardware - Define all processor facts on s390x (https://github.com/ansible/ansible/issues/19755)

View File

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

View File

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

View File

@ -0,0 +1,2 @@
minor_changes:
- sanity tests - updates the collection-deprecated-version tests to ignore the ``prerelease`` component of the collection version ().

View File

@ -1,2 +0,0 @@
bugfixes:
- "Properly execute rescue section when an include task fails in all loop iterations (https://github.com/ansible/ansible/issues/23161)"

View File

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

View File

@ -1,2 +0,0 @@
bugfixes:
- Propagate ``ansible_failed_task`` and ``ansible_failed_result`` to an outer rescue (https://github.com/ansible/ansible/issues/43191)

View File

@ -1,2 +0,0 @@
breaking_changes:
- Allow for lazy evaluation of Jinja2 expressions (https://github.com/ansible/ansible/issues/56017)

View File

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

View File

@ -1,2 +0,0 @@
bugfixes:
- prevent lusermod from using group name instead of group id (https://github.com/ansible/ansible/pull/77914)

View File

@ -1,2 +0,0 @@
bugfixes:
- fetch_file - properly split files with multiple file extensions (https://github.com/ansible/ansible/pull/75257)

View File

@ -0,0 +1,2 @@
bugfixes:
- unarchive - log errors from commands to assist in debugging (https://github.com/ansible/ansible/issues/64612)

View File

@ -0,0 +1,2 @@
bugfixes:
- unarchive - allow relative path for ``dest`` (https://github.com/ansible/ansible/issues/64612)

View File

@ -1,2 +0,0 @@
minor_changes:
- Add a new "INVENTORY_UNPARSED_WARNING" flag add to hide the "No inventory was parsed, only implicit localhost is available" warning

View File

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

View File

@ -0,0 +1,2 @@
minor_changes:
- Add support for custom salt for vault encoding to make it deterministic (https://github.com/ansible/ansible/issues/35480).

View File

@ -1,4 +0,0 @@
bugfixes:
- dnf - The ``skip_broken`` option is now used in installs (https://github.com/ansible/ansible/issues/73072).
- dnf - The ``nobest`` option now also works for ``state=latest``.
- dnf - Condense a few internal boolean returns.

View File

@ -1,3 +0,0 @@
---
bugfixes:
- Fix for network_cli not getting all relevant connection options

View File

@ -1,2 +0,0 @@
minor_changes:
- distribution - add distribution_minor_version for Debian Distro (https://github.com/ansible/ansible/issues/74481).

View File

@ -1,2 +0,0 @@
bugfixes:
- user - fix creating a local user if the user group already exists (https://github.com/ansible/ansible/pull/75042)

View File

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

View File

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

View File

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

View File

@ -1,2 +0,0 @@
minor_changes:
- NetBSD - Add uptime_seconds fact

View File

@ -1,2 +0,0 @@
minor_changes:
- "``LoopControl`` is now templated through standard ``post_validate`` method (https://github.com/ansible/ansible/pull/75715)"

View File

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

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

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

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

@ -1,2 +0,0 @@
bugfixes:
- unarchive - if unzip is available but zipinfo is not, use unzip -Z instead of zipinfo (https://github.com/ansible/ansible/issues/76959).

View File

@ -0,0 +1,4 @@
bugfixes:
- copy remote_src=true - fix copying subdirs recursively when the dest exists and the src and dest have
multiple common subdirectories in a common directory (https://github.com/ansible/ansible/issues/74536).
- copy remote_src=true - fix reporting changed for copying empty directories.

View File

@ -1,2 +0,0 @@
bugfixes:
- ansible-galaxy - fix listing collections that contains metadata but the namespace or name are not strings.

View File

@ -1,55 +0,0 @@
minor_changes:
- |
Add an 'action_plugin' field for modules in runtime.yml plugin_routing.
This fixes module_defaults by supporting modules-as-redirected-actions
without redirecting module_defaults entries to the common action.
.. code: yaml
plugin_routing:
action:
facts:
redirect: ns.coll.eos
command:
redirect: ns.coll.eos
modules:
facts:
redirect: ns.coll.eos_facts
command:
redirect: ns.coll.eos_command
With the runtime.yml above for ns.coll, a task such as
.. code: yaml
- hosts: all
module_defaults:
ns.coll.eos_facts: {'valid_for_eos_facts': 'value'}
ns.coll.eos_command: {'not_valid_for_eos_facts': 'value'}
tasks:
- ns.coll.facts:
will end up with defaults for eos_facts and eos_command
since both modules redirect to the same action.
To select an action plugin for a module without merging
module_defaults, define an action_plugin field for the resolved
module in the runtime.yml.
.. code: yaml
plugin_routing:
modules:
facts:
redirect: ns.coll.eos_facts
action_plugin: ns.coll.eos
command:
redirect: ns.coll.eos_command
action_plugin: ns.coll.eos
The action_plugin field can be a redirected action plugin, as
it is resolved normally.
Using the modified runtime.yml, the example task will only use
the ns.coll.eos_facts defaults.

View File

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

View File

@ -1,2 +0,0 @@
removed_features:
- Remove deprecated ``ALLOW_WORLD_READABLE_TMPFILES`` configuration option (https://github.com/ansible/ansible/issues/77393)

View File

@ -1,3 +0,0 @@
removed_features:
- Remove deprecated ``COMMAND_WARNINGS`` configuration option (https://github.com/ansible/ansible/issues/77394)
- command/shell - remove deprecated ``warn`` module param

View File

@ -1,2 +0,0 @@
removed_features:
- Remove deprecated ``LIBVIRT_LXC_NOSECLABEL`` environment variable (https://github.com/ansible/ansible/issues/77395)

View File

@ -1,2 +0,0 @@
removed_features:
- Remove deprecated ``DISPLAY_SKIPPED_HOSTS`` environment variable (https://github.com/ansible/ansible/issues/77396)

View File

@ -1,2 +0,0 @@
removed_features:
- Remove deprecated ``NETWORK_GROUP_MODULES`` environment variable (https://github.com/ansible/ansible/issues/77397)

View File

@ -1,2 +0,0 @@
removed_features:
- Remove deprecated ``plugin_filters_cfg`` config option from ``default`` section (https://github.com/ansible/ansible/issues/77398)

View File

@ -1,2 +0,0 @@
bugfixes:
- ansible-galaxy - fix missing meta/runtime.yml in default galaxy skeleton used for ansible-galaxy collection init

View File

@ -1,2 +0,0 @@
bugfixes:
- ansible-galaxy - Fix loading boolean server options so False doesn't become a truthy string (https://github.com/ansible/ansible/issues/77416).

View File

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

View File

@ -1,5 +0,0 @@
bugfixes:
- >-
``ansible-galaxy`` - remove extra server api call during dependency resolution
for requirements and dependencies that are already satisfied
(https://github.com/ansible/ansible/issues/77443).

View File

@ -1,3 +0,0 @@
bugfixes:
- ansible-test - Don't fail if network cannot be disconnected
(https://github.com/ansible/ansible/pull/77472)

View File

@ -1,2 +0,0 @@
bugfixes:
- Fix traceback when installing a collection from a git repository and git is not installed (https://github.com/ansible/ansible/issues/77479).

View File

@ -1,2 +0,0 @@
deprecated_features:
- PlayContext.verbosity is deprecated and will be removed in 2.18. Use ansible.utils.display.Display().verbosity as the single source of truth.

View File

@ -1,2 +0,0 @@
bugfixes:
- Prevent losing unsafe on results returned from lookups (https://github.com/ansible/ansible/issues/77535)

View File

@ -1,2 +0,0 @@
bugfixes:
- yaml inventory plugin - fix the error message for non-string hostnames (https://github.com/ansible/ansible/issues/77519).

View File

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

View File

@ -1,2 +0,0 @@
bugfixes:
- arg_spec - Fix incorrect ``no_log`` warning when a parameter alias is used (https://github.com/ansible/ansible/pull/77576)

View File

@ -1,2 +0,0 @@
bugfixes:
- include module - add docs url to include deprecation message (https://github.com/ansible/ansible/issues/76684).

View File

@ -1,2 +0,0 @@
bugfixes:
- ansible-galaxy - handle unsupported versions of resolvelib gracefully.

View File

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

View File

@ -1,2 +0,0 @@
bugfixes:
- Ensure syntax check errors include playbook filenames

View File

@ -1,4 +0,0 @@
breaking_changes:
- >-
strategy plugins - Make ``ignore_unreachable`` to increase ``ignored`` and ``ok`` and counter,
not ``skipped`` and ``unreachable``. (https://github.com/ansible/ansible/issues/77690)

View File

@ -0,0 +1,2 @@
minor_changes:
- "ansible-test sanity --test ansible-doc - now also lists documentation for test and filter plugins that are documented (https://github.com/ansible/ansible/pull/77737)."

View File

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

View File

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

View File

@ -1,2 +0,0 @@
bugfixes:
- lookup plugin - catch KeyError when lookup returns dictionary (https://github.com/ansible/ansible/pull/77789).

View File

@ -1,2 +0,0 @@
bugfixes:
- facts - fix IP address discovery for specific interface names (https://github.com/ansible/ansible/issues/77792).

View File

@ -1,2 +0,0 @@
bugfixes:
- ansible-config dump - Only display plugin type headers when plugin options are changed if --only-changed is specified.

View File

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

View File

@ -1,2 +0,0 @@
bugfixes:
- Add PyYAML >= 5.1 as a dependency of ansible-core to be compatible with Python 3.8+.

View File

@ -1,2 +0,0 @@
bugfixes:
- apt - fix package selection to include /etc/apt/preferences(.d) (https://github.com/ansible/ansible/issues/77969)

View File

@ -1,3 +0,0 @@
bugfixes:
- user module - Replace uses of the deprecated ``spwd`` python module with ctypes
(https://github.com/ansible/ansible/pull/78050)

View File

@ -1,2 +0,0 @@
bugfixes:
- "yum - fix traceback when ``releasever`` is specified with ``latest`` (https://github.com/ansible/ansible/issues/78058)"

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