Compare commits
276 Commits
v2.12.10
...
stable-2.1
| Author | SHA1 | Date | |
|---|---|---|---|
| 05f919e21c | |||
| 8d37ea6e4b | |||
| de7fe7814a | |||
| e7b39bd1bd | |||
| 19b56e7f32 | |||
| 88e8e95dd9 | |||
| b1c73fa870 | |||
| 6e070b90ca | |||
| 8acd498a57 | |||
| 09abcdaf40 | |||
| 670d8619c9 | |||
| 1c0723ba34 | |||
| c96ea44797 | |||
| 77b6633076 | |||
| c65f80cb81 | |||
| 322366620f | |||
| 3c9415c968 | |||
| 9818510a0a | |||
| e7dbe1b514 | |||
| 67f06ed83c | |||
| d5e5bd34d6 | |||
| 19415e1238 | |||
| fee6f50a7e | |||
| cb6ccfda90 | |||
| 4d31016e85 | |||
| d356019be7 | |||
| 8eb57ec3d4 | |||
| 31c7c9158e | |||
| 8fb813918b | |||
| 874f4323ef | |||
| 402d914841 | |||
| d4458925c6 | |||
| 653b4fba7a | |||
| 380ff7f3d6 | |||
| f78bc40e6f | |||
| 8dfe4acba4 | |||
| 939f843024 | |||
| ca8835c990 | |||
| ef46bc46f4 | |||
| 7a8c6d7418 | |||
| 995ca083db | |||
| 41a1fe1303 | |||
| 73e6d023b8 | |||
| adfca2bdc9 | |||
| 715fa4fdde | |||
| 1b57ccb7a9 | |||
| d6b6c95498 | |||
| d003313544 | |||
| c6d392d43d | |||
| 79a2ee4bed | |||
| 5c2251504c | |||
| f7f27ade2d | |||
| ee112d9984 | |||
| 6916e152ff | |||
| 906642edc4 | |||
| cc97353702 | |||
| 4081c8d239 | |||
| e40051f7c0 | |||
| 380033afcf | |||
| 80c9a74c55 | |||
| f0bcb858a9 | |||
| a280645022 | |||
| 6b4fcdf59f | |||
| b4c1688809 | |||
| ea1f2269cd | |||
| a58c2a39d3 | |||
| 4eac144d7e | |||
| a72e3d14b3 | |||
| 4d222aefd9 | |||
| 39b6dec937 | |||
| 6da3cf51a3 | |||
| 070ae15c52 | |||
| f5d694eba4 | |||
| 15ab9a086a | |||
| 3c2d25014a | |||
| a6be3165e0 | |||
| 21c65df1fb | |||
| 0e828b45a7 | |||
| 8353792371 | |||
| a6875a518b | |||
| 9efa8c81d6 | |||
| 272f2ba775 | |||
| d945c66b36 | |||
| 02716851db | |||
| 4079bc948b | |||
| a17581efa6 | |||
| 2154722490 | |||
| a6893920a4 | |||
| d408e42926 | |||
| 2d02ed5d75 | |||
| 26eae8d18a | |||
| 17ef15a534 | |||
| eb7809e0e2 | |||
| 5394eae49a | |||
| 651e69064d | |||
| 7fa59ed674 | |||
| d4e1017614 | |||
| a20323da3b | |||
| a22fb928a5 | |||
| 4967b8650c | |||
| 15f5886479 | |||
| d9d5d2d93e | |||
| afbddce345 | |||
| f2b14b9aa3 | |||
| 4737c01acb | |||
| 2fdb9767e9 | |||
| 640063c02d | |||
| 766fcdb493 | |||
| 6e011d0809 | |||
| 7425bf093d | |||
| 9437c6f465 | |||
| 49f0d06bd9 | |||
| 01f024df79 | |||
| e4fb928b5f | |||
| d8c40ae504 | |||
| ad4d00e1db | |||
| 463cf9fe24 | |||
| 8c105c0f61 | |||
| 8b34aab732 | |||
| d6da3b8c85 | |||
| bb6355c453 | |||
| a6f24c407c | |||
| 999c2e603d | |||
| 2af206399d | |||
| 9691eb5f20 | |||
| 5a35a95ceb | |||
| 9e022484b7 | |||
| 362e6c5cc4 | |||
| 9dba4dbf82 | |||
| 96d2f79e4c | |||
| 2344b18382 | |||
| f22eab3dfe | |||
| 1330747880 | |||
| 08db988f7b | |||
| f4c8e93024 | |||
| e1f406699b | |||
| f0b227009c | |||
| de1129c8e5 | |||
| bb993dc877 | |||
| 2023363b39 | |||
| ab05ac25d2 | |||
| 0413498234 | |||
| 7f6415ee14 | |||
| 71a6954b51 | |||
| e2f14d94b8 | |||
| 54119d71f8 | |||
| b9a5208e38 | |||
| d18ac7bdc0 | |||
| b866d6f708 | |||
| 66ca0abaf4 | |||
| 4078765379 | |||
| da1baaf485 | |||
| 647c1db762 | |||
| 4cafc937f0 | |||
| b5c9c7d0ea | |||
| 4d2cdf2ed5 | |||
| 90c8ab0c8c | |||
| 78c7721052 | |||
| 420527bebf | |||
| 1f4d1dfa0b | |||
| 6d2e8f7729 | |||
| b3115e3c16 | |||
| 36eef4b9f8 | |||
| 35383360d2 | |||
| 1b6698aba8 | |||
| 3b5bc9b3fa | |||
| a2239d8819 | |||
| 40ecd27211 | |||
| b1e9da9d75 | |||
| ca1da07dda | |||
| 1ed901f7ef | |||
| 49950fa875 | |||
| e137398a84 | |||
| 348eee92bf | |||
| ff7bbe3f0a | |||
| f72720c7f8 | |||
| 37b3593720 | |||
| a5d1238f42 | |||
| ae9001ee18 | |||
| 7316e1b54a | |||
| c207402507 | |||
| 392e93135d | |||
| e009cd9733 | |||
| f752c7f179 | |||
| dce10b89ad | |||
| 7448c2fa62 | |||
| bf6f277edd | |||
| fad56bd4e6 | |||
| f92f039ea7 | |||
| 13e5c64918 | |||
| 25ac505975 | |||
| 93de61a8da | |||
| dad721d9dc | |||
| a16dd1150e | |||
| 03aff644cc | |||
| 578fa17af5 | |||
| 46378f0086 | |||
| b2808ed147 | |||
| 8b8996cb36 | |||
| 9627912180 | |||
| 56ab8508d0 | |||
| 13a829af2b | |||
| 8d6a8583c9 | |||
| 6f126a8d08 | |||
| 6987150d40 | |||
| ee38c4244b | |||
| 4ceaefc240 | |||
| f468ec7087 | |||
| 84707c60a4 | |||
| bbca98f622 | |||
| 15ae85269f | |||
| d24f793ab1 | |||
| 892f0bf644 | |||
| b5f13e5f28 | |||
| ed456f25f6 | |||
| 00d5a1610f | |||
| 22adad0f19 | |||
| 3d6c8ee3e0 | |||
| 5ee1fe2665 | |||
| 71fc9ec393 | |||
| 5b0a3ac43d | |||
| 85b4c70172 | |||
| 46b67b74c7 | |||
| 02d07dcace | |||
| 341834fe70 | |||
| 2c9389b193 | |||
| a81386fa62 | |||
| 3aab644285 | |||
| 3d4d43a1ce | |||
| a9b7625151 | |||
| dd7118c433 | |||
| ebf7233e35 | |||
| 45618a6f38 | |||
| 63cb289bf0 | |||
| d10195631e | |||
| 66a9ea2f23 | |||
| 162973d1a7 | |||
| fc84de8faa | |||
| a19d44ca7b | |||
| cf8df3faa4 | |||
| a624731700 | |||
| bcd7b61c03 | |||
| 83c5e57ce5 | |||
| 383559f8af | |||
| 0fbedb3364 | |||
| 3f0b92e0b6 | |||
| 4da2e2db79 | |||
| 167726e291 | |||
| 744412d0cd | |||
| 2743ea1e69 | |||
| 51d1ab036d | |||
| ccf646d3a6 | |||
| af07c35f98 | |||
| d51ec33d84 | |||
| 75d9fa648e | |||
| 8d03c2ddc4 | |||
| 4e3f422540 | |||
| b5ad0296a2 | |||
| 74c3c30063 | |||
| a4eff47860 | |||
| 1df28faad6 | |||
| 405da50dc7 | |||
| 2d931e101e | |||
| 2c16395054 | |||
| bd107203b2 | |||
| 1808502b51 | |||
| 62b68bf83e | |||
| 01a0e728c7 | |||
| cf18aa3d74 | |||
| ad2221fbc8 | |||
| 228c2782ad | |||
| f196914e13 | |||
| 275d0acfa1 | |||
| ccc44d9dc0 | |||
| 8f85594ff9 | |||
| 6711bb0364 |
@ -12,20 +12,13 @@ pr:
|
||||
- devel
|
||||
- stable-*
|
||||
|
||||
schedules:
|
||||
- cron: 0 7 * * *
|
||||
displayName: Nightly
|
||||
always: true
|
||||
branches:
|
||||
include:
|
||||
- devel
|
||||
- stable-*
|
||||
|
||||
variables:
|
||||
- name: checkoutPath
|
||||
value: ansible
|
||||
- name: coverageBranches
|
||||
value: devel
|
||||
- name: pipelinesCoverage
|
||||
value: coverage
|
||||
- name: entryPoint
|
||||
value: test/utils/shippable/shippable.sh
|
||||
- name: fetchDepth
|
||||
@ -67,7 +60,6 @@ stages:
|
||||
- test: 3.7
|
||||
- test: 3.8
|
||||
- test: 3.9
|
||||
- test: '3.10'
|
||||
- stage: Windows
|
||||
dependsOn: []
|
||||
jobs:
|
||||
@ -80,7 +72,6 @@ stages:
|
||||
- test: 2012-R2
|
||||
- test: 2016
|
||||
- test: 2019
|
||||
- test: 2022
|
||||
- stage: Remote
|
||||
dependsOn: []
|
||||
jobs:
|
||||
@ -91,14 +82,12 @@ stages:
|
||||
test: macos/11.1
|
||||
- name: RHEL 7.9
|
||||
test: rhel/7.9
|
||||
- name: RHEL 8.4 py36
|
||||
test: rhel/8.4@3.6
|
||||
- name: RHEL 8.4 py38
|
||||
test: rhel/8.4@3.8
|
||||
- name: RHEL 8.3 py36
|
||||
test: rhel/8.3@3.6
|
||||
- name: RHEL 8.3 py38
|
||||
test: rhel/8.3@3.8
|
||||
- name: FreeBSD 12.2
|
||||
test: freebsd/12.2
|
||||
- name: FreeBSD 13.0
|
||||
test: freebsd/13.0
|
||||
groups:
|
||||
- 1
|
||||
- 2
|
||||
@ -118,10 +107,10 @@ stages:
|
||||
test: centos6
|
||||
- name: CentOS 7
|
||||
test: centos7
|
||||
- name: Fedora 32
|
||||
test: fedora32
|
||||
- name: Fedora 33
|
||||
test: fedora33
|
||||
- name: Fedora 34
|
||||
test: fedora34
|
||||
- name: openSUSE 15 py2
|
||||
test: opensuse15py2
|
||||
- name: openSUSE 15 py3
|
||||
@ -144,9 +133,8 @@ stages:
|
||||
nameFormat: Python {0}
|
||||
testFormat: galaxy/{0}/1
|
||||
targets:
|
||||
- test: 3.8
|
||||
- test: 3.9
|
||||
- test: '3.10'
|
||||
- test: 2.7
|
||||
- test: 3.6
|
||||
- stage: Generic
|
||||
dependsOn: []
|
||||
jobs:
|
||||
@ -155,9 +143,8 @@ stages:
|
||||
nameFormat: Python {0}
|
||||
testFormat: generic/{0}/1
|
||||
targets:
|
||||
- test: 3.8
|
||||
- test: 3.9
|
||||
- test: '3.10'
|
||||
- test: 2.7
|
||||
- test: 3.6
|
||||
- stage: Incidental_Remote
|
||||
displayName: Incidental Remote
|
||||
dependsOn: []
|
||||
@ -166,18 +153,16 @@ stages:
|
||||
parameters:
|
||||
testFormat: i/{0}
|
||||
targets:
|
||||
- name: macOS 11.1
|
||||
test: macos/11.1
|
||||
- name: OS X 10.11
|
||||
test: osx/10.11
|
||||
- name: RHEL 7.9
|
||||
test: rhel/7.9
|
||||
- name: RHEL 8.4 py36
|
||||
test: rhel/8.4@3.6
|
||||
- name: RHEL 8.4 py38
|
||||
test: rhel/8.4@3.8
|
||||
- name: RHEL 8.3 py36
|
||||
test: rhel/8.3@3.6
|
||||
- name: RHEL 8.3 py38
|
||||
test: rhel/8.3@3.8
|
||||
- name: FreeBSD 12.2
|
||||
test: freebsd/12.2
|
||||
- name: FreeBSD 13.0
|
||||
test: freebsd/13.0
|
||||
- stage: Incidental_Docker
|
||||
displayName: Incidental Docker
|
||||
dependsOn: []
|
||||
@ -190,10 +175,10 @@ stages:
|
||||
test: centos6
|
||||
- name: CentOS 7
|
||||
test: centos7
|
||||
- name: Fedora 32
|
||||
test: fedora32
|
||||
- name: Fedora 33
|
||||
test: fedora33
|
||||
- name: Fedora 34
|
||||
test: fedora34
|
||||
- name: openSUSE 15 py2
|
||||
test: opensuse15py2
|
||||
- name: openSUSE 15 py3
|
||||
@ -215,7 +200,6 @@ stages:
|
||||
- test: 2012-R2
|
||||
- test: 2016
|
||||
- test: 2019
|
||||
- test: 2022
|
||||
- stage: Incidental
|
||||
dependsOn: []
|
||||
jobs:
|
||||
@ -225,8 +209,10 @@ stages:
|
||||
targets:
|
||||
- name: IOS Python
|
||||
test: ios/csr1000v/
|
||||
- name: VyOS Python
|
||||
test: vyos/1.1.8/
|
||||
- name: VyOS Python 2.7
|
||||
test: vyos/1.1.8/2.7
|
||||
- name: VyOS Python 3.6
|
||||
test: vyos/1.1.8/3.6
|
||||
- name: AWS Python 2.7
|
||||
test: aws/2.7
|
||||
- name: AWS Python 3.6
|
||||
|
||||
@ -9,7 +9,7 @@ PATH="${PWD}/bin:${PATH}"
|
||||
|
||||
mkdir "${agent_temp_directory}/coverage/"
|
||||
|
||||
options=(--venv --color -v)
|
||||
options=(--venv --venv-system-site-packages --color -v)
|
||||
|
||||
ansible-test coverage combine --group-by command --export "${agent_temp_directory}/coverage/" "${options[@]}"
|
||||
|
||||
|
||||
@ -88,7 +88,7 @@ def download_file(url: str, dest: pathlib.Path, flags: int, dry_run: bool = Fals
|
||||
|
||||
def main():
|
||||
args = parse_args()
|
||||
url = 'https://ci-files.testing.ansible.com/codecov/linux/codecov'
|
||||
url = 'https://ansible-ci-files.s3.amazonaws.com/codecov/linux/codecov'
|
||||
with tempfile.TemporaryDirectory(prefix='codecov-') as tmpdir:
|
||||
codecov_bin = pathlib.Path(tmpdir) / 'codecov'
|
||||
download_file(url, codecov_bin, 0o755, args.dry_run)
|
||||
|
||||
@ -12,6 +12,4 @@ if ! ansible-test --help >/dev/null 2>&1; then
|
||||
pip install https://github.com/ansible/ansible/archive/devel.tar.gz --disable-pip-version-check
|
||||
fi
|
||||
|
||||
# Generate stubs using docker (if supported) otherwise fall back to using a virtual environment instead.
|
||||
# The use of docker is required when Powershell code is present, but Ansible 2.12 was the first version to support --docker with coverage.
|
||||
ansible-test coverage xml --group-by command --stub --docker --color -v || ansible-test coverage xml --group-by command --stub --venv --color -v
|
||||
ansible-test coverage xml --group-by command --stub --venv --venv-system-site-packages --color -v
|
||||
|
||||
@ -23,6 +23,16 @@ jobs:
|
||||
- bash: .azure-pipelines/scripts/report-coverage.sh
|
||||
displayName: Generate Coverage Report
|
||||
condition: gt(variables.coverageFileCount, 0)
|
||||
- task: PublishCodeCoverageResults@1
|
||||
inputs:
|
||||
codeCoverageTool: Cobertura
|
||||
# Azure Pipelines only accepts a single coverage data file.
|
||||
# That means only Python or PowerShell coverage can be uploaded, but not both.
|
||||
# Set the "pipelinesCoverage" variable to determine which type is uploaded.
|
||||
# Use "coverage" for Python and "coverage-powershell" for PowerShell.
|
||||
summaryFileLocation: "$(outputPath)/reports/$(pipelinesCoverage).xml"
|
||||
displayName: Publish to Azure Pipelines
|
||||
condition: gt(variables.coverageFileCount, 0)
|
||||
- bash: .azure-pipelines/scripts/publish-codecov.py "$(outputPath)"
|
||||
displayName: Publish to codecov.io
|
||||
condition: gt(variables.coverageFileCount, 0)
|
||||
|
||||
6
.github/BOTMETA.yml
vendored
6
.github/BOTMETA.yml
vendored
@ -121,16 +121,16 @@ files:
|
||||
notified: mattclay
|
||||
test/lib/:
|
||||
notified: mattclay
|
||||
test/lib/ansible_test/_util/controller/sanity/validate-modules:
|
||||
test/lib/ansible_test/_data/sanity/validate-modules:
|
||||
keywords:
|
||||
- validate-modules
|
||||
notified:
|
||||
- mattclay
|
||||
test/lib/ansible_test/_util/controller/sanity/validate-modules/validate_modules/main.py:
|
||||
test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/main.py:
|
||||
notified:
|
||||
- gundalow
|
||||
- sivel
|
||||
test/lib/ansible_test/_util/controller/sanity/validate-modules/validate_modules/schema.py:
|
||||
test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/schema.py:
|
||||
notified:
|
||||
- gundalow
|
||||
- sivel
|
||||
|
||||
182
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
182
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@ -1,35 +1,18 @@
|
||||
---
|
||||
name: 🐛 Bug report
|
||||
description: Create a report to help us improve
|
||||
issue_body: false # default: true, adds a classic WSYWIG textarea, if on
|
||||
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: >
|
||||
**Thank you for wanting to report a bug in ansible-core!**
|
||||
|
||||
|
||||
value: |
|
||||
⚠
|
||||
Verify first that your issue is not [already reported on
|
||||
GitHub][issue search] and keep in mind that we may have to keep
|
||||
the current behavior because [every change breaks someone's
|
||||
workflow][XKCD 1172].
|
||||
We try to be mindful about this.
|
||||
|
||||
Verify first that your issue is not [already reported on GitHub][issue search].
|
||||
Also test if the latest release and devel branch are affected too.
|
||||
*Complete **all** sections as described, this form is processed automatically.*
|
||||
|
||||
|
||||
**Tip:** If you are seeking community support, please consider
|
||||
[starting a mailing list thread or chatting in IRC][ML||IRC].
|
||||
|
||||
|
||||
|
||||
[ML||IRC]:
|
||||
https://docs.ansible.com/ansible-core/devel/community/communication.html?utm_medium=github&utm_source=issue_form--bug_report.yml#mailing-list-information
|
||||
|
||||
[issue search]: ../search?q=is%3Aissue&type=issues
|
||||
|
||||
[XKCD 1172]: https://xkcd.com/1172/
|
||||
[issue search]: https://github.com/ansible/ansible/search?q=is%3Aissue&type=issues
|
||||
|
||||
|
||||
- type: textarea
|
||||
@ -46,22 +29,6 @@ body:
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: Issue Type
|
||||
description: >
|
||||
Please select the single available option in the drop-down.
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
<em>Why?</em>
|
||||
</summary>
|
||||
|
||||
We would do it by ourselves but unfortunatelly, the curent
|
||||
edition of GitHub Issue Forms Alpha does not support this yet 🤷
|
||||
|
||||
|
||||
_We will make it easier in the future, once GitHub
|
||||
supports dropdown defaults. Promise!_
|
||||
|
||||
</details>
|
||||
# FIXME: Once GitHub allows defining the default choice, update this
|
||||
options:
|
||||
- Bug Report
|
||||
@ -71,22 +38,9 @@ body:
|
||||
- type: input
|
||||
attributes:
|
||||
label: Component Name
|
||||
description: >
|
||||
Write the short name of the rst file, module, plugin, task or
|
||||
feature below, *use your best guess if unsure*.
|
||||
|
||||
|
||||
**Tip:** Cannot find it in this repository? Please be advised that
|
||||
the source for some parts of the documentation are hosted outside
|
||||
of this repository. If the page you are reporting describes
|
||||
modules/plugins/etc that are not officially supported by the
|
||||
Ansible Core Engineering team, there is a good chance that it is
|
||||
coming from one of the [Ansible Collections maintained by the
|
||||
community][collections org]. If this is the case, please make sure
|
||||
to file an issue under the appropriate project there instead.
|
||||
|
||||
|
||||
[collections org]: /ansible-collections
|
||||
description: >-
|
||||
Write the short name of the module, plugin, task or feature below,
|
||||
*use your best guess if unsure*.
|
||||
placeholder: dnf, apt, yum, pip, user etc.
|
||||
validations:
|
||||
required: true
|
||||
@ -95,23 +49,13 @@ body:
|
||||
attributes:
|
||||
label: Ansible Version
|
||||
description: >-
|
||||
Paste verbatim output from `ansible --version` below, under
|
||||
the prompt line. Please don't wrap it with tripple backticks — your
|
||||
whole input will be turned into a code snippet automatically.
|
||||
render: console
|
||||
Paste verbatim output from `ansible --version` between
|
||||
tripple backticks.
|
||||
value: |
|
||||
```console (paste below)
|
||||
$ ansible --version
|
||||
placeholder: |
|
||||
$ ansible --version
|
||||
ansible [core 2.11.0b4.post0] (detached HEAD ref: refs/) last updated 2021/04/02 00:33:35 (GMT +200)
|
||||
config file = None
|
||||
configured module search path = ['~/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
|
||||
ansible python module location = ~/src/github/ansible/ansible/lib/ansible
|
||||
ansible collection location = ~/.ansible/collections:/usr/share/ansible/collections
|
||||
executable location = bin/ansible
|
||||
python version = 3.9.0 (default, Oct 26 2020, 13:08:59) [GCC 10.2.0]
|
||||
jinja version = 2.11.3
|
||||
libyaml = True
|
||||
|
||||
```
|
||||
validations:
|
||||
required: true
|
||||
|
||||
@ -119,18 +63,12 @@ body:
|
||||
attributes:
|
||||
label: Configuration
|
||||
description: >-
|
||||
Paste verbatim output from `ansible-config dump --only-changed`
|
||||
below, under the prompt line.
|
||||
Please don't wrap it with tripple backticks — your
|
||||
whole input will be turned into a code snippet automatically.
|
||||
render: console
|
||||
Paste verbatim output from `ansible-config dump --only-changed` between quotes.
|
||||
value: |
|
||||
```console (paste below)
|
||||
$ ansible-config dump --only-changed
|
||||
placeholder: |
|
||||
$ ansible-config dump --only-changed
|
||||
DEFAULT_GATHERING(~/src/github/ansible/ansible/ansible.cfg) = smart
|
||||
DEFAULT_HOST_LIST(~/src/github/ansible/ansible/ansible.cfg) = ['~/src/github/ansible/ansible/hosts']
|
||||
DEFAULT_VAULT_PASSWORD_FILE(~/src/github/ansible/ansible/ansible.cfg) = ~/src/github/ansible/ansible/vault/print-password.sh
|
||||
|
||||
```
|
||||
validations:
|
||||
required: true
|
||||
|
||||
@ -157,20 +95,6 @@ body:
|
||||
```yaml (paste below)
|
||||
|
||||
```
|
||||
placeholder: |
|
||||
1. Implement the following playbook:
|
||||
|
||||
```yaml
|
||||
---
|
||||
# ping.yml
|
||||
- hosts: all
|
||||
gather_facts: false
|
||||
tasks:
|
||||
- ping:
|
||||
...
|
||||
```
|
||||
2. Then run `ANSIBLE_DEBUG=1 ansible-playbook ping.yml -vvvvv`
|
||||
3. An error occurs.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
@ -191,73 +115,11 @@ body:
|
||||
description: |
|
||||
Describe what actually happened. If possible run with extra verbosity (`-vvvv`).
|
||||
|
||||
Paste verbatim command output and don't wrap it with tripple backticks — your
|
||||
whole input will be turned into a code snippet automatically.
|
||||
render: console
|
||||
placeholder: >-
|
||||
Certificate did not match expected hostname: files.pythonhosted.org. Certificate: {'notAfter': 'Apr 28 19:20:25 2021 GMT', 'subjectAltName': ((u'DNS', 'r.ssl.fastly.net'), (u'DNS', '*.catchpoint.com'), (u'DNS', '*.cnn.io'), (u'DNS', '*.dollarshaveclub.com'), (u'DNS', '*.eater.com'), (u'DNS', '*.fastly.picmonkey.com'), (u'DNS', '*.files.saymedia-content.com'), (u'DNS', '*.ft.com'), (u'DNS', '*.meetupstatic.com'), (u'DNS', '*.nfl.com'), (u'DNS', '*.pagar.me'), (u'DNS', '*.picmonkey.com'), (u'DNS', '*.realself.com'), (u'DNS', '*.sbnation.com'), (u'DNS', '*.shakr.com'), (u'DNS', '*.streamable.com'), (u'DNS', '*.surfly.com'), (u'DNS', '*.theverge.com'), (u'DNS', '*.thrillist.com'), (u'DNS', '*.vox-cdn.com'), (u'DNS', '*.vox.com'), (u'DNS', '*.voxmedia.com'), (u'DNS', 'eater.com'), (u'DNS', 'ft.com'), (u'DNS', 'i.gse.io'), (u'DNS', 'picmonkey.com'), (u'DNS', 'realself.com'), (u'DNS', 'static.wixstatic.com'), (u'DNS', 'streamable.com'), (u'DNS', 'surfly.com'), (u'DNS', 'theverge.com'), (u'DNS', 'vox-cdn.com'), (u'DNS', 'vox.com'), (u'DNS', 'www.joyent.com')), 'subject': ((('countryName', u'US'),), (('stateOrProvinceName', u'California'),), (('localityName', u'San Francisco'),), (('organizationName', u'Fastly, Inc'),), (('commonName', u'r.ssl.fastly.net'),))}
|
||||
Exception:
|
||||
Traceback (most recent call last):
|
||||
File "/usr/local/lib/python2.6/dist-packages/pip/basecommand.py", line 215, in main
|
||||
status = self.run(options, args)
|
||||
File "/usr/local/lib/python2.6/dist-packages/pip/commands/install.py", line 335, in run
|
||||
wb.build(autobuilding=True)
|
||||
File "/usr/local/lib/python2.6/dist-packages/pip/wheel.py", line 749, in build
|
||||
self.requirement_set.prepare_files(self.finder)
|
||||
File "/usr/local/lib/python2.6/dist-packages/pip/req/req_set.py", line 380, in prepare_files
|
||||
ignore_dependencies=self.ignore_dependencies))
|
||||
File "/usr/local/lib/python2.6/dist-packages/pip/req/req_set.py", line 620, in _prepare_file
|
||||
session=self.session, hashes=hashes)
|
||||
File "/usr/local/lib/python2.6/dist-packages/pip/download.py", line 821, in unpack_url
|
||||
hashes=hashes
|
||||
File "/usr/local/lib/python2.6/dist-packages/pip/download.py", line 659, in unpack_http_url
|
||||
hashes)
|
||||
File "/usr/local/lib/python2.6/dist-packages/pip/download.py", line 853, in _download_http_url
|
||||
stream=True,
|
||||
File "/usr/local/lib/python2.6/dist-packages/pip/_vendor/requests/sessions.py", line 521, in get
|
||||
return self.request('GET', url, **kwargs)
|
||||
File "/usr/local/lib/python2.6/dist-packages/pip/download.py", line 386, in request
|
||||
return super(PipSession, self).request(method, url, *args, **kwargs)
|
||||
File "/usr/local/lib/python2.6/dist-packages/pip/_vendor/requests/sessions.py", line 508, in request
|
||||
resp = self.send(prep, **send_kwargs)
|
||||
File "/usr/local/lib/python2.6/dist-packages/pip/_vendor/requests/sessions.py", line 618, in send
|
||||
r = adapter.send(request, **kwargs)
|
||||
File "/usr/local/lib/python2.6/dist-packages/pip/_vendor/cachecontrol/adapter.py", line 47, in send
|
||||
resp = super(CacheControlAdapter, self).send(request, **kw)
|
||||
File "/usr/local/lib/python2.6/dist-packages/pip/_vendor/requests/adapters.py", line 506, in send
|
||||
raise SSLError(e, request=request)
|
||||
SSLError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Max retries exceeded with url: /packages/ef/ab/aa12712415809bf698e719b307419f953e25344e8f42d557533d7a02b276/netapp_lib-2020.7.16-py2-none-any.whl (Caused by SSLError(CertificateError("hostname 'files.pythonhosted.org' doesn't match either of 'r.ssl.fastly.net', '*.catchpoint.com', '*.cnn.io', '*.dollarshaveclub.com', '*.eater.com', '*.fastly.picmonkey.com', '*.files.saymedia-content.com', '*.ft.com', '*.meetupstatic.com', '*.nfl.com', '*.pagar.me', '*.picmonkey.com', '*.realself.com', '*.sbnation.com', '*.shakr.com', '*.streamable.com', '*.surfly.com', '*.theverge.com', '*.thrillist.com', '*.vox-cdn.com', '*.vox.com', '*.voxmedia.com', 'eater.com', 'ft.com', 'i.gse.io', 'picmonkey.com', 'realself.com', 'static.wixstatic.com', 'streamable.com', 'surfly.com', 'theverge.com', 'vox-cdn.com', 'vox.com', 'www.joyent.com'",),))
|
||||
ERROR: Command "/usr/bin/python2.6 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py install --disable-pip-version-check -r /root/ansible/test/lib/ansible_test/_data/requirements/units.txt -r tests/unit/requirements.txt -c /root/ansible/test/lib/ansible_test/_data/requirements/constraints.txt" returned exit status 2.
|
||||
ERROR: Command "docker exec d47eb360db4ce779c1f690db964655b76e68895c4360ff252c46fe7fe6f5c75a /usr/bin/env ANSIBLE_TEST_CONTENT_ROOT=/root/ansible_collections/netapp/ontap LC_ALL=en_US.UTF-8 /usr/bin/python3.6 /root/ansible/bin/ansible-test units --metadata tests/output/.tmp/metadata-9i2qfrcl.json --truncate 200 --redact --color yes --requirements --python default --requirements-mode only" returned exit status 1.
|
||||
Paste verbatim command output between quotes.
|
||||
value: |
|
||||
```console (paste below)
|
||||
|
||||
```
|
||||
validations:
|
||||
required: true
|
||||
|
||||
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: >
|
||||
*One last thing...*
|
||||
|
||||
|
||||
*Please, complete **all** sections as described, this form
|
||||
is [processed automatically by a robot][ansibot help].*
|
||||
|
||||
|
||||
Thank you for your collaboration!
|
||||
|
||||
|
||||
[ansibot help]:
|
||||
/ansible/ansibullbot/blob/master/ISSUE_HELP.md#for-issue-submitters
|
||||
|
||||
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Code of Conduct
|
||||
description: |
|
||||
Read the [Ansible Code of Conduct][CoC] first.
|
||||
|
||||
[CoC]: https://docs.ansible.com/ansible/latest/community/code_of_conduct.html?utm_medium=github&utm_source=issue_form--bug_report.yml
|
||||
options:
|
||||
- label: I agree to follow the Ansible Code of Conduct
|
||||
required: true
|
||||
...
|
||||
|
||||
148
.github/ISSUE_TEMPLATE/documentation_report.yml
vendored
148
.github/ISSUE_TEMPLATE/documentation_report.yml
vendored
@ -1,51 +1,28 @@
|
||||
---
|
||||
name: 📝 Documentation Report
|
||||
description: Ask us about docs
|
||||
# NOTE: issue body is enabled to allow screenshots
|
||||
issue_body: true # default: true, adds a classic WSYWIG textarea, if on
|
||||
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: >
|
||||
**Thank you for wanting to report a problem with ansible-core
|
||||
documentation!**
|
||||
|
||||
|
||||
Please fill out your suggestions below. If the problem seems
|
||||
straightforward, feel free to go ahead and
|
||||
[submit a pull request] instead!
|
||||
|
||||
|
||||
value: |
|
||||
⚠
|
||||
Verify first that your issue is not [already reported on
|
||||
GitHub][issue search].
|
||||
|
||||
Verify first that your issue is not [already reported on GitHub][issue search].
|
||||
Also test if the latest release and devel branch are affected too.
|
||||
*Complete **all** sections as described, this form is processed automatically.*
|
||||
|
||||
|
||||
**Tip:** If you are seeking community support, please consider
|
||||
[starting a mailing list thread or chatting in IRC][ML||IRC].
|
||||
|
||||
|
||||
[ML||IRC]:
|
||||
https://docs.ansible.com/ansible-core/devel/community/communication.html?utm_medium=github&utm_source=issue_form--documentation_report.yml#mailing-list-information
|
||||
|
||||
[issue search]: ../search?q=is%3Aissue&type=issues
|
||||
|
||||
[submit a pull request]:
|
||||
https://docs.ansible.com/ansible-core/devel/community/documentation_contributions.html
|
||||
[issue search]: https://github.com/ansible/ansible/search?q=is%3Aissue&type=issues
|
||||
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Summary
|
||||
description: >
|
||||
Explain the problem briefly below, add suggestions to wording
|
||||
or structure.
|
||||
description: |
|
||||
Explain the problem briefly below, add suggestions to wording or structure.
|
||||
|
||||
|
||||
**HINT:** Did you know the documentation has a `View on GitHub`
|
||||
link on every page? Feel free to use it to start a pull request
|
||||
right from the GitHub UI!
|
||||
**HINT:** Did you know the documentation has an `Edit on GitHub` link on every page?
|
||||
placeholder: >-
|
||||
I was reading the ansible-core documentation of version X and I'm having
|
||||
problems understanding Y. It would be very helpful if that got
|
||||
@ -56,22 +33,6 @@ body:
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: Issue Type
|
||||
description: >
|
||||
Please select the single available option in the drop-down.
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
<em>Why?</em>
|
||||
</summary>
|
||||
|
||||
We would do it by ourselves but unfortunatelly, the curent
|
||||
edition of GitHub Issue Forms Alpha does not support this yet 🤷
|
||||
|
||||
|
||||
_We will make it easier in the future, once GitHub
|
||||
supports dropdown defaults. Promise!_
|
||||
|
||||
</details>
|
||||
# FIXME: Once GitHub allows defining the default choice, update this
|
||||
options:
|
||||
- Documentation Report
|
||||
@ -81,22 +42,9 @@ body:
|
||||
- type: input
|
||||
attributes:
|
||||
label: Component Name
|
||||
description: >
|
||||
description: >-
|
||||
Write the short name of the rst file, module, plugin, task or
|
||||
feature below, *use your best guess if unsure*.
|
||||
|
||||
|
||||
**Tip:** Be advised that the source for some parts of the
|
||||
documentation are hosted outside of this repository. If the page
|
||||
you are reporting describes modules/plugins/etc that are not
|
||||
officially supported by the Ansible Core Engineering team, there
|
||||
is a good chance that it is coming from one of the [Ansible
|
||||
Collections maintained by the community][collections org]. If this
|
||||
is the case, please make sure to file an issue under the
|
||||
appropriate project there instead.
|
||||
|
||||
|
||||
[collections org]: /ansible-collections
|
||||
placeholder: docs/docsite/rst/dev_guide/debugging.rst
|
||||
validations:
|
||||
required: true
|
||||
@ -105,23 +53,13 @@ body:
|
||||
attributes:
|
||||
label: Ansible Version
|
||||
description: >-
|
||||
Paste verbatim output from `ansible --version` below, under
|
||||
the prompt line. Please don't wrap it with tripple backticks — your
|
||||
whole input will be turned into a code snippet automatically.
|
||||
render: console
|
||||
Paste verbatim output from `ansible --version` between
|
||||
tripple backticks.
|
||||
value: |
|
||||
```console (paste below)
|
||||
$ ansible --version
|
||||
placeholder: |
|
||||
$ ansible --version
|
||||
ansible [core 2.11.0b4.post0] (detached HEAD ref: refs/) last updated 2021/04/02 00:33:35 (GMT +200)
|
||||
config file = None
|
||||
configured module search path = ['~/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
|
||||
ansible python module location = ~/src/github/ansible/ansible/lib/ansible
|
||||
ansible collection location = ~/.ansible/collections:/usr/share/ansible/collections
|
||||
executable location = bin/ansible
|
||||
python version = 3.9.0 (default, Oct 26 2020, 13:08:59) [GCC 10.2.0]
|
||||
jinja version = 2.11.3
|
||||
libyaml = True
|
||||
|
||||
```
|
||||
validations:
|
||||
required: true
|
||||
|
||||
@ -129,18 +67,12 @@ body:
|
||||
attributes:
|
||||
label: Configuration
|
||||
description: >-
|
||||
Paste verbatim output from `ansible-config dump --only-changed`
|
||||
below, under the prompt line.
|
||||
Please don't wrap it with tripple backticks — your
|
||||
whole input will be turned into a code snippet automatically.
|
||||
render: console
|
||||
Paste verbatim output from `ansible-config dump --only-changed` between quotes.
|
||||
value: |
|
||||
```console (paste below)
|
||||
$ ansible-config dump --only-changed
|
||||
placeholder: |
|
||||
$ ansible-config dump --only-changed
|
||||
DEFAULT_GATHERING(~/src/github/ansible/ansible/ansible.cfg) = smart
|
||||
DEFAULT_HOST_LIST(~/src/github/ansible/ansible/ansible.cfg) = ['~/src/github/ansible/ansible/hosts']
|
||||
DEFAULT_VAULT_PASSWORD_FILE(~/src/github/ansible/ansible/ansible.cfg) = ~/src/github/ansible/ansible/vault/print-password.sh
|
||||
|
||||
```
|
||||
validations:
|
||||
required: true
|
||||
|
||||
@ -154,46 +86,12 @@ body:
|
||||
validations:
|
||||
required: true
|
||||
|
||||
|
||||
- type: textarea
|
||||
- type: markdown
|
||||
attributes:
|
||||
label: Additional Information
|
||||
description: |
|
||||
value: |
|
||||
**Additional Information**
|
||||
|
||||
Describe how this improves the documentation, e.g. before/after situation or screenshots.
|
||||
|
||||
**HINT:** You can paste https://gist.github.com links for larger files.
|
||||
placeholder: >-
|
||||
When the improvement is applied, it makes it more straightforward
|
||||
to understand X.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: >
|
||||
*One last thing...*
|
||||
|
||||
|
||||
*Please, complete **all** sections as described, this form
|
||||
is [processed automatically by a robot][ansibot help].*
|
||||
|
||||
|
||||
Thank you for your collaboration!
|
||||
|
||||
|
||||
[ansibot help]:
|
||||
/ansible/ansibullbot/blob/master/ISSUE_HELP.md#for-issue-submitters
|
||||
|
||||
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Code of Conduct
|
||||
description: |
|
||||
Read the [Ansible Code of Conduct][CoC] first.
|
||||
|
||||
[CoC]: https://docs.ansible.com/ansible/latest/community/code_of_conduct.html?utm_medium=github&utm_source=issue_form--documentation_report.yml
|
||||
options:
|
||||
- label: I agree to follow the Ansible Code of Conduct
|
||||
required: true
|
||||
...
|
||||
|
||||
146
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
146
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
@ -1,96 +1,24 @@
|
||||
---
|
||||
name: ✨ Feature request
|
||||
description: Suggest an idea for this project
|
||||
issue_body: false # default: true, adds a classic WSYWIG textarea, if on
|
||||
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: >
|
||||
**Thank you for wanting to suggest a feature for ansible-core!**
|
||||
|
||||
|
||||
|
||||
💡
|
||||
Before you go ahead with your request, please first consider if it
|
||||
would be useful for majority of the ansible-core users. As a
|
||||
general rule of thumb, any feature that is only of interest to a
|
||||
small sub group should be [implemented in a third-party Ansible
|
||||
Collection][contribute to collections] or maybe even just your
|
||||
project alone. Be mindful of the fact that the essential
|
||||
ansible-core features have a broad impact.
|
||||
|
||||
If unsure, consider filing a [new proposal] instead outlining your
|
||||
use-cases, the research and implementation considerations. Then,
|
||||
start a discussion on one of the public [IRC meetings] we have just
|
||||
for this.
|
||||
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
❗ Every change breaks someone's workflow.
|
||||
</summary>
|
||||
|
||||
|
||||
[
|
||||
](https://xkcd.com/1172/)
|
||||
</details>
|
||||
|
||||
|
||||
value: |
|
||||
⚠
|
||||
Verify first that your idea is not [already requested on
|
||||
GitHub][issue search].
|
||||
Verify first that your issue is not [already reported on GitHub][issue search].
|
||||
Also test if the latest release and devel branch are affected too.
|
||||
*Complete **all** sections as described, this form is processed automatically.*
|
||||
|
||||
Also test if the devel branch does not already implement this.
|
||||
|
||||
|
||||
**Tip:** If you are seeking community support, please consider
|
||||
[starting a mailing list thread or chatting in IRC][ML||IRC].
|
||||
|
||||
|
||||
|
||||
[contribute to collections]:
|
||||
https://docs.ansible.com/ansible-core/devel/community/contributing_maintained_collections.html?utm_medium=github&utm_source=issue_form--feature_request.yml
|
||||
|
||||
[IRC meetings]:
|
||||
https://docs.ansible.com/ansible-core/devel/community/communication.html?utm_medium=github&utm_source=issue_form--feature_request.yml#irc-meetings
|
||||
|
||||
[issue search]: ../search?q=is%3Aissue&type=issues
|
||||
|
||||
[ML||IRC]:
|
||||
https://docs.ansible.com/ansible-core/devel/community/communication.html?utm_medium=github&utm_source=issue_form--feature_request.yml#mailing-list-information
|
||||
|
||||
[new proposal]: ../../proposals/issues/new
|
||||
[issue search]: https://github.com/ansible/ansible/search?q=is%3Aissue&type=issues
|
||||
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Summary
|
||||
description: >
|
||||
Describe the new feature/improvement you would like briefly below.
|
||||
|
||||
|
||||
What's the problem this feature will solve?
|
||||
|
||||
What are you trying to do, that you are unable to achieve
|
||||
with ansible-core as it currently stands?
|
||||
|
||||
|
||||
* Provide examples of real-world use cases that this would enable
|
||||
and how it solves the problem you described.
|
||||
|
||||
* How do you solve this now?
|
||||
|
||||
* Have you tried to work around the problem using other tools?
|
||||
|
||||
* Could there be a different approach to solving this issue?
|
||||
|
||||
|
||||
*Know **exactly** what you want?* Consider filing a [new proposal]
|
||||
instead outlining your research and implementation considerations.
|
||||
|
||||
|
||||
[new proposal]: ../../proposals/issues/new
|
||||
description: Describe the new feature/improvement briefly below.
|
||||
placeholder: >-
|
||||
I am trying to do X with ansible-core from the devel branch on GitHub and
|
||||
I think that implementing a feature Y would be very helpful for me and
|
||||
@ -101,22 +29,6 @@ body:
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: Issue Type
|
||||
description: >
|
||||
Please select the single available option in the drop-down.
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
<em>Why?</em>
|
||||
</summary>
|
||||
|
||||
We would do it by ourselves but unfortunatelly, the curent
|
||||
edition of GitHub Issue Forms Alpha does not support this yet 🤷
|
||||
|
||||
|
||||
_We will make it easier in the future, once GitHub
|
||||
supports dropdown defaults. Promise!_
|
||||
|
||||
</details>
|
||||
# FIXME: Once GitHub allows defining the default choice, update this
|
||||
options:
|
||||
- Feature Idea
|
||||
@ -126,19 +38,9 @@ body:
|
||||
- type: input
|
||||
attributes:
|
||||
label: Component Name
|
||||
description: >
|
||||
description: >-
|
||||
Write the short name of the module, plugin, task or feature below,
|
||||
*use your best guess if unsure*.
|
||||
|
||||
|
||||
Be aware that a lot of content that used to reside in this repository
|
||||
previously, is now hosted under [individual collection
|
||||
projects][collections org].
|
||||
If this is the case, please make sure to file an issue under the
|
||||
appropriate project there instead.
|
||||
|
||||
|
||||
[collections org]: /ansible-collections
|
||||
placeholder: dnf, apt, yum, pip, user etc.
|
||||
validations:
|
||||
required: true
|
||||
@ -155,38 +57,6 @@ body:
|
||||
```yaml (paste below)
|
||||
|
||||
```
|
||||
placeholder: >-
|
||||
I asked on https://stackoverflow.com/.... and the community
|
||||
advised me to do X, Y and Z.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: >
|
||||
*One last thing...*
|
||||
|
||||
|
||||
*Please, complete **all** sections as described, this form
|
||||
is [processed automatically by a robot][ansibot help].*
|
||||
|
||||
|
||||
Thank you for your collaboration!
|
||||
|
||||
|
||||
[ansibot help]:
|
||||
/ansible/ansibullbot/blob/master/ISSUE_HELP.md#for-issue-submitters
|
||||
|
||||
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Code of Conduct
|
||||
description: |
|
||||
Read the [Ansible Code of Conduct][CoC] first.
|
||||
|
||||
[CoC]: https://docs.ansible.com/ansible/latest/community/code_of_conduct.html?utm_medium=github&utm_source=issue_form--feature_request.yml
|
||||
options:
|
||||
- label: I agree to follow the Ansible Code of Conduct
|
||||
required: true
|
||||
...
|
||||
|
||||
1
.github/RELEASE_NAMES.yml
vendored
1
.github/RELEASE_NAMES.yml
vendored
@ -1,5 +1,4 @@
|
||||
---
|
||||
- 2.12.0 Dazed and Confused
|
||||
- 2.11.0 Hey Hey, What Can I Do
|
||||
- 2.10.0 When the Levee Breaks
|
||||
- 2.9.0 Immigrant Song
|
||||
|
||||
5
.gitignore
vendored
5
.gitignore
vendored
@ -84,10 +84,7 @@ Vagrantfile
|
||||
/lib/ansible_base.egg-info/
|
||||
# First used in the `devel` branch during Ansible 2.11 development.
|
||||
/lib/ansible_core.egg-info/
|
||||
# vendored lib dir
|
||||
lib/ansible/_vendor/*
|
||||
!lib/ansible/_vendor/__init__.py
|
||||
# test stuff
|
||||
/shippable/
|
||||
/test/integration/cloud-config-*.*
|
||||
!/test/integration/cloud-config-*.*.template
|
||||
.python-version
|
||||
|
||||
@ -24,10 +24,10 @@ recursive-include licenses *.txt
|
||||
recursive-include packaging *
|
||||
recursive-include test/ansible_test *.py Makefile
|
||||
recursive-include test/integration *
|
||||
recursive-include test/lib/ansible_test/config *.yml *.template
|
||||
recursive-include test/lib/ansible_test/_data *.cfg *.ini *.ps1 *.txt *.yml coveragerc
|
||||
recursive-include test/lib/ansible_test/_util *.cfg *.json *.ps1 *.psd1 *.py *.sh *.txt *.yml
|
||||
recursive-include test/lib/ansible_test/_util/controller/sanity/validate-modules validate-modules
|
||||
recursive-include test/lib/ansible_test/config *.template
|
||||
recursive-include test/lib/ansible_test/_data *.cfg *.ini *.json *.ps1 *.psd1 *.py *.sh *.txt *.yml coveragerc inventory
|
||||
recursive-include test/lib/ansible_test/_data/injector ansible ansible-config ansible-connection ansible-console ansible-doc ansible-galaxy ansible-playbook ansible-pull ansible-test ansible-vault pytest
|
||||
recursive-include test/lib/ansible_test/_data/sanity/validate-modules validate-modules
|
||||
recursive-include test/sanity *.json *.py *.txt
|
||||
recursive-include test/support *.py *.ps1 *.psm1 *.cs
|
||||
exclude test/sanity/code-smell/botmeta.*
|
||||
|
||||
3
Makefile
3
Makefile
@ -154,6 +154,7 @@ clean:
|
||||
rm -f ./docs/man/man1/*
|
||||
@echo "Cleaning up output from test runs"
|
||||
rm -rf test/test_data
|
||||
rm -rf shippable/
|
||||
rm -rf logs/
|
||||
rm -rf .cache/
|
||||
rm -f test/units/.coverage*
|
||||
@ -299,7 +300,7 @@ linkcheckdocs:
|
||||
.PHONY: generate_rst
|
||||
generate_rst: lib/ansible/cli/*.py
|
||||
mkdir -p ./docs/man/man1/ ; \
|
||||
$(PYTHON) $(GENERATE_CLI) --template-file=docs/templates/man.j2 --output-dir=docs/man/man1/ --output-format man lib/ansible/cli/*.py
|
||||
$(GENERATE_CLI) --template-file=docs/templates/man.j2 --output-dir=docs/man/man1/ --output-format man lib/ansible/cli/*.py
|
||||
|
||||
|
||||
docs: generate_rst
|
||||
|
||||
@ -7,13 +7,13 @@ Ansible
|
||||
Ansible is a radically simple IT automation system. It handles
|
||||
configuration management, application deployment, cloud provisioning,
|
||||
ad-hoc task execution, network automation, and multi-node orchestration. Ansible makes complex
|
||||
changes like zero-downtime rolling updates with load balancers easy. More information on the Ansible `website <https://ansible.com/>`_.
|
||||
changes like zero-downtime rolling updates with load balancers easy. More information on `the Ansible website <https://ansible.com/>`_.
|
||||
|
||||
Design Principles
|
||||
=================
|
||||
|
||||
* Have an extremely simple setup process with a minimal learning curve.
|
||||
* Manage machines quickly and in parallel.
|
||||
* Have a dead-simple setup process with a minimal learning curve.
|
||||
* Manage machines very quickly and in parallel.
|
||||
* Avoid custom-agents and additional open ports, be agentless by
|
||||
leveraging the existing SSH daemon.
|
||||
* Describe infrastructure in a language that is both machine and human
|
||||
@ -32,6 +32,8 @@ You can install a released version of Ansible with ``pip`` or a package manager.
|
||||
`installation guide <https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html>`_ for details on installing Ansible
|
||||
on a variety of platforms.
|
||||
|
||||
Red Hat offers supported builds of `Ansible Engine <https://www.ansible.com/ansible-engine>`_.
|
||||
|
||||
Power users and developers can run the ``devel`` branch, which has the latest
|
||||
features and fixes, directly. Although it is reasonably stable, you are more likely to encounter
|
||||
breaking changes when running the ``devel`` branch. We recommend getting involved
|
||||
|
||||
@ -1 +1 @@
|
||||
../test/lib/ansible_test/_util/target/cli/ansible_test_cli_stub.py
|
||||
../test/lib/ansible_test/_data/cli/ansible_test_cli_stub.py
|
||||
951
changelogs/CHANGELOG-v2.11.rst
Normal file
951
changelogs/CHANGELOG-v2.11.rst
Normal file
@ -0,0 +1,951 @@
|
||||
========================================================
|
||||
ansible-core 2.11 "Hey Hey, What Can I Do" Release Notes
|
||||
========================================================
|
||||
|
||||
.. contents:: Topics
|
||||
|
||||
|
||||
v2.11.12
|
||||
========
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2022-05-23
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
|
||||
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Prevent losing unsafe on results returned from lookups (https://github.com/ansible/ansible/issues/77535)
|
||||
- plugin loader will now load config data for plugin by name instead of by file to avoid issues with the same file being loaded under different names (fqcn + short name).
|
||||
|
||||
v2.11.11
|
||||
========
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2022-04-25
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
|
||||
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Ansible.ModuleUtils.SID - Use user principal name as is for lookup in the ``Convert-ToSID`` function - https://github.com/ansible/ansible/issues/77316
|
||||
- ansible-test - Update ``rstcheck`` constraint from ``>= 3.3.1`` to ``== 3.3.1`` to avoid breaking changes in newer releases.
|
||||
- winrm - Ensure ``kinit`` is run with the same ``PATH`` env var as the Ansible process
|
||||
|
||||
v2.11.10
|
||||
========
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2022-03-28
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
|
||||
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- AnsiballZ - Ensure we use the full python package in the module cache filename to avoid a case where ``collections:`` is used to execute a module via short name, where the short name duplicates another module from ``ansible.builtin`` or another collection that was executed previously.
|
||||
- Fix collection filter/test plugin redirects (https://github.com/ansible/ansible/issues/77192).
|
||||
- ansible-galaxy collection verify - display files/directories not included in the FILES.json as modified content.
|
||||
- ansible-test - Fix an integration test traceback that occurs when some tests use cloud plugins, but all tests for at least one cloud plugin are skipped. (https://github.com/ansible/ansible/issues/75711)
|
||||
- extend timeout for ansible-galaxy when communicating with the galaxy server api, and apply it to all interactions with the api
|
||||
|
||||
v2.11.9
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2022-02-28
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
|
||||
|
||||
|
||||
Minor Changes
|
||||
-------------
|
||||
|
||||
- ansible-test - Integration and unit tests no longer install ``cryptography`` if it is already installed.
|
||||
- ansible-test - Update the ``galaxy`` test plugin to get its container from a copy on quay.io.
|
||||
- ansible-test - Update the ``openshift`` test plugin to get its container from a copy on quay.io.
|
||||
- junit callback - Add support for replacing the directory portion of out-of-tree relative task paths with a placeholder.
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- ansible-test - Add constraint for ``MarkupSafe < 2.1.0`` on Python 3.6 and later. This avoids installation failures when old ``pip`` or ``setuptools`` packages are present.
|
||||
- ansible-test - Install ``pyopenssl`` when installing ``cryptography`` to make sure a compatible version is used (except for sanity tests).
|
||||
- ansible-test - Replace the directory portion of out-of-tree paths in JUnit files from integration tests with the ``out-of-tree:`` prefix.
|
||||
- ansible-test - Update unit tests to use the ``--forked`` option instead of the deprecated ``--boxed`` option.
|
||||
- ansible-test - Use relative paths in JUnit files generated during integration test runs.
|
||||
- cleaning facts will now only warn about the variable name and not post the content, which can be undesireable to disclose
|
||||
- correctly inherit vars from parent in block (https://github.com/ansible/ansible/issues/75286).
|
||||
- gather_facts action now handles the move of base connection plugin types into collections to add/prevent subset argument correctly
|
||||
- junit callback - Fix traceback during automatic fact gathering when using relative paths.
|
||||
- junit callback - Fix unicode error when handling non-ASCII task paths.
|
||||
- ssh connection now uses more correct host source as play_context can ignore loop/delegation variations.
|
||||
|
||||
v2.11.8
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2022-01-31
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
|
||||
|
||||
|
||||
Minor Changes
|
||||
-------------
|
||||
|
||||
- service_facts now handles more states/statuses from systemd and in a more reliable way (failed, not-found, masked).
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- ansible-galaxy collection build - Ignore any existing ``MANIFEST.json`` and ``FILES.json`` in the root directory when building a collection.
|
||||
- ansible-test - Fix traceback in the ``validate-modules`` sanity test when testing an Ansible module without any callables.
|
||||
- backwards compatiblity copy of doc fragment action_common_attributes
|
||||
- default callback - Ensure we compare FQCN also in lockstep logic, to ensure using the FQCN of a strategy plugin triggers the correct behavior in the default callback plugin. (https://github.com/ansible/ansible/issues/76782)
|
||||
- include_vars, properly initialize variable as there is corner case in which it can end up referenced and not defined
|
||||
- ssh connection - properly quote controlpersist path given by user to avoid issues with spaces and other characters
|
||||
- ssh connection avoid parsing ssh cli debug lines as they can match expected output at high verbosities.
|
||||
- unarchive - Fix zip archive file listing that caused issues with content postprocessing (https://github.com/ansible/ansible/issues/76067).
|
||||
|
||||
v2.11.7
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2021-12-06
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
|
||||
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Ansible.ModuleUtils.LinkUtil - Ignore the ``LIB`` environment variable when loading the ``LinkUtil`` code
|
||||
- ``action_groups`` - Alias short names in collection action groups to FQCR of the owning collection (https://github.com/ansible/ansible/issues/76164)
|
||||
- hostname, fix module example using `strategy` instead of `use`.
|
||||
- set ssh host_key_checking defaults to True, restoring original behaviour (https://github.com/ansible/ansible/issues/75168)
|
||||
- validate_argument_spec - Skip suboption validation if the top level option is an invalid type (https://github.com/ansible/ansible/issues/75612).
|
||||
|
||||
v2.11.6
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2021-10-11
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
|
||||
|
||||
|
||||
Minor Changes
|
||||
-------------
|
||||
|
||||
- ansible-galaxy - Non-HTTP exceptions from Galaxy servers are now a warning and only fatal if the collection to download|install|verify is not available from any of the servers (https://github.com/ansible/ansible/issues/75443).
|
||||
|
||||
Security Fixes
|
||||
--------------
|
||||
|
||||
- Do not include params in exception when a call to ``set_options`` fails. Additionally, block the exception that is returned from being displayed to stdout. (CVE-2021-3620)
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- PowerShell - Ignore the ``LIB`` environment variable when compiling C# Ansible code
|
||||
- ansible-galaxy - Fix handling HTTP exceptions from Galaxy servers. Continue to the next server in the list until the collection is found.
|
||||
- ansible-test pslint - Fix error when encountering validation results that are highly nested - https://github.com/ansible/ansible/issues/74151
|
||||
- config - use ``callbacks_enabled`` instead ``callback_enabled`` in a deprecated message (https://github.com/ansible/ansible/issues/70028).
|
||||
- netconf - catch and handle exception to prevent stack trace when running in FIPS mode
|
||||
- roles - fix unexpected ``AttributeError`` when an empty ``argument_specs.yml`` is present (https://github.com/ansible/ansible/pull/75604).
|
||||
|
||||
v2.11.5
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2021-09-13
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
|
||||
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Fix templating task action with host-specific vars (https://github.com/ansible/ansible/issues/75568)
|
||||
- Since ansible/2.11 doc site was removed, the current relative messages point to a 404 url, this fixes it by chainging the target to ansible-core/2.11
|
||||
- ansible-galaxy - Fix a bug with build_ignore when installing collections from source (https://github.com/ansible/ansible/issues/75528).
|
||||
- ansible-galaxy - Improve error message from dependency resolution when a candidate has inconsistent requirements (https://github.com/ansible/ansible/issues/75139).
|
||||
- ansible-playbook, more robust handling of --list-hosts and undefined vars in hosts keyword.
|
||||
- command module, clarify order of remove/creates checks.
|
||||
- command module, correctly handles chdir to symlinks.
|
||||
- command module, move to standarized messages in 'msg' vs abusing 'stdout'.
|
||||
- command module, now all options work in ad-hoc execution.
|
||||
- command module, now always returns what we documented as 'returns always'.
|
||||
- get_bin_path, clarify with quotes what the missing required executable is.
|
||||
- make previous versions compatible we new attributres w/o implementing them.
|
||||
- paramiko_ssh - mark connection as connected when ``_connect()`` is called (https://github.com/ansible/ansible/issues/74081)
|
||||
- setup module should now not truncate hpux interface names.
|
||||
- validate_argument_spec, correct variable precedence and merge method and add missing examples
|
||||
- variable manager, avoid sourcing delegated variables when no inventory hostname is present. This affects scenarios like syntax check and imports.
|
||||
|
||||
v2.11.4
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2021-08-16
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
|
||||
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Fix ``when`` evaluation on Native Jinja and Python 3.10.
|
||||
- Jinja2 globals should be accessible even when importing a template without the context (https://github.com/ansible/ansible/issues/75371)
|
||||
- ansible-test - add packaging python module to ``ansible-doc`` sanity test requirements.
|
||||
- ansible-test validate-modules - correctly validate positional parameters to ``AnsibleModules`` (https://github.com/ansible/ansible/pull/75332).
|
||||
- cli defaults for ssh args set to None as '' was bypassing normal default.
|
||||
- dnf module - Use all components of a package name to determine if it's installed (https://github.com/ansible/ansible/issues/75311).
|
||||
- do not trigger interpreter discovery in the forced_local module path as they should use the ansible playbook python unless otherwise configured.
|
||||
- find action, correctly convert path to text when warning about skiping.
|
||||
- remote tmpdir permissions - fix type error in macOS chmod ACL fallback (https://github.com/ansible/ansible/pull/74613).
|
||||
- template - ensure Jinja2 overrides from template header are used (https://github.com/ansible/ansible/issues/75275)
|
||||
- unarchive - move failure for missing binary to ``can_handle_archive()`` rather than ``__init__()``
|
||||
|
||||
v2.11.3
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2021-07-19
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
|
||||
|
||||
|
||||
Minor Changes
|
||||
-------------
|
||||
|
||||
- ansible-test - aws creates and exposes a new tiny_prefix variable to provide a shorter prefix for the AWS tests.
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Add unicode support to ``ansible-inventory`` CLI (https://github.com/ansible/ansible/issues/57378)
|
||||
- Ensure we get full path for extra vars into cliargs to avoid realpath issues after initial load.
|
||||
- ansible-doc - in text output, do not show empty ``version_added_collection`` values (https://github.com/ansible/ansible/pull/74999).
|
||||
- ansible-test - restrict ``packaging`` to ``< 21.0`` for Python ``< 3.6`` (https://github.com/ansible/ansible/pull/75186).
|
||||
- command - remove unreachable code path when trying to convert the value for ``chdir`` to bytes (https://github.com/ansible/ansible/pull/75036)
|
||||
- module_common - handle exception when multiple workers try to create the cache directory
|
||||
- roles - make sure argspec validation task templates suboptions (https://github.com/ansible/ansible/issues/75070).
|
||||
- slurp - improve the logic in the error handling and remove ``os.stat()`` call (https://github.com/ansible/ansible/pull/75038)
|
||||
- ssh_connection - rename ``retries`` to ``reconnection_retries`` to avoid conflicts with task vars (https://github.com/ansible/ansible/issues/75142).
|
||||
- ssh_connection - set the default for ``reconnection_retries`` back to ``0`` (https://github.com/ansible/ansible/issues/75142).
|
||||
- task_executor/ssh_connection - use the ``retries`` value from ``ssh_connection`` settings, not the default from the ``Task`` field attributes (https://github.com/ansible/ansible/issues/75142).
|
||||
|
||||
v2.11.2
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2021-06-22
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
|
||||
|
||||
|
||||
Security Fixes
|
||||
--------------
|
||||
|
||||
- templating engine fix for not preserving usnafe status when trying to preserve newlines. CVE-2021-3583
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- AnsibleModule.set_mode_if_different - don't check file existence when check_mode is activated (https://github.com/ansible/ansible/issues/61185).
|
||||
- Apply ``display_failed_stderr`` callback option on loop item results. (https://github.com/ansible/ansible/issues/74864)
|
||||
- Avoid task executor from ending early as vars can come from delegated to host.
|
||||
- ansible-pull - update documentation for ``--directory`` option to clarify path must be absolute.
|
||||
- config, ensure 'quoted' lists from ini or env do not take the quotes literally as part of the list item.
|
||||
- gather_facts, package, service - fix using module_defaults for the modules in addition to the action plugins. (https://github.com/ansible/ansible/issues/72918)
|
||||
- psrp - Always cleanup the last run pipeline if a second pipeline is invoked to avoid violating any resource limits.
|
||||
- psrp - Fix error when resetting a connection that was initialised but not connected - (https://github.com/ansible/ansible/issues/74092).
|
||||
- psrp - Try to clean up any server-side resources when resetting a connection.
|
||||
- roles - make sure argspec validation task is tagged with ``always`` (https://github.com/ansible/ansible/pull/74994).
|
||||
- slurp - Fix error messages for unreadable files and directories (https://github.com/ansible/ansible/issues/67340).
|
||||
- slurp - handle error when ``path`` is a directory and not a file (https://github.com/ansible/ansible/pull/74930).
|
||||
- ssh connection - fix interaction between transfer settings options.
|
||||
- subversion - fix stack trace when getting information about the repository (https://github.com/ansible/ansible/issues/36498)
|
||||
- version test - improve error message when an empty version is provided
|
||||
|
||||
v2.11.1
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2021-05-24
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
|
||||
|
||||
|
||||
Minor Changes
|
||||
-------------
|
||||
|
||||
- ansible adhoc, clarified the help to some options, also added some comments to code.
|
||||
- command - update the user warning message to point out command name (https://github.com/ansible/ansible/pull/74475).
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Add RockyLinux to fact gathering (https://github.com/ansible/ansible/pull/74530).
|
||||
- Improve resilience of ``ansible-galaxy collection`` by increasing the page size to make fewer requests overall and retrying queries with a jittered exponential backoff when rate limiting HTTP codes (520 and 429) occur. (https://github.com/ansible/ansible/issues/74191)
|
||||
- Prevent ``ansible_failed_task`` from further templating (https://github.com/ansible/ansible/issues/74036)
|
||||
- Remove 'default' from ssh plugin as we want to rely on default from ssh itself or ssh/config.
|
||||
- The error message about the failure to import a ``gpg`` key by the ``apt_key`` module was incorrect (https://github.com/ansible/ansible/issues/74423).
|
||||
- ansible-test - Avoid publishing the port used by the ``pypi-test-container`` since it is only accessed by other containers. This avoids issues when trying to run tests in parallel on a single host.
|
||||
- ansible-test - Fix docker container IP address detection. The ``bridge`` network is no longer assumed to be the default.
|
||||
- ansible-test - Use documented API to retrieve build information from Azure Pipelines.
|
||||
- ansible.builtin.cron - Keep non-empty crontabs, when removing cron jobs (https://github.com/ansible/ansible/pull/74497).
|
||||
- ansible.utils.encrypt now handles missing or unusable 'crypt' library.
|
||||
- ansible_test - add constraint for ``MarkupSafe`` (https://github.com/ansible/ansible/pull/74666)
|
||||
- apt_key - Binary GnuPG keys downloaded via URLs were corrupted so GnuPG could not import them (https://github.com/ansible/ansible/issues/74424).
|
||||
- become - fix a regression on Solaris where chmod can return 5 which we interpret as auth failure and stop trying become tmpdir permission fallbacks
|
||||
- become - work around setfacl not existing on modern Solaris (and possibly failing on some filesystems even when it does exist)
|
||||
- callback default, now uses task delegate_to instead of delegate vars to display delegate to host
|
||||
- callbacks, restores missing delegate_vars
|
||||
- correct doc links for become on warnings over world readable settings.
|
||||
- correctly use world readable setting since old constant is not 'settable' anymore.
|
||||
- facts - detect homebrew installed at /opt/homebrew/bin/brew
|
||||
- filter plugins - patch new versions of Jinja2 to prevent warnings/errors on renamed filter decorators (https://github.com/ansible/ansible/issues/74667)
|
||||
- get_url - Fixed checksum validation for binary files (leading asterisk) in checksum files (https://github.com/ansible/ansible/pull/74502).
|
||||
- hostname - Add Rocky Linux support
|
||||
- ini lookup - handle errors for duplicate keys and missing sections (https://github.com/ansible/ansible/issues/74601)
|
||||
- interpreter discovery - Debian 8 and lower will avoid unsupported Python3 version in interpreter discovery
|
||||
- pause - ensure control characters are always set to an appropriate value (https://github.com/ansible/ansible/issues/73264)
|
||||
- playbook loaded from collection subdir now does not ignore subdirs.
|
||||
- plugin config now allows list type options to have multiple valid choices (#74225).
|
||||
- replace - better handling of file operation exceptions (https://github.com/ansible/ansible/pull/74686).
|
||||
- roles - allow for role arg specs in new meta file (https://github.com/ansible/ansible/issues/74525).
|
||||
- service - compare version without LooseVersion API (https://github.com/ansible/ansible/issues/74488).
|
||||
|
||||
v2.11.0
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2021-04-26
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
|
||||
|
||||
|
||||
Major Changes
|
||||
-------------
|
||||
|
||||
- A collection can be reinstalled with new version requirements without using the ``--force`` flag. The collection's dependencies will also be updated if necessary with the new requirements. Use ``--upgrade`` to force transitive dependency updates.
|
||||
- AnsibleModule - use ``ArgumentSpecValidator`` class for validating argument spec and remove private methods related to argument spec validation. Any modules using private methods should now use the ``ArgumentSpecValidator`` class or the appropriate validation function.
|
||||
- Declared ``resolvelib >= 0.5.3, < 0.6.0`` a direct dependency of
|
||||
ansible-core. Refs:
|
||||
- https://github.com/sarugaku/resolvelib
|
||||
- https://pypi.org/p/resolvelib
|
||||
- https://pradyunsg.me/blog/2020/03/27/pip-resolver-testing
|
||||
- It became possible to install Ansible Collections from local folders and namespaces folder similar to SCM structure with multiple collections.
|
||||
- It became possible to upgrade Ansible collections from Galaxy servers using the ``--upgrade`` option with ``ansible-galaxy collection install``.
|
||||
- Support for role argument specification validation at role execution time. When a role contains an argument spec, an implicit validation task is inserted at the start of role execution.
|
||||
- add ``ArgumentSpecValidator`` class for validating parameters against an argument spec outside of ``AnsibleModule`` (https://github.com/ansible/ansible/pull/73335)
|
||||
- ansible-test - Tests run with the ``centos6`` and ``default`` test containers now use a PyPI proxy container to access PyPI when Python 2.6 is used. This allows tests running under Python 2.6 to continue functioning even though PyPI is discontinuing support for non-SNI capable clients.
|
||||
|
||||
Minor Changes
|
||||
-------------
|
||||
|
||||
- Add ``--format`` CLI option to ``ansible-galaxy collection list`` which allows for ``human`` (default), ``yaml``, or ``json``. (https://github.com/ansible/ansible/pull/73474)
|
||||
- Add an example for using var in with_sequence (https://github.com/ansible/ansible/issues/68836).
|
||||
- Add new rolespec_validate option to the import/include_role modules do allow disabling of the implicit role arg validation task on a per-role basis.
|
||||
- Add option to pass extra vars to ansible-inventory
|
||||
- Add path of collection location in Ansible CLI version info.
|
||||
- Add standard Python 2/3 compatibility boilerplate to setup script, module_utils and docs_fragments which were missing them.
|
||||
- Add support for `argument_specs` data in role metadata.
|
||||
- Add support for datetime.date object type in module result (https://github.com/ansible/ansible/issues/70583).
|
||||
- Add which conditional is being evaluated at each step when debugging.
|
||||
- Add yum/dnf version comparison documentation for package install
|
||||
- Added NO_COLOR environment var to ansible color configuration, allowing it to integrate with existing convention.
|
||||
- Added name of aliases in user error (https://github.com/ansible/ansible/issues/58752).
|
||||
- Added support for GSSAPI/Kerberos authentication with ``urls.py`` that is used by ``uri`` and ``get_url``.
|
||||
- Added support for specify custom credentials for GSSAPI authentication.
|
||||
- Allow an attribute to be passed to the min and max filters with Jinja 2.10+
|
||||
- Allow for the skipped filter to be used on a registered looped task results. (https://github.com/ansible/ansible/issues/16949)
|
||||
- Allow inventory plugins access to extra vars by default
|
||||
- Allow unsafe_writes to be set on target via env var, for those targets that need a blanket setting.
|
||||
- Also added extra vars cli option to console CLI.
|
||||
- AnsiballZ - Improve performance of ``ModuleDepFinder`` by using faster lookups and reducing the object types that are walked while looking for ``import`` statements. (https://github.com/ansible/ansible/pull/70475)
|
||||
- CLI - Specify jinja version in ``--version`` output
|
||||
- CLI - Specify whether PyYAML includes libyaml support in version output
|
||||
- CLI version displays clarified as core version
|
||||
- Callbacks - Migrate more places in the ``TaskExecutor`` to sending callbacks directly over the queue, instead of sending them as ``TaskResult`` and short circuiting in the Strategy to send the callback. This enables closer to real time callbacks of retries and loop results (https://github.com/ansible/ansible/issues/73899)
|
||||
- Collection routing: Cisco NSO content from community.network migrated to cisco.nso (https://github.com/ansible/ansible/pull/73046).
|
||||
- Collection routing: DellEMC content from community.general migrated to dellemc.openmanage (https://github.com/ansible/ansible/pull/73046).
|
||||
- Collection routing: FortiOS content from community.network migrated to community.fortios (https://github.com/ansible/ansible/pull/73046).
|
||||
- Collection routing: Google content from community.general migrated to community.google (https://github.com/ansible/ansible/pull/73046).
|
||||
- Collection routing: Hashi Vault content from community.general migrated to community.hashi_vault (https://github.com/ansible/ansible/pull/73046).
|
||||
- Collection routing: Hetzner Robot content from community.general migrated to community.hrobot (https://github.com/ansible/ansible/pull/73046).
|
||||
- Collection routing: KubeVirt content from community.general migrated to community.kubevirt (https://github.com/ansible/ansible/pull/73046).
|
||||
- Collection routing: OC content from community.general migrated to community.okd (https://github.com/ansible/ansible/pull/73046).
|
||||
- Collection routing: PostgreSQL content from community.general migrated to community.postgresql (https://github.com/ansible/ansible/pull/73046).
|
||||
- Collection routing: RouterOS content from community.network migrated to community.routeros (https://github.com/ansible/ansible/pull/73046).
|
||||
- Collection routing: docker content from community.general migrated to community.docker (https://github.com/ansible/ansible/pull/73046).
|
||||
- Controller - Add warning for Ansible 2.11 when running a Python version older than Python 3.8 to inform users that 2.12 will only support Python 3.8 and newer on the controller. Starting with Ansible 2.11, the project will only be packaged for Python 3.8 and newer.
|
||||
- Discourage the use of 'hexdigits' in password lookup, as it distorts expected entropy.
|
||||
- Enable extra vars for inventory plugin options
|
||||
- Errors - Ensure that errors passed with ``orig_exc`` include the context of that exception (https://github.com/ansible/ansible/issues/68605)
|
||||
- Filters - Add new ``split`` filter for splitting strings
|
||||
- Fixed ansible-doc to not substitute for words followed by parenthesis. For instance, ``IBM(International Business Machines)`` will no longer be substituted with a link to a non-existent module. https://github.com/ansible/ansible/pull/71070
|
||||
- Force the template module to use non-native Jinja2 (https://github.com/ansible/ansible/issues/46169)
|
||||
- Internal config entries will not be documented, to mark an entry as internal it must start with `_`.
|
||||
- Interpreter Discovery - Add Python 3.8 and Python 3.9 to the fallback list
|
||||
- Minor code cleanup in plugin loader.
|
||||
- Module API - libselinux-python is no longer required for basic module API selinux operations (affects core modules assemble, blockinfile, copy, cron, file, get_url, lineinfile, setup, replace, unarchive, uri, user, yum_repository)
|
||||
- Module API - new module_respawn API allows modules that need to run under a specific Python interpreter to respawn in place under that interpreter
|
||||
- Module iptables multiport destination support added (https://github.com/ansible/ansible/pull/72928)
|
||||
- Module iptables set/ipset support added (https://github.com/ansible/ansible/pull/72984)
|
||||
- New 'timeout' feature added to adhoc and console CLIs, corresponding to the recent 'timeout' task keyword.
|
||||
- New virtualization facts, ``virtualization_tech_guest`` and ``virtualization_tech_host`` now allow for conveying when a system is a host or guest of multiple virtualization technologies.
|
||||
- Now 'choices' keyword in config definitions also restricts valid values for the entry.
|
||||
- Refactored ``ansible-galaxy collection [download|install|list|verify]`` CLI subcommands with the public interface kept intact.
|
||||
- Restructured _fixup_perms2() in ansible.plugins.action to make it more linear
|
||||
- Shadow prompt input to ansible-vault encrypt-string unless the ``--show-input`` flag is set
|
||||
- Switch to hashlib.sha256() for ansible-test to allow for FIPs mode.
|
||||
- TOML inventory plugin is no longer in preview status
|
||||
- Templar - reduce the complexity of ``Templar._lookup`` (https://github.com/ansible/ansible/pull/73277)
|
||||
- The ``csvfile`` lookup plugin now uses ``parse_kv()`` internally. As a result, multi-word search keys can now be passed.
|
||||
- The ``csvfile`` lookup plugin's documentation has been fixed; it erroneously said that the delimiter could be ``t`` which was never true. We now accept ``\t``, however, and the error in the documentation has been fixed to note that.
|
||||
- The constructed inventory plugin has new option to force using vars plugins on previouslly processed inventory sources.
|
||||
- The find module is now more specific about the reasons it skips candidate files.
|
||||
- The logging functionality in module_utils.basic now returns a nicer error when it falls back to syslog but ends up getting a TypeError thrown back.
|
||||
- The new dependency resolver prefers ``MANIFEST.json`` over ``galaxy.yml`` if it exists in the target directory.
|
||||
- The plugin loader now keeps track of the collection where a plugin was resolved to, in particular whether the plugin was loaded from ansible-core's internal paths (``ansible.builtin``) or from user-supplied paths (no collection name).
|
||||
- Toggle allowing usage of extra_vars in compose
|
||||
- When connecting as an unprivileged user, and becoming an unprivileged user, we now fall back to also trying ``chmod +a`` which works on macOS and makes use of ACLs.
|
||||
- allow tree callback plugin to be configurable, for use with playbooks.
|
||||
- ansible-doc - In Windows setup steps, ``ExecutionPolicy`` should be restored to default value ``RemoteSigned`` (https://github.com/ansible/ansible/pull/72993).
|
||||
- ansible-doc - provide ``has_action`` field in JSON output for modules. That information is currently only available in the text view (https://github.com/ansible/ansible/pull/72359).
|
||||
- ansible-doc has new option to show keyword documentation.
|
||||
- ansible-doc will now format, ``L()``, ``R()``, and ``HORIZONTALLINE`` in plugin docs just as the website docs do. https://github.com/ansible/ansible/pull/71070
|
||||
- ansible-galaxy - Add installation successful message
|
||||
- ansible-galaxy - Added caching mechanisms when retrieving collection info to speed up installs and downloads
|
||||
- ansible-galaxy - Change the output verbosity level of the download message from 3 to 0 (https://github.com/ansible/ansible/issues/70010)
|
||||
- ansible-galaxy - Ensure ``get_collection_versions`` returns an empty list when a collection does not exist for consistency across API versions.
|
||||
- ansible-galaxy - find any collection dependencies in the globally configured Galaxy servers and not just the server the parent collection is from.
|
||||
- ansible-galaxy CLI - ``collection verify`` command now exits with a non-zero exit code on verification failure
|
||||
- ansible-galaxy CLI - ``collection verify`` command now supports a ``--offline`` option for local-only verification
|
||||
- ansible-test - A warning is no longer emitted when a ``pip*`` or ``python*`` binary is found without a matching couterpart.
|
||||
- ansible-test - Add ``macos/10.15`` as a supported value for the ``--remote`` option.
|
||||
- ansible-test - Add a ``--docker-network`` option to choose the network for running containers when using the ``--docker`` option.
|
||||
- ansible-test - Add constraint for ``decorator`` for Python versions prior to 3.5.
|
||||
- ansible-test - Add support for running tests on Fedora 33 (https://github.com/ansible/ansible/pull/72861).
|
||||
- ansible-test - Added Ubuntu 20.04 LTS image to the default completion list
|
||||
- ansible-test - Added a ``--export`` option to the ``ansible-test coverage combine`` command to facilitate multi-stage aggregation of coverage in CI pipelines.
|
||||
- ansible-test - Added the ``-remote rhel/7.9`` option to run tests on RHEL 7.9
|
||||
- ansible-test - Allow custom ``--remote-stage`` options for development and testing.
|
||||
- ansible-test - CentOS 8 container is now 8.2.2004 (https://github.com/ansible/distro-test-containers/pull/45).
|
||||
- ansible-test - Changed the internal name of the custom plugin used to identify use of unwanted imports and functions.
|
||||
- ansible-test - Cleaned up code to resolve warnings and errors reported by PyCharm.
|
||||
- ansible-test - Code cleanup in the ``import`` sanity test.
|
||||
- ansible-test - Code cleanup in the internal logic for code coverage collection of PowerShell modules.
|
||||
- ansible-test - Collections can now specify pip constraints for unit and integration test requirements using ``tests/unit/constraints.txt`` and ``tests/integration/constraints.txt`` respectively.
|
||||
- ansible-test - Containers used with the ``--remote`` option have been updated to version 1.29.0 to include the latest Ansible requirements.
|
||||
- ansible-test - Files used to track remote instances no longer have a region suffix.
|
||||
- ansible-test - Fix ``ansible-test coverage`` reporting sub-commands (``report``, ``html``, ``xml``) on Python 2.6.
|
||||
- ansible-test - Fix container hostname/IP discovery for the ``acme`` test plugin.
|
||||
- ansible-test - FreeBSD 11.4 and 12.2 provisioning can now be used with the ``--python 3.8`` option.
|
||||
- ansible-test - FreeBSD instances provisioned with ``--remote`` now make ``libyaml`` available for use with PyYAML installation.
|
||||
- ansible-test - Generation of an ``egg-info`` directory, if needed, is now done after installing test dependencies and before running tests. When running from an installed version of ``ansible-test`` a temporary directory is used to avoid permissions issues. Previously it was done before installing test dependencies and adjacent to the installed directory.
|
||||
- ansible-test - Implemented CloudStack test container selection by ENV variable `ANSIBLE_CLOUDSTACK_CONTAINER` with a default to `quay.io/ansible/cloudstack-test-container:1.4.0`.
|
||||
- ansible-test - Improved handling of minimum Python version requirements for sanity tests. Supported versions are now included in warning messages displayed when tests are skipped.
|
||||
- ansible-test - More sanity test requirements have been pinned to specific versions to provide consistent test results.
|
||||
- ansible-test - Most sanity test specific ``pip`` constraints are now used only when running sanity tests. This should reduce conflicts with ``pip`` requirements and constraints when testing collections.
|
||||
- ansible-test - Most sanity tests are now skipped on Python 3.5 and earlier with a warning. Previously this was done for Python 2.7 and earlier.
|
||||
- ansible-test - Now supports freebsd/11.4 remote (https://github.com/ansible/ansible/issues/48782).
|
||||
- ansible-test - Now supports freebsd/12.2 remote (https://github.com/ansible/ansible/issues/72366).
|
||||
- ansible-test - OpenSuse container now uses Leap 15.2 (https://github.com/ansible/distro-test-containers/pull/48).
|
||||
- ansible-test - Pin the ``virtualenv`` version used for ``--remote`` pip installs to the latest version supported by Python 2.x, which is version 16.7.10.
|
||||
- ansible-test - Provisioning of RHEL instances now includes installation of pinned versions of ``packaging`` and ``pyparsing`` to match the downstream vendored versions.
|
||||
- ansible-test - RHEL 8.2+ provisioning can now be used with the ``--python 3.8`` option, taking advantage of the Python 3.8 AppStream.
|
||||
- ansible-test - Raise the number of bytes scanned by ansible-test to determine if a file is binary to 4096.
|
||||
- ansible-test - Refactor code for installing ``cryptography`` to allow re-use in the future.
|
||||
- ansible-test - Refactor code to remove unused logic for obsolete support of multiple provisioning endpoints.
|
||||
- ansible-test - Remove ``pytest < 6.0.0`` constraint for managed installations on Python 3.x now that pytest 6 is supported.
|
||||
- ansible-test - Remove em dash from the Pytest configuration file in order to be readable on systems where preferred encoding is ASCII. (https://github.com/ansible/ansible/issues/71739)
|
||||
- ansible-test - Remove outdated ``--docker`` completion entries: fedora30, fedora31, ubuntu1604
|
||||
- ansible-test - Remove outdated ``--remote`` completion entries: freebsd/11.1, freebsd/12.1, osx/10.11, macos/10.15, rhel/7.6, rhel/7.8, rhel/8.1, rhel/8.2
|
||||
- ansible-test - Remove outdated ``--windows`` completion entries: 2008, 2008-R2
|
||||
- ansible-test - Remove the discontinued ``us-east-2`` choice from the ``--remote-aws-region`` option.
|
||||
- ansible-test - Remove unused ``--remote`` completion entry: power/centos/7
|
||||
- ansible-test - Removed ``pip`` constraints related to integration tests that have been moved to collections. This should reduce conflicts with ``pip`` requirements and constraints when testing collections.
|
||||
- ansible-test - Removed the obsolete ``--remote-aws-region`` provisioning option.
|
||||
- ansible-test - Removed the obsolete ``tower`` test plugin for testing Tower modules.
|
||||
- ansible-test - Removed unused provisioning code and cleaned up remote provider management logic.
|
||||
- ansible-test - Rename internal functions to match associated constant names that were previously updated.
|
||||
- ansible-test - Reorganize internal ``pylint`` configuration files for easier comparison and maintenance.
|
||||
- ansible-test - Report the correct line number in the ``yamllint`` sanity test when reporting ``libyaml`` parse errors in module documentation.
|
||||
- ansible-test - Request remote resources by provider name for all provider types.
|
||||
- ansible-test - Show a warning when the obsolete ``--remote-aws-region`` option is used.
|
||||
- ansible-test - Silence ``pip`` warnings about Python 3.5 being EOL when installing requirements.
|
||||
- ansible-test - Support custom remote endpoints with the ``--remote-endpoint`` option.
|
||||
- ansible-test - The ``--remote`` option no longer pre-installs the ``virtualenv`` module on Python 3.x instances. The Python built-in ``venv`` module should be used instead.
|
||||
- ansible-test - The ``default`` container for both collections and core have been updated to versions 2.11.0 and 1.9.0 respectively.
|
||||
- ansible-test - The ``pylint`` sanity test is now skipped with a warning on Python 3.9 due to unresolved upstream regressions.
|
||||
- ansible-test - The ``pylint`` sanity test is now supported on Python 3.8.
|
||||
- ansible-test - The ``rstcheck`` sanity test is no longer used for collections, but continues to be used for ansible-core.
|
||||
- ansible-test - The generated ``resource_prefix`` variable now meets the host name syntax requirements specified in RFC 1123 and RFC 952. The value used for local tests now places the random number before the hostname component, rather than after. If the resulting value is too long, it will be truncated.
|
||||
- ansible-test - Ubuntu containers as well as ``default-test-container`` and ``ansible-base-test-container`` are now slightly smaller due to apt cleanup (https://github.com/ansible/distro-test-containers/pull/46).
|
||||
- ansible-test - Update ``pylint`` and its dependencies to the latest available versions to support Python 3.9.
|
||||
- ansible-test - Update built-in service endpoints for the ``--remote`` option.
|
||||
- ansible-test - Update distribution test containers from version 2.0.1 to 2.0.2.
|
||||
- ansible-test - Update the Ansible Core and Ansible Collection default test containers to 3.2.0 and 3.2.2 respectively.
|
||||
- ansible-test - Updated the default test containers to version 3.1.0.
|
||||
- ansible-test - Upgrade ansible-runner version used in compatibility tests, remove some tasks that were only needed with older versions, and skip in python2 because ansible-runner is soon dropping it.
|
||||
- ansible-test - Use new endpoint for Parallels based instances with the ``--remote`` option.
|
||||
- ansible-test - ``default-test-container`` and ``ansible-base-test-container`` now use Python 3.9.0 instead of 3.9.0rc1.
|
||||
- ansible-test - add https endpoint for ansible-test
|
||||
- ansible-test - add macOS 11.1 as a remote target (https://github.com/ansible/ansible/pull/72622)
|
||||
- ansible-test - add the collection plugin directories ``plugin_utils`` and ``sub_plugins`` to list of plugin types. This ensures such plugins are tested for the ``import`` sanity test (https://github.com/ansible/ansible/pull/73599).
|
||||
- ansible-test - centos6 end of life - container image updated to point to vault base repository (https://github.com/ansible/distro-test-containers/pull/54)
|
||||
- ansible-test - centos6 image now has multiple fallback yum repositories for CentOS Vault.
|
||||
- ansible-test - default container now uses default-test-container 2.7.0 and ansible-base-test-container 1.6.0. This brings in Python 3.9.0rc1 for testing.
|
||||
- ansible-test - now makes a better attempt to support podman when calling ``docker images`` and asking for JSON format.
|
||||
- ansible-test - python-cryptography is now bounded at <3.2, as 3.2 drops support for OpenSSL 1.0.2 upon which some of our CI infrastructure still depends.
|
||||
- ansible-test - remote macOS instances no longer install ``virtualenv`` during provisioning
|
||||
- ansible-test - the ACME test container was updated, it now supports external account creation and has a basic OCSP responder (https://github.com/ansible/ansible/pull/71097, https://github.com/ansible/acme-test-container/releases/tag/2.0.0).
|
||||
- ansible-test - the ``import`` sanity test now also tries to import all non-module and non-module_utils Python files in ``lib/ansible/`` resp. ``plugins/`` (https://github.com/ansible/ansible/pull/72497).
|
||||
- ansible-test - virtualenv helper scripts now prefer ``venv`` on Python 3 over ``virtualenv``
|
||||
- ansible-test Now supports RHEL 8.3
|
||||
- ansible-test pylint - ensure that removal collection version numbers conform to the semantic versioning specification at https://semver.org/ (https://github.com/ansible/ansible/pull/71679).
|
||||
- ansible-test pylint sanity test - stop ignoring ``used-before-assignment`` errors (https://github.com/ansible/ansible/pull/73639).
|
||||
- ansible-test runtime-metadata - compare deprecation and tombstone versions to the current version to ensure that they are correct (https://github.com/ansible/ansible/pull/72625).
|
||||
- ansible-test runtime-metadata - ensure that removal collection version numbers conform to the semantic versioning specification at https://semver.org/ (https://github.com/ansible/ansible/pull/71679).
|
||||
- ansible-test runtime-metadata - ensure that the tombstone removal date is not in the future (https://github.com/ansible/ansible/pull/72625).
|
||||
- ansible-test runtime-metadata - validate removal version numbers, and check removal dates more strictly (https://github.com/ansible/ansible/pull/71679).
|
||||
- ansible-test validate-modules - ensure that removal collection version numbers and version_added collection version numbers conform to the semantic versioning specification at https://semver.org/ (https://github.com/ansible/ansible/pull/71679).
|
||||
- ansible-test validate-modules - no longer assume that ``default`` for ``type=bool`` options is ``false``, as the default is ``none`` and for some modules, ``none`` and ``false`` mean different things (https://github.com/ansible/ansible/issues/69561).
|
||||
- ansible-test validate-modules - option names that seem to indicate they contain secret information that should be marked ``no_log=True`` are now flagged in the validate-modules sanity test. False positives can be marked by explicitly setting ``no_log=False`` for these options in the argument spec. Please note that many false positives are expected; the assumption is that it is by far better to have false positives than false negatives (https://github.com/ansible/ansible/pull/73508).
|
||||
- ansible-test validate-modules - validate removal version numbers (https://github.com/ansible/ansible/pull/71679).
|
||||
- ansible.utils.encrypt now returns `AnsibleError` instead of crypt.crypt's `OSError` on Python 3.9
|
||||
- apt - module now works under any supported Python interpreter
|
||||
- apt_repository - module now works under any supported Python interpreter
|
||||
- callback plugins - ``meta`` tasks now get sent to ``v2_playbook_on_task_start``. Explicit tasks are always sent. Plugins can opt in to receiving implicit ones.
|
||||
- callbacks - Add feature allowing forks to send callback events (https://github.com/ansible/ansible/issues/14681)
|
||||
- conditionals - change the default of CONDITIONAL_BARE_VARS to False (https://github.com/ansible/ansible/issues/70682).
|
||||
- config - more types are now automatically coerced to string when ``type: str`` is used and the value is parsed as a different type
|
||||
- constructed - Add a toggle to allow the separator to be omitted if no prefix has been provided.
|
||||
- constructed inventory plugin - Sanitize group names created from the ``groups`` option silently.
|
||||
- create ``get_type_validator`` standalone function and move that functionality out of ``AnsibleModule`` (https://github.com/ansible/ansible/pull/72667)
|
||||
- create ``get_unsupported_parameters`` validation function (https://github.com/ansible/ansible/pull/72447/files)
|
||||
- debconf - add a note about no_log=True since module might expose sensitive information to logs (https://github.com/ansible/ansible/issues/32386).
|
||||
- default callback - add ``show_task_path_on_failure`` option to display file and line number of tasks only on failed tasks when running at normal verbosity level (https://github.com/ansible/ansible/issues/64625)
|
||||
- default callback - task name is now shown for ``include_tasks`` when using the ``free`` strategy (https://github.com/ansible/ansible/issues/71277).
|
||||
- default callback - task name is now shown for ``include_tasks`` when using the ``linear`` strategy with ``ANSIBLE_DISPLAY_SKIPPED_HOSTS=0``.
|
||||
- default_callback - moving 'check_mode_markers' documentation in default_callback doc_fragment (https://github.com/ansible-collections/community.general/issues/565).
|
||||
- distribution - add facts about Amazon Linux Distribution facts (https://github.com/ansible/ansible/issues/73742).
|
||||
- distribution - add support for DragonFly distribution (https://github.com/ansible/ansible/issues/43739).
|
||||
- distribution - added distribution fact and hostname support for Parrot OS (https://github.com/ansible/ansible/pull/69158).
|
||||
- distribution - handle NetBSD OS Family (https://github.com/ansible/ansible/issues/43739).
|
||||
- distribution facts - ``distribution_release`` is now ``"Stream"`` on CentOS Stream (https://github.com/ansible/ansible/issues/73027).
|
||||
- dnf - Add nobest option (https://github.com/ansible/ansible/issues/69983)
|
||||
- dnf - When ``state: absent``, package names are now matched similarly to how the ``dnf`` CLI matches them (https://github.com/ansible/ansible/issues/72809).
|
||||
- dnf - module now works under any supported Python interpreter
|
||||
- dnf - now shows specific package changes (installations/removals) under ``results`` in check_mode. (https://github.com/ansible/ansible/issues/66132)
|
||||
- facts - ``/dev/kvm`` is now consulted in Linux virtualization facts, and the host is considered a KVM host if this file exists and none of the pre-existing checks matched.
|
||||
- facts - add new fact ``date_time['tz_dst']``, which returns the daylight saving timezone (https://github.com/ansible/ansible/issues/69004).
|
||||
- facts - add uptime to openbsd
|
||||
- find module - Now has a ``read_whole_file`` boolean parameter which allows for reading the whole file and doing an ``re.search()`` regex evaluation on it when searching using the ``contains`` option. This allows (for example) for ensuring the very end of the file matches a pattern.
|
||||
- galaxy - add documentation about galaxy parameters in examples/ansible.cfg (https://github.com/ansible/ansible/issues/68402).
|
||||
- galaxy - handle token as dict while loading from yaml file (https://github.com/ansible/ansible/issues/70887).
|
||||
- get_url - allow checksum urls to point to file:// resources, moving scheme test to function
|
||||
- get_url - handle same SHA sum for checksum file (https://github.com/ansible/ansible/issues/71420).
|
||||
- git - add ``single_branch`` parameter (https://github.com/ansible/ansible/pull/28465)
|
||||
- hash filter - fail when unsupported hash type is passed as an argument (https://github.com/ansible/ansible/issues/70258)
|
||||
- inventory cache - do not show a warning when the cache file does not (yet) exist.
|
||||
- iptables - add a note about ipv6-icmp in protocol parameter (https://github.com/ansible/ansible/issues/70905).
|
||||
- iptables - fixed get_chain_policy API (https://github.com/ansible/ansible/issues/68612).
|
||||
- iptables - reorder comment postition to be at the end (https://github.com/ansible/ansible/issues/71444).
|
||||
- lineinfile - add search_string parameter for non-regexp searching (https://github.com/ansible/ansible/issues/70470)
|
||||
- linux facts - Add additional check to ensure 'container' virtual fact gets added to guest_tech when appropriate (https://github.com/ansible/ansible/pull/71385)
|
||||
- meta - now include a ``skip_reason`` when skipped (https://github.com/ansible/ansible/pull/71355).
|
||||
- module payload builder - module_utils imports in any nested block (eg, ``try``, ``if``) are treated as optional during module payload builds; this allows modules to implement runtime fallback behavior for module_utils that do not exist in older versions of Ansible.
|
||||
- module_utils - ``get_file_attributes()`` now takes an optional ``include_version`` boolean parameter. When ``True`` (default), the file's version/generation number is included in the result (but requires ``lsattr -v`` to work on the target platform).
|
||||
- now !unsafe works on all types of data, not just strings, even recursively for mappings and sequences.
|
||||
- package_facts - module support for apt and rpm now works under any supported Python interpreter
|
||||
- pipe lookup - update docs for Popen with shell=True usages (https://github.com/ansible/ansible/issues/70159).
|
||||
- plugin examples - Allow non-YAML examples, so that examples for plugins like the INI and TOML inventory plugins can be directly represented (https://github.com/ansible/ansible/pull/71184)
|
||||
- plugin option validation - now the option type ``dict``/``dictionary`` is also validated by the config manager (https://github.com/ansible/ansible/pull/71928).
|
||||
- reboot - add ``reboot_command`` parameter to allow specifying the command used to reboot the system (https://github.com/ansible/ansible/issues/51359)
|
||||
- remove ``excommunicate`` debug command from AnsiballZ
|
||||
- selinux - return selinux_getpolicytype facts correctly.
|
||||
- service_facts - return service state information on AIX.
|
||||
- service_facts - return service state information on OpenBSD.
|
||||
- setup - allow list of filters (https://github.com/ansible/ansible/pull/68551).
|
||||
- setup - fix distribution facts for Older Amazon Linux with ``/etc/os-release`` (https://github.com/ansible/ansible/issues/73946).
|
||||
- setup.py - Declare that Python 3.9 is now supported (https://github.com/ansible/ansible/pull/72861).
|
||||
- setup.py - Skip doing conflict checks for ``sdist`` and ``egg_info`` commands (https://github.com/ansible/ansible/pull/71310)
|
||||
- subelements - clarify the lookup plugin documentation for parameter handling (https://github.com/ansible/ansible/issues/38182).
|
||||
- subversion - ``validate_certs`` option, which, when true, will avoid passing ``--trust-server-cert`` to ``svn`` commands (https://github.com/ansible/ansible/issues/22599).
|
||||
- unarchive - Add support for .tar.zst (zstd compression) (https://github.com/ansible/ansible/pull/73265).
|
||||
- unarchive - add ``RETURN`` documentation (https://github.com/ansible/ansible/issues/67445).
|
||||
- unarchive - add ``include`` parameter to allow extracting specific files from an archive (https://github.com/ansible/ansible/pull/40522)
|
||||
- update sphinx to 2.1.2 and rstcheck to 3.3.1 for building documentation.
|
||||
- uri - add ``ca_path`` argument to allow specification of a CA certificate (https://github.com/ansible/ansible/pull/71979).
|
||||
- user - add new parameters ``password_expire_max`` and ``password_expire_min`` for controlling password expiration (https://github.com/ansible/ansible/issues/68775)
|
||||
- varnames lookup plugin - Fixed grammar error in exception message when the plugin is given a non-string term.
|
||||
- vault - Provide better error for single value encrypted values to indicate the file, line, and column of the errant vault (https://github.com/ansible/ansible/issues/72276)
|
||||
- version test - Add semantic version functionality
|
||||
- virtual facts - containerd cgroup is now recognized as container tech (https://github.com/ansible/ansible/issues/66304).
|
||||
- virtualization facts - Detect ``vdsmd`` in addition to ``vdsm`` when trying to detect RHEV hosts. (https://github.com/ansible/ansible/issues/66147)
|
||||
- winrm - Added ``ansible_winrm_kinit_args`` that can be used to control the args that are sent to the ``kinit`` call for Kerberos authentication.
|
||||
- yum - module now works under any supported Python interpreter
|
||||
- yum_repository - added boolean option module_hotfixes which allows to enable functionality for dnf.
|
||||
|
||||
Breaking Changes / Porting Guide
|
||||
--------------------------------
|
||||
|
||||
- Made SCM collections be reinstalled regardless of ``--force`` being present.
|
||||
- NetBSD virtualization facts (specifically ``ansible_virtualization_type``) now returns a more accurate value by checking the value of the ``machdep.hypervisor`` ``sysctl`` key. This change is breaking because in some cases previously, we would erroneously report ``xen`` even when the target is not running on Xen. This prevents that behavior in most cases. (https://github.com/ansible/ansible/issues/69352)
|
||||
- Replaced the in-tree dependency resolver with an external implementation that pip >= 20.3 uses now by default — ``resolvelib``. (https://github.com/ansible/ansible/issues/71784)
|
||||
- The ``meta`` module now supports tags for user-defined tasks. Internal ``meta`` tasks continue to always run. (https://github.com/ansible/ansible/issues/64558)
|
||||
- ansible-galaxy login command has been removed (see https://github.com/ansible/ansible/issues/71560)
|
||||
|
||||
Deprecated Features
|
||||
-------------------
|
||||
|
||||
- Starting in 2.14, shell and command modules will no longer have the option to warn and suggest modules in lieu of commands. The ``warn`` parameter to these modules is now deprecated and defaults to ``False``. Similarly, the ``COMMAND_WARNINGS`` configuration option is also deprecated and defaults to ``False``. These will be removed and their presence will become an error in 2.14.
|
||||
- apt_key - the parameter ``key`` does not have any effect, has been deprecated and will be removed in ansible-core version 2.14 (https://github.com/ansible/ansible/pull/70319).
|
||||
- psrp - Set the minimum version of ``pypsrp`` to ``0.4.0``.
|
||||
|
||||
Removed Features (previously deprecated)
|
||||
----------------------------------------
|
||||
|
||||
- Removed `SharedPluginLoaderObj` class from ansible.plugins.strategy. It was deprecated in favor of using the standard plugin loader.
|
||||
- Removed `_get_item()` alias from callback plugin base class which had been deprecated in favor of `_get_item_label()`.
|
||||
- The "user" parameter was previously deprecated and is now removed in favor of "scope"
|
||||
- The deprecated ``ansible.constants.BECOME_METHODS`` has been removed.
|
||||
- The deprecated ``ansible.constants.get_config()`` has been removed.
|
||||
- The deprecated ``ansible.constants.mk_boolean()`` has been removed.
|
||||
- `with_*` loops are no longer optimized for modules whose `name` parameters can take lists (mostly package managers). Use `name` instead of looping over individual names with `with_items` and friends.
|
||||
|
||||
Security Fixes
|
||||
--------------
|
||||
|
||||
- **security issue** - Mask default and fallback values for ``no_log`` module options (CVE-2021-20228)
|
||||
- **security issue** - copy - Redact the value of the no_log 'content' parameter in the result's invocation.module_args in check mode. Previously when used with check mode and with '-vvv', the module would not censor the content if a change would be made to the destination path. (CVE-2020-14332)
|
||||
- Sanitize no_log values from any response keys that might be returned from the uri module (CVE-2020-14330).
|
||||
- dnf - Previously, regardless of the ``disable_gpg_check`` option, packages were not GPG validated. They are now. (CVE-2020-14365)
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- A handler defined within a role will now search handlers subdir for included tasks (issue https://github.com/ansible/ansible/issues/71222).
|
||||
- ALLOW_WORLD_READABLE_TMP, switched to 'moved' message as 'deprecation' is misleading since config settings still work w/o needing change.
|
||||
- ANSIBLE_COLLECTIONS_PATHS - remove deprecation so that users of Ansible 2.9 and 2.10+ can use the same var when specifying a collection path without a warning.
|
||||
- Added unsafe_writes test.
|
||||
- Address compat with rpmfluff-0.6 for integration tests
|
||||
- Address the deprecation of the use of stdlib distutils in packaging. It's a short-term hotfix for the problem (https://github.com/ansible/ansible/issues/70456, https://github.com/pypa/setuptools/issues/2230, https://github.com/pypa/setuptools/commit/bd110264)
|
||||
- Adjust various hard-coded action names to also include their ``ansible.builtin.`` and ``ansible.legacy.`` prefixed version (https://github.com/ansible/ansible/issues/71817, https://github.com/ansible/ansible/issues/71818, https://github.com/ansible/ansible/pull/71824).
|
||||
- Allow TypeErrors on Undefined variables in filters to be handled or deferred when processing for loops.
|
||||
- Allow `~` to be present in file names in galaxy roles (https://github.com/ansible/ansible/issues/72966)
|
||||
- Always mention the name of the deprecated or tombstoned plugin in routing deprecation/tombstone messages (https://github.com/ansible/ansible/pull/73059).
|
||||
- Ansible output now uses stdout to determine column width instead of stdin
|
||||
- AnsibleModule - added arg ``ignore_invalid_cwd`` to ``AnsibleModule.run_command()``, to control its behaviour when ``cwd`` is invalid. (https://github.com/ansible/ansible/pull/72390)
|
||||
- Apply ``_wrap_native_text`` only for builtin filters specified in STRING_TYPE_FILTERS.
|
||||
- Automatically remove async cache files for polled async tasks that have completed (issue https://github.com/ansible/ansible/issues/73206).
|
||||
- Be smarter about collection paths ending with ansible_collections, emulating a-galaxy behaviour. Issue 72628
|
||||
- CLI - Restore git information in version output when running from source
|
||||
- Collection callbacks were ignoring options and rules for stdout and adhoc cases.
|
||||
- Collections - Ensure ``action_loader.get`` is called with ``collection_list`` to properly find collections when ``collections:`` search is specified (https://github.com/ansible/ansible/issues/72170)
|
||||
- Command module now returns stdout & stderr if executable is missing or an unknown error occurs
|
||||
- ConfigManager - Normalize ConfigParser between Python2 and Python3 to for handling comments (https://github.com/ansible/ansible/issues/73709)
|
||||
- Continue execution when 'flatten' filter when it hits a None/null value as part of the list.
|
||||
- Correct the inventory source error parse handling, specifically make the config INVENTORY_ANY_UNPARSED_IS_FAILED work as expected.
|
||||
- Correctly set template_path and template_fullpath for usage in template lookup and action plugins.
|
||||
- Deal with failures when sorting JSON and you have incompatible key types.
|
||||
- Display - Use wcswidth to calculate printable width of a text string (https://github.com/ansible/ansible/issues/63105)
|
||||
- Enabled unsafe_writes for get_url which was ignoring the paramter.
|
||||
- Ensure Ansible's unique filter preserves order (https://github.com/ansible/ansible/issues/63417)
|
||||
- Ensure if a traceback halts ``strategy.run`` that we still attempt to clean up (https://github.com/ansible/ansible/issues/23958)
|
||||
- Ensure password passed in by -k is used on delegated hosts that do not have ansible_password set
|
||||
- Ensure the correct options are used when ssh executables are used that don't match ssh executable names.
|
||||
- Facts collection - get serial number of NVMe device without sg_inq (https://github.com/ansible/ansible/issues/66663).
|
||||
- Fix --list-tasks format `role_name : task_name` when task name contains the role name. (https://github.com/ansible/ansible/issues/72505)
|
||||
- Fix ``RecursionError`` when templating large vars structures (https://github.com/ansible/ansible/issues/71920)
|
||||
- Fix ``delegate_facts: true`` when ``ansible_python_interpreter`` is not set. (https://github.com/ansible/ansible/issues/70168)
|
||||
- Fix adding unrelated candidate names to the plugin loader redirect list.
|
||||
- Fix an exit code for a non-failing playbook (https://github.com/ansible/ansible/issues/71306)
|
||||
- Fix ansible-galaxy collection list to show collections in site-packages (https://github.com/ansible/ansible/issues/70147)
|
||||
- Fix bytestring vs string comparison in module_utils.basic.is_special_selinux_path() so that special-cased filesystems which don't support SELinux context attributes still allow files to be manipulated on them. (https://github.com/ansible/ansible/issues/70244)
|
||||
- Fix execution of the meta tasks 'clear_facts', 'clear_host_errors', 'end_play', 'end_host', and 'reset_connection' when the CLI flag '--flush-cache' is provided.
|
||||
- Fix fileglob bug where it could return different results for different order of parameters (https://github.com/ansible/ansible/issues/72873).
|
||||
- Fix incorrect msg in the results dict in loops
|
||||
- Fix incorrect re-run of roles with tags (https://github.com/ansible/ansible/issues/69848)
|
||||
- Fix incorrect variable scoping when using ``import with context`` in Jinja2 templates. (https://github.com/ansible/ansible/issues/72615)
|
||||
- Fix jsonfile cache plugin option '_uri' to be a type path instead of a string. (https://github.com/ansible/ansible/issues/38002)
|
||||
- Fix notifying handlers via `role_name : handler_name` when handler name contains the role name. (https://github.com/ansible/ansible/issues/70582)
|
||||
- Fix parsing of values when using empty string as a key (https://github.com/ansible/ansible/issues/57132)
|
||||
- Fix statistics reporting when rescue block contains another block (issue https://github.com/ansible/ansible/issues/61253).
|
||||
- Fix to previous deprecation change (#70504) which caused command warning deprecation to show in all cases, even when not specified by the user.
|
||||
- Fixed TypeError instancemethod expecting at least 2 arguments for apt_repository(issue https://github.com/ansible/ansible/issues/69308, PR https://github.com/ansible/ansible/pull/69463)
|
||||
- Fixed issue when `netstat` is either missing or doesn't have execution permissions leading to incorrect command being executed.
|
||||
- Fixes ``ansible-galaxy role info`` to support multiple roles on the command line (https://github.com/ansible/ansible/pull/70148)
|
||||
- Fixes ansible-test traceback when plugin author is not a string or a list of strings (https://github.com/ansible/ansible/pull/70507)
|
||||
- Handle more varnames that can create conflicts, expand a function in general, handle jinja2 globals in particular (https://github.com/ansible/ansible/issues/41955).
|
||||
- INTERPRETER_PYTHON_DISTRO_MAP - prefer ``/usr/libexec/platform-python`` on ``oraclelinux 8`` when other pythons are present.
|
||||
- Improve Ansible config deprecations to show the source of the deprecation (ansible-core). Also remove space before a comma in config deprecations (https://github.com/ansible/ansible/pull/72697).
|
||||
- Improved/fixed regular expressions in ``validate-modules/validate_modules/schema.py`` and ``utils/collection_loader/_collection_finder.py`` (https://github.com/ansible/ansible/pull/73577).
|
||||
- Includes - Explicitly get the include task, and not assume it is the parent (https://github.com/ansible/ansible/issues/65710)
|
||||
- InventoryManager - Fix unhandled exception when given limit file was actually a directory.
|
||||
- InventoryManager - Fix unhandled exception when inventory directory was empty or contained empty subdirectories (https://github.com/ansible/ansible/issues/73658).
|
||||
- JSON Encoder - Ensure we treat single vault encrypted values as strings (https://github.com/ansible/ansible/issues/70784)
|
||||
- Lookup user by UID in password database if login name is not found (https://github.com/ansible/ansible/issues/17029)
|
||||
- OpenBSD module_utils - update sysctl variable name
|
||||
- Pass expression in angle-bracket notation as filename argument to a ``compile()`` built-in function, so that Python debuggers do not try to parse it as filename.
|
||||
- Pass the connection's timeout to connection plugins instead of the task's timeout.
|
||||
- Provide more information in AnsibleUndefinedVariable (https://github.com/ansible/ansible/issues/55152)
|
||||
- Python module_utils finder - refactor logic to eliminate many corner cases, remove recursion, fix base module_utils redirections
|
||||
- Remove an embedded function from RoleMixin and add tests for it (https://github.com/ansible/ansible/pull/72754).
|
||||
- Remove the warning displayed when validating the arg spec of a role with dependencies and add it to the documentation.
|
||||
- Restore the ability for changed_when/failed_when to function with group_by (#70844).
|
||||
- Restored unsafe_writes functionality which was being skipped.
|
||||
- Restructured pipelining settings to be at the connection plugins leaving base config as global and for backwards compatiblity.
|
||||
- SSH plugin - Improve error message when ssh client is not found on the host
|
||||
- Setup virtualization_facts - add RHV and oVirt type. This change will fully work for VMs in clusters at cluster level 4.4 or newer (https://github.com/ansible/ansible/pull/72876).
|
||||
- Skip invalid collection names when listing in ansible-doc instead of throwing exception. Issue#72257
|
||||
- Skip literal_eval for string filters results in native jinja. (https://github.com/ansible/ansible/issues/70831)
|
||||
- Stop adding the connection variables to the output results
|
||||
- Strategy - When building the task in the Strategy from the Worker, ensure it is properly marked as finalized and squashed. Addresses an issue with ``ansible_failed_task``. (https://github.com/ansible/ansible/issues/57399)
|
||||
- Suppress warning when user directory used in --playbook-dir option with ansible-inventory command (https://github.com/ansible/ansible/issues/65262).
|
||||
- TOML inventory - Ensure we register dump functions for ``AnsibleUnsafe`` to support dumping unsafe values. Note that the TOML format has no functionality to mark that the data is unsafe for re-consumption. (https://github.com/ansible/ansible/issues/71307)
|
||||
- Terminal plugins - add "\e[m" to the list of ANSI sequences stripped from device output
|
||||
- The ``docker`` and ``k8s`` action groups / module default groups now also support the moved modules in `community.docker <https://galaxy.ansible.com/community/docker>`_, `community.kubevirt <https://github.com/ansible-collections/community.kubevirt>`_, `community.okd <https://galaxy.ansible.com/community/okd>`_, and `kubernetes.core <https://galaxy.ansible.com/kubernetes/core>`_ (https://github.com/ansible/ansible/pull/72428).
|
||||
- The ``flush()`` method of ``CachePluginAdjudicator`` now calls the plugin's ``flush()`` method instead of iterating over the keys that the adjudicator knows about and deleting those from the cache. (https://github.com/ansible/ansible/issues/68770)
|
||||
- The `ansible_become` value was not being treated as a boolean value when set in an INI format inventory file (fixes bug https://github.com/ansible/ansible/issues/70476).
|
||||
- The machine-readable changelog ``changelogs/changelog.yaml`` is now contained in the release.
|
||||
- Try to avoid kernel 'blocking' state on reading files while fact gathering.
|
||||
- Updated docs and added warning on max_fail_percentage and free strategy usage. fixes issue 16666.
|
||||
- VariableManager - Add the 'vars' key before getting delegated variables (https://github.com/ansible/ansible/issues/71092).
|
||||
- Vault - Allow single vault encrypted values to be used directly as module parameters. (https://github.com/ansible/ansible/issues/68275)
|
||||
- WorkerProcess - Implement workaround for stdout deadlock in multiprocessing shutdown to avoid process hangs.
|
||||
- WorkerProcess - Python 3.5 fix for workaround for stdout deadlock in multiprocessing shutdown to avoid process hangs. (https://github.com/ansible/ansible/issues/74149)
|
||||
- [set_fact] Corrected and expanded documentation as well as now raise errors that were previously ignored.
|
||||
- account for bug in Python 2.6 that occurs during interpreter shutdown to avoid stack trace
|
||||
- action plugins - change all action/module delegations to use FQ names while allowing overrides (https://github.com/ansible/ansible/issues/69788)
|
||||
- add AlmaLinux to fact gathering (https://github.com/ansible/ansible/pull/73458)
|
||||
- add constraints file for ``ansible_runner`` test since an update to ``psutil`` is now causing test failures
|
||||
- add magic/connection vars updates from delegated host info.
|
||||
- add support for alpine linux 'apk' package manager in package_facts
|
||||
- allow become method 'su' to work on 'local' connection by allocating a fake tty.
|
||||
- ansible-console - Ctrl+C (in a task) abort current task, and put you back on prompt (this behavior doesn't change) (ditto)
|
||||
- ansible-console - Ctrl+C (on prompt) used to exit the shell, unlike most shells, it should just reset the current line (ie. abort it and spawn a new prompt) (https://github.com/ansible/ansible/issues/68529)
|
||||
- ansible-console - Ctrl+D (on prompt) now exit the shell, this is the expected behavior in a shell (cf bash, sh, zsh, ipython, ...) (ditto)
|
||||
- ansible-console - add more documentation, specifically on various commands[1] (https://github.com/ansible/ansible/issues/72195)
|
||||
- ansible-console - fixes few strings' typos
|
||||
- ansible-console - remove useless and poorly formatted comment section (replaced with [1])
|
||||
- ansible-doc - account for an empty ``meta/main.yml`` file when displaying role information (https://github.com/ansible/ansible/pull/73590)
|
||||
- ansible-doc - collection name for plugin top-level deprecation was not inserted when deprecating by version (https://github.com/ansible/ansible/pull/70344).
|
||||
- ansible-doc - improve error message in text formatter when ``description`` is missing for a (sub-)option or a return value or its ``contains`` (https://github.com/ansible/ansible/pull/70046).
|
||||
- ansible-doc - improve man page formatting to avoid problems when YAML anchors are used (https://github.com/ansible/ansible/pull/70045).
|
||||
- ansible-doc - include the collection name in the text output (https://github.com/ansible/ansible/pull/70401).
|
||||
- ansible-doc - plugin option deprecations now also get ``collection_name`` added (https://github.com/ansible/ansible/pull/71735).
|
||||
- ansible-doc - properly show plugin name when ``name:`` is used instead of ``<plugin_type>:`` (https://github.com/ansible/ansible/pull/71966).
|
||||
- ansible-galaxy - Cache the responses for available collection versions after getting all pages. (https://github.com/ansible/ansible/issues/73071)
|
||||
- ansible-galaxy - Instead of assuming the first defined server is galaxy, filter based on the servers that support the v1 API, and return the first of those (https://github.com/ansible/ansible/issues/65440)
|
||||
- ansible-galaxy - Use ``sys.exit`` instead of ``exit`` when reporting an error for the removed login command.
|
||||
- ansible-galaxy - correct ``collections-path`` command line argument (https://github.com/ansible/ansible/issues/73127)
|
||||
- ansible-galaxy - fixed galaxy role init command (https://github.com/ansible/ansible/issues/71977).
|
||||
- ansible-galaxy collection download - fix downloading tar.gz files and collections in git repositories (https://github.com/ansible/ansible/issues/70429)
|
||||
- ansible-galaxy collection install - fix fallback mechanism if the AH server did not have the collection requested - https://github.com/ansible/ansible/issues/70940
|
||||
- ansible-galaxy download - fix bug when downloading a collection in a SCM subdirectory
|
||||
- ansible-pull - Run all playbooks that when multiple are supplied via the command line (https://github.com/ansible/ansible/issues/72708)
|
||||
- ansible-test - Add ``pytest < 6.0.0`` constraint for managed installations on Python 3.x to avoid issues with relative imports.
|
||||
- ansible-test - Add a ``six < 1.14.0`` constraint for Python 2.6.
|
||||
- ansible-test - Always connect additional Docker containers to the network used by the current container (if any).
|
||||
- ansible-test - Always map ``/var/run/docker.sock`` into test containers created by the ``--docker`` option if the docker host is not ``localhost``.
|
||||
- ansible-test - Attempt to detect the Docker hostname instead of assuming ``localhost``.
|
||||
- ansible-test - Avoid using ``/tmp`` to resolve occasional failures starting tests with the ``--docker`` option.
|
||||
- ansible-test - Change classification using ``--changed`` now consistently handles common configuration files for supported CI providers.
|
||||
- ansible-test - Change detection now properly resolves relative imports instead of treating them as absolute imports.
|
||||
- ansible-test - Correctly detect changes in a GitHub pull request when running on Azure Pipelines.
|
||||
- ansible-test - Correctly detect running in a Docker container on Azure Pipelines.
|
||||
- ansible-test - Do not try to validate PowerShell modules ``setup.ps1``, ``slurp.ps1``, and ``async_status.ps1``
|
||||
- ansible-test - Prefer container IP at ``.NetworkSettings.Networks.{NetworkName}.IPAddress`` over ``.NetworkSettings.IPAddress``.
|
||||
- ansible-test - Running tests using an installed version of ``ansible-test`` against one Python version from another no longer fails due to a missing ``egg-info`` directory. This could occur when testing plugins which import ``pkg_resources``.
|
||||
- ansible-test - Running tests using an installed version of ``ansible-test`` no longer generates an error attempting to create an ``egg-info`` directory when an existing one is not found in the expected location. This could occur if the existing ``egg-info`` directory included a Python version specifier in the name.
|
||||
- ansible-test - Skip installing requirements if they are already installed.
|
||||
- ansible-test - Symbolic links are no longer used to inject ``python`` into the environment, since they do not work reliably in all cases. Instead, the existing Python based exec wrapper is always used.
|
||||
- ansible-test - Temporarily limit ``cryptography`` to versions before 3.4 to enable tests to function.
|
||||
- ansible-test - The ``--export`` option for ``ansible-test coverage`` is now limited to the ``combine`` command. It was previously available for reporting commands on which it had no effect.
|
||||
- ansible-test - The ``--raw`` option for ``ansible-test shell --remote`` now uses ``sh`` for the shell instead of ``bash``, which may not be present.
|
||||
- ansible-test - The ``--remote`` option has been updated for Python 2.7 to work around breaking changes in the newly released ``get-pip.py`` bootstrapper.
|
||||
- ansible-test - The ``--remote`` option has been updated to use a versioned ``get-pip.py`` bootstrapper to avoid issues with future releases.
|
||||
- ansible-test - The ``ansible-doc`` sanity test now works for ``netconf`` plugins.
|
||||
- ansible-test - The ``ansible-test coverage combine`` option ``--export`` now exports relative paths. This avoids loss of coverage data when aggregating across systems with different absolute paths. Paths will be converted back to absolute when generating reports.
|
||||
- ansible-test - The ``changelog`` sanity test has been updated to ensure ``rstcheck`` does not load the ``sphinx`` module.
|
||||
- ansible-test - The ``cs`` and ``openshift`` test plugins now search for containers on the current network instead of assuming the ``bridge`` network.
|
||||
- ansible-test - The ``resource_prefix`` variable provided to tests running on Azure Pipelines is now converted to lowercase to match other CI providers.
|
||||
- ansible-test - Unified SSH key management for all instances created with the ``--remote`` or ``--docker`` options.
|
||||
- ansible-test - Using the ``--remote`` option on Azure Pipelines now works from a job running in a container.
|
||||
- ansible-test - ``cryptography`` is now limited to versions prior to 3.2 only when an incompatible OpenSSL version (earlier than 1.1.0) is detected
|
||||
- ansible-test - add constraint for ``cffi`` to prevent failure on systems with older versions of ``gcc`` (https://foss.heptapod.net/pypy/cffi/-/issues/480)
|
||||
- ansible-test - convert target paths to unicode on Python 2 to avoid ``UnicodeDecodeError`` (https://github.com/ansible/ansible/issues/68398, https://github.com/ansible/ansible/pull/72623).
|
||||
- ansible-test - ensure the correct unit test target is given when the ``__init__.py`` file is modified inside the connection plugins directory
|
||||
- ansible-test - ensure unit test paths for connection and inventory plugins are correctly identified for collections (https://github.com/ansible/ansible/issues/73876).
|
||||
- ansible-test - improve classification of changes to ``.gitignore``, ``COPYING``, ``LICENSE``, ``Makefile``, and all files ending with one of ``.in`, ``.md`, ``.rst``, ``.toml``, ``.txt`` in the collection root directory (https://github.com/ansible/ansible/pull/72353).
|
||||
- ansible-test - integration and unit test change detection now works for filter, lookup and test plugins
|
||||
- ansible-test now always uses the ``--python`` option for ``virtualenv`` to select the correct interpreter when creating environments with the ``--venv`` option
|
||||
- ansible-test sanity changelog test - bump dependency on antsibull-changelog to 0.9.0 so that `fragments that add new plugins or objects <https://github.com/ansible-community/antsibull-changelog/blob/main/docs/changelogs.rst#adding-new-roles-playbooks-test-and-filter-plugins>`_ will not fail validation (https://github.com/ansible/ansible/pull/73428).
|
||||
- ansible-test units - fixed collection location code to work under pytest >= 6.0.0
|
||||
- ansible-test validate-modules - ``version_added`` on module level was not validated for modules in collections (https://github.com/ansible/ansible/pull/70869).
|
||||
- ansible-test validate-modules - return correct error codes ``option-invalid-version-added`` resp. ``return-invalid-version-added`` instead of the wrong error ``deprecation-either-date-or-version`` when an invalid value of ``version_added`` is specified for an option or a return value (https://github.com/ansible/ansible/pull/70869).
|
||||
- ansible-test validate-modules - when a module uses ``add_file_common_args=True`` and does not use a keyword argument for ``argument_spec`` in ``AnsibleModule()``, the common file arguments were not considered added during validation (https://github.com/ansible/ansible/pull/72334).
|
||||
- ansible_pkg_mgr fact - now correctly returns ``atomic_container`` when run on "RHEL for Edge" images and Fedora/RHEL/CentOS Atomic Host (https://github.com/ansible/ansible/issues/73084).
|
||||
- api - time.clock is removed in Python 3.8, add backward compatible code (https://github.com/ansible/ansible/issues/70649).
|
||||
- apt - add ``fail_on_autoremove`` param to apt module to avoid unintended package removals (https://github.com/ansible/ansible/issues/63231)
|
||||
- apt - fix policy_rc_d parameter throwing an exception when restoring original file (https://github.com/ansible/ansible/issues/66211)
|
||||
- apt - include exception message from apt python library in error output
|
||||
- apt_key - Specifying ``file`` as mutually exclusive with ``data``, ``keyserver``, ``url`` (https://github.com/ansible/ansible/pull/70492).
|
||||
- apt_repository - fixes ``mode`` doc to remove ineffective default (https://github.com/ansible/ansible/pull/70319).
|
||||
- argument spec validation - fix behavior of ``apply_defaults=True`` when an empty dictionary is specified for such an option (https://github.com/ansible/ansible/pull/74029).
|
||||
- assemble - fix decrypt argument in the module (https://github.com/ansible/ansible/issues/65450).
|
||||
- async - Fix Python 3 interpreter parsing from module by comparing with bytes (https://github.com/ansible/ansible/issues/70690)
|
||||
- async_wrapper - Fix race condition when ``~/.ansible_async`` folder tries to be created by multiple async tasks at the same time - https://github.com/ansible/ansible/issues/59306
|
||||
- avoid possible errors accessing os.environ by not assuming existance of variables.
|
||||
- basic - handle exceptions for default selectors in Python 2.7 (https://github.com/ansible/ansible/issues/71704).
|
||||
- basic - use PollSelector implementation when DefaultSelector fails (https://github.com/ansible/ansible/issues/70238).
|
||||
- bcrypt hashing - Ensure we repair the salt, to avoid warnings (https://github.com/ansible/ansible/issues/36129)
|
||||
- blockinfile - properly insert a block at the end of a file that does not have a trailing newline character (https://github.com/ansible/ansible/issues/72055)
|
||||
- blockinfile now returns name of backup file when this option is used.
|
||||
- clarified changed status to reflect existing rule that had never been written down.
|
||||
- collection loader - fix bogus code coverage entries for synthetic packages
|
||||
- collection metadata - ensure collection loader uses libyaml/CSafeLoader to parse collection metadata if available
|
||||
- connection/ssh, ensure parameters come from correct source get_option, so functionality matches docs.
|
||||
- connection/ssh, fix reset to use same parameters to check if socket exists as actually used, was hardcoded to default string construction previouslly.
|
||||
- cron - cron file should not be empty after adding var (https://github.com/ansible/ansible/pull/71207)
|
||||
- cron - encode and decode crontab files in UTF-8 explicitly to allow non-ascii chars in cron filepath and job (https://github.com/ansible/ansible/issues/69492)
|
||||
- debug action, prevent setting facts when displaying ansible_facts.
|
||||
- default callback - Ensure that the ``host_pinned`` strategy is not treated as lockstep (https://github.com/ansible/ansible/issues/73364)
|
||||
- delegate_to - Ensure that calculating ``delegate_to`` vars with a loop uses the correct context to correctly evaluate the loop (https://github.com/ansible/ansible/issues/37132)
|
||||
- display correct error information when an error exists in the last line of the file (https://github.com/ansible/ansible/issues/16456)
|
||||
- distribution - add support for Pardus Linux distribution (https://github.com/ansible/ansible/issues/71636).
|
||||
- distribution facts - Allow ``distribution_major_version`` and ``distribution_version`` to work for RC and PRERELEASE versions of FreeBSD (and derived distributions) (https://github.com/ansible/ansible/issues/72331).
|
||||
- dnf - fix filtering to avoid dependncy conflicts (https://github.com/ansible/ansible/issues/72316)
|
||||
- dnf - it is now possible to specify both ``security: true`` and ``bugfix: true`` to install updates of both types. Previously, only security would get installed if both were true. (https://github.com/ansible/ansible/issues/70854)
|
||||
- ensure 'local' connection always has the correct default user for actions to consume.
|
||||
- ensure delegated vars can resolve hostvars object and access vars from hostvars[inventory_hostname].
|
||||
- ensure find_mount_point consistently returns text.
|
||||
- ensure we don't clobber role vars data when getting an empty file
|
||||
- expect - Operate pexpect with bytes to avoid potential encoding issues (https://github.com/ansible/ansible/issues/29351)
|
||||
- facts - account for Slackware OS with ``+`` in the name (https://github.com/ansible/ansible/issues/38760)
|
||||
- facts - fix distribution fact for SLES4SAP (https://github.com/ansible/ansible/pull/71559).
|
||||
- facts - fix incorrect UTC timestamp in ``iso8601_micro`` and ``iso8601``
|
||||
- facts - properly report virtualization facts for Linux guests running on bhyve (https://github.com/ansible/ansible/issues/73167)
|
||||
- file - prevent link src from being rewritten when src is not specified explicitly (https://github.com/ansible/ansible/issues/65448)
|
||||
- file - the module should warn in check_mode when path an owner/group don't exist (https://github.com/ansible/ansible/issues/67307).
|
||||
- find module - Don't treat empty excludes as a match (https://github.com/ansible/ansible/issues/70640)
|
||||
- find module - Stop traversing directories past the requested depth. (https://github.com/ansible/ansible/issues/73627)
|
||||
- find module, fix default pattern when use_regex is true.
|
||||
- fix issue with inventory_hostname and delegated host vars mixing on connection settings.
|
||||
- fortimanager httpapi plugin - fix redirect to point to the ``fortinet.fortimanager`` collection (https://github.com/ansible/ansible/pull/71073).
|
||||
- galaxy - handle plus sign in user token appearing in role url (https://github.com/ansible/ansible/issues/45475).
|
||||
- get_sysctl now handles multiline values and does not die silently anymore.
|
||||
- get_url - skip checksum during ``--check`` (https://github.com/ansible/ansible/issues/61369).
|
||||
- git - Only pass ``--raw`` flag to git verify commands (verify-tag, verify-commit) when ``gpg_whitelist`` is in use. Otherwise don't pass it so that non-whitelist GPG validation still works on older Git versions. (https://github.com/ansible/ansible/issues/64469)
|
||||
- gluster modules - fix redirect to point to the ``gluster.gluster`` collection (https://github.com/ansible/ansible/pull/71240).
|
||||
- hostname - Fixed an issue where the hostname on the alinux could not be set.
|
||||
- hostname - add Almalinux support (https://github.com/ansible/ansible/pull/73619)
|
||||
- hostname - add macOS support (https://github.com/ansible/ansible/pull/54439)
|
||||
- if the ``type`` for a module parameter in the argument spec is callable, do not pass ``kwargs`` to avoid errors (https://github.com/ansible/ansible/issues/70017)
|
||||
- import_playbook - change warning about extra parameters to deprecation (https://github.com/ansible/ansible/issues/72745)
|
||||
- improve deprecation message when using bare variable (https://github.com/ansible/ansible/pull/70687)
|
||||
- inventory - pass the vars dictionary to combine_vars instead of an individual key's value (https://github.com/ansible/ansible/issues/72975).
|
||||
- inventory plugins - Let plugins define the sanitization method for the constructed ``groups`` feature.
|
||||
- inventory_hostnames - Use ``InventoryManager`` instead of trying to replicate its behavior (https://github.com/ansible/ansible/issues/17268)
|
||||
- is_string/vault - Ensure the is_string helper properly identifies AnsibleVaultEncryptedUnicode as a string (https://github.com/ansible/ansible/pull/71609)
|
||||
- j2 plugin loader clarified comments, made note with better fqcn detection.
|
||||
- lineinfile - fix not subscriptable error in exception handling around file creation
|
||||
- linux network facts - get the correct value for broadcast address (https://github.com/ansible/ansible/issues/64384)
|
||||
- native jinja2 types - properly handle Undefined in nested data.
|
||||
- notify keyword is not ignored anymore on import_tasks, also able to apply to blocks now.
|
||||
- package - use list of built in package managers from facts rather than creating a new list
|
||||
- paramiko connection plugin - Ensure we only reset the connection when one has been previously established (https://github.com/ansible/ansible/issues/65812)
|
||||
- password hashing - Ensure we validate salts against allowed characters and length when using ``crypt`` (https://github.com/ansible/ansible/issues/71107)
|
||||
- password lookup - Try to automatically generate salts using known salt sizes (https://github.com/ansible/ansible/issues/53750)
|
||||
- pause - Fix indefinite hang when using a pause task on a background process (https://github.com/ansible/ansible/issues/32142)
|
||||
- pause - catch additional error on setting up curses (https://github.com/ansible/ansible/pull/73588).
|
||||
- pause - do not accept enter to continue when a timeout is set (https://github.com/ansible/ansible/issues/73948)
|
||||
- pause - do not warn when running in the background if a timeout is provided (https://github.com/ansible/ansible/issues/73042)
|
||||
- pause - handle exception when there is no stdout (https://github.com/ansible/ansible/pull/47851)
|
||||
- powershell - fix escaping of strings that broken modules like fetch when dealing with special chars - https://github.com/ansible/ansible/issues/62781
|
||||
- powershell - fix the CLIXML parser when it contains nested CLIXML objects - https://github.com/ansible/ansible/issues/69550
|
||||
- powershell - remove getting the PowerShell version from the env var ``POWERSHELL_VERSION``. This feature never worked properly and can cause conflicts with other libraries that use this var
|
||||
- psrp - Fix hang when copying an empty file to the remote target
|
||||
- psrp - Use native PSRP mechanism when copying files to support custom endpoints
|
||||
- quote filter - normalize how ``None`` is handled, to match Python3 behavior (https://github.com/ansible/ansible/issues/32174)
|
||||
- reboot - Add support for the runit init system, used on Void Linux, that does not support the normal Linux syntax.
|
||||
- remove contradictory recomendation from template docs. https://github.com/ansible/ansible/issues/63484
|
||||
- remove redundant remote_user setting in play_context for local as plugin already does it, also removes fork/thread issue from use of pwd library.
|
||||
- reset logging level to INFO due to CVE-2019-14846.
|
||||
- restrict module valid JSON parsed output to objects as lists are not valid responses.
|
||||
- runas - create a new token when running as ``SYSTEM`` to ensure it has the full privileges assigned to that account
|
||||
- service - Fix for the BSD rcconf code using a Python 2 specific string replace function
|
||||
- set_mode_if_different - handle symlink if it is inside a directory with sticky bit set (https://github.com/ansible/ansible/pull/45198)
|
||||
- setup module, fix error handling on bad subset given
|
||||
- setup, don't give up on all local facts gathering if one script file fails.
|
||||
- several fixes to make apt_key better at identifying needs for change and also to avoid changes in check_mode.
|
||||
- shell - fix quoting of mkdir command in creation of remote_tmp in order to allow spaces and other special characters (https://github.com/ansible/ansible/issues/69577).
|
||||
- splunk httpapi plugin - switch from splunk.enterprise_security to splunk.es in runtime.yml to reflect upstream change of Collection Name
|
||||
- ssh connection plugin - use ``get_option()`` rather than ``_play_context`` to ensure ``ANSBILE_SSH_ARGS`` are applied properly (https://github.com/ansible/ansible/issues/70437)
|
||||
- stat - handle colons in filename while parsing the mimetype output (https://github.com/ansible/ansible/issues/70256).
|
||||
- strftime filter - Input epoch is allowed to be a float (https://github.com/ansible/ansible/issues/71257)
|
||||
- su become plugin, ensure correct type for localization option.
|
||||
- systemd - account for templated unit files using ``@`` when searching for the unit file (https://github.com/ansible/ansible/pull/72347#issuecomment-730626228)
|
||||
- systemd - fixed chroot usage on new versions of systemd, that broke because of upstream changes in systemctl output
|
||||
- systemd - follow up fix to https://github.com/ansible/ansible/issues/72338 to use ``list-unit-files`` rather than ``list-units`` in order to show all units files on the system.
|
||||
- systemd - made the systemd module work correctly when the SYSTEMD_OFFLINE environment variable is set
|
||||
- systemd - preserve the full unit name when using a templated service and ``systemd`` failed to parse dbus due to a known bug in ``systemd`` (https://github.com/ansible/ansible/pull/72985)
|
||||
- systemd - work around bug with ``systemd`` 245 and 5.8 kernel that does not correctly report service state (https://github.com/ansible/ansible/issues/71528)
|
||||
- task parsing - strip spaces from action name when using ``action: foo bar=baz`` form. (https://github.com/ansible/ansible/issues/62136)
|
||||
- templating - fix error message for ``x in y`` when y is undefined (https://github.com/ansible/ansible/issues/70984)
|
||||
- the unvault lookup plugin returned a byte string. Now returns a real string.
|
||||
- to_text(stdout) before json.loads in psrp.Connection.put_file in case stdout is bytes
|
||||
- unarchive - ``zip`` unarchive no longer errors on RHEL/CentOS 6 and old Fedora when attempting to use a numeric gid (https://github.com/ansible/ansible/issues/71903).
|
||||
- unarchive - check ``fut_gid`` against ``run_gid`` in addition to supplemental groups (https://github.com/ansible/ansible/issues/49284)
|
||||
- undeprecate hash_merge setting and add more docs clarifying its use and why not to use it.
|
||||
- uri - ``status_code`` elements are type ``int``
|
||||
- url lookup - make sure that options supplied in ansible.cfg are actually used (https://github.com/ansible/ansible/pull/71736).
|
||||
- url lookup - set default user agent to ``ansible-httpget`` (https://github.com/ansible/ansible/pull/72324)
|
||||
- urls - Close filedescriptor of certificate chain tempfile to prevent stale filedescriptor leakage (https://github.com/ansible/ansible/pull/71825).
|
||||
- user - AnsibleModule.run_command returns a tuple of return code, stdout and stderr. The module main function of the user module expects user.create_user to return a tuple of return code, stdout and stderr. Fix the locations where stdout and stderr got reversed.
|
||||
- user - Local users with an expiry date cannot be created as the ``luseradd`` / ``lusermod`` commands do not support the ``-e`` option. Set the expiry time in this case via ``lchage`` after the user was created / modified. (https://github.com/ansible/ansible/issues/71942)
|
||||
- user - do the right thing when ``password_lock=True`` and ``password`` are used together (https://github.com/ansible/ansible/issues/72992)
|
||||
- user - don't create home directory and missing parents when create_home == false (https://github.com/ansible/ansible/pull/70600).
|
||||
- validate-modules - do not raise an ``AttributeError`` if a value is assigned to a module attribute in a try/except block.
|
||||
- vault - Support reading raw binary data from stdin under python3
|
||||
- virtual facts - kubevirt is now identified as "KubeVirt" and with a "guest" role instead of "kvm" and "host" role (https://github.com/ansible/ansible/issues/72001).
|
||||
- wait_for - catch and ignore errors when getting active connections with psutil (https://github.com/ansible/ansible/issues/72322)
|
||||
- wait_for module, move missing socket into function to get proper comparrison in time.
|
||||
- win setup - Fix redirection path for the windows setup module
|
||||
- windows async - use full path when calling PowerShell to reduce reliance on environment vars being correct - https://github.com/ansible/ansible/issues/70655
|
||||
- winrm - preserve winrm forensic data on put_file failures
|
||||
- yamllint - do not raise an ``AttributeError`` if a value is assigned to a module attribute at the top of the module.
|
||||
|
||||
Known Issues
|
||||
------------
|
||||
|
||||
- ansible-test - The ``pylint`` sanity test no longer correctly detects "bad" variable names for non-constants. See https://github.com/PyCQA/pylint/issues/3701 for additional details.
|
||||
|
||||
New Modules
|
||||
-----------
|
||||
|
||||
- validate_argument_spec - Validate role argument specs.
|
||||
@ -1,757 +0,0 @@
|
||||
====================================================
|
||||
ansible-core 2.12 "Dazed and Confused" Release Notes
|
||||
====================================================
|
||||
|
||||
.. contents:: Topics
|
||||
|
||||
|
||||
v2.12.10
|
||||
========
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2022-10-10
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
|
||||
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- paramiko - Add back support for ``ssh_args``, ``ssh_common_args``, and ``ssh_extra_args`` for parsing the ``ProxyCommand`` (https://github.com/ansible/ansible/issues/78750)
|
||||
|
||||
v2.12.9
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2022-09-12
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
|
||||
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Fix for network_cli not getting all relevant connection options
|
||||
|
||||
v2.12.8
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2022-08-15
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
|
||||
|
||||
|
||||
Minor Changes
|
||||
-------------
|
||||
|
||||
- ansible-test - An improved error message is shown when the download of a pip bootstrap script fails. The download now uses ``urllib2`` instead of ``urllib`` on Python 2.
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- ansible-connection - decrypt vaulted parameters before sending over the socket, as vault secrets are not available on the other side.
|
||||
- ansible-galaxy - fix setting the cache for paginated responses from Galaxy NG/AH (https://github.com/ansible/ansible/issues/77911).
|
||||
- ansible-test - Delegation now properly handles arguments given after ``--`` on the command line.
|
||||
- file backed cache plugins now handle concurrent access by making atomic updates to the files.
|
||||
|
||||
v2.12.7
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2022-06-20
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
|
||||
|
||||
|
||||
Minor Changes
|
||||
-------------
|
||||
|
||||
- Add an 'action_plugin' field for modules in runtime.yml plugin_routing.
|
||||
|
||||
This fixes module_defaults by supporting modules-as-redirected-actions
|
||||
without redirecting module_defaults entries to the common action.
|
||||
|
||||
.. code: yaml
|
||||
|
||||
plugin_routing:
|
||||
action:
|
||||
facts:
|
||||
redirect: ns.coll.eos
|
||||
command:
|
||||
redirect: ns.coll.eos
|
||||
modules:
|
||||
facts:
|
||||
redirect: ns.coll.eos_facts
|
||||
command:
|
||||
redirect: ns.coll.eos_command
|
||||
|
||||
With the runtime.yml above for ns.coll, a task such as
|
||||
|
||||
.. code: yaml
|
||||
|
||||
- hosts: all
|
||||
module_defaults:
|
||||
ns.coll.eos_facts: {'valid_for_eos_facts': 'value'}
|
||||
ns.coll.eos_command: {'not_valid_for_eos_facts': 'value'}
|
||||
tasks:
|
||||
- ns.coll.facts:
|
||||
|
||||
will end up with defaults for eos_facts and eos_command
|
||||
since both modules redirect to the same action.
|
||||
|
||||
To select an action plugin for a module without merging
|
||||
module_defaults, define an action_plugin field for the resolved
|
||||
module in the runtime.yml.
|
||||
|
||||
.. code: yaml
|
||||
|
||||
plugin_routing:
|
||||
modules:
|
||||
facts:
|
||||
redirect: ns.coll.eos_facts
|
||||
action_plugin: ns.coll.eos
|
||||
command:
|
||||
redirect: ns.coll.eos_command
|
||||
action_plugin: ns.coll.eos
|
||||
|
||||
The action_plugin field can be a redirected action plugin, as
|
||||
it is resolved normally.
|
||||
|
||||
Using the modified runtime.yml, the example task will only use
|
||||
the ns.coll.eos_facts defaults.
|
||||
- ansible-test - Avoid using the ``mock_use_standalone_module`` setting for unit tests running on Python 3.8 or later.
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- pip - fix cases where resolution of pip Python module fails when importlib.util has not already been imported
|
||||
- plugin loader - Sort results when fuzzy matching plugin names (https://github.com/ansible/ansible/issues/77966).
|
||||
|
||||
v2.12.6
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2022-05-23
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
|
||||
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Prevent losing unsafe on results returned from lookups (https://github.com/ansible/ansible/issues/77535)
|
||||
- arg_spec - Fix incorrect ``no_log`` warning when a parameter alias is used (https://github.com/ansible/ansible/pull/77576)
|
||||
- plugin loader will now load config data for plugin by name instead of by file to avoid issues with the same file being loaded under different names (fqcn + short name).
|
||||
- variablemanager, more efficient read of vars files
|
||||
|
||||
v2.12.5
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2022-04-25
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
|
||||
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Ansible.ModuleUtils.SID - Use user principal name as is for lookup in the ``Convert-ToSID`` function - https://github.com/ansible/ansible/issues/77316
|
||||
- Fix traceback when installing a collection from a git repository and git is not installed (https://github.com/ansible/ansible/issues/77479).
|
||||
- ansible-test - Correctly detect when running as the ``root`` user (UID 0) on the origin host. The result of the detection was incorrectly being inverted.
|
||||
- ansible-test - Fix skipping of tests marked ``needs/python`` on the origin host.
|
||||
- ansible-test - Fix skipping of tests marked ``needs/root`` on the origin host.
|
||||
- ansible-test compile sanity test - do not crash if a column could not be determined for an error (https://github.com/ansible/ansible/pull/77465).
|
||||
- hostname - use ``file_get_content()`` to read the file containing the host name in the ``FileStrategy.get_permanent_hostname()`` method. This prevents a ``TypeError`` from being raised when the strategy is used (https://github.com/ansible/ansible/issues/77025).
|
||||
- script - skip in check mode since the plugin cannot determine if a change will occur.
|
||||
- shell/command - only skip in check mode if the options `creates` and `removes` are both None.
|
||||
- winrm - Ensure ``kinit`` is run with the same ``PATH`` env var as the Ansible process
|
||||
|
||||
v2.12.4
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2022-03-28
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
|
||||
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Add a YAML representer for ``NativeJinjaText``
|
||||
- Add a YAML representer for ``NativeJinjaUnsafeText``
|
||||
- AnsiballZ - Ensure we use the full python package in the module cache filename to avoid a case where ``collections:`` is used to execute a module via short name, where the short name duplicates another module from ``ansible.builtin`` or another collection that was executed previously.
|
||||
- Fix collection filter/test plugin redirects (https://github.com/ansible/ansible/issues/77192).
|
||||
- ansible-galaxy collection verify - display files/directories not included in the FILES.json as modified content.
|
||||
- ansible-test - Fix ``windows-integration`` and ``network-integration`` when used with the ``--docker`` option and user-provided inventory.
|
||||
- extend timeout for ansible-galaxy when communicating with the galaxy server api, and apply it to all interactions with the api
|
||||
- first_found - fix to allow for spaces in file names (https://github.com/ansible/ansible/issues/77136)
|
||||
- unarchive - the ``io_buffer_size`` option added in 2.12 was not accepted by the module (https://github.com/ansible/ansible/pull/77271).
|
||||
|
||||
v2.12.3
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2022-02-28
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
|
||||
|
||||
|
||||
Minor Changes
|
||||
-------------
|
||||
|
||||
- The collection loader now reports a Python warning if an attempt is made to install the Ansible collection loader a second time. Previously this condition was reported using an Ansible warning.
|
||||
- ansible-test - Installation of ``cryptography`` is no longer version constrained when ``openssl`` 1.1.0 or later is installed.
|
||||
- ansible-test - Requirements for the plugin import test are now frozen.
|
||||
- ansible-test - The ``pip`` and ``wheel`` packages are removed from all sanity test virtual environments after installation completes to reduce their size. Previously they were only removed from the environments used for the ``import`` sanity test.
|
||||
- ansible-test - The hash for all managed sanity test virtual environments has changed. Containers that include ``ansible-test sanity --prime-venvs`` will need to be rebuilt to continue using primed virtual environments.
|
||||
- ansible-test - Update ``pip`` used to bootstrap remote FreeBSD instances from version 20.3.4 to 21.3.1.
|
||||
- ansible-test - Update the ``alpine`` container to version 3.3.0. This updates the base image from 3.14.2 to 3.15.0, which includes support for installing binary wheels using pip.
|
||||
- ansible-test - Update the ``galaxy`` test plugin to get its container from a copy on quay.io.
|
||||
- ansible-test - Update the ``openshift`` test plugin to get its container from a copy on quay.io.
|
||||
- junit callback - Add support for replacing the directory portion of out-of-tree relative task paths with a placeholder.
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- ansible-test - All virtual environments managed by ansible-test are marked as usable after being bootstrapped, to avoid errors caused by use of incomplete environments. Previously this was only done for sanity tests. Existing environments from previous versions of ansible-test will be recreated on demand due to lacking the new marker.
|
||||
- ansible-test - Fix the ``validate-modules`` sanity test to avoid double-loading the collection loader and possibly failing on import of the ``packaging`` module.
|
||||
- ansible-test - Import ``yaml.cyaml.CParser`` instead of ``_yaml.CParser`` in the ``yamllint`` sanity test.
|
||||
- ansible-test - Replace the directory portion of out-of-tree paths in JUnit files from integration tests with the ``out-of-tree:`` prefix.
|
||||
- ansible-test - Sanity tests run with the ``--requirements` option for Python 2.x now install ``virtualenv`` when it is missing or too old. Previously it was only installed if missing. Version 16.7.12 is now installed instead of the latest version on Python 2.7.
|
||||
- ansible-test - The ``import`` sanity test no longer reports errors about ``packaging`` being missing when testing collections.
|
||||
- ansible-test - Update the ``default`` containers to version 4.2.0.
|
||||
- ansible-test - Use https://ci-files.testing.ansible.com/ for instance bootstrapping instead of an S3 endpoint.
|
||||
- ansible-test - Use relative paths in JUnit files generated during integration test runs.
|
||||
- ansible-test - Virtual environments managed by ansible-test now use consistent versions of ``pip``, ``setuptools`` and ``wheel``. This avoids issues with virtual environments containing outdated or dysfunctional versions of these tools. The initial bootstrapping of ``pip`` is done by ansible-test from an HTTPS endpoint instead of creating the virtual environment with it already present.
|
||||
- cleaning facts will now only warn about the variable name and not post the content, which can be undesireable to disclose
|
||||
- correctly inherit vars from parent in block (https://github.com/ansible/ansible/issues/75286).
|
||||
- gather_facts action now handles the move of base connection plugin types into collections to add/prevent subset argument correctly
|
||||
- junit callback - Fix traceback during automatic fact gathering when using relative paths.
|
||||
- junit callback - Fix unicode error when handling non-ASCII task paths.
|
||||
- ssh connection now uses more correct host source as play_context can ignore loop/delegation variations.
|
||||
- task_executor reverts the change to push facts into delegated vars on loop finalization as result managing code already handles this and was duplicating effort to wrong result.
|
||||
- template lookup - restore inadvertently deleted default for ``convert_data`` (https://github.com/ansible/ansible/issues/77004)
|
||||
- unarchive - Make extraction work when the LANGUAGE environment variable is set to a non-English locale.
|
||||
|
||||
v2.12.2
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2022-01-31
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
|
||||
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Fix ``AttributeError`` when providing password file via ``--connection-password-file`` (https://github.com/ansible/ansible/issues/76530)
|
||||
- Fix ``end_play`` to end the current play only (https://github.com/ansible/ansible/issues/76672)
|
||||
- Templating - Ensure we catch exceptions when getting ``.filters`` and ``.tests`` attributes on their respective plugins and properly error, instead of aborting which results in no filters being added to the jinja2 environment
|
||||
- ``Templar.copy_with_new_env`` - set the ``finalize`` method of the new ``Templar`` object for the new environment (https://github.com/ansible/ansible/issues/76379)
|
||||
- ansible-config avoid showing _terms and _input when --only-changed.
|
||||
- ansible-galaxy - Fix using the '--ignore-certs' option when there is no server-specific configuration for the Galaxy server.
|
||||
- ansible-galaxy collection build - Ignore any existing ``MANIFEST.json`` and ``FILES.json`` in the root directory when building a collection.
|
||||
- ansible-test - Fix the ``import`` sanity test to work properly when Ansible's built-in vendoring support is in use.
|
||||
- ansible-test - Fix traceback in the ``validate-modules`` sanity test when testing an Ansible module without any callables.
|
||||
- ansible-test - Fix traceback when running from an install and delegating execution to a different Python interpreter.
|
||||
- ansible-test - Show an error message instead of a traceback when running outside of a supported directory.
|
||||
- ansible-test - Update help links to reference ``ansible-core`` instead of ``ansible``.
|
||||
- ansible-test - Update unit tests to use the ``--forked`` option instead of the deprecated ``--boxed`` option.
|
||||
- async - Improve performance of sending async callback events by never sending the full task through the queue (https://github.com/ansible/ansible/issues/76729)
|
||||
- default callback - Ensure we compare FQCN also in lockstep logic, to ensure using the FQCN of a strategy plugin triggers the correct behavior in the default callback plugin. (https://github.com/ansible/ansible/issues/76782)
|
||||
- hostname - Do not require SystemdStrategy subclasses for every distro (https://github.com/ansible/ansible/issues/76792)
|
||||
- include_vars, properly initialize variable as there is corner case in which it can end up referenced and not defined
|
||||
- ssh connection - properly quote controlpersist path given by user to avoid issues with spaces and other characters
|
||||
- ssh connection avoid parsing ssh cli debug lines as they can match expected output at high verbosities.
|
||||
- sudo become plugin, fix handling of non interactive flags, previous substitution was too naive
|
||||
- unarchive - Fix zip archive file listing that caused issues with content postprocessing (https://github.com/ansible/ansible/issues/76067).
|
||||
- yum - prevent storing unnecessary cache data by running `yum makecache fast` (https://github.com/ansible/ansible/issues/76336)
|
||||
|
||||
v2.12.1
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2021-12-06
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
|
||||
|
||||
|
||||
Minor Changes
|
||||
-------------
|
||||
|
||||
- jinja2_native - keep same behavior on Python 3.10.
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Ansible.ModuleUtils.LinkUtil - Ignore the ``LIB`` environment variable when loading the ``LinkUtil`` code
|
||||
- ansible-test - Automatic target requirements installation is now based on the target environment instead of the controller environment.
|
||||
- ansible-test - Fix Python real prefix detection when running in a ``venv`` virtual environment.
|
||||
- ansible-test - Fix installation and usage of ``pyyaml`` requirement for the ``import`` sanity test for collections.
|
||||
- ansible-test - Fix traceback in ``import`` sanity test on Python 2.7 when ``pip`` is not available.
|
||||
- ansible-test - Relocate constants to eliminate symlink.
|
||||
- ansible-test - Target integration test requirements are now correctly installed for target environments running on the controller.
|
||||
- ansible-test - Update the ``default`` containers to version 4.1.1, which includes the updated ``import`` sanity test requirements.
|
||||
- ansible-test - Use the legacy collection loader for ``import`` sanity tests on target-only Python versions.
|
||||
- set_fact/include_vars correctly handle delegation assignments within loops
|
||||
- setup - detect docker container with check for ./dockerenv or ./dockinit (https://github.com/ansible/ansible/pull/74349).
|
||||
- validate_argument_spec - Skip suboption validation if the top level option is an invalid type (https://github.com/ansible/ansible/issues/75612).
|
||||
|
||||
v2.12.0
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2021-11-05
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
|
||||
|
||||
|
||||
Major Changes
|
||||
-------------
|
||||
|
||||
- Python Controller Requirement - Python 3.8 or newer is required for the control node (the machine that runs Ansible) (https://github.com/ansible/ansible/pull/74013)
|
||||
- ansible-test - All "cloud" plugins which use containers can now be used with all POSIX and Windows hosts. Previously the plugins did not work with Windows at all, and support for hosts created with the ``--remote`` option was inconsistent.
|
||||
- ansible-test - Collections can now specify controller and target specific integration test requirements and constraints. If provided, they take precedence over the previously available requirements and constraints files.
|
||||
- ansible-test - Integration tests run with the ``integration`` command can now be executed on two separate hosts instead of always running on the controller. The target host can be one provided by ``ansible-test`` or by the user, as long as it is accessible using SSH.
|
||||
- ansible-test - Most container features are now supported under Podman. Previously a symbolic link for ``docker`` pointing to ``podman`` was required.
|
||||
- ansible-test - New ``--controller`` and ``--target`` / ``--target-python`` options have been added to allow more control over test environments.
|
||||
- ansible-test - Python 3.8 - 3.10 are now required to run ``ansible-test``, thus matching the Ansible controller Python requirements. Older Python versions (2.6 - 2.7 and 3.5 - 3.10) can still be the target for relevant tests.
|
||||
- ansible-test - SSH port forwarding and redirection is now used exclusively to make container ports available on non-container hosts. When testing on POSIX systems this requires SSH login as root. Previously SSH port forwarding was combined with firewall rules or other port redirection methods, with some platforms being unsupported.
|
||||
- ansible-test - Sanity tests always run in isolated Python virtual environments specific to the requirements of each test. The environments are cached.
|
||||
- ansible-test - Sanity tests are now separated into two categories, controller and target. All tests except ``import`` and ``compile`` are controller tests. The controller tests always run using the same Python version used to run ``ansible-test``. The target tests use the Python version(s) specified by the user, or all available Python versions.
|
||||
- ansible-test - Sanity tests now use fully pinned requirements that are independent of each other and other test types.
|
||||
- ansible-test - Tests run with the ``centos6`` and ``default`` test containers now use a PyPI proxy container to access PyPI when Python 2.6 is used. This allows tests running under Python 2.6 to continue functioning even though PyPI is discontinuing support for non-SNI capable clients.
|
||||
- ansible-test - The ``future-import-boilerplate`` and ``metaclass-boilerplate`` sanity tests are limited to remote-only code. Additionally, they are skipped for collections which declare no support for Python 2.x.
|
||||
- ansible-test - The ``import`` and ``compile`` sanity tests limit remote-only Python version checks to remote-only code.
|
||||
- ansible-test - Unit tests for controller-only code now require Python 3.8 or later.
|
||||
- ansible-test - Version neutral sanity tests now require Python 3.8 or later.
|
||||
- junit callback - The ``junit_xml`` and ``ordereddict`` Python modules are no longer required to use the ``junit`` callback plugin.
|
||||
|
||||
Minor Changes
|
||||
-------------
|
||||
|
||||
- Add ``end_batch`` meta task.
|
||||
- Allow connection and become passwords to be set by file/executable script. Also document this was already the case for vault.
|
||||
- CLI - Remove ``__requires__`` attribute for ``pkg_resources``
|
||||
- Collections can define action_groups in ``meta/runtime.yml``.
|
||||
- Introduce a config option to enable/disable emitting warning about Jinja2 version being old for ``jinja2_native``. The option is on by default, only in CI it is off.
|
||||
- Make the code structure of ansible-doc's generic snippet feature more maintainable.
|
||||
- On RHEL 9, CentOS Stream 9 etc., use /usr/bin/python3 as the default interpreter; /usr/libexec/platform-python is just a backwards-compatibility symbolic link there.
|
||||
- PowerShell - Added support for optional module_util imports by scanning for ``-Optional`` at the end of the import declaration
|
||||
- Python 2.6 Target Support - Deprecate Python 2.6 for targets, requiring Python 2.7 or newer. ``ansible-core==2.13`` will drop support for Python 2.6. (https://github.com/ansible/ansible/pull/74165)
|
||||
- Task - Add a resolved_action attribute for Task objects to get the final resolved plugin.
|
||||
- Templar - remove ``_fail_on_lookup_errors`` and ``_fail_on_filter_errors`` instance variables that were never used. (https://github.com/ansible/ansible/pull/73785)
|
||||
- The AnsiballZ Python wrapper now changes the working directory to ``~`` or ``/`` if the current one is not accessible. This allows become to drop privileges on macOS when using pipelining.
|
||||
- Update test container ansible-core-test-container to version 3.6.0
|
||||
- Update test container ansible-core-test-container to version 3.7.0
|
||||
- Update test container default-test-container to version 3.6.0
|
||||
- Update test container default-test-container to version 3.7.0
|
||||
- Update vendored copy of ``six`` to 1.16.0 to eliminate warnings for deprecated python loader methods in Python 3.10+ (https://github.com/ansible/ansible/issues/74659)
|
||||
- Update vendored copy of distro to 1.6.0
|
||||
- Vendor ``distutils.version`` due to it's deprecation in Python 3.10 and impending removal in Python 3.12 (https://github.com/ansible/ansible/issues/74599)
|
||||
- YAML parsing - Create common utils for loading and dumping YAML that prefer the C extensions if available
|
||||
- ``include_role`` - Allow use of ``omit`` in the ``from_*`` arguments (https://github.com/ansible/ansible/issues/66349)
|
||||
- ``uri``/``get_url`` - Expose ``unredirected_headers`` to modules to allow user control
|
||||
- `ansible.plugins.callback.CallbackBase.host_label()` has been factored out as a static method (https://github.com/ansible/ansible/pull/73814).
|
||||
- action_groups can include actions from other groups by using the special ``metadata`` dictionary field.
|
||||
- add a quick short circuit when checking if a string is a template to improve performance on large strings (https://github.com/ansible/ansible/issues/74336)
|
||||
- add host label to retry print statements
|
||||
- added new function to module utils to choose best possible locale.
|
||||
- adds the ``undef`` keyword to the templating environment. This allows for directly creating Undefined values in templates. It is most useful for providing a hint for variables which must be overridden.
|
||||
- ansbile-doc now also shows snippets for inventory and lookup, adding to existing modules.
|
||||
- ansible adhoc, clarified the help to some options, also added some comments to code.
|
||||
- ansible-cli - remove unnecessary trailing space in ``ansible --version`` (https://github.com/ansible/ansible/issues/74875).
|
||||
- ansible-config can now list and dump for specific documentable plugins by specifying them in the command line
|
||||
- ansible-config has new 'init' option to create, highly commented, example configurations as ini (ansible.cfg), environment variables (shell) or Ansible variable files (YAML)
|
||||
- ansible-config now supports displaying plugin configuration info.
|
||||
- ansible-doc - ``version_added`` in ``attributes`` now comes with ``version_added_collection`` (https://github.com/ansible/ansible/pull/74602).
|
||||
- ansible-doc - show ``version_added`` for the plugin/module itself in text output, and improve ``version_added`` formatting (https://github.com/ansible/ansible/pull/73602).
|
||||
- ansible-doc now supports 'attributes' for plugins as per proposal.
|
||||
- ansible-doc pretty cli options output.
|
||||
- ansible-doc, improve handling of rstisms, try to make the display more meaningfull for the terminal users.
|
||||
- ansible-galaxy - Allow specification of client_id override value for Keycloak Token (https://github.com/ansible/ansible/issues/75593).
|
||||
- ansible-galaxy - Allow validate_certs to be configured for individual Galaxy servers (https://github.com/ansible/ansible/issues/75677).
|
||||
- ansible-galaxy - Installing a collection from a git repository without specifying a version (or using the version ``HEAD``) will clone the repository using --depth=1.
|
||||
- ansible-galaxy - Non-HTTP exceptions from Galaxy servers are now a warning and only fatal if the collection to download|install|verify is not available from any of the servers (https://github.com/ansible/ansible/issues/75443).
|
||||
- ansible-test - A new ``base`` test container is available. It is similar to the ``default`` test container, but contains no pre-installed Python packages other than ``pip`` and its dependencies.
|
||||
- ansible-test - Add RHEL 8.4 as a remote.
|
||||
- ansible-test - Add ``--prime-venvs`` option to create virtual environments without running tests.
|
||||
- ansible-test - Add constraint for ``decorator`` for Python versions prior to 3.5.
|
||||
- ansible-test - Add support for Windows Server 2022.
|
||||
- ansible-test - Add support for an ansible-test configuration file in collections under ``tests/config.yml``.
|
||||
- ansible-test - Add support for testing with Python 3.10.
|
||||
- ansible-test - Added a ``--prime-containers`` option to support downloading containers without running tests.
|
||||
- ansible-test - Adding DigitalOcean cloud support to ansible-test (https://github.com/ansible/ansible/pull/74222).
|
||||
- ansible-test - All "cloud" plugins have been refactored for more consistency. For those that use docker containers, management of the containers has been standardized.
|
||||
- ansible-test - All "cloud" plugins now use fixed hostnames and ports in tests. Previously some tests used IP addresses and/or randomly assigned ports.
|
||||
- ansible-test - Changes made to the ``hosts`` file on test systems are now done using an Ansible playbook for both POSIX and Windows systems. Changes are applied before a test target runs and are reverted after the test target finishes.
|
||||
- ansible-test - Clean up code in the cloud plugins.
|
||||
- ansible-test - Collections can declare their remote-only code (modules/module_utils and related tests) as controller-only.
|
||||
- ansible-test - Collections can limit the Python versions used for testing their remote-only code (modules/module_utils and related tests).
|
||||
- ansible-test - Command line help has been updated to hide the ``--remote`` option (and related options) when the user lacks an API key to use the feature.
|
||||
- ansible-test - Constraints provided by ``ansible-test`` for Python package installs have been reduced.
|
||||
- ansible-test - Default settings are now applied to unknown versions of known ``--remote`` platforms.
|
||||
- ansible-test - Distribution specific test containers have been updated to version 3.0.0.
|
||||
- ansible-test - Environment checking (``pip``, ``python``, ``~/.ssh/known_hosts``, etc.) is no longer performed when running integration tests.
|
||||
- ansible-test - Environment variables exposed by "cloud" plugins are now available to the controller for role based tests. Previously only script based tests had access to the exposed environment variables.
|
||||
- ansible-test - Fedora 32 and 33 (``fedora32`` and ``fedora33``) containers have been updated and now allow for ssh in more container environments.
|
||||
- ansible-test - Fedora 34 (``fedora34``) container has been added.
|
||||
- ansible-test - Installation of ``cryptography`` no longer occurs when it is already installed. This avoids downgrading existing OS packages.
|
||||
- ansible-test - Minor code cleanup.
|
||||
- ansible-test - More efficient string splitting.
|
||||
- ansible-test - Most scripts used internally by ``ansible-test`` no longer have a shebang or the executable bit set.
|
||||
- ansible-test - Move code from ``_data`` directory to ``_util`` directory.
|
||||
- ansible-test - Relocate change classification code.
|
||||
- ansible-test - Remove CI provider support for Shippable, now that the service has been discontinued.
|
||||
- ansible-test - Remove check for legacy ``core`` and ``extras`` directories.
|
||||
- ansible-test - Remove deprecated container ``fedora32``.
|
||||
- ansible-test - Remove deprecated remote platforms ``freebsd/11.4`` and ``rhel/8.3```.
|
||||
- ansible-test - Removed the warning filter for ``PyYAML`` in the ``import`` sanity test.
|
||||
- ansible-test - Removed unused pip constraints. Collections may need to add their own constraints if they depended on any which were removed.
|
||||
- ansible-test - Reorganize code for individual commands.
|
||||
- ansible-test - Reorganize integration test implementation by command.
|
||||
- ansible-test - Rewrite the ``compile`` sanity test to improve error handling and support Python 3.10.
|
||||
- ansible-test - Sanity test warnings relating to Python version support have been improved.
|
||||
- ansible-test - Set minimum version constraints for ``pytest``.
|
||||
- ansible-test - Split out shell command implementation.
|
||||
- ansible-test - The "injector" scripts are now generated at runtime to avoid issues with symlinks and shebangs.
|
||||
- ansible-test - The HTTP Tester can now be used without the ``--docker`` or `--remote`` options. It still requires use of the ``docker`` command to run the container.
|
||||
- ansible-test - The HTTP Tester has been converted to a "cloud" plugin and can now be requested using the ``cloud/httptester`` alias. The original ``needs/httptester`` alias is still supported for backwards compatibility.
|
||||
- ansible-test - The ``--docker-keep-git`` option (used only for testing ansible-core) has been renamed to ``--keep-git``.
|
||||
- ansible-test - The ``--python`` option can be used without another delegation option such as the ``--venv`` or ``--docker`` options.
|
||||
- ansible-test - The ``ansible-test coverage`` commands ``combine``, ``report``, ``html`` and ``xml`` now support delegation.
|
||||
- ansible-test - The ``default`` test container has been updated to version 3.4.0 and now uses Python 3.9 by default instead of Python 3.6.
|
||||
- ansible-test - The ``docker run`` option ``--link`` is no longer used to connect test containers. As a result, changes are made to the ``/etc/hosts`` file as needed on all test containers. Previously containers which were used with the ``--link`` option did not require changes to the ``/etc/hosts`` file.
|
||||
- ansible-test - The ``import`` sanity test now requires that Ansible modules guard instantiation of ``AnsibleModule`` with a ``if __name__ == '__main__'`` conditional, or equivalent logic.
|
||||
- ansible-test - The ``import`` sanity test now requires that non-modules do not instantiate ``AnsibleModule`` on import.
|
||||
- ansible-test - The ``validate-modules`` sanity test codes ``ansible-deprecated-module`` and ``collection-deprecated-module`` have been added.
|
||||
- ansible-test - The ``validate-modules`` sanity test codes ``last-line-main-call``, ``missing-if-name-main`` and ``missing-main-call`` have been removed.
|
||||
- ansible-test - The ``validate-modules`` sanity test no longer enforces the ``missing-if-name-main``, ``last-line-main-call`` or ``missing-main-call`` checks on non-deleted Ansible modules. Modules are still required to instantiate ``AnsibleModule`` when ``__name__ == '__main__'``.
|
||||
- ansible-test - Unit tests are now run in separate contexts (``controller``, ``modules``, ``module_utils``), each using separate invocations of ``pytest``.
|
||||
- ansible-test - Unit tests other than ``modules`` and ``module_utils`` are now run only on Python versions supported by the controller (Python 3.8+).
|
||||
- ansible-test - Update ``typed-ast`` constraint to version 1.4.3 for compatibility with Python 3.10.
|
||||
- ansible-test - Update distribution test containers from version 2.0.1 to 2.0.2.
|
||||
- ansible-test - Update the Ansible Core and Ansible Collection default test containers to 3.2.0 and 3.2.2 respectively.
|
||||
- ansible-test - Update the ``base`` and ``default`` containers from Python 3.10.0rc2 to 3.10.0.
|
||||
- ansible-test - Update the ``import`` sanity test to avoid a new warning in Python 3.10.
|
||||
- ansible-test - Update the ``runtime-metadata`` sanity test to handle a new warning on Python 3.10.
|
||||
- ansible-test - Updated the ``default`` containers to version 4.0.1.
|
||||
- ansible-test - Updated the help message for failed tests in the ``azure`` test plugin.
|
||||
- ansible-test - Upgrade ``pylint`` to version 2.9.3 and update its dependencies to the latest versions as well.
|
||||
- ansible-test - Using an unknown ``--docker`` or ``--remote`` environment now requires specifying a Python version.
|
||||
- ansible-test - add freebsd/13.0 as a remote option.
|
||||
- ansible-test - aws creates and exposes a new tiny_prefix variable to provide a shorter prefix for the AWS tests.
|
||||
- ansible-test - display recent ``ssh`` debug logs after connection failures (https://github.com/ansible/ansible/pull/75374)
|
||||
- ansible-test - validate-modules now properly checks ``attributes`` for plugins (https://github.com/ansible/ansible/pull/74602).
|
||||
- ansible-test - virtualenv-isolated.sh is no longer provided. Prefer virtualenv.sh in its place.
|
||||
- ansible-test validate-modules - enforce that ``_info`` and ``_facts`` modules set ``supports_check_mode=True`` (https://github.com/ansible/ansible/pull/75324).
|
||||
- ansible-vault - remove support for ``PyCrypto`` (https://github.com/ansible/ansible/issues/72646)
|
||||
- apt - added an ``allow_downgrade`` option to enable safe downgrade of packages without using ``force`` which doesn't verify signatures (https://github.com/ansible/ansible/issues/29451, https://github.com/ansible/ansible/pull/74852).
|
||||
- apt, added a 'lock_timeout' to be more resilient when encountering the apt db already locked and handle it w/o haveing to rerun task.
|
||||
- async tasks - the use of the task-level ``ANSIBLE_ASYNC_DIR`` variable within ``environment:`` is no longer valid. Use the shell configuration variable ``async_dir`` instead.
|
||||
- async_wrapper, better reporting on timeout, slight refactor on reporting itself.
|
||||
- basic module_util - Clean up ``selinux`` compat import.
|
||||
- blockinfile - Remove unused code for Ansible 1.x.
|
||||
- cache base - More efficient string splitting.
|
||||
- callback API - implemented ``v2_runner_on_async_ok`` and ``v2_runner_on_async_failed`` callbacks (https://github.com/ansible/ansible/pull/74953).
|
||||
- cli scripts - remove trailing blank space in help after newline when outputting.
|
||||
- collection - match skip message as per role installation.
|
||||
- command - update the user warning message to point out command name (https://github.com/ansible/ansible/pull/74475).
|
||||
- config lookup now can handle plugin settings.
|
||||
- config, default site for ansible-core is now under /ansbile-core/.
|
||||
- connection base - Avoid using deprecated ``@abstractproperty`` decorator.
|
||||
- constructed - a new options ``trailing_separator`` and ``default_value`` to deal with key's value empty on keyed group.
|
||||
- cron - ``name`` is now a required parameter always
|
||||
- cron - ``reboot`` parameter has been dropped in favor of ``special_time: reboot``
|
||||
- cron, removed previously deprecated 'reboot' and now requires either 'name' as unique identifier.
|
||||
- default callback plugin - displays output for ``v2_runner_on_async_ok`` and ``v2_runner_on_async_failed`` callbacks.
|
||||
- deprecate ``_remote_checksum()`` and remove all internal uses (https://github.com/ansible/ansible/pull/74848)
|
||||
- dnf - Add ``cacheonly`` option (https://github.com/ansible/ansible/issues/69397).
|
||||
- dnf - allow for ``download_only`` to be run without root privileges (https://github.com/ansible/ansible/issues/75530)
|
||||
- encrypt - add new parameter ``ident`` to specify version of BCrypt algorithm to be used (https://github.com/ansible/ansible/issues/74571).
|
||||
- fact cache - Remove deprecated backwards compatibility shim for the FactCache `update` method to accept multiple arguments.
|
||||
- fact cache - Remove the deprecated location for FactCache. Import FactCache from `ansible.vars.fact_cache` instead.
|
||||
- facts - add fiber channel facts for HP-UX (https://github.com/ansible/ansible/pull/57406)
|
||||
- galaxy - support role artifact download from API response ``download_url`` location (https://github.com/ansible/ansible/issues/73103).
|
||||
- get_distribution - ``lib.ansible.module_utils.common.sys_info.get_distribution`` now returns distribution information for all platforms not just Linux (https://github.com/ansible/ansible/issues/17587)
|
||||
- get_distribution_version - ``lib.ansible.module_utils.common.sys_info.get_distribution_version`` now returns the version for all platfroms not just Linux (https://github.com/ansible/ansible/issues/17587)
|
||||
- git - Add ``accept_newhostkey`` option (https://github.com/ansible/ansible/issues/69846).
|
||||
- hostname - add support RedOS (https://github.com/ansible/ansible/issues/74779).
|
||||
- import_role - Template tasks_from, vars_from, defaults_from, and handlers_from with --extra-vars (https://github.com/ansible/ansible/issues/69097).
|
||||
- include_vars - add ``hash_behaviour`` option (https://github.com/ansible/ansible/pull/72944).
|
||||
- ini - added new parameter ``allow_no_value`` to ini lookup plugin (https://github.com/ansible/ansible/issues/50594).
|
||||
- ini lookup - add case sensitive option (https://github.com/ansible/ansible/issues/74601)
|
||||
- interpreter discovery - allow the default list of ``INTERPRETER_PYTHON_FALLBACK`` to be changed using a variable
|
||||
- interpreter discovery - prefer Python 3 over Python 2
|
||||
- inventory plugins - Remove the deprecated cache interface. Set top level keys in the inventory plugin's `_cache` attribute (a dictionary) instead.
|
||||
- jinja2_native - short-circuit ``ast.literal_eval`` for non-string values
|
||||
- module_utils distro - when a 'distro' package/module is in PYTHONPATH but isn't the real 'distro' package/module that we expect, gracefully fall back to our own bundled distro.
|
||||
- modules - add Anolis distro in hostname.py. project website https://openanolis.org/
|
||||
- move all builtin modules to use the best possible locale function instead of hardcoding 'C'.
|
||||
- password - add new parameter ``ident`` to specify version of BCrypt algorithm to be used (https://github.com/ansible/ansible/issues/74571).
|
||||
- password - add new parameter ``seed`` in lookup plugin (https://github.com/ansible/ansible/pull/69775).
|
||||
- password_hash uses passlib default if option isn't set
|
||||
- playbook - Error if a playbook is an empty list instead of just skipping
|
||||
- playbook - Error if using ``include`` instead of ``import_playbook``
|
||||
- replaced examples/ansible.cfg with instructions on how to generate an up to date copy.
|
||||
- service - add description how service module works internally (https://github.com/ansible/ansible/issues/74507).
|
||||
- service_facts now handles more states/statuses from systemd and in a more reliable way (failed, not-found, masked).
|
||||
- setup - add ``epoch_int`` option to date_time facts (https://github.com/ansible/ansible/pull/73822).
|
||||
- ssh - added pkcs11 support by adding the pkcs11_provider option in the ssh connection module. (https://www.github.com/ansible/ansible/pull/32829)
|
||||
- ssh connection, can not configure ssh_transfer_method with a variable.
|
||||
- ssh connection, ssh_transfer_method is now configurable via variable.
|
||||
- subelements lookup - Use generator in instance type check.
|
||||
- tempfile - Remove unnecessary conditional for creating a temporary directory.
|
||||
- template - Add comment attributes (``comment_start_string`` and ``comment_end_string``)
|
||||
- unicode utils - Fix ``__all__`` which was incorrectly declared as a string instead of a tuple.
|
||||
- user - Add ``umask`` option (https://github.com/ansible/ansible/issues/40359).
|
||||
- user module - Remove unused code.
|
||||
- validation testcases for check_* APIs (https://github.com/ansible/ansible/issues/55994).
|
||||
- winrm - Allow explicit environment variables to be passed through to the ``kinit`` call for Kerberos authentication
|
||||
- yaml dumper - YAML representer for AnsibleUndefined (https://github.com/ansible/ansible/issues/75072).
|
||||
- yum - Add ``cacheonly`` option (https://github.com/ansible/ansible/issues/69397).
|
||||
|
||||
Breaking Changes / Porting Guide
|
||||
--------------------------------
|
||||
|
||||
- Action, module, and group names in module_defaults must be static values. Their values can still be templates.
|
||||
- Fully qualified 'ansible.legacy' plugin names are not included implicitly in action_groups.
|
||||
- Unresolvable groups, action plugins, and modules in module_defaults are an error.
|
||||
- ansible-test - Automatic installation of requirements for "cloud" test plugins no longer occurs. The affected test plugins are ``aws``, ``azure``, ``cs``, ``hcloud``, ``nios``, ``opennebula``, ``openshift`` and ``vcenter``. Collections should instead use one of the supported integration test requirements files, such as the ``tests/integration/requirements.txt`` file.
|
||||
- ansible-test - The HTTP Tester is no longer available with the ``ansible-test shell`` command. Only the ``integration`` and ``windows-integration`` commands provide HTTP Tester.
|
||||
- ansible-test - The ``--disable-httptester`` option is no longer available. The HTTP Tester is no longer optional for tests that specify it.
|
||||
- ansible-test - The ``--httptester`` option is no longer available. To override the container used for HTTP Tester tests, set the ``ANSIBLE_HTTP_TEST_CONTAINER`` environment variable instead.
|
||||
- ansible-test - Unit tests for ``modules`` and ``module_utils`` are now limited to importing only ``ansible.module_utils`` from the ``ansible`` module.
|
||||
- conditionals - ``when`` conditionals no longer automatically parse string booleans such as ``"true"`` and ``"false"`` into actual booleans. Any non-empty string is now considered true. The ``CONDITIONAL_BARE_VARS`` configuration variable no longer has any effect.
|
||||
- hostname - Drops any remaining support for Python 2.4 by using ``with open()`` to simplify exception handling code which leaked file handles in several spots
|
||||
- hostname - On FreeBSD, the string ``temporarystub`` no longer gets written to the hostname file in the get methods (and in check_mode). As a result, the default hostname will now appear as ``''`` (empty string) instead of ``temporarystub`` for consistency with other strategies. This means the ``before`` result will be different.
|
||||
- hostname - On OpenRC systems and Solaris, the ``before`` value will now be ``''`` (empty string) if the permanent hostname file does not exist, for consistency with other strategies.
|
||||
- intersect, difference, symmetric_difference, union filters - the default behavior is now to be case-sensitive (https://github.com/ansible/ansible/issues/74255)
|
||||
- unique filter - the default behavior is now to fail if Jinja2's filter fails and explicit ``case_sensitive=False`` as the Ansible's fallback is case-sensitive (https://github.com/ansible/ansible/pull/74256)
|
||||
|
||||
Deprecated Features
|
||||
-------------------
|
||||
|
||||
- ansible-test - The ``--docker-no-pull`` option is deprecated and has no effect.
|
||||
- ansible-test - The ``--no-pip-check`` option is deprecated and has no effect.
|
||||
- include action is deprecated in favor of include_tasks, import_tasks and import_playbook.
|
||||
- module_utils' FileLock is scheduled to be removed, it is not used due to its unreliable nature.
|
||||
|
||||
Removed Features (previously deprecated)
|
||||
----------------------------------------
|
||||
|
||||
- The built-in module_util ``ansible.module_utils.common.removed`` was previously deprecated and has been removed.
|
||||
- connections, removed password check stubs that had been moved to become plugins.
|
||||
- task, inline parameters being auto coerced into variables has been removed.
|
||||
|
||||
Security Fixes
|
||||
--------------
|
||||
|
||||
- Do not include params in exception when a call to ``set_options`` fails. Additionally, block the exception that is returned from being displayed to stdout. (CVE-2021-3620)
|
||||
- templating engine fix for not preserving usnafe status when trying to preserve newlines. CVE-2021-3583
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Add RockyLinux to fact gathering (https://github.com/ansible/ansible/pull/74530).
|
||||
- Add unicode support to ``ansible-inventory`` CLI (https://github.com/ansible/ansible/issues/57378)
|
||||
- Add yaml representer for VarsWithSources (https://github.com/ansible/ansible/pull/68525).
|
||||
- Added page describing terminal plugins to docsite
|
||||
- AnsibleModule.set_mode_if_different - don't check file existence when check_mode is activated (https://github.com/ansible/ansible/issues/61185).
|
||||
- Apply ``display_failed_stderr`` callback option on loop item results. (https://github.com/ansible/ansible/issues/74864)
|
||||
- Binary GnuPG keys downloaded via URLs by the 'ansible.builtin.apt_key' module were corrupted so 'gpg' could not import them (https://github.com/ansible/ansible/issues/74424).
|
||||
- Ensure end_play ends play, not batch (https://github.com/ansible/ansible/issues/73971)
|
||||
- Ensure we get full path for extra vars into cliargs to avoid realpath issues after initial load.
|
||||
- Fix ``keys()`` implementation of ``BaseFileCacheModule`` to strip the prefix from the key and only return keys that share the same prefix as the cache.
|
||||
- Fix ``when`` evaluation on Native Jinja and Python 3.10.
|
||||
- Fix templating task action with host-specific vars (https://github.com/ansible/ansible/issues/75568)
|
||||
- Fully qualified 'ansible.legacy' and 'ansible.builtin' plugin names work in conjunction with module_defaults.
|
||||
- Give a warning instead of an error if a handler name contains undefined variables and has no listen topics (https://github.com/ansible/ansible/issues/58841).
|
||||
- Improve resilience of ``ansible-galaxy collection`` by increasing the page size to make fewer requests overall and retrying queries with a jittered exponential backoff when rate limiting HTTP codes (520 and 429) occur. (https://github.com/ansible/ansible/issues/74191)
|
||||
- Jinja2 globals should be accessible even when importing a template without the context (https://github.com/ansible/ansible/issues/75371)
|
||||
- PlayContext - Remove deprecated ``make_become_cmd`` (https://github.com/ansible/ansible/issues/74136)
|
||||
- PowerShell - Ignore the ``LIB`` environment variable when compiling C# Ansible code
|
||||
- Prevent ``ansible_failed_task`` from further templating (https://github.com/ansible/ansible/issues/74036)
|
||||
- Remove 'default' from ssh plugin as we want to rely on default from ssh itself or ssh/config.
|
||||
- Replace usage of private dnf.Base() attribute by future dnf API
|
||||
- Save unreachable hosts between plays by adding them to the PlayIterator's _play._removed_hosts (https://github.com/ansible/ansible/issues/66945).
|
||||
- Solaris - correct version check in svcadm_supports_sync (https://github.com/ansible/ansible/pull/73860).
|
||||
- Task depth - Prevent exception when the task depth exceeds Pythons recursion depth (https://github.com/ansible/ansible/issues/73996)
|
||||
- Templating - Ensure we catch exceptions when calling ``.filters()`` or ``.tests()`` on their respective plugins and properly error, instead of aborting which results in no filters being added to the jinja2 environment (https://github.com/ansible/ansible/pull/74127)
|
||||
- The ``apt_key`` module did not properly handle GnuPG errors (https://github.com/ansible/ansible/issues/74477)
|
||||
- The error message about the failure to import a ```gpg`` key by the ``apt_key`` module was incorrect (https://github.com/ansible/ansible/issues/74423).
|
||||
- Update network user guide to explain use of cli_parse and validate plugins.
|
||||
- Variable Manager - Only check if ``play.hosts`` is a template when the play hasn't been finalized (https://github.com/ansible/ansible/issues/73926)
|
||||
- WorkerProcess - Python 3.5 fix for workaround for stdout deadlock in multiprocessing shutdown to avoid process hangs. (https://github.com/ansible/ansible/issues/74149)
|
||||
- ``AnsibleModule.run_command`` - Address thread safety issues, concerning mutating the environment, current working directory, and umask. (https://github.com/ansible/ansible/issues/74783)
|
||||
- ``failed_when``/``changed_when`` - Catch templating errors to prevent masking of module output (https://github.com/ansible/ansible/issues/37187)
|
||||
- ``heuristic_log_sanitize`` - Return the full string if there is no password (https://github.com/ansible/ansible/issues/75542)
|
||||
- ``pip`` now uses the ``pip`` Python module installed for the Ansible module's Python interpreter, if available, unless ``executable`` or ``virtualenv`` were specified.
|
||||
- advanced_host_list inventory plugin - Fixed variable referenced before assignment when hostname/range could not be parsed.
|
||||
- ansiballz - avoid treating path to site_packages as regex; escape it. This prevents a crash when ansible is installed to, or running from, an oddly named directory like ``ansi[ble``
|
||||
- ansible-doc - in text output, do not show empty ``version_added_collection`` values (https://github.com/ansible/ansible/pull/74999).
|
||||
- ansible-doc can now dump kewyords with --metadata-dump (still just for internal use)
|
||||
- ansible-doc, fix output for internal metadata dump option
|
||||
- ansible-doc, make inventory plugin selection for snippets generic and not a hardcoded list
|
||||
- ansible-galaxy - Fix a bug with build_ignore when installing collections from source (https://github.com/ansible/ansible/issues/75528).
|
||||
- ansible-galaxy - Fix handling HTTP exceptions from Galaxy servers. Continue to the next server in the list until the collection is found.
|
||||
- ansible-galaxy - Improve error message from dependency resolution when a candidate has inconsistent requirements (https://github.com/ansible/ansible/issues/75139).
|
||||
- ansible-inventory - handle an exception while parsing inventory in toml format (https://github.com/ansible/ansible/issues/74404).
|
||||
- ansible-playbook, more robust handling of --list-hosts and undefined vars in hosts keyword.
|
||||
- ansible-pull - update documentation for ``--directory`` option to clarify path must be absolute.
|
||||
- ansible-pull, restore other options to use as repo other than git.
|
||||
- ansible-test - Add constraint for ``pyspnego>=0.1.6`` for Python 3.10 - https://github.com/ansible/ansible/pull/74612
|
||||
- ansible-test - Avoid publishing the port used by the ``pypi-test-container`` since it is only accessed by other containers. This avoids issues when trying to run tests in parallel on a single host.
|
||||
- ansible-test - Failure to download test results from a remote host no longer hide test failures. If a download failure occurs after tests fail, a warning will be issued instead.
|
||||
- ansible-test - Fix docker container IP address detection. The ``bridge`` network is no longer assumed to be the default.
|
||||
- ansible-test - Fix path to inventory file for ``windows-integration`` and ``network-integration`` commands for collections.
|
||||
- ansible-test - Fix traceback when generating coverage reports and no coverage directory exists.
|
||||
- ansible-test - Random port selection is no longer handled by ``ansible-test``, avoiding possible port conflicts. Previously ``ansible-test`` would, under some circumstances, use one host's available ports to determine those of another host.
|
||||
- ansible-test - Running tests in a single test run with multiple "cloud" plugins no longer results in port conflicts. Previously two or more containers with overlapping ports could not be used in the same test run.
|
||||
- ansible-test - Tab completion after options like ``--docker`` which accept an optional argument will no longer provide incorrect completions.
|
||||
- ansible-test - The ``--python`` and ``--venv`` options are no longer ignored by some commands, such as ``coverage``.
|
||||
- ansible-test - The ``docker inspect`` command is now used to check for existing images instead of the ``docker images`` command. This resolves an issue where a ``docker pull`` would be unnecessarily executed for an image referenced by checksum.
|
||||
- ansible-test - Update distribution test containers to version 3.1.0.
|
||||
- ansible-test - Use ``--strict`` for ``pytest`` on Python 2.6 since ``--strict-markers`` is not available.
|
||||
- ansible-test - Use documented API to retrieve build information from Azure Pipelines.
|
||||
- ansible-test - Use pwsh to generate correct coverage line counts for stub files to get a more accurate coverage result
|
||||
- ansible-test - Use the correct variable to reference the client's SSH key when generating inventory.
|
||||
- ansible-test - add packaging python module to ``ansible-doc`` sanity test requirements.
|
||||
- ansible-test - allow the same listening port on all container interfaces
|
||||
- ansible-test - ensure the correct unit test target is given when the ``__init__.py`` file is modified inside the connection plugins directory
|
||||
- ansible-test - make the ``a/`` and ``b/`` prefixes an optional match since these can be turned off with the ``diff.noprefix`` setting in ``git``
|
||||
- ansible-test - restrict ``packaging`` to ``< 21.0`` for Python ``< 3.6`` (https://github.com/ansible/ansible/pull/75186).
|
||||
- ansible-test pslint - Fix error when encountering validation results that are highly nested - https://github.com/ansible/ansible/issues/74151
|
||||
- ansible-test validate-modules - EXAMPLES will no longer be marked as invalid YAML when it uses Ansible-specific YAML tags (https://github.com/ansible/ansible/pull/74384).
|
||||
- ansible-test validate-modules - correctly validate positional parameters to ``AnsibleModules`` (https://github.com/ansible/ansible/pull/75332).
|
||||
- ansible.builtin.cron - Keep non-empty crontabs, when removing cron jobs (https://github.com/ansible/ansible/pull/74497).
|
||||
- ansible.utils.encrypt now handles missing or unusable 'crypt' library.
|
||||
- ansible_test - add constraint for ``MarkupSafe`` (https://github.com/ansible/ansible/pull/74666)
|
||||
- apt_key - set --recv argument as last one in apt-key command when using env var HTTP_PROXY (https://github.com/ansible/ansible/issues/74946)
|
||||
- arg_spec - remove unused imports
|
||||
- async_status, ensure we always get documented returns
|
||||
- async_status, resurrected module to deprecate for those that were invoking it directly.
|
||||
- basic - skip over module parameters which are used in ``journal.send`` API call (https://github.com/ansible/ansible/issues/71343).
|
||||
- become - fix a regression on Solaris where chmod can return 5 which we interpret as auth failure and stop trying become tmpdir permission fallbacks
|
||||
- become - work around setfacl not existing on modern Solaris (and possibly failing on some filesystems even when it does exist)
|
||||
- callbacks, restore displaying delegation to host as host label.
|
||||
- cli defaults for ssh args set to None as '' was bypassing normal default.
|
||||
- command - remove unreachable code path when trying to convert the value for ``chdir`` to bytes (https://github.com/ansible/ansible/pull/75036)
|
||||
- command module, clarify order of remove/creates checks.
|
||||
- command module, correctly handles chdir to symlinks.
|
||||
- command module, move to standarized messages in 'msg' vs abusing 'stdout'.
|
||||
- command module, now all options work in ad-hoc execution.
|
||||
- command module, now always returns what we documented as 'returns always'.
|
||||
- config - use ``callbacks_enabled`` instead ``callback_enabled`` in a deprecated message (https://github.com/ansible/ansible/issues/70028).
|
||||
- config lookup, can also handle collection plugins now
|
||||
- config, ensure 'quoted' lists from ini or env do not take the quotes literally as part of the list item.
|
||||
- connection ssh, no ssh_args cli option, so removed doc entry.
|
||||
- constants, internal _deprecated function always requires version.
|
||||
- correct doc links for become on warnings over world readable settings.
|
||||
- correctly use world readable setting since old constant is not 'settable' anymore.
|
||||
- dnf - align the return value of the list argument with the ``yum`` module (https://github.com/ansible/ansible/issues/75483)
|
||||
- dnf - properly capture transaction error (https://github.com/ansible/ansible/issues/72651)
|
||||
- dnf - refactor code to use `dnf whatprovides` API (https://github.com/ansible/ansible/issues/73503).
|
||||
- dnf - support non-english environments (https://github.com/ansible/ansible/issues/75021)
|
||||
- dnf module - Use all components of a package name to determine if it's installed (https://github.com/ansible/ansible/issues/75311).
|
||||
- do not trigger interpreter discovery in the forced_local module path as they should use the ansible playbook python unless otherwise configured.
|
||||
- facts - detect homebrew installed at /opt/homebrew/bin/brew
|
||||
- facts, service_mgr, handle issues if ps command fails or returns empty.
|
||||
- filter plugins - patch new versions of Jinja2 to prevent warnings/errors on renamed filter decorators (https://github.com/ansible/ansible/issues/74667)
|
||||
- find - fix a bug where ``size`` argument was ignored for regular files with ``file_type`` of ``any``.
|
||||
- find action, correctly convert path to text when warning about skiping.
|
||||
- find does not ignore errors from os.walk anymore and issues warnings as expected.
|
||||
- gather_facts, improved message on timeout.
|
||||
- gather_facts, package, service - fix using module_defaults for the modules in addition to the action plugins. (https://github.com/ansible/ansible/issues/72918)
|
||||
- get_bin_path, clarify with quotes what the missing required executable is.
|
||||
- get_url - Fixed checksum validation for binary files (leading asterisk) in checksum files (https://github.com/ansible/ansible/pull/74502).
|
||||
- getent, fix return data for when there are multiple results for the same key
|
||||
- git - Fix git path used when .git file is present (https://github.com/ansible/ansible/issues/75608).
|
||||
- host_group_vars vars plugin fixed ini entry, section and key were reversed.
|
||||
- hostname - Add Rocky Linux support
|
||||
- hostname - No longer modifies system files in get_* methods and therefore when consulted in check_mode (https://github.com/ansible/ansible/issues/66432)
|
||||
- include - Remove deprecated ``static`` argument for ``include`` (https://github.com/ansible/ansible/issues/74135)
|
||||
- includes - Remove the deprecated ability to specify ``tags`` as ``vars`` on includes (https://github.com/ansible/ansible/issues/74144)
|
||||
- ini lookup - better error on mixed/bad parameters
|
||||
- ini lookup - handle errors for duplicate keys and missing sections (https://github.com/ansible/ansible/issues/74601)
|
||||
- interpreter discovery - Debian 8 and lower will avoid unsupported Python3 version in interpreter discovery
|
||||
- interpreter discovery is now handling special (ansible_network_os) cases in less noisy ways.
|
||||
- interpreter_discovery - hide warning 'No python interpreters...' when ANSIBLE_PYTHON_INTERPRETER=auto_silent (https://github.com/ansible/ansible/issues/74274).
|
||||
- module_common - handle exception when multiple workers try to create the cache directory
|
||||
- module_defaults - Fix action defaults for legacy actions/modules (https://github.com/ansible/ansible/issues/75279).
|
||||
- module_utils - detect symlinked init systems, even if unable to read /proc/1/comm (https://github.com/ansible/ansible/issues/74866).
|
||||
- netconf - catch and handle exception to prevent stack trace when running in FIPS mode
|
||||
- network module_utils - fix bug where ``to_bits()`` returned the ``str`` type instead of a useful value.
|
||||
- paramiko_ssh - mark connection as connected when ``_connect()`` is called (https://github.com/ansible/ansible/issues/74081)
|
||||
- password - Handle passlib wrapped algos bsd_nthash, django_argon2, django_bcrypt, ldap_bcrypt, ldap_bsdi_crypt, ldap_des_crypt, ldap_hex_md5, ldap_hex_sha1, ldap_md5_crypt, ldap_pbkdf2_sha1, ldap_pbkdf2_sha256, ldap_pbkdf2_sha512, ldap_sha1_crypt, ldap_sha256_crypt, ldap_sha512_crypt, roundup_plaintext (https://github.com/ansible/ansible/pull/75527).
|
||||
- pause - ensure control characters are always set to an appropriate value (https://github.com/ansible/ansible/issues/73264)
|
||||
- pkg_mgr.py - Lower the priority of rpm-ostree detection to avoid false positives on systems not using it as the main package manager (https://github.com/ansible/ansible/issues/74578)
|
||||
- play - validate the ``hosts`` entry in a play (https://github.com/ansible/ansible/issues/65386)
|
||||
- playbook loaded from collection subdir now does not ignore subdirs.
|
||||
- plugin config now allows list type options to have multiple valid choices (#74225).
|
||||
- psrp - Always cleanup the last run pipeline if a second pipeline is invoked to avoid violating any resource limits.
|
||||
- psrp - Fix error when resetting a connection that was initialised but not connected - (https://github.com/ansible/ansible/issues/74092).
|
||||
- psrp - Try to clean up any server-side resources when resetting a connection.
|
||||
- recursive_diff - handle condition when parameters are not dict (https://github.com/ansible/ansible/issues/56249).
|
||||
- register - Ensure that ``register`` used on ``set_fact`` or ``include_vars`` does not automatically wrap the facts as unsafe. (https://github.com/ansible/ansible/issues/21088)
|
||||
- rekey_on_member - handle undefined positional arguments better.
|
||||
- remote tmpdir permissions - fix type error in macOS chmod ACL fallback (https://github.com/ansible/ansible/pull/74613).
|
||||
- replace - better handling of file operation exceptions (https://github.com/ansible/ansible/pull/74686).
|
||||
- roles - allow for role arg specs in new meta file (https://github.com/ansible/ansible/issues/74525).
|
||||
- roles - fix unexpected ``AttributeError`` when an empty ``argument_specs.yml`` is present (https://github.com/ansible/ansible/pull/75604).
|
||||
- roles - make sure argspec validation task is tagged with ``always`` (https://github.com/ansible/ansible/pull/74994).
|
||||
- roles - make sure argspec validation task templates suboptions (https://github.com/ansible/ansible/issues/75070).
|
||||
- schema validation now uses dynamic range of versions for valid deprecation entries vs hardcoded out of date list.
|
||||
- script inventory plugin - Remove deprecated caching support (https://github.com/ansible/ansible/issues/74143)
|
||||
- sequence - fix error message so that unrecognized options to the plugin display correctly as a list and normalize error messages.
|
||||
- service - compare version without LooseVersion API (https://github.com/ansible/ansible/issues/74488).
|
||||
- set ssh host_key_checking defaults to True, restoring original behaviour (https://github.com/ansible/ansible/issues/75168)
|
||||
- setup module should now not truncate hpux interface names.
|
||||
- setup module, fix filter to adjust for missing ``ansible_`` prefix on query.
|
||||
- setup, while gathering linux hardware facts be more resilient to errors and try to return more info.
|
||||
- slurp - Fix error messages for unreadable files and directories(https://github.com/ansible/ansible/issues/67340).
|
||||
- slurp - handle error when ``path`` is a directory and not a file (https://github.com/ansible/ansible/pull/74930).
|
||||
- slurp - improve the logic in the error handling and remove ``os.stat()`` call (https://github.com/ansible/ansible/pull/75038)
|
||||
- ssh connection now correctly handle ssh_transfer_method and scp_if_ssh interactions.
|
||||
- ssh connection, fix interaction between trasnfer settings options.
|
||||
- ssh connection, use self.host which has the most up2date info instead of pc.remote_addr
|
||||
- ssh_connection - rename ``retries`` to ``reconnection_retries`` to avoid conflicts with task vars (https://github.com/ansible/ansible/issues/75142).
|
||||
- ssh_connection - set the default for ``reconnection_retries`` back to ``0`` (https://github.com/ansible/ansible/issues/75142).
|
||||
- subversion - fix stack trace when getting information about the repository (https://github.com/ansible/ansible/issues/36498)
|
||||
- system_service - use a context manager for file handling.
|
||||
- task_executor, Actions using AnsibleActionFail/Skip will now propagate 'results' if given
|
||||
- task_executor/ssh_connection - use the ``retries`` value from ``ssh_connection`` settings, not the default from the ``Task`` field attributes (https://github.com/ansible/ansible/issues/75142).
|
||||
- template - ensure Jinja2 overrides from template header are used (https://github.com/ansible/ansible/issues/75275)
|
||||
- unarchive - allow extracting archives that contain files which size exceeds free system memory (https://github.com/ansible/ansible/issues/73985).
|
||||
- unarchive - fail when zipinfo binary is not found in executable paths (https://github.com/ansible/ansible/issues/39029).
|
||||
- unarchive - move failure for missing binary to ``can_handle_archive()`` rather than ``__init__()``
|
||||
- uri - Fix traceback and provide error message when trying to use non-string or mapping for ``form-multipart`` body - https://github.com/ansible/ansible/issues/74276
|
||||
- urls - Fix logic in matching ``unredirected_headers`` to perform case insensitive matching
|
||||
- validate_argument_spec, correct variable precedence and merge method and add missing examples
|
||||
- variable manager, avoid sourcing delegated variables when no inventory hostname is present. This affects scenarios like syntax check and imports.
|
||||
- version test - improve error message when an empty version is provided
|
||||
- yum - Fixed typo in failure message (https://github.com/ansible/ansible/pull/72964).
|
||||
- yum - When upgrading, every architecture of a package is now included in the module results, instead of just one (https://github.com/ansible/ansible/issues/73284).
|
||||
- yum - fix ``yumstate`` return value when wildcards are used in the ``list`` argument (https://github.com/ansible/ansible/issues/74557)
|
||||
- yum - fix parsing of multiple subsequent empty lines from ``yum check-update`` output (https://github.com/ansible/ansible/issues/70949)
|
||||
- yum - yum action plugin changes to support 'use' as an alias of 'use_backend' (https://github.com/ansible/ansible/issues/70774).
|
||||
|
||||
Known Issues
|
||||
------------
|
||||
|
||||
- ansible-test - Tab completion anywhere other than the end of the command with the new composite options will provide incorrect results. See https://github.com/kislyuk/argcomplete/issues/351 for additional details.
|
||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,3 @@
|
||||
minor_changes:
|
||||
- callbacks - Add feature allowing forks to send callback events
|
||||
(https://github.com/ansible/ansible/issues/14681)
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- display correct error information when an error exists in the last line of the file (https://github.com/ansible/ansible/issues/16456)
|
||||
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- Allow for the skipped filter to be used on a registered looped task results. (https://github.com/ansible/ansible/issues/16949)
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- Lookup user by UID in password database if login name is not found (https://github.com/ansible/ansible/issues/17029)
|
||||
3
changelogs/fragments/17268-inventory-hostnames.yml
Normal file
3
changelogs/fragments/17268-inventory-hostnames.yml
Normal file
@ -0,0 +1,3 @@
|
||||
bugfixes:
|
||||
- inventory_hostnames - Use ``InventoryManager`` instead of trying to replicate its behavior
|
||||
(https://github.com/ansible/ansible/issues/17268)
|
||||
@ -1,7 +0,0 @@
|
||||
minor_changes:
|
||||
- >
|
||||
get_distribution - ``lib.ansible.module_utils.common.sys_info.get_distribution`` now returns
|
||||
distribution information for all platforms not just Linux (https://github.com/ansible/ansible/issues/17587)
|
||||
- >
|
||||
get_distribution_version - ``lib.ansible.module_utils.common.sys_info.get_distribution_version`` now
|
||||
returns the version for all platfroms not just Linux (https://github.com/ansible/ansible/issues/17587)
|
||||
@ -1,4 +0,0 @@
|
||||
bugfixes:
|
||||
- register - Ensure that ``register`` used on ``set_fact`` or ``include_vars``
|
||||
does not automatically wrap the facts as unsafe.
|
||||
(https://github.com/ansible/ansible/issues/21088)
|
||||
@ -1,4 +0,0 @@
|
||||
minor_changes:
|
||||
- Python 2.6 Target Support - Deprecate Python 2.6 for targets, requiring Python 2.7 or newer.
|
||||
``ansible-core==2.13`` will drop support for Python 2.6.
|
||||
(https://github.com/ansible/ansible/pull/74165)
|
||||
2
changelogs/fragments/22599_svn_validate_certs.yml
Normal file
2
changelogs/fragments/22599_svn_validate_certs.yml
Normal file
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- subversion - ``validate_certs`` option, which, when true, will avoid passing ``--trust-server-cert`` to ``svn`` commands (https://github.com/ansible/ansible/issues/22599).
|
||||
3
changelogs/fragments/23958-cleanup.yml
Normal file
3
changelogs/fragments/23958-cleanup.yml
Normal file
@ -0,0 +1,3 @@
|
||||
bugfixes:
|
||||
- Ensure if a traceback halts ``strategy.run`` that we still attempt to clean up
|
||||
(https://github.com/ansible/ansible/issues/23958)
|
||||
3
changelogs/fragments/29351-expect-bytes.yml
Normal file
3
changelogs/fragments/29351-expect-bytes.yml
Normal file
@ -0,0 +1,3 @@
|
||||
bugfixes:
|
||||
- expect - Operate pexpect with bytes to avoid potential encoding issues
|
||||
(https://github.com/ansible/ansible/issues/29351)
|
||||
@ -1,2 +0,0 @@
|
||||
minor_changes:
|
||||
- deprecate ``_remote_checksum()`` and remove all internal uses (https://github.com/ansible/ansible/pull/74848)
|
||||
4
changelogs/fragments/32143-pause-background-hangs.yml
Normal file
4
changelogs/fragments/32143-pause-background-hangs.yml
Normal file
@ -0,0 +1,4 @@
|
||||
bugfixes:
|
||||
- >
|
||||
pause - Fix indefinite hang when using a pause task on a background
|
||||
process (https://github.com/ansible/ansible/issues/32142)
|
||||
3
changelogs/fragments/32174-normalize-None-quote.yml
Normal file
3
changelogs/fragments/32174-normalize-None-quote.yml
Normal file
@ -0,0 +1,3 @@
|
||||
bugfixes:
|
||||
- quote filter - normalize how ``None`` is handled, to match Python3 behavior
|
||||
(https://github.com/ansible/ansible/issues/32174)
|
||||
2
changelogs/fragments/322214-hostname-macos-support.yml
Normal file
2
changelogs/fragments/322214-hostname-macos-support.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- hostname - add macOS support (https://github.com/ansible/ansible/pull/54439)
|
||||
2
changelogs/fragments/32386_debconf_password.yml
Normal file
2
changelogs/fragments/32386_debconf_password.yml
Normal file
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- debconf - add a note about no_log=True since module might expose sensitive information to logs (https://github.com/ansible/ansible/issues/32386).
|
||||
@ -1,3 +0,0 @@
|
||||
minor_changes:
|
||||
- ssh - added pkcs11 support by adding the pkcs11_provider option in the
|
||||
ssh connection module. (https://www.github.com/ansible/ansible/pull/32829)
|
||||
4
changelogs/fragments/37132-delegate-to-loop-context.yml
Normal file
4
changelogs/fragments/37132-delegate-to-loop-context.yml
Normal file
@ -0,0 +1,4 @@
|
||||
bugfixes:
|
||||
- delegate_to - Ensure that calculating ``delegate_to`` vars with a loop
|
||||
uses the correct context to correctly evaluate the loop
|
||||
(https://github.com/ansible/ansible/issues/37132)
|
||||
@ -1,4 +0,0 @@
|
||||
bugfixes:
|
||||
- >-
|
||||
``failed_when``/``changed_when`` - Catch templating errors to prevent masking of module output
|
||||
(https://github.com/ansible/ansible/issues/37187)
|
||||
2
changelogs/fragments/38182_subelements.yml
Normal file
2
changelogs/fragments/38182_subelements.yml
Normal file
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- subelements - clarify the lookup plugin documentation for parameter handling (https://github.com/ansible/ansible/issues/38182).
|
||||
2
changelogs/fragments/38760-slackware-os-dist.yml
Normal file
2
changelogs/fragments/38760-slackware-os-dist.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- facts - account for Slackware OS with ``+`` in the name (https://github.com/ansible/ansible/issues/38760)
|
||||
@ -1,2 +0,0 @@
|
||||
bugfixes:
|
||||
- unarchive - fail when zipinfo binary is not found in executable paths (https://github.com/ansible/ansible/issues/39029).
|
||||
4
changelogs/fragments/40522-unarchive-add-include.yml
Normal file
4
changelogs/fragments/40522-unarchive-add-include.yml
Normal file
@ -0,0 +1,4 @@
|
||||
minor_changes:
|
||||
- >
|
||||
unarchive - add ``include`` parameter to allow extracting specific files
|
||||
from an archive (https://github.com/ansible/ansible/pull/40522)
|
||||
2
changelogs/fragments/43739_dragonflybsd_disto.yml
Normal file
2
changelogs/fragments/43739_dragonflybsd_disto.yml
Normal file
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- distribution - add support for DragonFly distribution (https://github.com/ansible/ansible/issues/43739).
|
||||
2
changelogs/fragments/45475_galaxy.yml
Normal file
2
changelogs/fragments/45475_galaxy.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- galaxy - handle plus sign in user token appearing in role url (https://github.com/ansible/ansible/issues/45475).
|
||||
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- Force the template module to use non-native Jinja2 (https://github.com/ansible/ansible/issues/46169)
|
||||
@ -1,2 +0,0 @@
|
||||
minor_changes:
|
||||
- ini - added new parameter ``allow_no_value`` to ini lookup plugin (https://github.com/ansible/ansible/issues/50594).
|
||||
2
changelogs/fragments/50909-min-max-attrs.yml
Normal file
2
changelogs/fragments/50909-min-max-attrs.yml
Normal file
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- Allow an attribute to be passed to the min and max filters with Jinja 2.10+
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- vault - Support reading raw binary data from stdin under python3
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- Provide more information in AnsibleUndefinedVariable (https://github.com/ansible/ansible/issues/55152)
|
||||
@ -1,3 +0,0 @@
|
||||
---
|
||||
minor_changes:
|
||||
- validation testcases for check_* APIs (https://github.com/ansible/ansible/issues/55994).
|
||||
@ -1,2 +0,0 @@
|
||||
bugfixes:
|
||||
- recursive_diff - handle condition when parameters are not dict (https://github.com/ansible/ansible/issues/56249).
|
||||
2
changelogs/fragments/565_default_callback.yml
Normal file
2
changelogs/fragments/565_default_callback.yml
Normal file
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- default_callback - moving 'check_mode_markers' documentation in default_callback doc_fragment (https://github.com/ansible-collections/community.general/issues/565).
|
||||
5
changelogs/fragments/57399-finalize-task-in-strategy.yml
Normal file
5
changelogs/fragments/57399-finalize-task-in-strategy.yml
Normal file
@ -0,0 +1,5 @@
|
||||
bugfixes:
|
||||
- Strategy - When building the task in the Strategy from the Worker,
|
||||
ensure it is properly marked as finalized and squashed. Addresses an
|
||||
issue with ``ansible_failed_task``.
|
||||
(https://github.com/ansible/ansible/issues/57399)
|
||||
@ -1,2 +0,0 @@
|
||||
minor_changes:
|
||||
- facts - add fiber channel facts for HP-UX (https://github.com/ansible/ansible/pull/57406)
|
||||
2
changelogs/fragments/58752_argument_aliases.yml
Normal file
2
changelogs/fragments/58752_argument_aliases.yml
Normal file
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- Added name of aliases in user error (https://github.com/ansible/ansible/issues/58752).
|
||||
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- constructed - Add a toggle to allow the separator to be omitted if no prefix has been provided.
|
||||
2
changelogs/fragments/61234-yum-dnf-version-comp-doc.yml
Normal file
2
changelogs/fragments/61234-yum-dnf-version-comp-doc.yml
Normal file
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- Add yum/dnf version comparison documentation for package install
|
||||
2
changelogs/fragments/61369_get_url.yml
Normal file
2
changelogs/fragments/61369_get_url.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- get_url - skip checksum during ``--check`` (https://github.com/ansible/ansible/issues/61369).
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- "task parsing - strip spaces from action name when using ``action: foo bar=baz`` form. (https://github.com/ansible/ansible/issues/62136)"
|
||||
3
changelogs/fragments/63105-wcswidth.yml
Normal file
3
changelogs/fragments/63105-wcswidth.yml
Normal file
@ -0,0 +1,3 @@
|
||||
bugfixes:
|
||||
- Display - Use wcswidth to calculate printable width of a text string
|
||||
(https://github.com/ansible/ansible/issues/63105)
|
||||
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- find module - Now has a ``read_whole_file`` boolean parameter which allows for reading the whole file and doing an ``re.search()`` regex evaluation on it when searching using the ``contains`` option. This allows (for example) for ensuring the very end of the file matches a pattern.
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- Ensure Ansible's unique filter preserves order (https://github.com/ansible/ansible/issues/63417)
|
||||
2
changelogs/fragments/64469_git_no_raw.yml
Normal file
2
changelogs/fragments/64469_git_no_raw.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- git - Only pass ``--raw`` flag to git verify commands (verify-tag, verify-commit) when ``gpg_whitelist`` is in use. Otherwise don't pass it so that non-whitelist GPG validation still works on older Git versions. (https://github.com/ansible/ansible/issues/64469)
|
||||
@ -0,0 +1,5 @@
|
||||
minor_changes:
|
||||
- >-
|
||||
default callback - add ``show_task_path_on_failure`` option to display file and
|
||||
line number of tasks only on failed tasks when running at
|
||||
normal verbosity level (https://github.com/ansible/ansible/issues/64625)
|
||||
@ -1,2 +0,0 @@
|
||||
bugfixes:
|
||||
- system_service - use a context manager for file handling.
|
||||
2
changelogs/fragments/65262_ansible_inventory.yml
Normal file
2
changelogs/fragments/65262_ansible_inventory.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- Suppress warning when user directory used in --playbook-dir option with ansible-inventory command (https://github.com/ansible/ansible/issues/65262).
|
||||
@ -1,2 +0,0 @@
|
||||
bugfixes:
|
||||
- play - validate the ``hosts`` entry in a play (https://github.com/ansible/ansible/issues/65386)
|
||||
3
changelogs/fragments/65710-find-include-parent.yml
Normal file
3
changelogs/fragments/65710-find-include-parent.yml
Normal file
@ -0,0 +1,3 @@
|
||||
bugfixes:
|
||||
- Includes - Explicitly get the include task, and not assume it is the parent
|
||||
(https://github.com/ansible/ansible/issues/65710)
|
||||
3
changelogs/fragments/65812-paramiko-attribute-error.yml
Normal file
3
changelogs/fragments/65812-paramiko-attribute-error.yml
Normal file
@ -0,0 +1,3 @@
|
||||
bugfixes:
|
||||
- paramiko connection plugin - Ensure we only reset the connection when one has been
|
||||
previously established (https://github.com/ansible/ansible/issues/65812)
|
||||
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- dnf - now shows specific package changes (installations/removals) under ``results`` in check_mode. (https://github.com/ansible/ansible/issues/66132)
|
||||
2
changelogs/fragments/66147_rhev_vdsm_vdsmd.yml
Normal file
2
changelogs/fragments/66147_rhev_vdsm_vdsmd.yml
Normal file
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- virtualization facts - Detect ``vdsmd`` in addition to ``vdsm`` when trying to detect RHEV hosts. (https://github.com/ansible/ansible/issues/66147)
|
||||
2
changelogs/fragments/66304-facts_containerd.yml
Normal file
2
changelogs/fragments/66304-facts_containerd.yml
Normal file
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- virtual facts - containerd cgroup is now recognized as container tech (https://github.com/ansible/ansible/issues/66304).
|
||||
@ -1,4 +0,0 @@
|
||||
minor_changes:
|
||||
- >-
|
||||
``include_role`` - Allow use of ``omit`` in the ``from_*`` arguments
|
||||
(https://github.com/ansible/ansible/issues/66349)
|
||||
@ -1,7 +0,0 @@
|
||||
bugfixes:
|
||||
- hostname - No longer modifies system files in get_* methods and therefore when consulted in check_mode (https://github.com/ansible/ansible/issues/66432)
|
||||
|
||||
breaking_changes:
|
||||
- hostname - Drops any remaining support for Python 2.4 by using ``with open()`` to simplify exception handling code which leaked file handles in several spots
|
||||
- hostname - On FreeBSD, the string ``temporarystub`` no longer gets written to the hostname file in the get methods (and in check_mode). As a result, the default hostname will now appear as ``''`` (empty string) instead of ``temporarystub`` for consistency with other strategies. This means the ``before`` result will be different.
|
||||
- hostname - On OpenRC systems and Solaris, the ``before`` value will now be ``''`` (empty string) if the permanent hostname file does not exist, for consistency with other strategies.
|
||||
@ -1,2 +1,2 @@
|
||||
bugfixes:
|
||||
- "slurp - Fix error messages for unreadable files and directories(https://github.com/ansible/ansible/issues/67340)."
|
||||
- "slurp - Fix error messages for unreadable files and directories (https://github.com/ansible/ansible/issues/67340)."
|
||||
|
||||
2
changelogs/fragments/67508-meta-task-tags.yaml
Normal file
2
changelogs/fragments/67508-meta-task-tags.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
breaking_changes:
|
||||
- The ``meta`` module now supports tags for user-defined tasks. Internal ``meta`` tasks continue to always run. (https://github.com/ansible/ansible/issues/64558)
|
||||
@ -1,3 +0,0 @@
|
||||
---
|
||||
minor_changes:
|
||||
- collection - match skip message as per role installation.
|
||||
3
changelogs/fragments/68275-vault-module-args.yml
Normal file
3
changelogs/fragments/68275-vault-module-args.yml
Normal file
@ -0,0 +1,3 @@
|
||||
bugfixes:
|
||||
- Vault - Allow single vault encrypted values to be used directly as module
|
||||
parameters. (https://github.com/ansible/ansible/issues/68275)
|
||||
2
changelogs/fragments/68402_galaxy.yml
Normal file
2
changelogs/fragments/68402_galaxy.yml
Normal file
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- galaxy - add documentation about galaxy parameters in examples/ansible.cfg (https://github.com/ansible/ansible/issues/68402).
|
||||
@ -1,2 +0,0 @@
|
||||
bugfixes:
|
||||
- Add yaml representer for VarsWithSources (https://github.com/ansible/ansible/pull/68525).
|
||||
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- setup - allow list of filters (https://github.com/ansible/ansible/pull/68551).
|
||||
@ -0,0 +1,3 @@
|
||||
minor_changes:
|
||||
- Errors - Ensure that errors passed with ``orig_exc`` include the context of that exception
|
||||
(https://github.com/ansible/ansible/issues/68605)
|
||||
2
changelogs/fragments/68612_iptables.yml
Normal file
2
changelogs/fragments/68612_iptables.yml
Normal file
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- iptables - fixed get_chain_policy API (https://github.com/ansible/ansible/issues/68612).
|
||||
2
changelogs/fragments/68770_cache_adjudicator_flush.yml
Normal file
2
changelogs/fragments/68770_cache_adjudicator_flush.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- The ``flush()`` method of ``CachePluginAdjudicator`` now calls the plugin's ``flush()`` method instead of iterating over the keys that the adjudicator knows about and deleting those from the cache. (https://github.com/ansible/ansible/issues/68770)
|
||||
@ -1,2 +0,0 @@
|
||||
minor_changes:
|
||||
- template - Add comment attributes (``comment_start_string`` and ``comment_end_string``)
|
||||
2
changelogs/fragments/69352-netbsd-virtual-facts.yml
Normal file
2
changelogs/fragments/69352-netbsd-virtual-facts.yml
Normal file
@ -0,0 +1,2 @@
|
||||
breaking_changes:
|
||||
- NetBSD virtualization facts (specifically ``ansible_virtualization_type``) now returns a more accurate value by checking the value of the ``machdep.hypervisor`` ``sysctl`` key. This change is breaking because in some cases previously, we would erroneously report ``xen`` even when the target is not running on Xen. This prevents that behavior in most cases. (https://github.com/ansible/ansible/issues/69352)
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- Fixed TypeError instancemethod expecting at least 2 arguments for apt_repository(issue https://github.com/ansible/ansible/issues/69308, PR https://github.com/ansible/ansible/pull/69463)
|
||||
2
changelogs/fragments/69531_user_password_expire.yml
Normal file
2
changelogs/fragments/69531_user_password_expire.yml
Normal file
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- user - add new parameters ``password_expire_max`` and ``password_expire_min`` for controlling password expiration (https://github.com/ansible/ansible/issues/68775)
|
||||
2
changelogs/fragments/69578-shell-remote_tmp-quoting.yaml
Normal file
2
changelogs/fragments/69578-shell-remote_tmp-quoting.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- shell - fix quoting of mkdir command in creation of remote_tmp in order to allow spaces and other special characters (https://github.com/ansible/ansible/issues/69577).
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- file - the module should warn in check_mode when path an owner/group don't exist (https://github.com/ansible/ansible/issues/67307).
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- Fix incorrect re-run of roles with tags (https://github.com/ansible/ansible/issues/69848)
|
||||
@ -0,0 +1,4 @@
|
||||
bugfixes:
|
||||
- >-
|
||||
if the ``type`` for a module parameter in the argument spec is callable,
|
||||
do not pass ``kwargs`` to avoid errors (https://github.com/ansible/ansible/issues/70017)
|
||||
2
changelogs/fragments/70042-dnf-repository-hotfixes.yml
Normal file
2
changelogs/fragments/70042-dnf-repository-hotfixes.yml
Normal file
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- yum_repository - added boolean option module_hotfixes which allows to enable functionality for dnf.
|
||||
2
changelogs/fragments/70045-ansible-doc-yaml-anchors.yml
Normal file
2
changelogs/fragments/70045-ansible-doc-yaml-anchors.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- "ansible-doc - improve man page formatting to avoid problems when YAML anchors are used (https://github.com/ansible/ansible/pull/70045)."
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- "ansible-doc - improve error message in text formatter when ``description`` is missing for a (sub-)option or a return value or its ``contains`` (https://github.com/ansible/ansible/pull/70046)."
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- apt - add ``fail_on_autoremove`` param to apt module to avoid unintended package removals (https://github.com/ansible/ansible/issues/63231)
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- apt - include exception message from apt python library in error output
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- SSH plugin - Improve error message when ssh client is not found on the host
|
||||
2
changelogs/fragments/70148-galaxy-role-info.yaml
Normal file
2
changelogs/fragments/70148-galaxy-role-info.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- Fixes ``ansible-galaxy role info`` to support multiple roles on the command line (https://github.com/ansible/ansible/pull/70148)
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- "Fix ``delegate_facts: true`` when ``ansible_python_interpreter`` is not set. (https://github.com/ansible/ansible/issues/70168)"
|
||||
2
changelogs/fragments/70238_selector.yml
Normal file
2
changelogs/fragments/70238_selector.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- basic - use PollSelector implementation when DefaultSelector fails (https://github.com/ansible/ansible/issues/70238).
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user