Compare commits
88 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3c8a3fa0af | |||
| a9c656f8f3 | |||
| 2b2510b653 | |||
| 3cf87a9702 | |||
| 9c348b71ac | |||
| a87aefeda4 | |||
| 0cd0788eac | |||
| 7b97a0232a | |||
| 83c9bd8d25 | |||
| 94a6f6e0de | |||
| 130fdcd50e | |||
| 7a61d9fb11 | |||
| 9f2b37ad39 | |||
| 2c5856d7bc | |||
| 2f7465969e | |||
| e5d4cb89f8 | |||
| 0766ad33eb | |||
| 30f3fc2335 | |||
| e860820982 | |||
| 3d9a1cfdc6 | |||
| d4c10eea8e | |||
| d3e26c5fb4 | |||
| de8eb87110 | |||
| 37473cd99b | |||
| 25880be91b | |||
| 85065d6b7d | |||
| 4536ef6303 | |||
| 6bddb3d3c1 | |||
| 8fe49b6b35 | |||
| 01000c622f | |||
| cc0eaad410 | |||
| 8e0f02da82 | |||
| 8b4bfcff3b | |||
| d3fda5a6fb | |||
| 3bc453469a | |||
| 88042f98d6 | |||
| 94b97c9c0b | |||
| 6b1ba183eb | |||
| 96127a15f3 | |||
| 3b8d2cbd01 | |||
| 960f5ddee0 | |||
| 6bce05fd4d | |||
| 398841ba0d | |||
| 86efb07b59 | |||
| 0b1b2c238a | |||
| d58b2c9a4c | |||
| 748096552f | |||
| 4d4a11490e | |||
| 5b1efaac29 | |||
| e88a1a426f | |||
| 6f4d3a7944 | |||
| c1e8177808 | |||
| 6dd566b9bb | |||
| ca323b9f92 | |||
| 96c1a9346c | |||
| 67c6f75c9d | |||
| 3e846be696 | |||
| 78eecfb9dc | |||
| 53fd504935 | |||
| c6fc345fb0 | |||
| 79751ed970 | |||
| b264386f3f | |||
| 2f57c2d9bc | |||
| ddf298097c | |||
| 82b47c8d5c | |||
| c49dd110ee | |||
| 4de262300b | |||
| 2c35d46298 | |||
| f90c7f1a7d | |||
| 12083db2c5 | |||
| 1c16d871d6 | |||
| 86bcfec830 | |||
| f7d2c41fa2 | |||
| 7ce3270f72 | |||
| c0b452c73c | |||
| 39efd7a151 | |||
| 352127ec2b | |||
| 3e4b59dcef | |||
| f27a4a4f5c | |||
| 3a378ba61b | |||
| c7603bbb72 | |||
| 8f0ddcba2c | |||
| 856e0312ff | |||
| 13cdec1f46 | |||
| 66ef54e83f | |||
| 4fcf731ced | |||
| ca08c27c94 | |||
| 5a262ab510 |
@ -31,7 +31,7 @@ variables:
|
||||
- name: fetchDepth
|
||||
value: 500
|
||||
- name: defaultContainer
|
||||
value: quay.io/ansible/azure-pipelines-test-container:3.0.0
|
||||
value: quay.io/ansible/azure-pipelines-test-container:4.0.1
|
||||
|
||||
pool: Standard
|
||||
|
||||
@ -47,8 +47,6 @@ stages:
|
||||
- test: 1
|
||||
- test: 2
|
||||
- test: 3
|
||||
- test: 4
|
||||
- test: 5
|
||||
- stage: Units
|
||||
dependsOn: []
|
||||
jobs:
|
||||
@ -121,8 +119,8 @@ stages:
|
||||
targets:
|
||||
- name: Alpine 3.17
|
||||
test: alpine/3.17
|
||||
- name: Fedora 37
|
||||
test: fedora/37
|
||||
- name: Fedora 38
|
||||
test: fedora/38
|
||||
- name: RHEL 8.7
|
||||
test: rhel/8.7
|
||||
- name: RHEL 9.1
|
||||
|
||||
@ -7,12 +7,43 @@ IFS='/:' read -ra args <<< "$1"
|
||||
|
||||
group="${args[1]}"
|
||||
|
||||
group2_include=(
|
||||
ansible-doc
|
||||
changelog
|
||||
package-data
|
||||
pep8
|
||||
pylint
|
||||
validate-modules
|
||||
)
|
||||
|
||||
group3_include=(
|
||||
docs-build
|
||||
sanity-docs
|
||||
)
|
||||
|
||||
group1_exclude=(
|
||||
"${group2_include[@]}"
|
||||
"${group3_include[@]}"
|
||||
)
|
||||
|
||||
options=()
|
||||
|
||||
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) ;;
|
||||
3) options=(--test pylint --exclude test/units/ --exclude lib/ansible/module_utils/) ;;
|
||||
4) options=(--test pylint test/units/ lib/ansible/module_utils/) ;;
|
||||
5) options=( --test validate-modules) ;;
|
||||
1)
|
||||
for name in "${group1_exclude[@]}"; do
|
||||
options+=(--skip-test "${name}")
|
||||
done
|
||||
;;
|
||||
2)
|
||||
for name in "${group2_include[@]}"; do
|
||||
options+=(--test "${name}")
|
||||
done
|
||||
;;
|
||||
3)
|
||||
for name in "${group3_include[@]}"; do
|
||||
options+=(--test "${name}")
|
||||
done
|
||||
;;
|
||||
esac
|
||||
|
||||
# shellcheck disable=SC2086
|
||||
|
||||
3
.github/CODEOWNERS
vendored
Normal file
3
.github/CODEOWNERS
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
/docs/ @ansible/ansible-release-managers
|
||||
/examples/ @ansible/ansible-release-managers
|
||||
/hacking/ @ansible/ansible-release-managers
|
||||
17
MANIFEST.in
17
MANIFEST.in
@ -17,23 +17,9 @@ include examples/hosts
|
||||
include examples/ansible.cfg
|
||||
include examples/scripts/ConfigureRemotingForAnsible.ps1
|
||||
include examples/scripts/upgrade_to_ps3.ps1
|
||||
include lib/ansible/keyword_desc.yml
|
||||
recursive-include lib/ansible/executor/powershell *.ps1
|
||||
recursive-include lib/ansible/module_utils/csharp *.cs
|
||||
recursive-include lib/ansible/module_utils/powershell *.psm1
|
||||
recursive-include lib/ansible/modules/windows *.ps1
|
||||
recursive-include lib/ansible/galaxy/data *.yml *.j2 README.md ansible.cfg inventory .git_keep
|
||||
recursive-include lib/ansible/config *.yml
|
||||
recursive-include lib/ansible/modules *.yml
|
||||
recursive-include lib/ansible/plugins/test *.yml
|
||||
recursive-include lib/ansible/plugins/filter *.yml
|
||||
recursive-include licenses *.txt
|
||||
recursive-include packaging *.py
|
||||
recursive-include packaging *.py *.j2
|
||||
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 *.md
|
||||
exclude test/sanity/code-smell/botmeta.*
|
||||
@ -48,4 +34,5 @@ recursive-include hacking/build_library *.py
|
||||
include hacking/build-ansible.py
|
||||
include hacking/test-module.py
|
||||
include hacking/update-sanity-requirements.py
|
||||
include hacking/templates/*.j2
|
||||
include bin/*
|
||||
|
||||
411
changelogs/CHANGELOG-v2.15.rst
Normal file
411
changelogs/CHANGELOG-v2.15.rst
Normal file
@ -0,0 +1,411 @@
|
||||
================================================
|
||||
ansible-core 2.15 "Ten Years Gone" Release Notes
|
||||
================================================
|
||||
|
||||
.. contents:: Topics
|
||||
|
||||
|
||||
v2.15.2
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2023-07-18
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
|
||||
|
||||
|
||||
Minor Changes
|
||||
-------------
|
||||
|
||||
- Utilize gpg check provided internally by the ``transaction.run`` method as oppose to calling it manually.
|
||||
- ansible-test - Add Fedora 38 remote.
|
||||
- ansible-test - Use a context manager to perform cleanup at exit instead of using the built-in ``atexit`` module.
|
||||
- dnf5 - enable environment groups installation testing in CI as its support was added.
|
||||
- dnf5 - enable now implemented ``cacheonly`` functionality
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- From issue https://github.com/ansible/ansible/issues/80880, when notifying a handler from another handler, handler notifications must be registered immediately as the flush_handler call is not recursive.
|
||||
- ansible-galaxy - Fix issue installing collections containing directories with more than 100 characters on python versions before 3.10.6
|
||||
- paramiko_ssh, psrp, and ssh connection plugins - ensure that all values for options that should be strings are actually converted to strings (https://github.com/ansible/ansible/pull/81029).
|
||||
- templating - In the template action and lookup, use local jinja2 environment overlay overrides instead of mutating the templars environment
|
||||
|
||||
Known Issues
|
||||
------------
|
||||
|
||||
- ansible-test - The Fedora 37 remote is known to occasionally hang during boot. It is no longer routinely tested as a result. If possible, use the Fedora 38 remote instead.
|
||||
|
||||
v2.15.1
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2023-06-20
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
|
||||
|
||||
|
||||
Minor Changes
|
||||
-------------
|
||||
|
||||
- ansible-test - Allow float values for the ``--timeout`` option to the ``env`` command. This simplifies testing.
|
||||
- ansible-test - Refactored ``env`` command logic and timeout handling.
|
||||
- ansible-test - Use ``datetime.datetime.now`` with ``tz`` specified instead of ``datetime.datetime.utcnow``.
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Properly disable ``jinja2_native`` in the template module when jinja2 override is used in the template (https://github.com/ansible/ansible/issues/80605)
|
||||
- ansible-galaxy - Fix variable type error when installing subdir collections (https://github.com/ansible/ansible/issues/80943)
|
||||
- ansible-test - Fix a traceback that occurs when attempting to test Ansible source using a different ansible-test. A clear error message is now given when this scenario occurs.
|
||||
- ansible-test - Fix handling of timeouts exceeding one day.
|
||||
- ansible-test - Fix various cases where the test timeout could expire without terminating the tests.
|
||||
- ansible-test local change detection - use ``git merge-base <branch> HEAD`` instead of ``git merge-base --fork-point <branch>`` (https://github.com/ansible/ansible/pull/79734).
|
||||
- deb822_repository - use http-agent for receiving content (https://github.com/ansible/ansible/issues/80809).
|
||||
- dnf5 - Update dnf5 module to handle API change for setting the download directory (https://github.com/ansible/ansible/issues/80887)
|
||||
- man page build - Remove the dependency on the ``docs`` directory for building man pages.
|
||||
- pep517 build backend - Copy symlinks when copying the source tree. This avoids tracebacks in various scenarios, such as when a venv is present in the source tree.
|
||||
- uri - fix search for JSON type to include complex strings containing '+'
|
||||
|
||||
v2.15.0
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2023-05-15
|
||||
| `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
|
||||
- The minimum required ``setuptools`` version is now 45.2.0, as it is the oldest version to support Python 3.10.
|
||||
- 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.
|
||||
- Use ``package_data`` instead of ``include_package_data`` for ``setup.cfg`` to avoid ``setuptools`` warnings.
|
||||
- ``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 - Update the ``default`` containers to include the ``package-data`` requirements update.
|
||||
- ansible-test - Update the ``default`` containers to include the ``pylint`` requirements update.
|
||||
- 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/79362).
|
||||
- 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.
|
||||
- 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.
|
||||
- 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)
|
||||
- Display - Defensively configure writing to stdout and stderr with a custom encoding error handler that will replace invalid characters while providing a deprecation warning that non-utf8 text will result in an error in a future version.
|
||||
- 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 post-validating looped task fields so the strategy uses the correct values after task execution.
|
||||
- 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
|
||||
- Prevent running same handler multiple times when included via ``include_role`` (https://github.com/ansible/ansible/issues/73643)
|
||||
- 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
|
||||
- ``pkg_mgr`` - fix the default dnf version detection
|
||||
- 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 from directories that have a trailing path separator (https://github.com/ansible/ansible/issues/77803).
|
||||
- ansible-galaxy - fix installing collections in git repositories/directories which contain a MANIFEST.json file (https://github.com/ansible/ansible/issues/79796).
|
||||
- ansible-galaxy - fix installing signed collections (https://github.com/ansible/ansible/issues/80648).
|
||||
- ansible-galaxy - make initial call to Galaxy server on-demand only when installing, getting info about, and listing roles.
|
||||
- ansible-galaxy - reduce API calls to servers by fetching signatures only for final candidates.
|
||||
- ansible-galaxy collection install - respect symlinks when installing from source or local repository (https://github.com/ansible/ansible/issues/78442)
|
||||
- ansible-galaxy collection verify - fix verifying signed collections when the keyring is not configured.
|
||||
- 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 ``argcomplete`` version 3.
|
||||
- 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 ``pylint`` to 2.17.2 to resolve several possible false positives.
|
||||
- ansible-test - Update ``pylint`` to 2.17.3 to resolve several possible false positives.
|
||||
- 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 - When bootstrapping remote FreeBSD instances, use the OS packaged ``setuptools`` instead of installing the latest version from PyPI.
|
||||
- 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)
|
||||
- dnf5 - Use ``transaction.check_gpg_signatures`` API call to check package signatures AND possibly to recover from when keys are missing.
|
||||
- dnf5 - fix module and package names in the message following failed module respawn attempt
|
||||
- dnf5 - use the logs API to determine transaction problems
|
||||
- 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 ``v2_playbook_on_notify`` callback not being called when notifying handlers
|
||||
- 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 responses - Ensure that module responses are utf-8 adhereing to JSON RFC and expectations of the core code.
|
||||
- module/role argument spec - validate the type for options that are None when the option is required or has a non-None default (https://github.com/ansible/ansible/issues/79656).
|
||||
- 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).
|
||||
- pep517 build backend - Use the documented ``import_module`` import from ``importlib``.
|
||||
- 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)
|
||||
- syntax check - Limit ``--syntax-check`` to ``ansible-playbook`` only, as that is the only CLI affected by this argument (https://github.com/ansible/ansible/issues/80506)
|
||||
- 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.
|
||||
- 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).
|
||||
- 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
|
||||
@ -1,2 +1,975 @@
|
||||
ancestor: 2.14.0
|
||||
releases: {}
|
||||
releases:
|
||||
2.15.0:
|
||||
changes:
|
||||
release_summary: '| Release Date: 2023-05-15
|
||||
|
||||
| `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.0_summary.yaml
|
||||
release_date: '2023-05-15'
|
||||
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/79362).
|
||||
- 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 - Update the ``default`` containers to include the ``package-data``
|
||||
requirements update.
|
||||
- ansible-test - Update the ``default`` containers to include the ``pylint``
|
||||
requirements update.
|
||||
- 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'
|
||||
2.15.0b3:
|
||||
changes:
|
||||
bugfixes:
|
||||
- Fix post-validating looped task fields so the strategy uses the correct values
|
||||
after task execution.
|
||||
- Prevent running same handler multiple times when included via ``include_role``
|
||||
(https://github.com/ansible/ansible/issues/73643)
|
||||
- ansible-test - Add support for ``argcomplete`` version 3.
|
||||
- pep517 build backend - Use the documented ``import_module`` import from ``importlib``.
|
||||
- syntax check - Limit ``--syntax-check`` to ``ansible-playbook`` only, as that
|
||||
is the only CLI affected by this argument (https://github.com/ansible/ansible/issues/80506)
|
||||
release_summary: '| Release Date: 2023-04-17
|
||||
|
||||
| `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.0b3_summary.yaml
|
||||
- 73643-handlers-prevent-multiple-runs.yml
|
||||
- 80476-fix-loop-task-post-validation.yml
|
||||
- 80506-syntax-check-playbook-only.yml
|
||||
- ansible-test-argcomplete-3.yml
|
||||
- pep517-backend-import-fix.yml
|
||||
release_date: '2023-04-17'
|
||||
2.15.0rc1:
|
||||
changes:
|
||||
bugfixes:
|
||||
- Display - Defensively configure writing to stdout and stderr with a custom
|
||||
encoding error handler that will replace invalid characters while providing
|
||||
a deprecation warning that non-utf8 text will result in an error in a future
|
||||
version.
|
||||
- '``pkg_mgr`` - fix the default dnf version detection'
|
||||
- ansible-galaxy - fix installing collections from directories that have a trailing
|
||||
path separator (https://github.com/ansible/ansible/issues/77803).
|
||||
- ansible-test - Update ``pylint`` to 2.17.2 to resolve several possible false
|
||||
positives.
|
||||
- ansible-test - Update ``pylint`` to 2.17.3 to resolve several possible false
|
||||
positives.
|
||||
- ansible-test - When bootstrapping remote FreeBSD instances, use the OS packaged
|
||||
``setuptools`` instead of installing the latest version from PyPI.
|
||||
- dnf5 - Use ``transaction.check_gpg_signatures`` API call to check package
|
||||
signatures AND possibly to recover from when keys are missing.
|
||||
- handlers - fix ``v2_playbook_on_notify`` callback not being called when notifying
|
||||
handlers
|
||||
- module responses - Ensure that module responses are utf-8 adhereing to JSON
|
||||
RFC and expectations of the core code.
|
||||
- module/role argument spec - validate the type for options that are None when
|
||||
the option is required or has a non-None default (https://github.com/ansible/ansible/issues/79656).
|
||||
release_summary: '| Release Date: 2023-04-25
|
||||
|
||||
| `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.0rc1_summary.yaml
|
||||
- 79677-fix-argspec-type-check.yml
|
||||
- 80258-defensive-display-non-utf8.yml
|
||||
- a-g-col-install-directory-with-trailing-sep.yml
|
||||
- ansible-test-freebsd-bootstrap-setuptools.yml
|
||||
- ansible-test-pylint-update.yml
|
||||
- dnf5-gpg-check-api.yml
|
||||
- fix-handlers-callback.yml
|
||||
- pkg_mgr-default-dnf.yml
|
||||
release_date: '2023-04-25'
|
||||
2.15.0rc2:
|
||||
changes:
|
||||
bugfixes:
|
||||
- ansible-galaxy - fix installing signed collections (https://github.com/ansible/ansible/issues/80648).
|
||||
- ansible-galaxy collection verify - fix verifying signed collections when the
|
||||
keyring is not configured.
|
||||
minor_changes:
|
||||
- The minimum required ``setuptools`` version is now 45.2.0, as it is the oldest
|
||||
version to support Python 3.10.
|
||||
- Use ``package_data`` instead of ``include_package_data`` for ``setup.cfg``
|
||||
to avoid ``setuptools`` warnings.
|
||||
release_summary: '| Release Date: 2023-05-01
|
||||
|
||||
| `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.0rc2_summary.yaml
|
||||
- 80648-fix-ansible-galaxy-cache-signatures-bug.yml
|
||||
- ansible-test-minimum-setuptools.yml
|
||||
- fix-setuptools-warnings.yml
|
||||
release_date: '2023-05-01'
|
||||
2.15.1:
|
||||
changes:
|
||||
release_summary: '| Release Date: 2023-06-20
|
||||
|
||||
| `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.1_summary.yaml
|
||||
release_date: '2023-06-20'
|
||||
2.15.1rc1:
|
||||
changes:
|
||||
bugfixes:
|
||||
- Properly disable ``jinja2_native`` in the template module when jinja2 override
|
||||
is used in the template (https://github.com/ansible/ansible/issues/80605)
|
||||
- ansible-galaxy - Fix variable type error when installing subdir collections
|
||||
(https://github.com/ansible/ansible/issues/80943)
|
||||
- ansible-test - Fix a traceback that occurs when attempting to test Ansible
|
||||
source using a different ansible-test. A clear error message is now given
|
||||
when this scenario occurs.
|
||||
- ansible-test - Fix handling of timeouts exceeding one day.
|
||||
- ansible-test - Fix various cases where the test timeout could expire without
|
||||
terminating the tests.
|
||||
- ansible-test local change detection - use ``git merge-base <branch> HEAD``
|
||||
instead of ``git merge-base --fork-point <branch>`` (https://github.com/ansible/ansible/pull/79734).
|
||||
- deb822_repository - use http-agent for receiving content (https://github.com/ansible/ansible/issues/80809).
|
||||
- dnf5 - Update dnf5 module to handle API change for setting the download directory
|
||||
(https://github.com/ansible/ansible/issues/80887)
|
||||
- man page build - Remove the dependency on the ``docs`` directory for building
|
||||
man pages.
|
||||
- pep517 build backend - Copy symlinks when copying the source tree. This avoids
|
||||
tracebacks in various scenarios, such as when a venv is present in the source
|
||||
tree.
|
||||
- uri - fix search for JSON type to include complex strings containing '+'
|
||||
minor_changes:
|
||||
- ansible-test - Allow float values for the ``--timeout`` option to the ``env``
|
||||
command. This simplifies testing.
|
||||
- ansible-test - Refactored ``env`` command logic and timeout handling.
|
||||
- ansible-test - Use ``datetime.datetime.now`` with ``tz`` specified instead
|
||||
of ``datetime.datetime.utcnow``.
|
||||
release_summary: '| Release Date: 2023-06-12
|
||||
|
||||
| `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.1rc1_summary.yaml
|
||||
- 79734-ansible-test-change-detection.yml
|
||||
- 80605-template-overlay-native-jinja.yml
|
||||
- 80887-dnf5-api-change.yml
|
||||
- 80943-ansible-galaxy-collection-subdir-install.yml
|
||||
- ansible-test-long-timeout-fix.yml
|
||||
- ansible-test-source-detection.yml
|
||||
- ansible-test-timeout-fix.yml
|
||||
- ansible-test-utcnow.yml
|
||||
- deb822_open_url.yml
|
||||
- man-page-build-docs-dependency.yml
|
||||
- pep517-backend-traceback-fix.yml
|
||||
- update-maybe-json-uri.yml
|
||||
release_date: '2023-06-12'
|
||||
2.15.2:
|
||||
changes:
|
||||
release_summary: '| Release Date: 2023-07-18
|
||||
|
||||
| `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.2_summary.yaml
|
||||
release_date: '2023-07-17'
|
||||
2.15.2rc1:
|
||||
changes:
|
||||
bugfixes:
|
||||
- From issue https://github.com/ansible/ansible/issues/80880, when notifying
|
||||
a handler from another handler, handler notifications must be registered immediately
|
||||
as the flush_handler call is not recursive.
|
||||
- ansible-galaxy - Fix issue installing collections containing directories with
|
||||
more than 100 characters on python versions before 3.10.6
|
||||
- paramiko_ssh, psrp, and ssh connection plugins - ensure that all values for
|
||||
options that should be strings are actually converted to strings (https://github.com/ansible/ansible/pull/81029).
|
||||
- templating - In the template action and lookup, use local jinja2 environment
|
||||
overlay overrides instead of mutating the templars environment
|
||||
known_issues:
|
||||
- ansible-test - The Fedora 37 remote is known to occasionally hang during boot.
|
||||
It is no longer routinely tested as a result. If possible, use the Fedora
|
||||
38 remote instead.
|
||||
minor_changes:
|
||||
- Utilize gpg check provided internally by the ``transaction.run`` method as
|
||||
oppose to calling it manually.
|
||||
- ansible-test - Add Fedora 38 remote.
|
||||
- ansible-test - Use a context manager to perform cleanup at exit instead of
|
||||
using the built-in ``atexit`` module.
|
||||
- dnf5 - enable environment groups installation testing in CI as its support
|
||||
was added.
|
||||
- dnf5 - enable now implemented ``cacheonly`` functionality
|
||||
release_summary: '| Release Date: 2023-07-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.2rc1_summary.yaml
|
||||
- 80880-register-handlers-immediately-if-iterating-handlers.yml
|
||||
- 81005-use-overlay-overrides.yml
|
||||
- 81029-connection-types.yml
|
||||
- ansible-test-atexit.yml
|
||||
- ansible-test-fedora-38.yml
|
||||
- dnf5-cacheonly.yml
|
||||
- dnf5-gpg-check-builtin.yml
|
||||
- dnf5-test-env-groups.yml
|
||||
- long-collection-paths-fix.yml
|
||||
release_date: '2023-07-10'
|
||||
|
||||
3
changelogs/fragments/2.15.0_summary.yaml
Normal file
3
changelogs/fragments/2.15.0_summary.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
release_summary: |
|
||||
| Release Date: 2023-05-15
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
|
||||
3
changelogs/fragments/2.15.0b1_summary.yaml
Normal file
3
changelogs/fragments/2.15.0b1_summary.yaml
Normal 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>`__
|
||||
3
changelogs/fragments/2.15.0b2_summary.yaml
Normal file
3
changelogs/fragments/2.15.0b2_summary.yaml
Normal 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>`__
|
||||
3
changelogs/fragments/2.15.0b3_summary.yaml
Normal file
3
changelogs/fragments/2.15.0b3_summary.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
release_summary: |
|
||||
| Release Date: 2023-04-17
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
|
||||
3
changelogs/fragments/2.15.0rc1_summary.yaml
Normal file
3
changelogs/fragments/2.15.0rc1_summary.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
release_summary: |
|
||||
| Release Date: 2023-04-25
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
|
||||
3
changelogs/fragments/2.15.0rc2_summary.yaml
Normal file
3
changelogs/fragments/2.15.0rc2_summary.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
release_summary: |
|
||||
| Release Date: 2023-05-01
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
|
||||
3
changelogs/fragments/2.15.1_summary.yaml
Normal file
3
changelogs/fragments/2.15.1_summary.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
release_summary: |
|
||||
| Release Date: 2023-06-20
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
|
||||
3
changelogs/fragments/2.15.1rc1_summary.yaml
Normal file
3
changelogs/fragments/2.15.1rc1_summary.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
release_summary: |
|
||||
| Release Date: 2023-06-12
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
|
||||
3
changelogs/fragments/2.15.2_summary.yaml
Normal file
3
changelogs/fragments/2.15.2_summary.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
release_summary: |
|
||||
| Release Date: 2023-07-18
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
|
||||
3
changelogs/fragments/2.15.2rc1_summary.yaml
Normal file
3
changelogs/fragments/2.15.2rc1_summary.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
release_summary: |
|
||||
| Release Date: 2023-07-10
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- Prevent running same handler multiple times when included via ``include_role`` (https://github.com/ansible/ansible/issues/73643)
|
||||
@ -1,6 +1,6 @@
|
||||
breaking_changes:
|
||||
- "ansible-doc - no longer treat plugins in collections whose name starts with ``_`` as deprecated
|
||||
(https://github.com/ansible/ansible/pull/79217)."
|
||||
(https://github.com/ansible/ansible/pull/79362)."
|
||||
- "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)."
|
||||
|
||||
2
changelogs/fragments/79677-fix-argspec-type-check.yml
Normal file
2
changelogs/fragments/79677-fix-argspec-type-check.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- module/role argument spec - validate the type for options that are None when the option is required or has a non-None default (https://github.com/ansible/ansible/issues/79656).
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- "ansible-test local change detection - use ``git merge-base <branch> HEAD`` instead of ``git merge-base --fork-point <branch>`` (https://github.com/ansible/ansible/pull/79734)."
|
||||
@ -0,0 +1,4 @@
|
||||
bugfixes:
|
||||
- Display - Defensively configure writing to stdout and stderr with a custom encoding error handler that will replace invalid characters
|
||||
while providing a deprecation warning that non-utf8 text will result in an error in a future version.
|
||||
- module responses - Ensure that module responses are utf-8 adhereing to JSON RFC and expectations of the core code.
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- ansible-galaxy - reduce API calls to servers by fetching signatures only for final candidates.
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- "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)."
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- Fix post-validating looped task fields so the strategy uses the correct values after task execution.
|
||||
@ -0,0 +1,3 @@
|
||||
bugfixes:
|
||||
- syntax check - Limit ``--syntax-check`` to ``ansible-playbook`` only, as that is the only CLI affected by this argument
|
||||
(https://github.com/ansible/ansible/issues/80506)
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- "Properly disable ``jinja2_native`` in the template module when jinja2 override is used in the template (https://github.com/ansible/ansible/issues/80605)"
|
||||
@ -0,0 +1,3 @@
|
||||
bugfixes:
|
||||
- ansible-galaxy - fix installing signed collections (https://github.com/ansible/ansible/issues/80648).
|
||||
- ansible-galaxy collection verify - fix verifying signed collections when the keyring is not configured.
|
||||
@ -0,0 +1,4 @@
|
||||
bugfixes:
|
||||
- "From issue https://github.com/ansible/ansible/issues/80880, when notifying a
|
||||
handler from another handler, handler notifications must be registered
|
||||
immediately as the flush_handler call is not recursive."
|
||||
3
changelogs/fragments/80887-dnf5-api-change.yml
Normal file
3
changelogs/fragments/80887-dnf5-api-change.yml
Normal file
@ -0,0 +1,3 @@
|
||||
bugfixes:
|
||||
- dnf5 - Update dnf5 module to handle API change for setting the download directory
|
||||
(https://github.com/ansible/ansible/issues/80887)
|
||||
@ -0,0 +1,3 @@
|
||||
bugfixes:
|
||||
- ansible-galaxy - Fix variable type error when installing subdir collections
|
||||
(https://github.com/ansible/ansible/issues/80943)
|
||||
2
changelogs/fragments/81005-use-overlay-overrides.yml
Normal file
2
changelogs/fragments/81005-use-overlay-overrides.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- templating - In the template action and lookup, use local jinja2 environment overlay overrides instead of mutating the templars environment
|
||||
2
changelogs/fragments/81029-connection-types.yml
Normal file
2
changelogs/fragments/81029-connection-types.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- "paramiko_ssh, psrp, and ssh connection plugins - ensure that all values for options that should be strings are actually converted to strings (https://github.com/ansible/ansible/pull/81029)."
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- ansible-galaxy - fix installing collections from directories that have a trailing path separator (https://github.com/ansible/ansible/issues/77803).
|
||||
2
changelogs/fragments/ansible-test-argcomplete-3.yml
Normal file
2
changelogs/fragments/ansible-test-argcomplete-3.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- ansible-test - Add support for ``argcomplete`` version 3.
|
||||
2
changelogs/fragments/ansible-test-atexit.yml
Normal file
2
changelogs/fragments/ansible-test-atexit.yml
Normal file
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- ansible-test - Use a context manager to perform cleanup at exit instead of using the built-in ``atexit`` module.
|
||||
@ -1,2 +1,4 @@
|
||||
minor_changes:
|
||||
- ansible-test - Update the ``base`` and ``default`` test containers with the latest requirements.
|
||||
- ansible-test - Update the ``default`` containers to include the ``pylint`` requirements update.
|
||||
- ansible-test - Update the ``default`` containers to include the ``package-data`` requirements update.
|
||||
|
||||
6
changelogs/fragments/ansible-test-fedora-38.yml
Normal file
6
changelogs/fragments/ansible-test-fedora-38.yml
Normal file
@ -0,0 +1,6 @@
|
||||
minor_changes:
|
||||
- ansible-test - Add Fedora 38 remote.
|
||||
known_issues:
|
||||
- ansible-test - The Fedora 37 remote is known to occasionally hang during boot.
|
||||
It is no longer routinely tested as a result.
|
||||
If possible, use the Fedora 38 remote instead.
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- ansible-test - When bootstrapping remote FreeBSD instances, use the OS packaged ``setuptools`` instead of installing the latest version from PyPI.
|
||||
2
changelogs/fragments/ansible-test-long-timeout-fix.yml
Normal file
2
changelogs/fragments/ansible-test-long-timeout-fix.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- ansible-test - Fix handling of timeouts exceeding one day.
|
||||
2
changelogs/fragments/ansible-test-minimum-setuptools.yml
Normal file
2
changelogs/fragments/ansible-test-minimum-setuptools.yml
Normal file
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- The minimum required ``setuptools`` version is now 45.2.0, as it is the oldest version to support Python 3.10.
|
||||
3
changelogs/fragments/ansible-test-pylint-update.yml
Normal file
3
changelogs/fragments/ansible-test-pylint-update.yml
Normal file
@ -0,0 +1,3 @@
|
||||
bugfixes:
|
||||
- ansible-test - Update ``pylint`` to 2.17.2 to resolve several possible false positives.
|
||||
- ansible-test - Update ``pylint`` to 2.17.3 to resolve several possible false positives.
|
||||
3
changelogs/fragments/ansible-test-source-detection.yml
Normal file
3
changelogs/fragments/ansible-test-source-detection.yml
Normal file
@ -0,0 +1,3 @@
|
||||
bugfixes:
|
||||
- ansible-test - Fix a traceback that occurs when attempting to test Ansible source using a different ansible-test.
|
||||
A clear error message is now given when this scenario occurs.
|
||||
5
changelogs/fragments/ansible-test-timeout-fix.yml
Normal file
5
changelogs/fragments/ansible-test-timeout-fix.yml
Normal file
@ -0,0 +1,5 @@
|
||||
bugfixes:
|
||||
- ansible-test - Fix various cases where the test timeout could expire without terminating the tests.
|
||||
minor_changes:
|
||||
- ansible-test - Refactored ``env`` command logic and timeout handling.
|
||||
- ansible-test - Allow float values for the ``--timeout`` option to the ``env`` command. This simplifies testing.
|
||||
2
changelogs/fragments/ansible-test-utcnow.yml
Normal file
2
changelogs/fragments/ansible-test-utcnow.yml
Normal file
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- ansible-test - Use ``datetime.datetime.now`` with ``tz`` specified instead of ``datetime.datetime.utcnow``.
|
||||
2
changelogs/fragments/deb822_open_url.yml
Normal file
2
changelogs/fragments/deb822_open_url.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- deb822_repository - use http-agent for receiving content (https://github.com/ansible/ansible/issues/80809).
|
||||
2
changelogs/fragments/dnf5-cacheonly.yml
Normal file
2
changelogs/fragments/dnf5-cacheonly.yml
Normal file
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- dnf5 - enable now implemented ``cacheonly`` functionality
|
||||
2
changelogs/fragments/dnf5-fix-interpreter-fail-msg.yml
Normal file
2
changelogs/fragments/dnf5-fix-interpreter-fail-msg.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- dnf5 - fix module and package names in the message following failed module respawn attempt
|
||||
2
changelogs/fragments/dnf5-gpg-check-api.yml
Normal file
2
changelogs/fragments/dnf5-gpg-check-api.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- dnf5 - Use ``transaction.check_gpg_signatures`` API call to check package signatures AND possibly to recover from when keys are missing.
|
||||
2
changelogs/fragments/dnf5-gpg-check-builtin.yml
Normal file
2
changelogs/fragments/dnf5-gpg-check-builtin.yml
Normal file
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- Utilize gpg check provided internally by the ``transaction.run`` method as oppose to calling it manually.
|
||||
2
changelogs/fragments/dnf5-logs-api.yml
Normal file
2
changelogs/fragments/dnf5-logs-api.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- dnf5 - use the logs API to determine transaction problems
|
||||
2
changelogs/fragments/dnf5-test-env-groups.yml
Normal file
2
changelogs/fragments/dnf5-test-env-groups.yml
Normal file
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- dnf5 - enable environment groups installation testing in CI as its support was added.
|
||||
2
changelogs/fragments/fix-handlers-callback.yml
Normal file
2
changelogs/fragments/fix-handlers-callback.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- "handlers - fix ``v2_playbook_on_notify`` callback not being called when notifying handlers"
|
||||
2
changelogs/fragments/fix-setuptools-warnings.yml
Normal file
2
changelogs/fragments/fix-setuptools-warnings.yml
Normal file
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- Use ``package_data`` instead of ``include_package_data`` for ``setup.cfg`` to avoid ``setuptools`` warnings.
|
||||
2
changelogs/fragments/long-collection-paths-fix.yml
Normal file
2
changelogs/fragments/long-collection-paths-fix.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- ansible-galaxy - Fix issue installing collections containing directories with more than 100 characters on python versions before 3.10.6
|
||||
2
changelogs/fragments/man-page-build-docs-dependency.yml
Normal file
2
changelogs/fragments/man-page-build-docs-dependency.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- man page build - Remove the dependency on the ``docs`` directory for building man pages.
|
||||
2
changelogs/fragments/pep517-backend-import-fix.yml
Normal file
2
changelogs/fragments/pep517-backend-import-fix.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- pep517 build backend - Use the documented ``import_module`` import from ``importlib``.
|
||||
3
changelogs/fragments/pep517-backend-traceback-fix.yml
Normal file
3
changelogs/fragments/pep517-backend-traceback-fix.yml
Normal file
@ -0,0 +1,3 @@
|
||||
bugfixes:
|
||||
- pep517 build backend - Copy symlinks when copying the source tree.
|
||||
This avoids tracebacks in various scenarios, such as when a venv is present in the source tree.
|
||||
2
changelogs/fragments/pkg_mgr-default-dnf.yml
Normal file
2
changelogs/fragments/pkg_mgr-default-dnf.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- "``pkg_mgr`` - fix the default dnf version detection"
|
||||
@ -0,0 +1,4 @@
|
||||
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.
|
||||
2
changelogs/fragments/update-maybe-json-uri.yml
Normal file
2
changelogs/fragments/update-maybe-json-uri.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- uri - fix search for JSON type to include complex strings containing '+'
|
||||
@ -20,10 +20,7 @@
|
||||
'<div id="latest_extra_banner_id" class="admonition important">' +
|
||||
'<br>' +
|
||||
'<p>' +
|
||||
'<b>Experience AnsibleFest at Red Hat Summit</b>' +
|
||||
'</p>' +
|
||||
'<p>' +
|
||||
'We\'re bringing AnsibleFest to Red Hat Summit in Boston, May 23-25. It\'s the best of Fest combined with Red Hat Summit for even more learning and technical engagement. <a href="https://www.redhat.com/en/summit/ansiblefest?intcmp=7013a0000034lvhAAA">Learn more.</a> ' +
|
||||
'We\'re updating the Ansible community mission statement! Participate in our survey and let us know - <a href="https://www.surveymonkey.co.uk/r/DLG9FJN" target="_blank">What does Ansible mean to you?</a> ' +
|
||||
|
||||
'</p>' +
|
||||
'<br>' +
|
||||
@ -53,11 +50,6 @@
|
||||
/* temp extra banner to advertise AnsibleFest2021 */
|
||||
banner += extra_banner;
|
||||
|
||||
/* temp banner to advertise survey
|
||||
important = true;
|
||||
msg += 'Please take our <a href="https://www.surveymonkey.co.uk/r/B9V3CDY">Docs survey</a> before December 31 to help us improve Ansible documentation.';
|
||||
*/
|
||||
|
||||
msg += 'You are reading the <b>devel</b> version of the Ansible documentation - this version is not guaranteed stable. Use the version selection to the left if you want the <b>latest</b> (stable) released version.';
|
||||
} else {
|
||||
msg += 'You are reading an older version of the Ansible documentation. Use the version selection to the left if you want the <b>latest</b> (stable) released version.';
|
||||
|
||||
@ -61,6 +61,8 @@ If there is no appropriate room for your community, please create it.
|
||||
|
||||
For more information, see the community-hosted `Matrix FAQ <https://hackmd.io/@ansible-community/community-matrix-faq>`_.
|
||||
|
||||
You can add Matrix shields to your repository's ``README.md`` using the shield in the `community-topics <https://github.com/ansible-community/community-topics#community-topics>`_ repository as a template.
|
||||
|
||||
Ansible community on IRC
|
||||
------------------------
|
||||
|
||||
|
||||
@ -11,22 +11,13 @@ The Ansible community uses a range of tools for working with the Ansible project
|
||||
|
||||
If you know of any other tools that should be added, this list can be updated by clicking "Edit on GitHub" on the top right of this page.
|
||||
|
||||
***************
|
||||
|
||||
Popular editors
|
||||
***************
|
||||
|
||||
Atom
|
||||
====
|
||||
|
||||
An open-source, free GUI text editor created and maintained by GitHub. You can keep track of git project
|
||||
changes, commit from the GUI, and see what branch you are on. You can customize the themes for different colors and install syntax highlighting packages for different languages. You can install Atom on Linux, macOS and Windows. Useful Atom plugins include:
|
||||
|
||||
* `language-yaml <https://atom.io/packages/language-yaml>`_ - YAML highlighting for Atom (built-in).
|
||||
* `linter-js-yaml <https://atom.io/packages/linter-js-yaml>`_ - parses your YAML files in Atom through js-yaml.
|
||||
===============
|
||||
|
||||
|
||||
Emacs
|
||||
=====
|
||||
-----
|
||||
|
||||
A free, open-source text editor and IDE that supports auto-indentation, syntax highlighting and built in terminal shell(among other things).
|
||||
|
||||
@ -37,13 +28,13 @@ A free, open-source text editor and IDE that supports auto-indentation, syntax h
|
||||
|
||||
|
||||
PyCharm
|
||||
=======
|
||||
-------
|
||||
|
||||
A full IDE (integrated development environment) for Python software development. It ships with everything you need to write python scripts and complete software, including support for YAML syntax highlighting. It's a little overkill for writing roles/playbooks, but it can be a very useful tool if you write modules and submit code for Ansible. Can be used to debug the Ansible engine.
|
||||
A full IDE (integrated development environment) for Python software development. It ships with everything you need to write python scripts and complete software, including support for YAML syntax highlighting. It's a little overkill for writing roles/playbooks, but it can be a very useful tool if you write modules and submit code for Ansible. Can be used to debug ``ansible-core``. For more information, see `PyCharm <https://www.jetbrains.com/pycharm/>`_
|
||||
|
||||
|
||||
Sublime
|
||||
=======
|
||||
-------
|
||||
|
||||
A closed-source, subscription GUI text editor. You can customize the GUI with themes and install packages for language highlighting and other refinements. You can install Sublime on Linux, macOS and Windows. Useful Sublime plugins include:
|
||||
|
||||
@ -54,50 +45,46 @@ A closed-source, subscription GUI text editor. You can customize the GUI with th
|
||||
* `Yamllint <https://packagecontrol.io/packages/SublimeLinter-contrib-yamllint>`_ - a Sublime wrapper around yamllint.
|
||||
|
||||
|
||||
Visual studio code
|
||||
==================
|
||||
|
||||
An open-source, free GUI text editor created and maintained by Microsoft. Useful Visual Studio Code plugins include:
|
||||
|
||||
* `Ansible extension by Red Hat <https://marketplace.visualstudio.com/items?itemName=redhat.ansible>`_ - provides autocompletion, syntax highlighting, hover, diagnostics, goto support, and command to run ansible-playbook and ansible-navigator tool for both local and execution-environment setups.
|
||||
* `YAML Support by Red Hat <https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml>`_ - provides YAML support through yaml-language-server with built-in Kubernetes and Kedge syntax support.
|
||||
|
||||
vim
|
||||
===
|
||||
---
|
||||
|
||||
An open-source, free command-line text editor. Useful vim plugins include:
|
||||
|
||||
* `Ansible vim <https://github.com/pearofducks/ansible-vim>`_ - vim syntax plugin for Ansible 2.x, it supports YAML playbooks, Jinja2 templates, and Ansible's hosts files.
|
||||
* `Ansible vim and neovim plugin <https://www.npmjs.com/package/@yaegassy/coc-ansible>`_ - vim plugin (lsp client) for Ansible, it supports autocompletion, syntax highlighting, hover, diagnostics, and goto support.
|
||||
|
||||
JetBrains
|
||||
=========
|
||||
|
||||
An open-source Community edition and closed-source Enterprise edition, integrated development environments based on IntelliJ's framework including IDEA, AppCode, CLion, GoLand, PhpStorm, PyCharm and others. Useful JetBrains platform plugins include:
|
||||
Visual studio code
|
||||
------------------
|
||||
|
||||
An open-source, free GUI text editor created and maintained by Microsoft. Useful Visual Studio Code plugins include:
|
||||
|
||||
* `Ansible extension by Red Hat <https://marketplace.visualstudio.com/items?itemName=redhat.ansible>`_ - provides autocompletion, syntax highlighting, hover, diagnostics, goto support, and command to run ansible-playbook and ansible-navigator tool for both local and execution-environment setups.
|
||||
* `YAML Support by Red Hat <https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml>`_ - provides YAML support through yaml-language-server with built-in Kubernetes and Kedge syntax support.
|
||||
|
||||
|
||||
.. note::
|
||||
|
||||
the Visual Studio Code Ansible extension is maintained by the Ansible community and Red Hat.
|
||||
|
||||
* `Ansible <https://plugins.jetbrains.com/plugin/14893-ansible>`_ - general Ansible plugin provides auto-completion, role name suggestion and other handy features for working with playbooks and roles.
|
||||
|
||||
* `Ansible Vault Editor <https://plugins.jetbrains.com/plugin/14278-ansible-vault-editor>`_ - Ansible Vault Editor with auto encryption/decryption.
|
||||
|
||||
* `Ansible Lint <https://plugins.jetbrains.com/plugin/20905-ansible-lint>`__ - Ansible Lint integration with automatic/continuous annotation of errors, warnings, and info while editing.
|
||||
|
||||
*****************
|
||||
Development tools
|
||||
*****************
|
||||
=================
|
||||
|
||||
Finding related issues and PRs
|
||||
==============================
|
||||
------------------------------
|
||||
|
||||
There are various ways to find existing issues and pull requests (PRs)
|
||||
|
||||
- `PR by File <https://ansible.sivel.net/pr/byfile.html>`_ - shows a current list of all open pull requests by individual file. An essential tool for Ansible module maintainers.
|
||||
- `jctanner's Ansible Tools <https://github.com/jctanner/ansible-tools>`_ - miscellaneous collection of useful helper scripts for Ansible development.
|
||||
|
||||
.. _validate-playbook-tools:
|
||||
|
||||
******************************
|
||||
|
||||
Tools for validating playbooks
|
||||
******************************
|
||||
==============================
|
||||
|
||||
- `Ansible Lint <https://docs.ansible.com/ansible-lint/index.html>`_ - a highly configurable linter for Ansible playbooks.
|
||||
- `Ansible Review <https://github.com/willthames/ansible-review>`_ - an extension of Ansible Lint designed for code review.
|
||||
@ -105,25 +92,17 @@ Tools for validating playbooks
|
||||
- `yamllint <https://yamllint.readthedocs.io/en/stable/>`__ - a command-line utility to check syntax validity including key repetition and indentation issues.
|
||||
|
||||
|
||||
***********
|
||||
Other tools
|
||||
***********
|
||||
|
||||
- `Ansible cmdb <https://github.com/fboender/ansible-cmdb>`_ - takes the output of Ansible's fact gathering and converts it into a static HTML overview page containing system configuration information.
|
||||
Other tools
|
||||
===========
|
||||
|
||||
- `Ansible Inventory Grapher <https://github.com/willthames/ansible-inventory-grapher>`_ - visually displays inventory inheritance hierarchies and at what level a variable is defined in inventory.
|
||||
- `Ansible Language Server <https://www.npmjs.com/package/@ansible/ansible-language-server>`_ - a server that implements `language server protocol <https://microsoft.github.io/language-server-protocol/>`_ for Ansible.
|
||||
- `Ansible Playbook Grapher <https://github.com/haidaraM/ansible-playbook-grapher>`_ - a command line tool to create a graph representing your Ansible playbook tasks and roles.
|
||||
- `Ansible Shell <https://github.com/dominis/ansible-shell>`_ - an interactive shell for Ansible with built-in tab completion for all the modules.
|
||||
- `Ansible Silo <https://github.com/groupon/ansible-silo>`_ - a self-contained Ansible environment by Docker.
|
||||
- `Ansigenome <https://github.com/nickjj/ansigenome>`_ - a command line tool designed to help you manage your Ansible roles.
|
||||
- `antsibull-changelog <https://github.com/ansible-community/antsibull-changelog>`_ - a changelog generator for Ansible collections.
|
||||
- `antsibull-docs <https://github.com/ansible-community/antsibull-docs>`_ - generates docsites for collections and can validate collection documentation.
|
||||
- `ARA <https://github.com/ansible-community/ara>`_ - ARA Records Ansible playbooks and makes them easier to understand and troubleshoot with a reporting API, UI and CLI.
|
||||
- `Awesome Ansible <https://github.com/jdauphant/awesome-ansible>`_ - a collaboratively curated list of awesome Ansible resources.
|
||||
- `AWX <https://github.com/ansible/awx>`_ - provides a web-based user interface, REST API, and task engine built on top of Ansible. Red Hat Ansible Automation Platform includes code from AWX.
|
||||
- `Mitogen for Ansible <https://mitogen.networkgenomics.com/ansible_detailed.html>`_ - uses the `Mitogen <https://github.com/dw/mitogen/>`_ library to execute Ansible playbooks in a more efficient way (decreases the execution time).
|
||||
- `Awesome Ansible <https://github.com/ansible-community/awesome-ansible>`_ - a collaboratively curated list of awesome Ansible resources.
|
||||
- `nanvault <https://github.com/marcobellaccini/nanvault>`_ - a standalone tool to encrypt and decrypt files in the Ansible Vault format, featuring UNIX-style composability.
|
||||
- `OpsTools-ansible <https://github.com/centos-opstools/opstools-ansible>`_ - uses Ansible to configure an environment that provides the support of `OpsTools <https://wiki.centos.org/SpecialInterestGroup/OpsTools>`_, namely centralized logging and analysis, availability monitoring, and performance monitoring.
|
||||
- `Steampunk Spotter <https://pypi.org/project/steampunk-spotter/>`_ - provides an Assisted Automation Writing tool that analyzes and offers recommendations for your Ansible Playbooks.
|
||||
- `TD4A <https://github.com/cidrblock/td4a>`_ - a template designer for automation. TD4A is a visual design aid for building and testing jinja2 templates. It will combine data in yaml format with a jinja2 template and render the output.
|
||||
- `PHP-Ansible <https://github.com/maschmann/php-ansible>`_ - an object oriented Ansible wrapper for PHP.
|
||||
|
||||
@ -124,6 +124,7 @@ Creating correct and informative module output
|
||||
|
||||
Modules must output valid JSON only. Follow these guidelines for creating correct, useful module output:
|
||||
|
||||
* Module return data must be encoded as strict UTF-8. Modules that cannot return UTF-8 encoded data should return the data encoded by something such as base64. Optionally modules can make the determination if they can encode as UTF-8 and utilize ``errors='replace'`` to replace non UTF-8 characters making the return values lossy.
|
||||
* Make your top-level return type a hash (dictionary).
|
||||
* Nest complex return values within the top-level hash.
|
||||
* Incorporate any lists or simple scalar values within the top-level return hash.
|
||||
|
||||
@ -544,6 +544,19 @@ Include the ``vars_plugin_staging`` documentation fragment to allow users to det
|
||||
- vars_plugin_staging
|
||||
'''
|
||||
|
||||
At times a value provided by a vars plugin will contain unsafe values. The utility function `wrap_var` provided by `ansible.utils.unsafe_proxy` should be used to ensure that Ansible handles the variable and value correctly. The use cases for unsafe data is covered in :ref:`unsafe_strings`.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
from ansible.plugins.vars import BaseVarsPlugin
|
||||
from ansible.utils.unsafe_proxy import wrap_var
|
||||
|
||||
class VarsPlugin(BaseVarsPlugin):
|
||||
def get_vars(self, loader, path, entities):
|
||||
return dict(
|
||||
something_unsafe=wrap_var("{{ SOMETHING_UNSAFE }}")
|
||||
)
|
||||
|
||||
For example vars plugins, see the source code for the `vars plugins included with Ansible Core
|
||||
<https://github.com/ansible/ansible/tree/devel/lib/ansible/plugins/vars>`_.
|
||||
|
||||
|
||||
@ -3,31 +3,70 @@
|
||||
Installing Ansible on specific operating systems
|
||||
================================================
|
||||
|
||||
.. note:: These instructions are provided by their respective communities. Any bugs/issues should be filed with that community to update these instructions. Ansible maintains only the ``pip install`` instructions.
|
||||
|
||||
The ``ansible`` package can always be :ref:`installed from PyPI using pip <intro_installation_guide>` on most systems but it is also packaged and maintained by the community for a variety of Linux distributions.
|
||||
|
||||
The following instructions will guide you through installing the ``ansible`` package with your preferred distribution's package manager.
|
||||
|
||||
.. note:: For maintainers who wish to add distributions to this guide, installation instructions are included here only for distributions with a reasonably up-to-date version of ``ansible``. The distribution MUST ensure that ``ansible-core`` and ``ansible`` versions are kept in sync to the extent that the distribution build system allows. Maintainers MUST include a way to contact them with their instructions here and are encouraged to join the `Ansible Packaging <https://matrix.to/#/#packaging:ansible.com>`_ Matrix room.
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
|
||||
Installing Ansible on Fedora or CentOS
|
||||
--------------------------------------
|
||||
Installing Ansible on Fedora Linux
|
||||
-------------------------------------------------
|
||||
|
||||
On Fedora:
|
||||
To install the batteries included ``ansible`` package on Fedora run
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ sudo dnf install ansible
|
||||
|
||||
On CentOS:
|
||||
If you prefer to install the minimal ``ansible-core`` package run
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ sudo yum install epel-release
|
||||
$ sudo yum install ansible
|
||||
$ sudo dnf install ansible-core
|
||||
|
||||
RPMs for currently supported versions of CentOS are also available from `EPEL <https://fedoraproject.org/wiki/EPEL>`_.
|
||||
Several Ansible collections are also available from the Fedora repositories as
|
||||
standalone packages that users can install alongside ``ansible-core``.
|
||||
For example, to install the ``community.general`` collection run
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ sudo dnf install ansible-collection-community-general
|
||||
|
||||
See the `Fedora Packages index <https://packages.fedoraproject.org/search?query=ansible-collection>`_
|
||||
for a full list of Ansible collections packaged in Fedora.
|
||||
|
||||
|
||||
Please `file a bug <https://bugzilla.redhat.com/enter_bug.cgi>`_ against the
|
||||
``Fedora`` product in Red Hat Bugzilla to reach the package maintainers.
|
||||
|
||||
Installing Ansible from EPEL
|
||||
----------------------------------
|
||||
|
||||
Users of CentOS Stream, Almalinux, Rocky Linux, and related distributions
|
||||
can install ``ansible`` or Ansible collections from the community maintained
|
||||
`EPEL <https://docs.fedoraproject.org/en-US/epel/>`_
|
||||
(Extra Packages for Enterprise Linux) repository.
|
||||
|
||||
After `enabling the EPEL repository <https://docs.fedoraproject.org/en-US/epel/#_quickstart>`_,
|
||||
users can use the same ``dnf`` commands as for Fedora Linux.
|
||||
|
||||
Please `file a bug <https://bugzilla.redhat.com/enter_bug.cgi>`_ against the
|
||||
``Fedora EPEL`` product in Red Hat Bugzilla to reach the package maintainers.
|
||||
|
||||
|
||||
Installing Ansible on OpenSUSE Tumbleweed/Leap
|
||||
----------------------------------------------
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ sudo zypper install ansible
|
||||
|
||||
See `OpenSUSE Support Portal <https://en.opensuse.org/Portal:Support>` for additional help with Ansible on OpenSUSE.
|
||||
|
||||
.. _from_apt:
|
||||
|
||||
|
||||
@ -67,6 +67,8 @@ Selecting an Ansible package and version to install
|
||||
|
||||
Ansible's community packages are distributed in two ways: a minimalist language and runtime package called ``ansible-core``, and a much larger "batteries included" package called ``ansible``, which adds a community-curated selection of :ref:`Ansible Collections <collections>` for automating a wide variety of devices. Choose the package that fits your needs; The following instructions use ``ansible``, but you can substitute ``ansible-core`` if you prefer to start with a more minimal package and separately install only the Ansible Collections you require. The ``ansible`` or ``ansible-core`` packages may be available in your operating systems package manager, and you are free to install these packages with your preferred method. These installation instructions only cover the officially supported means of installing the python package with ``pip``.
|
||||
|
||||
See the :ref:`Ansible package release status table<ansible_changelogs>` for the ``ansible-core`` version included in the package.
|
||||
|
||||
Installing and upgrading Ansible
|
||||
================================
|
||||
|
||||
|
||||
@ -551,7 +551,7 @@ The following example walks through the integration tests for the ``vyos.vyos.vy
|
||||
file: "{{ test_case_to_run }}"
|
||||
vars:
|
||||
ansible_connection: local
|
||||
ansible_become: no
|
||||
ansible_become: false
|
||||
with_first_found: "{{ test_items }}"
|
||||
loop_control:
|
||||
loop_var: test_case_to_run
|
||||
|
||||
@ -56,13 +56,13 @@ Several network platforms support privilege escalation, where certain tasks must
|
||||
Using ``become`` for privilege escalation
|
||||
-----------------------------------------
|
||||
|
||||
Use the top-level Ansible parameter ``become: yes`` with ``become_method: enable`` to run a task, play, or playbook with escalated privileges on any network platform that supports privilege escalation. You must use either ``connection: network_cli`` or ``connection: httpapi`` with ``become: yes`` with ``become_method: enable``. If you are using ``network_cli`` to connect Ansible to your network devices, a ``group_vars`` file would look like:
|
||||
Use the top-level Ansible parameter ``become: true`` with ``become_method: enable`` to run a task, play, or playbook with escalated privileges on any network platform that supports privilege escalation. You must use either ``connection: network_cli`` or ``connection: httpapi`` with ``become: true`` with ``become_method: enable``. If you are using ``network_cli`` to connect Ansible to your network devices, a ``group_vars`` file would look like:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
ansible_connection: ansible.netcommon.network_cli
|
||||
ansible_network_os: cisco.ios.ios
|
||||
ansible_become: yes
|
||||
ansible_become: true
|
||||
ansible_become_method: enable
|
||||
|
||||
For more information, see :ref:`Become and Networks<become_network>`
|
||||
|
||||
@ -634,7 +634,7 @@ For example:
|
||||
|
||||
Suggestions to resolve:
|
||||
|
||||
Use ``connection: ansible.netcommon.network_cli`` and ``become: yes``
|
||||
Use ``connection: ansible.netcommon.network_cli`` and ``become: true``
|
||||
|
||||
|
||||
Proxy Issues
|
||||
|
||||
@ -28,7 +28,7 @@ Connections available
|
||||
|
||||
Connection Settings ``ansible_connection: ansible.netcommon.network_cli``
|
||||
|
||||
|enable_mode| supported: use ``ansible_become: yes``
|
||||
|enable_mode| supported: use ``ansible_become: true``
|
||||
with ``ansible_become_method: enable``
|
||||
and ``ansible_become_password:``
|
||||
|
||||
@ -51,7 +51,7 @@ Example CLI ``group_vars/cnos.yml``
|
||||
ansible_network_os: community.network.cnos
|
||||
ansible_user: myuser
|
||||
ansible_password: !vault...
|
||||
ansible_become: yes
|
||||
ansible_become: true
|
||||
ansible_become_method: enable
|
||||
ansible_become_password: !vault...
|
||||
ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q bastion01"'
|
||||
|
||||
@ -28,7 +28,7 @@ Connections available
|
||||
|
||||
Connection Settings ``ansible_connection: ansible.netcommon.network_cli``
|
||||
|
||||
|enable_mode| supported: use ``ansible_become: yes``
|
||||
|enable_mode| supported: use ``ansible_become: true``
|
||||
with ``ansible_become_method: enable``
|
||||
and ``ansible_become_password:``
|
||||
|
||||
@ -52,7 +52,7 @@ Example CLI ``group_vars/dellos10.yml``
|
||||
ansible_network_os: dellemc.os10.os10
|
||||
ansible_user: myuser
|
||||
ansible_password: !vault...
|
||||
ansible_become: yes
|
||||
ansible_become: true
|
||||
ansible_become_method: enable
|
||||
ansible_become_password: !vault...
|
||||
ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q bastion01"'
|
||||
|
||||
@ -28,7 +28,7 @@ Connections available
|
||||
|
||||
Connection Settings ``ansible_connection: ansible.netcommon.network_cli``
|
||||
|
||||
|enable_mode| supported: use ``ansible_become: yes``
|
||||
|enable_mode| supported: use ``ansible_become: true``
|
||||
with ``ansible_become_method: enable``
|
||||
and ``ansible_become_password:``
|
||||
|
||||
@ -51,7 +51,7 @@ Example CLI ``group_vars/dellos6.yml``
|
||||
ansible_network_os: dellemc.os6.os6
|
||||
ansible_user: myuser
|
||||
ansible_password: !vault...
|
||||
ansible_become: yes
|
||||
ansible_become: true
|
||||
ansible_become_method: enable
|
||||
ansible_become_password: !vault...
|
||||
ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q bastion01"'
|
||||
|
||||
@ -28,7 +28,7 @@ Connections available
|
||||
|
||||
Connection Settings ``ansible_connection: ansible.netcommon.network_cli``
|
||||
|
||||
|enable_mode| supported: use ``ansible_become: yes``
|
||||
|enable_mode| supported: use ``ansible_become: true``
|
||||
with ``ansible_become_method: enable``
|
||||
and ``ansible_become_password:``
|
||||
|
||||
@ -51,7 +51,7 @@ Example CLI ``group_vars/dellos9.yml``
|
||||
ansible_network_os: dellemc.os9.os9
|
||||
ansible_user: myuser
|
||||
ansible_password: !vault...
|
||||
ansible_become: yes
|
||||
ansible_become: true
|
||||
ansible_become_method: enable
|
||||
ansible_become_password: !vault...
|
||||
ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q bastion01"'
|
||||
|
||||
@ -28,7 +28,7 @@ Connections available
|
||||
|
||||
Connection Settings ``ansible_connection: ansible.netcommon.network_cli``
|
||||
|
||||
|enable_mode| supported: use ``ansible_become: yes``
|
||||
|enable_mode| supported: use ``ansible_become: true``
|
||||
with ``ansible_become_method: enable``
|
||||
and ``ansible_become_password:``
|
||||
|
||||
@ -53,7 +53,7 @@ Example CLI ``group_vars/enos.yml``
|
||||
ansible_network_os: community.network.enos
|
||||
ansible_user: myuser
|
||||
ansible_password: !vault...
|
||||
ansible_become: yes
|
||||
ansible_become: true
|
||||
ansible_become_method: enable
|
||||
ansible_become_password: !vault...
|
||||
ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q bastion01"'
|
||||
|
||||
@ -32,8 +32,8 @@ Connections available
|
||||
|
||||
|enable_mode| supported: |br| supported: |br|
|
||||
|
||||
* use ``ansible_become: yes`` * ``httpapi``
|
||||
with ``ansible_become_method: enable`` uses ``ansible_become: yes``
|
||||
* use ``ansible_become: true`` * ``httpapi``
|
||||
with ``ansible_become_method: enable`` uses ``ansible_become: true``
|
||||
with ``ansible_become_method: enable``
|
||||
|
||||
Returned Data Format ``stdout[0].`` ``stdout[0].messages[0].``
|
||||
@ -56,7 +56,7 @@ Example CLI ``group_vars/eos.yml``
|
||||
ansible_network_os: arista.eos.eos
|
||||
ansible_user: myuser
|
||||
ansible_password: !vault...
|
||||
ansible_become: yes
|
||||
ansible_become: true
|
||||
ansible_become_method: enable
|
||||
ansible_become_password: !vault...
|
||||
ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q bastion01"'
|
||||
@ -110,7 +110,7 @@ Example eAPI ``group_vars/eos.yml``
|
||||
ansible_network_os: arista.eos.eos
|
||||
ansible_user: myuser
|
||||
ansible_password: !vault...
|
||||
ansible_become: yes
|
||||
ansible_become: true
|
||||
ansible_become_method: enable
|
||||
proxy_env:
|
||||
http_proxy: http://proxy.example.com:8080
|
||||
|
||||
@ -28,7 +28,7 @@ Connections available
|
||||
|
||||
Connection Settings ``ansible_connection: ansible.netcommon.network_cli``
|
||||
|
||||
|enable_mode| supported: use ``ansible_become: yes`` with
|
||||
|enable_mode| supported: use ``ansible_become: true`` with
|
||||
``ansible_become_method: enable`` and ``ansible_become_password:``
|
||||
|
||||
Returned Data Format ``stdout[0].``
|
||||
@ -49,7 +49,7 @@ Example CLI ``group_vars/icx.yml``
|
||||
ansible_network_os: community.network.icx
|
||||
ansible_user: myuser
|
||||
ansible_password: !vault...
|
||||
ansible_become: yes
|
||||
ansible_become: true
|
||||
ansible_become_method: enable
|
||||
ansible_become_password: !vault...
|
||||
ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q bastion01"'
|
||||
|
||||
@ -28,7 +28,7 @@ Connections available
|
||||
|
||||
Connection Settings ``ansible_connection: ansible.netcommon.network_cli``
|
||||
|
||||
|enable_mode| supported: use ``ansible_become: yes`` with
|
||||
|enable_mode| supported: use ``ansible_become: true`` with
|
||||
``ansible_become_method: enable`` and ``ansible_become_password:``
|
||||
|
||||
Returned Data Format ``stdout[0].``
|
||||
@ -51,7 +51,7 @@ Example CLI ``group_vars/ios.yml``
|
||||
ansible_network_os: cisco.ios.ios
|
||||
ansible_user: myuser
|
||||
ansible_password: !vault...
|
||||
ansible_become: yes
|
||||
ansible_become: true
|
||||
ansible_become_method: enable
|
||||
ansible_become_password: !vault...
|
||||
ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q bastion01"'
|
||||
|
||||
@ -28,7 +28,7 @@ Connections available
|
||||
|
||||
Connection Settings ``ansible_connection: ansible.netcommon.network_cli``
|
||||
|
||||
|enable_mode| supported: use ``ansible_become: yes``
|
||||
|enable_mode| supported: use ``ansible_become: true``
|
||||
with ``ansible_become_method: enable``
|
||||
and ``ansible_become_password:``
|
||||
|
||||
@ -52,7 +52,7 @@ Example CLI ``group_vars/mlx.yml``
|
||||
ansible_network_os: community.network.ironware
|
||||
ansible_user: myuser
|
||||
ansible_password: !vault...
|
||||
ansible_become: yes
|
||||
ansible_become: true
|
||||
ansible_become_method: enable
|
||||
ansible_become_password: !vault...
|
||||
ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q bastion01"'
|
||||
|
||||
@ -29,7 +29,7 @@ Connections available
|
||||
Connection Settings ``ansible_connection:`` ``ansible_connection:``
|
||||
``ansible.netcommon.network_cli`` ``ansible.netcommon.httpapi``
|
||||
|
||||
|enable_mode| supported: use ``ansible_become: yes`` not supported by NX-API
|
||||
|enable_mode| supported: use ``ansible_become: true`` not supported by NX-API
|
||||
with ``ansible_become_method: enable``
|
||||
and ``ansible_become_password:``
|
||||
|
||||
@ -53,7 +53,7 @@ Example CLI ``group_vars/nxos.yml``
|
||||
ansible_network_os: cisco.nxos.nxos
|
||||
ansible_user: myuser
|
||||
ansible_password: !vault...
|
||||
ansible_become: yes
|
||||
ansible_become: true
|
||||
ansible_become_method: enable
|
||||
ansible_become_password: !vault...
|
||||
ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q bastion01"'
|
||||
|
||||
@ -51,7 +51,7 @@ Example CLI ``group_vars/routeros.yml``
|
||||
ansible_network_os: community.network.routeros
|
||||
ansible_user: myuser
|
||||
ansible_password: !vault...
|
||||
ansible_become: yes
|
||||
ansible_become: true
|
||||
ansible_become_method: enable
|
||||
ansible_become_password: !vault...
|
||||
ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q bastion01"'
|
||||
|
||||
@ -29,7 +29,7 @@ Connections available
|
||||
|
||||
Connection Settings ``ansible_connection: ansible.netcommon.network_cli``
|
||||
|
||||
|enable_mode| supported: use ``ansible_become: yes``
|
||||
|enable_mode| supported: use ``ansible_become: true``
|
||||
with ``ansible_become_method: enable``
|
||||
|
||||
Returned Data Format ``stdout[0].``
|
||||
@ -51,7 +51,7 @@ Example CLI ``group_vars/voss.yml``
|
||||
ansible_connection: ansible.netcommon.network_cli
|
||||
ansible_network_os: community.network.voss
|
||||
ansible_user: myuser
|
||||
ansible_become: yes
|
||||
ansible_become: true
|
||||
ansible_become_method: enable
|
||||
ansible_password: !vault...
|
||||
ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q bastion01"'
|
||||
|
||||
@ -154,7 +154,7 @@ You can use blocks with ``flush_handlers`` in a rescue task to ensure that all h
|
||||
ansible.builtin.debug:
|
||||
msg: 'I execute normally'
|
||||
changed_when: true
|
||||
notify: run me even after an error
|
||||
notify: Run me even after an error
|
||||
|
||||
- name: Force a failure
|
||||
ansible.builtin.command: /bin/false
|
||||
|
||||
@ -26,7 +26,7 @@ become
|
||||
set to ``yes`` to activate privilege escalation.
|
||||
|
||||
become_user
|
||||
set to user with desired privileges — the user you `become`, NOT the user you login as. Does NOT imply ``become: yes``, to allow it to be set at host level. Default value is ``root``.
|
||||
set to user with desired privileges — the user you `become`, NOT the user you login as. Does NOT imply ``become: true``, to allow it to be set at host level. Default value is ``root``.
|
||||
|
||||
become_method
|
||||
(at play or task level) overrides the default method set in ansible.cfg, set to use any of the :ref:`become_plugins`.
|
||||
@ -79,7 +79,7 @@ ansible_become_method
|
||||
which privilege escalation method should be used
|
||||
|
||||
ansible_become_user
|
||||
set the user you become through privilege escalation; does not imply ``ansible_become: yes``
|
||||
set the user you become through privilege escalation; does not imply ``ansible_become: true``
|
||||
|
||||
ansible_become_password
|
||||
set the privilege escalation password. See :ref:`playbooks_vault` for details on how to avoid having secrets in plain text
|
||||
@ -300,7 +300,7 @@ As of version 2.6, Ansible supports ``become`` for privilege escalation (enterin
|
||||
|
||||
You must set the connection type to either ``connection: ansible.netcommon.network_cli`` or ``connection: ansible.netcommon.httpapi`` to use ``become`` for privilege escalation on network devices. Check the :ref:`platform_options` documentation for details.
|
||||
|
||||
You can use escalated privileges on only the specific tasks that need them, on an entire play, or on all plays. Adding ``become: yes`` and ``become_method: enable`` instructs Ansible to enter ``enable`` mode before executing the task, play, or playbook where those parameters are set.
|
||||
You can use escalated privileges on only the specific tasks that need them, on an entire play, or on all plays. Adding ``become: true`` and ``become_method: enable`` instructs Ansible to enter ``enable`` mode before executing the task, play, or playbook where those parameters are set.
|
||||
|
||||
If you see this error message, the task that generated it requires ``enable`` mode to succeed:
|
||||
|
||||
|
||||
@ -351,6 +351,12 @@ To run all tasks except those tagged ``packages``:
|
||||
|
||||
ansible-playbook example.yml --skip-tags "packages"
|
||||
|
||||
To run all tasks, even those excluded because are tagged ``never``:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
ansible-playbook example.yml --tags "all,never"
|
||||
|
||||
Previewing the results of using tags
|
||||
------------------------------------
|
||||
|
||||
|
||||
@ -19,6 +19,39 @@ Ansible parses templates on the controller and passes only the information neede
|
||||
.. note::
|
||||
|
||||
Files and data used by the :ref:`template module <template_module>` must be utf-8 encoded.
|
||||
|
||||
Jinja2 Example
|
||||
==================
|
||||
|
||||
In this example, we want to write the server hostname to its /tmp/hostname.
|
||||
|
||||
Our directory looks like this:
|
||||
|
||||
.. code-block::
|
||||
|
||||
├── hostname.yml
|
||||
├── templates
|
||||
└── test.j2
|
||||
|
||||
Our hostname.yml:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
---
|
||||
- name: Write hostname
|
||||
hosts: all
|
||||
tasks:
|
||||
- name: write hostname using jinja2
|
||||
ansible.builtin.template:
|
||||
src: templates/test.j2
|
||||
dest: /tmp/hostname
|
||||
|
||||
Our test.j2:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
My name is {{ ansible_facts['hostname'] }}
|
||||
|
||||
|
||||
.. seealso::
|
||||
|
||||
|
||||
564
docs/docsite/rst/porting_guides/porting_guide_8.rst
Normal file
564
docs/docsite/rst/porting_guides/porting_guide_8.rst
Normal file
@ -0,0 +1,564 @@
|
||||
..
|
||||
THIS DOCUMENT IS AUTOMATICALLY GENERATED BY ANTSIBULL! PLEASE DO NOT EDIT MANUALLY! (YOU PROBABLY WANT TO EDIT porting_guide_core_2.15.rst)
|
||||
|
||||
.. _porting_8_guide:
|
||||
|
||||
=======================
|
||||
Ansible 8 Porting Guide
|
||||
=======================
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
:depth: 2
|
||||
|
||||
|
||||
Ansible 8 is based on Ansible-core 2.15.
|
||||
|
||||
|
||||
We suggest you read this page along with the `Ansible 8 Changelog <https://github.com/ansible-community/ansible-build-data/blob/main/8/CHANGELOG-v8.rst>`_ to understand what updates you may need to make.
|
||||
|
||||
|
||||
Playbook
|
||||
========
|
||||
|
||||
No notable changes
|
||||
|
||||
|
||||
Command Line
|
||||
============
|
||||
|
||||
* The return code of ``ansible-galaxy search`` is now 0 instead of 1 and the stdout is empty when results are empty to align with other ``ansible-galaxy`` commands.
|
||||
|
||||
|
||||
Deprecated
|
||||
==========
|
||||
|
||||
* Providing a list of dictionaries to ``vars:`` is deprecated in favor of supplying a dictionary.
|
||||
|
||||
Instead of:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
vars:
|
||||
- var1: foo
|
||||
- var2: bar
|
||||
|
||||
Use:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
vars:
|
||||
var1: foo
|
||||
var2: bar
|
||||
|
||||
Modules
|
||||
=======
|
||||
|
||||
No notable changes
|
||||
|
||||
|
||||
Modules removed
|
||||
---------------
|
||||
|
||||
The following modules no longer exist:
|
||||
|
||||
* No notable changes
|
||||
|
||||
|
||||
Deprecation notices
|
||||
-------------------
|
||||
|
||||
No notable changes
|
||||
|
||||
|
||||
Noteworthy module changes
|
||||
-------------------------
|
||||
|
||||
No notable changes
|
||||
|
||||
|
||||
Plugins
|
||||
=======
|
||||
|
||||
No notable changes
|
||||
|
||||
|
||||
Porting custom scripts
|
||||
======================
|
||||
|
||||
No notable changes
|
||||
|
||||
|
||||
Networking
|
||||
==========
|
||||
|
||||
No notable changes
|
||||
|
||||
Porting Guide for v8.0.0
|
||||
========================
|
||||
|
||||
Added Collections
|
||||
-----------------
|
||||
|
||||
- dellemc.powerflex (version 1.6.0)
|
||||
- dellemc.unity (version 1.6.0)
|
||||
- grafana.grafana (version 2.0.0)
|
||||
- microsoft.ad (version 1.1.0)
|
||||
- servicenow.servicenow (version 1.0.6)
|
||||
|
||||
Known Issues
|
||||
------------
|
||||
|
||||
Ansible-core
|
||||
~~~~~~~~~~~~
|
||||
|
||||
- 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``.
|
||||
|
||||
cisco.meraki
|
||||
~~~~~~~~~~~~
|
||||
|
||||
- meraki_network - Updated documentation for `local_status_page_enabled` and `remote_status_page_enabled` as these no longer work.
|
||||
|
||||
community.docker
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
- The modules and plugins using the vendored code from Docker SDK for Python currently do not work with requests 2.29.0 and/or urllib3 2.0.0. The same is currently true for the latest version of Docker SDK for Python itself (https://github.com/ansible-collections/community.docker/issues/611, https://github.com/ansible-collections/community.docker/pull/612).
|
||||
- docker_api connection plugin - does **not work with TCP TLS sockets**! This is caused by the inability to send an ``close_notify`` TLS alert without closing the connection with Python's ``SSLSocket`` (https://github.com/ansible-collections/community.docker/issues/605, https://github.com/ansible-collections/community.docker/pull/621).
|
||||
- docker_container_exec - does **not work with TCP TLS sockets** when the ``stdin`` option is used! This is caused by the inability to send an ``close_notify`` TLS alert without closing the connection with Python's ``SSLSocket`` (https://github.com/ansible-collections/community.docker/issues/605, https://github.com/ansible-collections/community.docker/pull/621).
|
||||
|
||||
community.routeros
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- api_modify - when limits for entries in ``queue tree`` are defined as human readable - for example ``25M`` -, the configuration will be correctly set in ROS, but the module will indicate the item is changed on every run even when there was no change done. This is caused by the ROS API which returns the number in bytes - for example ``25000000`` (which is inconsistent with the CLI behavior). In order to mitigate that, the limits have to be defined in bytes (those will still appear as human readable in the ROS CLI) (https://github.com/ansible-collections/community.routeros/pull/131).
|
||||
- api_modify, api_info - ``routing ospf area``, ``routing ospf area range``, ``routing ospf instance``, ``routing ospf interface-template`` paths are not fully implemeted for ROS6 due to the significat changes between ROS6 and ROS7 (https://github.com/ansible-collections/community.routeros/pull/131).
|
||||
|
||||
dellemc.openmanage
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- idrac_firmware - Issue(249879) - Firmware update of iDRAC9-based Servers fails if SOCKS proxy with authentication is used.
|
||||
- idrac_os_deployment- Issue(260496) - OS installation will support only NFS and CIFS share to store the custom ISO in the destination_path, HTTP/HTTPS/FTP not supported
|
||||
- idrac_redfish_storage_contoller - Issue(256164) - If incorrect value is provided for one of the attributes in the provided attribute list for controller configuration, then this module does not exit with error.
|
||||
- idrac_user - Issue(192043) The module may error out with the message ``Unable to perform the import or export operation because there are pending attribute changes or a configuration job is in progress``. Wait for the job to complete and run the task again.
|
||||
- idrac_user - Issue(192043) The module may error out with the message ``unable to perform the import or export operation because there are pending attribute changes or a configuration job is in progress``. Wait for the job to complete and run the task again.
|
||||
- ome_application_alerts_syslog - Issue(215374) - The module does not provide a proper error message if the destination_address is more than 255 characters.
|
||||
- ome_device_network_services - Issue(212681) - The module does not provide a proper error message if unsupported values are provided for the following parameters- port_number, community_name, max_sessions, max_auth_retries, and idle_timeout.
|
||||
- ome_device_network_services - Issue(212681) - The module does not provide a proper error message if unsupported values are provided for the parameters- port_number, community_name, max_sessions, max_auth_retries, and idle_timeout.
|
||||
- ome_device_power_settings - Issue(212679) - The module displays the following message if the value provided for the parameter ``power_cap`` is not within the supported range of 0 to 32767, ``Unable to complete the request because PowerCap does not exist or is not applicable for the resource URI.``
|
||||
- ome_inventory - Issue(256257) - All hosts are not retrieved for ``Modular System`` group and corresponding child groups.
|
||||
- ome_inventory - Issue(256589) - All hosts are not retrieved for ``Custom Groups`` group and corresponding child groups.
|
||||
- ome_inventory - Issue(256593) - All hosts are not retrieved for ``PLUGIN GROUPS`` group and corresponding child groups.
|
||||
- ome_smart_fabric_uplink - Issue(186024) - Despite the module supported by OpenManage Enterprise Modular, it does not allow the creation of multiple uplinks of the same name. If an uplink is created using the same name as an existing uplink, the existing uplink is modified.
|
||||
- ome_smart_fabric_uplink - Issue(186024) - The module does not allow the creation of multiple uplinks of the same name even though it is supported by OpenManage Enterprise Modular. If an uplink is created using the same name as an existing uplink, the existing uplink is modified.
|
||||
|
||||
Breaking Changes
|
||||
----------------
|
||||
|
||||
Ansible-core
|
||||
~~~~~~~~~~~~
|
||||
|
||||
- ansible-doc - no longer treat plugins in collections whose name starts with ``_`` as deprecated (https://github.com/ansible/ansible/pull/79362).
|
||||
- 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.
|
||||
|
||||
amazon.aws
|
||||
~~~~~~~~~~
|
||||
|
||||
- The amazon.aws collection has dropped support for ``botocore<1.25.0`` and ``boto3<1.22.0``. Most modules will continue to work with older versions of the AWS SDK, however compatibility with older versions of the SDK is not guaranteed and will not be tested. When using older versions of the SDK a warning will be emitted by Ansible (https://github.com/ansible-collections/amazon.aws/pull/1342).
|
||||
- amazon.aws - compatibility code for Python < 3.6 has been removed (https://github.com/ansible-collections/amazon.aws/pull/1257).
|
||||
- ec2_eip - the previously deprecated ``instance_id`` alias for the ``device_id`` parameter has been removed. Please use the ``device_id`` parameter name instead (https://github.com/ansible-collections/amazon.aws/issues/1176).
|
||||
- ec2_instance - the default value for ``instance_type`` has been removed. At least one of ``instance_type`` or ``launch_template`` must be specified when launching new instances (https://github.com/ansible-collections/amazon.aws/pull/1315).
|
||||
- ec2_vpc_dhcp_options - the ``new_options`` return value has been deprecated after being renamed to ``dhcp_config``. Please use the ``dhcp_config`` or ``dhcp_options`` return values (https://github.com/ansible-collections/amazon.aws/pull/1327).
|
||||
- ec2_vpc_endpoint - the ``policy_file`` parameter has been removed. I(policy) with a file lookup can be used instead (https://github.com/ansible-collections/amazon.aws/issues/1178).
|
||||
- ec2_vpc_net - the ``classic_link_enabled`` return value has been removed. Support for EC2 Classic networking was dropped by AWS (https://github.com/ansible-collections/amazon.aws/pull/1374).
|
||||
- ec2_vpc_net_info - the ``classic_link_dns_status`` return value has been removed. Support for EC2 Classic networking was dropped by AWS (https://github.com/ansible-collections/amazon.aws/pull/1374).
|
||||
- ec2_vpc_net_info - the ``classic_link_enabled`` return value has been removed. Support for EC2 Classic networking was dropped by AWS (https://github.com/ansible-collections/amazon.aws/pull/1374).
|
||||
- module_utils.cloud - the previously deprecated ``CloudRetry.backoff`` has been removed. Please use ``CloudRetry.exponential_backoff`` or ``CloudRetry.jittered_backoff`` instead (https://github.com/ansible-collections/amazon.aws/issues/1110).
|
||||
|
||||
ansible.netcommon
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
- NetworkConnectionBase now inherits from PersistentConnectionBase in ansible.utils. As a result, the minimum ansible.utils version has increased to 2.7.0.
|
||||
- NetworkTemplate is no longer importable from ansible_collections.ansible.netcommon.plugins.module_utils.network.common and should now be found at its proper location ansible_collections.ansible.netcommon.plugins.module_utils.network.common.rm_base.network_template
|
||||
- ResourceModule is no longer importable from ansible_collections.ansible.netcommon.plugins.module_utils.network.common and should now be found at its proper location ansible_collections.ansible.netcommon.plugins.module_utils.network.common.rm_base.resource_module
|
||||
- VALID_MASKS, is_masklen, is_netmask, to_bits, to_ipv6_network, to_masklen, to_netmask, and to_subnet are no longer importable from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils and should now be found at their proper location ansible.module_utils.common.network
|
||||
|
||||
community.aws
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
- The community.aws collection has dropped support for ``botocore<1.25.0`` and ``boto3<1.22.0``. Most modules will continue to work with older versions of the AWS SDK, however compatability with older versions of the SDK is not guaranteed and will not be tested. When using older versions of the SDK a warning will be emitted by Ansible (https://github.com/ansible-collections/community.aws/pull/1743).
|
||||
- aws_ssm - the AWS SSM plugin was incorrectly prepending ``sudo`` to most commands. This behaviour was incorrect and has been removed. To execute commands as a specific user, including the ``root`` user, the ``become`` and ``become_user`` directives should be used. See the `Ansible documentation for more information <https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_privilege_escalation.html>`_ (https://github.com/ansible-collections/community.aws/issues/853).
|
||||
- codebuild_project - ``tags`` parameter now accepts a dict representing the tags, rather than the boto3 format (https://github.com/ansible-collections/community.aws/pull/1643).
|
||||
|
||||
community.general
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
- If you are not using this collection as part of Ansible, but installed (and/or upgraded) community.general manually, you need to make sure to also install ``community.sap_libs`` if you are using any of the ``sapcar_extract``, ``sap_task_list_execute``, and ``hana_query`` modules.
|
||||
Without that collection installed, the redirects for these modules do not work.
|
||||
- ModuleHelper module utils - when the module sets output variables named ``msg``, ``exception``, ``output``, ``vars``, or ``changed``, the actual output will prefix those names with ``_`` (underscore symbol) only when they clash with output variables generated by ModuleHelper itself, which only occurs when handling exceptions. Please note that this breaking change does not require a new major release since before this release, it was not possible to add such variables to the output `due to a bug <https://github.com/ansible-collections/community.general/pull/5755>`__ (https://github.com/ansible-collections/community.general/pull/5765).
|
||||
- gconftool2 - fix processing of ``gconftool-2`` when ``key`` does not exist, returning ``null`` instead of empty string for both ``value`` and ``previous_value`` return values (https://github.com/ansible-collections/community.general/issues/6028).
|
||||
- gitlab_runner - the default of ``access_level_on_creation`` changed from ``false`` to ``true`` (https://github.com/ansible-collections/community.general/pull/6428).
|
||||
- ldap_search - convert all string-like values to UTF-8 (https://github.com/ansible-collections/community.general/issues/5704, https://github.com/ansible-collections/community.general/pull/6473).
|
||||
- nmcli - the default of the ``hairpin`` option changed from ``true`` to ``false`` (https://github.com/ansible-collections/community.general/pull/6428).
|
||||
- proxmox - the default of the ``unprivileged`` option changed from ``false`` to ``true`` (https://github.com/ansible-collections/community.general/pull/6428).
|
||||
|
||||
community.hashi_vault
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- Support for ``ansible-core`` 2.11 and 2.12 has been removed (https://github.com/ansible-collections/community.hashi_vault/issues/340).
|
||||
- The minimum version of ``hvac`` for ``community.hashi_vault`` is now ``1.1.0`` (https://github.com/ansible-collections/community.hashi_vault/issues/324).
|
||||
- hashi_vault lookup - duplicate option entries in the term string now raises an exception instead of a warning (https://github.com/ansible-collections/community.hashi_vault/issues/356).
|
||||
|
||||
community.zabbix
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
- agent role - removed support for Darwin, Amazon, Fedora, XCP-ng, Suse, Mint, and Sangoma operating systems
|
||||
- agent role - removed support for zabbix_create_host and replaced it with zabbix_agent_host_state
|
||||
- agent role - removed support for zabbix_create_hostgroup and replaced it with zabbix_agent_hostgroups_state
|
||||
- agent role - removed support for zabbix_http_password, zabbix_api_http_password, zabbix_api_pass, and zabbix_api_login_pass and replaced it with zabbix_api_login_pass
|
||||
- agent role - removed support for zabbix_http_user, zabbix_api_http_user, zabbix_api_user, and zabbix_api_login_user and replaced it with zabbix_api_login_user
|
||||
- agent role - removed support for zabbix_inventory_mode and replaced it with zabbix_agent_inventory_mode
|
||||
- agent role - removed support for zabbix_link_templates adn replaced it with zabbix_agent_link_templates
|
||||
- agent role - removed support for zabbix_macros and replaced it with zabbix_agent_macros
|
||||
- agent role - removed support for zabbix_proxy and replaced it with zabbix_agent_proxy
|
||||
- agent role - removed support for zabbix_update_host and replaced it with zabbix_agent_host_update
|
||||
- all modules - dropped support of Zabbix versions < 6.0
|
||||
- all roles - removed support for the zabbix_version variable.
|
||||
- all roles - removed support for all versions of Zabbix < 6.0.
|
||||
- all roles - removed support for installation from epel and non-standard repositories
|
||||
- dropped support of zabbix-api to make REST API calls to Zabbix
|
||||
- proxy role - removed support for zabbix_database_creation and replaced it with zabbix_proxy_database_creation
|
||||
- proxy role - removed support for zabbix_database_sqlload and replaced it with zabbix_proxy_database_sqlload
|
||||
- proxy role - removed support for zabbix_selinux and replaced it with zabbix_proxy_selinux
|
||||
- server role - removed support for zabbix_server_mysql_login_password and replaced with zabbix_server_dbpassword
|
||||
- server role - removed support for zabbix_server_mysql_login_user and replaced with zabbix_server_dbuser
|
||||
- stopped supporting Ansible < 2.12
|
||||
- stopped supporting Python < 3.9
|
||||
- zabbix_action - message parameter renamed to op_message
|
||||
- zabbix_group_facts module - removed in favour of zabbix_group_info
|
||||
- zabbix_host_facts module - removed in favour of zabbix_host_info
|
||||
|
||||
hetzner.hcloud
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
- inventory plugin - Python v3.5+ is now required.
|
||||
|
||||
lowlydba.sqlserver
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- Updating minimum DBATools version to v2.0.0 to allow for pwsh 7.3+ compatibility. There may also be breaking change behavior in DBATools, see https://blog.netnerds.net/2023/03/whats-new-dbatools-2.0/. (https://github.com/lowlydba/lowlydba.sqlserver/pull/181)
|
||||
|
||||
Major Changes
|
||||
-------------
|
||||
|
||||
Ansible-core
|
||||
~~~~~~~~~~~~
|
||||
|
||||
- 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.
|
||||
|
||||
ansible.windows
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
- Set the minimum Ansible version supported by this collection to Ansible 2.12
|
||||
|
||||
chocolatey.chocolatey
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- win_chocolatey - Allow users to select the TLS versions used for bootstrapping Chocolatey installation.
|
||||
|
||||
cisco.iosxr
|
||||
~~~~~~~~~~~
|
||||
|
||||
- iosxr_l3_interfaces - fix issue in ipv4 address formatting. (https://github.com/ansible-collections/cisco.iosxr/issues/311).
|
||||
|
||||
cisco.meraki
|
||||
~~~~~~~~~~~~
|
||||
|
||||
- meraki_mr_l7_firewall - New module
|
||||
- meraki_webhook_payload_template - New module
|
||||
|
||||
community.hrobot
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
- firewall - Hetzner added output rules support to the firewall. This change unfortunately means that using old versions of the firewall module will always set the output rule list to empty, thus disallowing the server to send out packets (https://github.com/ansible-collections/community.hrobot/issues/75, https://github.com/ansible-collections/community.hrobot/pull/76).
|
||||
|
||||
community.postgresql
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- postgresql_privs - the ``password`` argument is deprecated and will be removed in community.postgresql 4.0.0, use the ``login_password`` argument instead (https://github.com/ansible-collections/community.postgresql/issues/406).
|
||||
|
||||
community.vmware
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
- Use true/false (lowercase) for boolean values in documentation and examples (https://github.com/ansible-collections/community.vmware/issues/1660).
|
||||
|
||||
community.zabbix
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
- all modules are opting away from zabbix-api and using httpapi ansible.netcommon plugin. We will support zabbix-api for backwards compatibility until next major release. See our README.md for more information about how to migrate
|
||||
- zabbix_agent and zabbix_proxy roles are opting away from zabbix-api and use httpapi ansible.netcommon plugin. We will support zabbix-api for backwards compatibility until next major release. See our README.md for more information about how to migrate
|
||||
|
||||
containers.podman
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
- New become plugin - podman_unshare
|
||||
- Podman generate systemd module
|
||||
|
||||
dellemc.openmanage
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- Rebranded from Dell EMC to Dell.
|
||||
- Support for IPv6 address for OMSDK dependent iDRAC modules.
|
||||
- idrac_firmware - This module is enhanced to support proxy.
|
||||
- idrac_redfish_storage_controller - This module is enhanced to configure controller attributes and online capacity expansion.
|
||||
- idrac_server_config_profile - This module is enhanced to support proxy settings, import buffer, include in export, and ignore certificate warning.
|
||||
- idrac_user_info - This module allows to retrieve iDRAC Local user information details.
|
||||
- ome_domian_user_groups - This module allows to import the LDAP directory groups.
|
||||
- ome_inventory - This plugin allows to create a inventory from the group on OpenManage Enterprise.
|
||||
- ome_inventory - This plugin is enhanced to support inventory retrieval of System and Plugin Groups of OpenManage Enterprise.
|
||||
- ome_profile_info - This module allows to retrieve profiles with attributes on OpenManage Enterprise or OpenManage Enterprise Modular.
|
||||
- ome_smart_fabric_info - This module retrieves the list of smart fabrics in the inventory of OpenManage Enterprise Modular.
|
||||
- ome_smart_fabric_uplink_info - This module retrieve details of fabric uplink on OpenManage Enterprise Modular.
|
||||
- ome_template_network_vlan_info - This module allows to retrieve the network configuration of a template on OpenManage Enterprise or OpenManage Enterprise Modular.
|
||||
|
||||
fortinet.fortios
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
- Add annotations of member operation for every module.
|
||||
- Support FortiOS v7.0.6, v7.0.7, v7.0.8, v7.2.1, v7.2.2.
|
||||
- Update ``fortios.py`` for higher performance;
|
||||
- supports temporary session key and pre/post login banner;
|
||||
- update the examples on how to use member operation in Q&A.
|
||||
|
||||
infoblox.nios_modules
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- Added Grid Master Candidate feature `#152 <https://github.com/infobloxopen/infoblox-ansible/pull/152>`_
|
||||
- Added Member Assignment to network and ranges `#152 <https://github.com/infobloxopen/infoblox-ansible/pull/152>`_
|
||||
- Added NIOS Range module with Create, Update and Delete features `#152 <https://github.com/infobloxopen/infoblox-ansible/pull/152>`_
|
||||
- Fixes issue unable to update/delete EAs using Ansible plugin `#180 <https://github.com/infobloxopen/infoblox-ansible/pull/180>`_
|
||||
- Fixes static and dynamic allocation of IPV4 address of A Record `#182 <https://github.com/infobloxopen/infoblox-ansible/pull/182>`_
|
||||
- Fixes to Update host name of NIOS member `#176 <https://github.com/infobloxopen/infoblox-ansible/pull/176>`_
|
||||
- Updates default WAPI version to 2.9 `#176 <https://github.com/infobloxopen/infoblox-ansible/pull/176>`_
|
||||
|
||||
junipernetworks.junos
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- change gathered key from junos_acls to acls
|
||||
|
||||
kubernetes.core
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
- refactor K8sAnsibleMixin into module_utils/k8s/ (https://github.com/ansible-collections/kubernetes.core/pull/481).
|
||||
|
||||
purestorage.fusion
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- Patching of resource properties was brought to parity with underlying Python SDK
|
||||
- fusion_volume - fixed and reorganized, arguments changed
|
||||
|
||||
Removed Collections
|
||||
-------------------
|
||||
|
||||
- dellemc.os10 (previously included version: 1.1.1)
|
||||
- dellemc.os6 (previously included version: 1.0.7)
|
||||
- dellemc.os9 (previously included version: 1.0.4)
|
||||
- mellanox.onyx (previously included version: 1.0.0)
|
||||
|
||||
Removed Features
|
||||
----------------
|
||||
|
||||
- ``dellemc.os10`` was considered unmaintained and removed from Ansible 8 as per the `removal from Ansible process <https://github.com/ansible-collections/overview/blob/main/removal_from_ansible.rst#unmaintained-collections>`_. Users can still install this collection with ``ansible-galaxy collection install dellemc.os10``.
|
||||
- ``dellemc.os6`` was considered unmaintained and removed from Ansible 8 as per the `removal from Ansible process <https://github.com/ansible-collections/overview/blob/main/removal_from_ansible.rst#unmaintained-collections>`_. Users can still install this collection with ``ansible-galaxy collection install dellemc.os6``.
|
||||
- ``dellemc.os9`` was considered unmaintained and removed from Ansible 8 as per the `removal from Ansible process <https://github.com/ansible-collections/overview/blob/main/removal_from_ansible.rst#unmaintained-collections>`_. Users can still install this collection with ``ansible-galaxy collection install dellemc.os9``.
|
||||
- ``mellanox.onyx`` was considered unmaintained and removed from Ansible 8 as per the `removal from Ansible process <https://github.com/ansible-collections/overview/blob/main/removal_from_ansible.rst#unmaintained-collections>`_. Users can still install this collection with ``ansible-galaxy collection install mellanox.onyx``.
|
||||
|
||||
Ansible-core
|
||||
~~~~~~~~~~~~
|
||||
|
||||
- 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)
|
||||
|
||||
amazon.aws
|
||||
~~~~~~~~~~
|
||||
|
||||
- ec2_vpc_endpoint_info - support for the ``query`` parameter was removed. The ``amazon.aws.ec2_vpc_endpoint_info`` module now only queries for endpoints. Services can be queried using the ``amazon.aws.ec2_vpc_endpoint_service_info`` module (https://github.com/ansible-collections/amazon.aws/pull/1308).
|
||||
- s3_object - support for creating and deleting buckets using the ``s3_object`` module has been removed. S3 buckets can be created and deleted using the ``amazon.aws.s3_bucket`` module (https://github.com/ansible-collections/amazon.aws/issues/1112).
|
||||
|
||||
ansible.netcommon
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
- cli_parse - This plugin was moved to ansible.utils in version 1.0.0, and the redirect to that collection has now been removed.
|
||||
|
||||
community.general
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
- All ``sap`` modules have been removed from this collection.
|
||||
They have been migrated to the `community.sap_libs <https://galaxy.ansible.com/community/sap_libs>`_ collection.
|
||||
Redirections have been provided.
|
||||
Following modules are affected:
|
||||
- sapcar_extract
|
||||
- sap_task_list_execute
|
||||
- hana_query
|
||||
- cmd_runner module utils - the ``fmt`` alias of ``cmd_runner_fmt`` has been removed. Use ``cmd_runner_fmt`` instead (https://github.com/ansible-collections/community.general/pull/6428).
|
||||
- newrelic_deployment - the ``appname`` and ``environment`` options have been removed. They did not do anything (https://github.com/ansible-collections/community.general/pull/6428).
|
||||
- puppet - the alias ``show-diff`` of the ``show_diff`` option has been removed. Use ``show_diff`` instead (https://github.com/ansible-collections/community.general/pull/6428).
|
||||
- xfconf - generating facts was deprecated in community.general 3.0.0, however three factoids, ``property``, ``channel`` and ``value`` continued to be generated by mistake. This behaviour has been removed and ``xfconf`` generate no facts whatsoever (https://github.com/ansible-collections/community.general/pull/5502).
|
||||
- xfconf - generating facts was deprecated in community.general 3.0.0, however two factoids, ``previous_value`` and ``type`` continued to be generated by mistake. This behaviour has been removed and ``xfconf`` generate no facts whatsoever (https://github.com/ansible-collections/community.general/pull/5502).
|
||||
|
||||
community.zabbix
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
- agent role - removed support to configure firewall
|
||||
- web role - removed installation of apache, debian, and php
|
||||
|
||||
Deprecated Features
|
||||
-------------------
|
||||
|
||||
- The cisco.nso collection is considered unmaintained and will be removed from Ansible 9 if no one starts maintaining it again before Ansible 9. See `the removal process for details on how this works <https://github.com/ansible-collections/overview/blob/main/removal_from_ansible.rst#cancelling-removal-of-an-unmaintained-collection>`__ (https://github.com/ansible-community/community-topics/issues/155).
|
||||
- The community.fortios collection is considered unmaintained and will be removed from Ansible 9 if no one starts maintaining it again before Ansible 9. See `the removal process for details on how this works <https://github.com/ansible-collections/overview/blob/main/removal_from_ansible.rst#cancelling-removal-of-an-unmaintained-collection>`__ (https://github.com/ansible-community/community-topics/issues/162).
|
||||
- The community.google collection is considered unmaintained and will be removed from Ansible 9 if no one starts maintaining it again before Ansible 9. See `the removal process for details on how this works <https://github.com/ansible-collections/overview/blob/main/removal_from_ansible.rst#cancelling-removal-of-an-unmaintained-collection>`__ (https://github.com/ansible-community/community-topics/issues/160).
|
||||
- The community.skydive collection is considered unmaintained and will be removed from Ansible 9 if no one starts maintaining it again before Ansible 9. See `the removal process for details on how this works <https://github.com/ansible-collections/overview/blob/main/removal_from_ansible.rst#cancelling-removal-of-an-unmaintained-collection>`__ (https://github.com/ansible-community/community-topics/issues/171).
|
||||
- The netapp.aws collection is considered unmaintained and will be removed from Ansible 10 if no one starts maintaining it again before Ansible 10. See `the removal process for details on how this works <https://github.com/ansible-collections/overview/blob/main/removal_from_ansible.rst#cancelling-removal-of-an-unmaintained-collection>`__ (https://github.com/ansible-community/community-topics/issues/223).
|
||||
|
||||
Ansible-core
|
||||
~~~~~~~~~~~~
|
||||
|
||||
- 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.
|
||||
|
||||
amazon.aws
|
||||
~~~~~~~~~~
|
||||
|
||||
- amazon.aws collection - due to the AWS SDKs Python support policies (https://aws.amazon.com/blogs/developer/python-support-policy-updates-for-aws-sdks-and-tools/) support for Python less than 3.8 by this collection is expected to be removed in a release after 2024-12-01 (https://github.com/ansible-collections/amazon.aws/pull/1342).
|
||||
- amazon.aws collection - due to the AWS SDKs announcing the end of support for Python less than 3.7 (https://aws.amazon.com/blogs/developer/python-support-policy-updates-for-aws-sdks-and-tools/) support for Python less than 3.7 by this collection has been deprecated and will be removed in release 7.0.0. (https://github.com/ansible-collections/amazon.aws/pull/1342).
|
||||
- amazon.aws lookup plugins - the ``boto3_profile`` alias for the ``profile`` option has been deprecated, please use ``profile`` instead (https://github.com/ansible-collections/amazon.aws/pull/1225).
|
||||
- docs_fragments - ``amazon.aws.aws_credentials`` docs fragment has been deprecated please use ``amazon.aws.common.plugins`` instead (https://github.com/ansible-collections/amazon.aws/pull/1248).
|
||||
- docs_fragments - ``amazon.aws.aws_region`` docs fragment has been deprecated please use ``amazon.aws.region.plugins`` instead (https://github.com/ansible-collections/amazon.aws/pull/1248).
|
||||
- docs_fragments - ``amazon.aws.aws`` docs fragment has been deprecated please use ``amazon.aws.common.modules`` instead (https://github.com/ansible-collections/amazon.aws/pull/1248).
|
||||
- docs_fragments - ``amazon.aws.ec2`` docs fragment has been deprecated please use ``amazon.aws.region.modules`` instead (https://github.com/ansible-collections/amazon.aws/pull/1248).
|
||||
- module_utils.policy - ``ansible_collections.amazon.aws.module_utils.policy.sort_json_policy_dict`` has been deprecated consider using ``ansible_collections.amazon.aws.module_utils.poilcies.compare_policies`` instead (https://github.com/ansible-collections/amazon.aws/pull/1136).
|
||||
- s3_object - Support for passing ``dualstack`` and ``endpoint_url`` at the same time has been deprecated, the ``dualstack`` parameter is ignored when ``endpoint_url`` is passed. Support will be removed in a release after 2024-12-01 (https://github.com/ansible-collections/amazon.aws/pull/1305).
|
||||
- s3_object - Support for passing values of ``overwrite`` other than ``always``, ``never``, ``different`` or last ``last`` has been deprecated. Boolean values should be replaced by the strings ``always`` or ``never`` Support will be removed in a release after 2024-12-01 (https://github.com/ansible-collections/amazon.aws/pull/1305).
|
||||
- s3_object_info - Support for passing ``dualstack`` and ``endpoint_url`` at the same time has been deprecated, the ``dualstack`` parameter is ignored when ``endpoint_url`` is passed. Support will be removed in a release after 2024-12-01 (https://github.com/ansible-collections/amazon.aws/pull/1305).
|
||||
- support for passing both profile and security tokens through a mix of environment variables and parameters has been deprecated and support will be removed in release 6.0.0. After release 6.0.0 it will only be possible to pass either a profile or security tokens, regardless of mechanism used to pass them. To explicitly block a parameter coming from an environment variable pass an empty string as the parameter value. Support for passing profile and security tokens together was originally deprecated in release 1.2.0, however only partially implemented in release 5.0.0 (https://github.com/ansible-collections/amazon.aws/pull/1355).
|
||||
|
||||
check_point.mgmt
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
- add/set/delete nat-rule modules - will be replaced by the single cp_mgmt_nat_rule module.
|
||||
- cp_mgmt_show_task/s modules - will be replaced by the by the single cp_mgmt_task_facts module.
|
||||
|
||||
chocolatey.chocolatey
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- win_chocolatey - Deprecate side-by-side installs.
|
||||
|
||||
cisco.ios
|
||||
~~~~~~~~~
|
||||
|
||||
- ios_bgp_address_family - deprecate neighbors.address/tag/ipv6_adddress with neighbor_address which enables common attributes for facts rendering
|
||||
- ios_bgp_address_family - deprecate neighbors.password with password_options which allows encryption and password
|
||||
- ios_bgp_address_family - deprecate redistribute.ospf.match.external with redistribute.ospf.match.externals which enables attributes for OSPF type E1 and E2 routes
|
||||
- ios_bgp_address_family - deprecate redistribute.ospf.match.nssa_external with redistribute.ospf.match.nssa_externals which enables attributes for OSPF type N1 and N2 routes
|
||||
- ios_bgp_address_family - deprecate redistribute.ospf.match.type_1 with redistribute.ospf.match.nssa_externals.type_1
|
||||
- ios_bgp_address_family - deprecate redistribute.ospf.match.type_2 with redistribute.ospf.match.nssa_externals.type_2
|
||||
- ios_bgp_address_family - deprecate slow_peer with slow_peer_options which supports a dict attribute
|
||||
|
||||
community.aws
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
- community.aws collection - due to the AWS SDKs Python support policies (https://aws.amazon.com/blogs/developer/python-support-policy-updates-for-aws-sdks-and-tools/) support for Python less than 3.8 by this collection is expected to be removed in a release after 2024-12-01 (https://github.com/ansible-collections/community.aws/pull/1743).
|
||||
- community.aws collection - due to the AWS SDKs announcing the end of support for Python less than 3.7 (https://aws.amazon.com/blogs/developer/python-support-policy-updates-for-aws-sdks-and-tools/) support for Python less than 3.7 by this collection has been deprecated and will be removed in release 7.0.0. (https://github.com/ansible-collections/community.aws/pull/1743).
|
||||
- ecs_service - In a release after 2024-06-01, tha default value of ``purge_placement_constraints`` will be change from ``false`` to ``true`` (https://github.com/ansible-collections/community.aws/pull/1716).
|
||||
- ecs_service - In a release after 2024-06-01, tha default value of ``purge_placement_strategy`` will be change from ``false`` to ``true`` (https://github.com/ansible-collections/community.aws/pull/1716).
|
||||
- iam_role - All top level return values other than ``iam_role`` and ``changed`` have been deprecated and will be removed in a release after 2023-12-01 (https://github.com/ansible-collections/community.aws/issues/551).
|
||||
- iam_role - In a release after 2023-12-01 the contents of ``assume_role_policy_document`` will no longer be converted from CamelCase to snake_case. The ``assume_role_policy_document_raw`` return value already returns the policy document in this future format (https://github.com/ansible-collections/community.aws/issues/551).
|
||||
- iam_role_info - In a release after 2023-12-01 the contents of ``assume_role_policy_document`` will no longer be converted from CamelCase to snake_case. The ``assume_role_policy_document_raw`` return value already returns the policy document in this future format (https://github.com/ansible-collections/community.aws/issues/551).
|
||||
|
||||
community.crypto
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
- x509_crl - the ``mode`` option is deprecated; use ``crl_mode`` instead. The ``mode`` option will change its meaning in community.crypto 3.0.0, and will refer to the CRL file's mode instead (https://github.com/ansible-collections/community.crypto/issues/596).
|
||||
|
||||
community.dns
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
- The default of the newly added option ``txt_character_encoding`` will change from ``octal`` to ``decimal`` in community.dns 3.0.0. The new default will be compatible with `RFC 1035 <https://www.ietf.org/rfc/rfc1035.txt>`__ (https://github.com/ansible-collections/community.dns/pull/134).
|
||||
|
||||
community.general
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
- ModuleHelper module_utils - ``deps`` mixin for MH classes deprecated in favour of using the ``deps`` module_utils (https://github.com/ansible-collections/community.general/pull/6465).
|
||||
- consul - deprecate using parameters unused for ``state=absent`` (https://github.com/ansible-collections/community.general/pull/5772).
|
||||
- gitlab_runner - the default of the new option ``access_level_on_creation`` will change from ``false`` to ``true`` in community.general 7.0.0. This will cause ``access_level`` to be used during runner registration as well, and not only during updates (https://github.com/ansible-collections/community.general/pull/5908).
|
||||
- gitlab_runner - the option ``access_level`` will lose its default value in community.general 8.0.0. From that version on, you have set this option to ``ref_protected`` explicitly, if you want to have a protected runner (https://github.com/ansible-collections/community.general/issues/5925).
|
||||
- manageiq_policies - deprecate ``state=list`` in favour of using ``community.general.manageiq_policies_info`` (https://github.com/ansible-collections/community.general/pull/5721).
|
||||
- manageiq_tags - deprecate ``state=list`` in favour of using ``community.general.manageiq_tags_info`` (https://github.com/ansible-collections/community.general/pull/5727).
|
||||
- rax - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||
- rax module utils - module utils code relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||
- rax_cbs - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||
- rax_cbs_attachments - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||
- rax_cdb - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||
- rax_cdb_database - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||
- rax_cdb_user - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||
- rax_clb - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||
- rax_clb_nodes - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||
- rax_clb_ssl - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||
- rax_dns - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||
- rax_dns_record - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||
- rax_facts - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||
- rax_files - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||
- rax_files_objects - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||
- rax_identity - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||
- rax_keypair - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||
- rax_meta - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||
- rax_mon_alarm - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||
- rax_mon_check - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||
- rax_mon_entity - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||
- rax_mon_notification - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||
- rax_mon_notification_plan - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||
- rax_network - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||
- rax_queue - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||
- rax_scaling_group - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||
- rax_scaling_policy - module relies on deprecated library ``pyrax`` and will be removed in community.general 9.0.0 (https://github.com/ansible-collections/community.general/pull/5752).
|
||||
- rhn_channel, rhn_register - RHN hosted at redhat.com was discontinued years
|
||||
ago, and Spacewalk 5 (which uses RHN) is EOL since 2020, May 31st;
|
||||
while these modules could work on Uyuni / SUSE Manager (fork of Spacewalk 5),
|
||||
we have not heard about anyone using them in those setups. Hence, these
|
||||
modules are deprecated, and will be removed in community.general 10.0.0
|
||||
in case there are no reports about being still useful, and potentially
|
||||
noone that steps up to maintain them
|
||||
(https://github.com/ansible-collections/community.general/pull/6493).
|
||||
|
||||
community.hashi_vault
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- ansible-core - support for ``ansible-core`` versions ``2.11`` and ``2.12`` will be dropped in collection version ``5.0.0``, making ``2.13`` the minimum supported version of ``ansible-core`` (https://github.com/ansible-collections/community.hashi_vault/issues/340).
|
||||
- hashi_vault lookup - in ``v5.0.0`` duplicate term string options will raise an exception instead of showing a warning (https://github.com/ansible-collections/community.hashi_vault/issues/356).
|
||||
- hvac - the minimum version of ``hvac`` to be supported in collection version ``5.0.0`` will be at least ``1.0.2``; this minimum may be raised before ``5.0.0`` is released, so please subscribe to the linked issue and look out for new notices in the changelog (https://github.com/ansible-collections/community.hashi_vault/issues/324).
|
||||
|
||||
purestorage.fusion
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- fusion_hw - hardware module is being removed as changing hardware type has never been supported by Pure Storage Fusion
|
||||
- fusion_info - nigs subset is deprecated in favor of network_interface_groups and will be removed in the version 1.7.0
|
||||
- fusion_info - placements subset is deprecated in favor of placement_groups and will be removed in the version 1.7.0
|
||||
- fusion_pg - placement_engine option is deprecated because Fusion API does not longer support this parameter It will be removed in the version 2.0.0
|
||||
- fusion_se - parameters 'addresses', 'gateway' and 'network_interface_groups' are deprecated in favor of 'iscsi' and will be removed in version 2.0.0
|
||||
- fusion_tn - tenant networks are being replaced by storage endpoints ```fusion_se``` and Network Interface Groups ```fusion_nig```
|
||||
@ -10,6 +10,7 @@ This section lists porting guides that can help you in updating playbooks, plugi
|
||||
:maxdepth: 1
|
||||
:glob:
|
||||
|
||||
porting_guide_8
|
||||
porting_guide_7
|
||||
porting_guide_6
|
||||
porting_guide_5
|
||||
|
||||
@ -245,8 +245,8 @@ need to install them into the virtualenv. There are two methods:
|
||||
$ cp -v /usr/lib64/python3.*/site-packages/*selinux*.so ./py3-ansible/lib64/python3.*/site-packages/
|
||||
|
||||
|
||||
Running on macOS
|
||||
----------------
|
||||
Running on macOS as a controller
|
||||
--------------------------------
|
||||
|
||||
When executing Ansible on a system with macOS as a controller machine one might encounter the following error:
|
||||
|
||||
@ -261,6 +261,25 @@ In general the recommended workaround is to set the following environment variab
|
||||
$ export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
|
||||
|
||||
|
||||
.. _macos_as_a_target_faq:
|
||||
|
||||
Running on macOS as a target
|
||||
----------------------------
|
||||
|
||||
When managing a system with macOS Monterey 12, macOS Ventura
|
||||
13 or above over SSH, the following error can occur:
|
||||
|
||||
.. error::
|
||||
"eDSPermissionError" DS Error: -14120 (eDSPermissionError)
|
||||
|
||||
This is a good indication that *Allow full disk access for remote users* has not been enabled.
|
||||
|
||||
.. seealso::
|
||||
|
||||
For more details, check out `the official Apple user guide article
|
||||
<https://support.apple.com/guide/mac-help/mchlp1066/mac#mchlp1b6a98a>`_.
|
||||
|
||||
|
||||
Running on BSD
|
||||
--------------
|
||||
|
||||
|
||||
@ -71,6 +71,7 @@ Work in Collections is tracked within the individual Collection repositories.
|
||||
|
||||
You can refer to the :ref:`Ansible package porting guides<porting_guides>` for tips on updating your playbooks to run on newer versions of Ansible. For Ansible 2.10 and later releases, you can install the Ansible package with ``pip``. See :ref:`intro_installation_guide` for details. You can download older Ansible releases from `<https://releases.ansible.com/ansible/>`_.
|
||||
|
||||
.. _ansible_changelogs:
|
||||
|
||||
Ansible community changelogs
|
||||
----------------------------
|
||||
@ -80,15 +81,17 @@ This table links to the changelogs for each major Ansible release. These changel
|
||||
================================== ============================================== =========================
|
||||
Ansible Community Package Release Status Core version dependency
|
||||
================================== ============================================== =========================
|
||||
8.0.0 In development (unreleased) 2.15
|
||||
`7.x Changelogs`_ Current 2.14
|
||||
`6.x Changelogs`_ Unmaintained (end of life) after Ansible 6.7.0 2.13
|
||||
9.0.0 In development (unreleased) 2.16
|
||||
`8.x Changelogs`_ Current 2.15
|
||||
`7.x Changelogs`_ Unmaintained (end of life) after Ansible 7.7.0 2.14
|
||||
`6.x Changelogs`_ Unmaintained (end of life) 2.13
|
||||
`5.x Changelogs`_ Unmaintained (end of life) 2.12
|
||||
`4.x Changelogs`_ Unmaintained (end of life) 2.11
|
||||
`3.x Changelogs`_ Unmaintained (end of life) 2.10
|
||||
`2.10 Changelogs`_ Unmaintained (end of life) 2.10
|
||||
================================== ============================================== =========================
|
||||
|
||||
.. _8.x Changelogs: https://github.com/ansible-community/ansible-build-data/blob/main/8/CHANGELOG-v8.rst
|
||||
.. _7.x Changelogs: https://github.com/ansible-community/ansible-build-data/blob/main/7/CHANGELOG-v7.rst
|
||||
.. _6.x Changelogs: https://github.com/ansible-community/ansible-build-data/blob/main/6/CHANGELOG-v6.rst
|
||||
.. _5.x Changelogs: https://github.com/ansible-community/ansible-build-data/blob/main/5/CHANGELOG-v5.rst
|
||||
|
||||
@ -4,17 +4,4 @@
|
||||
VMware REST Scenarios
|
||||
****************************
|
||||
|
||||
These scenarios teach you how to accomplish common VMware tasks using the REST API and the Ansible ``vmware.vmware_rest`` collection. To get started, please select the task you want to accomplish.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
vmware_rest_scenarios/installation
|
||||
vmware_rest_scenarios/authentication
|
||||
vmware_rest_scenarios/collect_information
|
||||
vmware_rest_scenarios/create_vm
|
||||
vmware_rest_scenarios/vm_info
|
||||
vmware_rest_scenarios/vm_hardware_tuning
|
||||
vmware_rest_scenarios/run_a_vm
|
||||
vmware_rest_scenarios/vm_tool_information
|
||||
vmware_rest_scenarios/vm_tool_configuration
|
||||
The content on this page has moved to :ref:`ansible_collections.vmware.vmware_rest.docsite.guide_vmware_rest`.
|
||||
|
||||
@ -32,7 +32,7 @@ sys.path.insert(0, os.path.join('ansible', 'lib'))
|
||||
# the repository version needs to be the one that is loaded:
|
||||
sys.path.insert(0, os.path.abspath(os.path.join('..', '..', '..', 'lib')))
|
||||
|
||||
VERSION = 'devel'
|
||||
VERSION = '8'
|
||||
AUTHOR = 'Ansible, Inc'
|
||||
|
||||
|
||||
@ -164,7 +164,7 @@ html_context = {
|
||||
'github_root_dir': 'devel/lib/ansible',
|
||||
'github_cli_version': 'devel/lib/ansible/cli/',
|
||||
'current_version': version,
|
||||
'latest_version': '7',
|
||||
'latest_version': '8',
|
||||
# list specifically out of order to make latest work
|
||||
'available_versions': ('latest', '2.9', 'devel'),
|
||||
}
|
||||
|
||||
@ -32,7 +32,7 @@ sys.path.insert(0, os.path.join('ansible', 'lib'))
|
||||
# the repository version needs to be the one that is loaded:
|
||||
sys.path.insert(0, os.path.abspath(os.path.join('..', '..', '..', 'lib')))
|
||||
|
||||
VERSION = 'devel'
|
||||
VERSION = '2.15'
|
||||
AUTHOR = 'Ansible, Inc'
|
||||
|
||||
|
||||
@ -202,9 +202,9 @@ html_context = {
|
||||
'github_root_dir': 'devel/lib/ansible',
|
||||
'github_cli_version': 'devel/lib/ansible/cli/',
|
||||
'current_version': version,
|
||||
'latest_version': '2.14',
|
||||
'latest_version': '2.15',
|
||||
# list specifically out of order to make latest work
|
||||
'available_versions': ('2.14', '2.13', '2.12', 'devel',),
|
||||
'available_versions': ('2.15', '2.14', '2.13', 'devel',),
|
||||
}
|
||||
|
||||
# Add extra CSS styles to the resulting HTML pages
|
||||
|
||||
2
docs/templates/playbooks_keywords.rst.j2
vendored
2
docs/templates/playbooks_keywords.rst.j2
vendored
@ -8,7 +8,7 @@ These are the keywords available on common playbook objects. Keywords are one of
|
||||
|
||||
.. note:: Please note:
|
||||
|
||||
* Aliases for the directives are not reflected here, nor are mutable one. For example,
|
||||
* Aliases for the directives are not reflected here, nor are mutable ones. For example,
|
||||
:term:`action` in task can be substituted by the name of any Ansible module.
|
||||
* The keywords do not have ``version_added`` information at this time
|
||||
* Some keywords set defaults for the objects inside of them rather than for the objects
|
||||
|
||||
@ -21,7 +21,7 @@ from ..change_detection import update_file_if_different # pylint: disable=relat
|
||||
from ..commands import Command # pylint: disable=relative-beyond-top-level
|
||||
|
||||
|
||||
DEFAULT_TEMPLATE_FILE = pathlib.Path(__file__).parents[4] / 'docs/templates/man.j2'
|
||||
DEFAULT_TEMPLATE_FILE = pathlib.Path(__file__).parents[4] / 'hacking/templates/man.j2'
|
||||
|
||||
|
||||
# from https://www.python.org/dev/peps/pep-0257/
|
||||
|
||||
@ -45,7 +45,19 @@ class SanityTest:
|
||||
subprocess.run(pip + ['install', 'wheel'], env=env, check=True) # make bdist_wheel available during pip install
|
||||
subprocess.run(pip + ['install', '-r', self.source_path], env=env, check=True)
|
||||
|
||||
pip_freeze = subprocess.run(pip + ['freeze'], env=env, check=True, capture_output=True, text=True)
|
||||
keep_setuptools = any(line.startswith('setuptools ') for line in self.source_path.read_text().splitlines())
|
||||
|
||||
exclude_packages = ['pip', 'distribute', 'wheel']
|
||||
|
||||
if not keep_setuptools:
|
||||
exclude_packages.append('setuptools')
|
||||
|
||||
freeze_options = ['--all']
|
||||
|
||||
for exclude_package in exclude_packages:
|
||||
freeze_options.extend(('--exclude', exclude_package))
|
||||
|
||||
pip_freeze = subprocess.run(pip + ['freeze'] + freeze_options, env=env, check=True, capture_output=True, text=True)
|
||||
|
||||
requirements = f'# edit "{self.source_path.name}" and generate with: {SELF} --test {self.name}\n{pip_freeze.stdout}'
|
||||
|
||||
|
||||
@ -235,8 +235,6 @@ def add_check_options(parser):
|
||||
"""Add options for commands which can run with diagnostic information of tasks"""
|
||||
parser.add_argument("-C", "--check", default=False, dest='check', action='store_true',
|
||||
help="don't make any changes; instead, try to predict some of the changes that may occur")
|
||||
parser.add_argument('--syntax-check', dest='syntax', action='store_true',
|
||||
help="perform a syntax check on the playbook, but do not execute it")
|
||||
parser.add_argument("-D", "--diff", default=C.DIFF_ALWAYS, dest='diff', action='store_true',
|
||||
help="when changing (small) files and templates, show the differences in those"
|
||||
" files; works great with --check")
|
||||
|
||||
@ -54,6 +54,8 @@ class PlaybookCLI(CLI):
|
||||
opt_help.add_module_options(self.parser)
|
||||
|
||||
# ansible playbook specific opts
|
||||
self.parser.add_argument('--syntax-check', dest='syntax', action='store_true',
|
||||
help="perform a syntax check on the playbook, but do not execute it")
|
||||
self.parser.add_argument('--list-tasks', dest='listtasks', action='store_true',
|
||||
help="list all tasks that would be executed")
|
||||
self.parser.add_argument('--list-tags', dest='listtags', action='store_true',
|
||||
|
||||
@ -1752,6 +1752,17 @@ MODULE_IGNORE_EXTS:
|
||||
ini:
|
||||
- {key: module_ignore_exts, section: defaults}
|
||||
type: list
|
||||
MODULE_STRICT_UTF8_RESPONSE:
|
||||
name: Module strict UTF-8 response
|
||||
description:
|
||||
- Enables whether module responses are evaluated for containing non UTF-8 data
|
||||
- Disabling this may result in unexpected behavior
|
||||
- Only ansible-core should evaluate this configuration
|
||||
env: [{name: ANSIBLE_MODULE_STRICT_UTF8_RESPONSE}]
|
||||
ini:
|
||||
- {key: module_strict_utf8_response, section: defaults}
|
||||
type: bool
|
||||
default: True
|
||||
OLD_PLUGIN_CACHE_CLEARING:
|
||||
description: Previously Ansible would only clear some of the plugin loading caches when loading new roles, this led to some behaviours in which a plugin loaded in previous plays would be unexpectedly 'sticky'. This setting allows to return to that behaviour.
|
||||
env: [{name: ANSIBLE_OLD_PLUGIN_CACHE_CLEAR}]
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user