Compare commits
137 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5dd895cb06 | |||
| 5138a8bb44 | |||
| 9b01316882 | |||
| 6bae9486b1 | |||
| ac8188febd | |||
| caf8cdbe91 | |||
| ebe6c7e1c3 | |||
| daa2d9b8fd | |||
| 7771f78f8c | |||
| febd0f3a69 | |||
| 733f6542de | |||
| 697af6ba33 | |||
| e96da33c08 | |||
| 618aa954af | |||
| bdd9e8f1aa | |||
| db2ed518ec | |||
| 4362220ee7 | |||
| 82ff8b5a7b | |||
| b54e3f91d6 | |||
| 20cd618bc8 | |||
| 68709ecda2 | |||
| 85a3eb272a | |||
| 8a4a1279df | |||
| 7d561e6e4e | |||
| 4f16d2d9a7 | |||
| b3a4b4a9b1 | |||
| c5c8909b85 | |||
| 2c847af5a5 | |||
| f64067c62b | |||
| af59d80a8a | |||
| 5265794b32 | |||
| 3038fee209 | |||
| 7e63a85dd6 | |||
| 21243c5d05 | |||
| 5d57a8e363 | |||
| b63bf6f840 | |||
| bf09a9e2e0 | |||
| 89ec76033c | |||
| 559f0f9a4e | |||
| 1388880149 | |||
| 63b6dd2454 | |||
| af1fd68cc0 | |||
| 5421a1304c | |||
| 4684debab5 | |||
| 70dc6d6866 | |||
| 04e4280437 | |||
| add8a968e8 | |||
| c779af621e | |||
| bf38eb57a3 | |||
| 3c8a3fa0af | |||
| a9c656f8f3 | |||
| 2b2510b653 | |||
| 3cf87a9702 | |||
| 9c348b71ac | |||
| a87aefeda4 | |||
| 0cd0788eac | |||
| 7b97a0232a | |||
| 83c9bd8d25 | |||
| 94a6f6e0de | |||
| 130fdcd50e | |||
| 7a61d9fb11 | |||
| 9f2b37ad39 | |||
| 2c5856d7bc | |||
| 2f7465969e | |||
| e5d4cb89f8 | |||
| 0766ad33eb | |||
| 30f3fc2335 | |||
| e860820982 | |||
| 3d9a1cfdc6 | |||
| d4c10eea8e | |||
| d3e26c5fb4 | |||
| de8eb87110 | |||
| 37473cd99b | |||
| 25880be91b | |||
| 85065d6b7d | |||
| 4536ef6303 | |||
| 6bddb3d3c1 | |||
| 8fe49b6b35 | |||
| 01000c622f | |||
| cc0eaad410 | |||
| 8e0f02da82 | |||
| 8b4bfcff3b | |||
| d3fda5a6fb | |||
| 3bc453469a | |||
| 88042f98d6 | |||
| 94b97c9c0b | |||
| 6b1ba183eb | |||
| 96127a15f3 | |||
| 3b8d2cbd01 | |||
| 960f5ddee0 | |||
| 6bce05fd4d | |||
| 398841ba0d | |||
| 86efb07b59 | |||
| 0b1b2c238a | |||
| d58b2c9a4c | |||
| 748096552f | |||
| 4d4a11490e | |||
| 5b1efaac29 | |||
| e88a1a426f | |||
| 6f4d3a7944 | |||
| c1e8177808 | |||
| 6dd566b9bb | |||
| ca323b9f92 | |||
| 96c1a9346c | |||
| 67c6f75c9d | |||
| 3e846be696 | |||
| 78eecfb9dc | |||
| 53fd504935 | |||
| c6fc345fb0 | |||
| 79751ed970 | |||
| b264386f3f | |||
| 2f57c2d9bc | |||
| ddf298097c | |||
| 82b47c8d5c | |||
| c49dd110ee | |||
| 4de262300b | |||
| 2c35d46298 | |||
| f90c7f1a7d | |||
| 12083db2c5 | |||
| 1c16d871d6 | |||
| 86bcfec830 | |||
| f7d2c41fa2 | |||
| 7ce3270f72 | |||
| c0b452c73c | |||
| 39efd7a151 | |||
| 352127ec2b | |||
| 3e4b59dcef | |||
| f27a4a4f5c | |||
| 3a378ba61b | |||
| c7603bbb72 | |||
| 8f0ddcba2c | |||
| 856e0312ff | |||
| 13cdec1f46 | |||
| 66ef54e83f | |||
| 4fcf731ced | |||
| ca08c27c94 | |||
| 5a262ab510 |
@ -31,7 +31,7 @@ variables:
|
||||
- name: fetchDepth
|
||||
value: 500
|
||||
- name: defaultContainer
|
||||
value: quay.io/ansible/azure-pipelines-test-container:6.0.0
|
||||
value: quay.io/ansible/azure-pipelines-test-container:4.0.1
|
||||
|
||||
pool: Standard
|
||||
|
||||
@ -54,12 +54,14 @@ stages:
|
||||
nameFormat: Python {0}
|
||||
testFormat: units/{0}
|
||||
targets:
|
||||
- test: 2.7
|
||||
- test: 3.5
|
||||
- test: 3.6
|
||||
- test: 3.7
|
||||
- test: 3.8
|
||||
- test: 3.9
|
||||
- test: '3.10'
|
||||
- test: 3.11
|
||||
- test: 3.12
|
||||
- stage: Windows
|
||||
dependsOn: []
|
||||
jobs:
|
||||
@ -68,6 +70,8 @@ stages:
|
||||
nameFormat: Server {0}
|
||||
testFormat: windows/{0}/1
|
||||
targets:
|
||||
- test: 2012
|
||||
- test: 2012-R2
|
||||
- test: 2016
|
||||
- test: 2019
|
||||
- test: 2022
|
||||
@ -77,30 +81,34 @@ stages:
|
||||
- template: templates/matrix.yml # context/target
|
||||
parameters:
|
||||
targets:
|
||||
- name: macOS 14.3
|
||||
test: macos/14.3
|
||||
- name: RHEL 9.3 py39
|
||||
test: rhel/9.3@3.9
|
||||
- name: RHEL 9.3 py311
|
||||
test: rhel/9.3@3.11
|
||||
- name: FreeBSD 13.3
|
||||
test: freebsd/13.3
|
||||
- name: FreeBSD 14.0
|
||||
test: freebsd/14.0
|
||||
- name: macOS 13.2
|
||||
test: macos/13.2
|
||||
- name: RHEL 7.9
|
||||
test: rhel/7.9
|
||||
- name: RHEL 8.7 py36
|
||||
test: rhel/8.7@3.6
|
||||
- name: RHEL 8.7 py39
|
||||
test: rhel/8.7@3.9
|
||||
- name: RHEL 9.1
|
||||
test: rhel/9.1
|
||||
- name: FreeBSD 12.4
|
||||
test: freebsd/12.4
|
||||
- name: FreeBSD 13.1
|
||||
test: freebsd/13.1
|
||||
groups:
|
||||
- 1
|
||||
- 2
|
||||
- template: templates/matrix.yml # context/controller
|
||||
parameters:
|
||||
targets:
|
||||
- name: macOS 14.3
|
||||
test: macos/14.3
|
||||
- name: RHEL 9.3
|
||||
test: rhel/9.3
|
||||
- name: FreeBSD 13.3
|
||||
test: freebsd/13.3
|
||||
- name: FreeBSD 14.0
|
||||
test: freebsd/14.0
|
||||
- name: macOS 13.2
|
||||
test: macos/13.2
|
||||
- name: RHEL 8.7
|
||||
test: rhel/8.7
|
||||
- name: RHEL 9.1
|
||||
test: rhel/9.1
|
||||
- name: FreeBSD 13.1
|
||||
test: freebsd/13.1
|
||||
groups:
|
||||
- 3
|
||||
- 4
|
||||
@ -108,12 +116,16 @@ stages:
|
||||
- template: templates/matrix.yml # context/controller (ansible-test container management)
|
||||
parameters:
|
||||
targets:
|
||||
- name: Alpine 3.19
|
||||
test: alpine/3.19
|
||||
- name: Fedora 39
|
||||
test: fedora/39
|
||||
- name: RHEL 9.3
|
||||
test: rhel/9.3
|
||||
- name: Alpine 3.17
|
||||
test: alpine/3.17
|
||||
- name: Fedora 38
|
||||
test: fedora/38
|
||||
- name: RHEL 8.7
|
||||
test: rhel/8.7
|
||||
- name: RHEL 9.1
|
||||
test: rhel/9.1
|
||||
- name: Ubuntu 20.04
|
||||
test: ubuntu/20.04
|
||||
- name: Ubuntu 22.04
|
||||
test: ubuntu/22.04
|
||||
groups:
|
||||
@ -125,10 +137,14 @@ stages:
|
||||
parameters:
|
||||
testFormat: linux/{0}
|
||||
targets:
|
||||
- name: Alpine 3.19
|
||||
test: alpine319
|
||||
- name: Fedora 39
|
||||
test: fedora39
|
||||
- name: Alpine 3
|
||||
test: alpine3
|
||||
- name: CentOS 7
|
||||
test: centos7
|
||||
- name: Fedora 37
|
||||
test: fedora37
|
||||
- name: openSUSE 15
|
||||
test: opensuse15
|
||||
- name: Ubuntu 20.04
|
||||
test: ubuntu2004
|
||||
- name: Ubuntu 22.04
|
||||
@ -140,10 +156,10 @@ stages:
|
||||
parameters:
|
||||
testFormat: linux/{0}
|
||||
targets:
|
||||
- name: Alpine 3.19
|
||||
test: alpine319
|
||||
- name: Fedora 39
|
||||
test: fedora39
|
||||
- name: Alpine 3
|
||||
test: alpine3
|
||||
- name: Fedora 37
|
||||
test: fedora37
|
||||
- name: Ubuntu 22.04
|
||||
test: ubuntu2204
|
||||
groups:
|
||||
@ -158,9 +174,9 @@ stages:
|
||||
nameFormat: Python {0}
|
||||
testFormat: galaxy/{0}/1
|
||||
targets:
|
||||
- test: 3.9
|
||||
- test: '3.10'
|
||||
- test: 3.11
|
||||
- test: 3.12
|
||||
- stage: Generic
|
||||
dependsOn: []
|
||||
jobs:
|
||||
@ -169,9 +185,9 @@ stages:
|
||||
nameFormat: Python {0}
|
||||
testFormat: generic/{0}/1
|
||||
targets:
|
||||
- test: 3.9
|
||||
- test: '3.10'
|
||||
- test: 3.11
|
||||
- test: 3.12
|
||||
- stage: Incidental_Windows
|
||||
displayName: Incidental Windows
|
||||
dependsOn: []
|
||||
@ -181,6 +197,8 @@ stages:
|
||||
nameFormat: Server {0}
|
||||
testFormat: i/windows/{0}
|
||||
targets:
|
||||
- test: 2012
|
||||
- test: 2012-R2
|
||||
- test: 2016
|
||||
- test: 2019
|
||||
- test: 2022
|
||||
|
||||
@ -16,7 +16,7 @@ provider="${P:-default}"
|
||||
python_default="$(PYTHONPATH="${PWD}/test/lib" python -c 'from ansible_test._internal import constants; print(constants.CONTROLLER_MIN_PYTHON_VERSION)')"
|
||||
|
||||
# version to test when only testing a single version
|
||||
single_version=2022
|
||||
single_version=2012-R2
|
||||
|
||||
# shellcheck disable=SC2086
|
||||
ansible-test windows-integration --list-targets -v ${CHANGED:+"$CHANGED"} ${UNSTABLE:+"$UNSTABLE"} > /tmp/explain.txt 2>&1 || { cat /tmp/explain.txt && false; }
|
||||
|
||||
@ -21,7 +21,7 @@ IFS=' ' read -r -a python_versions <<< \
|
||||
python_default="$(PYTHONPATH="${PWD}/test/lib" python -c 'from ansible_test._internal import constants; print(constants.CONTROLLER_MIN_PYTHON_VERSION)')"
|
||||
|
||||
# version to test when only testing a single version
|
||||
single_version=2022
|
||||
single_version=2012-R2
|
||||
|
||||
# shellcheck disable=SC2086
|
||||
ansible-test windows-integration --list-targets -v ${CHANGED:+"$CHANGED"} ${UNSTABLE:+"$UNSTABLE"} > /tmp/explain.txt 2>&1 || { cat /tmp/explain.txt && false; }
|
||||
|
||||
@ -7,7 +7,8 @@ Keep in mind that Azure Pipelines does not enforce unique job display names (onl
|
||||
It is up to pipeline authors to avoid name collisions when deviating from the recommended format.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
import os
|
||||
import re
|
||||
|
||||
@ -4,7 +4,6 @@ Upload code coverage reports to codecov.io.
|
||||
Multiple coverage files from multiple languages are accepted and aggregated after upload.
|
||||
Python coverage, as well as PowerShell and Python stubs can all be uploaded.
|
||||
"""
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import dataclasses
|
||||
|
||||
@ -1,7 +1,8 @@
|
||||
#!/usr/bin/env python
|
||||
"""Prepends a relative timestamp to each input line from stdin and writes it to stdout."""
|
||||
|
||||
from __future__ import annotations
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
import sys
|
||||
import time
|
||||
|
||||
49
.github/CONTRIBUTING.md
vendored
49
.github/CONTRIBUTING.md
vendored
@ -10,11 +10,9 @@ The GitHub issue tracker is not the best place for questions for various reasons
|
||||
|
||||
## CONTRIBUTING ?
|
||||
|
||||
By contributing to this project you agree to the [Developer Certificate of Origin (DCO)](#developer-certificate-of-origin-dco).
|
||||
By contributing you agree that these contributions are your own (or approved by your employer) and you grant a full, complete, irrevocable copyright license to all users and developers of the project, present and future, pursuant to the license of the project. You can also read the same [CLA](https://docs.ansible.com/ansible/latest/community/contributor_license_agreement.html) on the Ansible docsite.
|
||||
|
||||
The Ansible project is licensed under the [GPL-3.0](COPYING) or later. Some portions of the code fall under other licenses as noted in individual files.
|
||||
|
||||
The Ansible project accepts contributions through GitHub pull requests. Please review the [Community Guide](https://docs.ansible.com/ansible/latest/community/index.html) for more information on contributing to Ansible.
|
||||
Please review the [Community Guide](https://docs.ansible.com/ansible/latest/community/index.html) for more information on contributing to Ansible.
|
||||
|
||||
## BUG TO REPORT ?
|
||||
|
||||
@ -25,46 +23,3 @@ You can report bugs or make enhancement requests at the [Ansible GitHub issue pa
|
||||
Also please make sure you are testing on the latest released version of Ansible or the development branch; see the [Installation Guide](https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html) for details.
|
||||
|
||||
Thanks!
|
||||
|
||||
## DEVELOPER CERTIFICATE OF ORIGIN (DCO)
|
||||
|
||||
This document was created by the Linux Kernel community and is a simple statement that you, as a contributor, have the legal right to make the contribution.
|
||||
|
||||
```text
|
||||
Developer Certificate of Origin
|
||||
Version 1.1
|
||||
|
||||
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
|
||||
1 Letterman Drive
|
||||
Suite D4700
|
||||
San Francisco, CA, 94129
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies of this
|
||||
license document, but changing it is not allowed.
|
||||
|
||||
Developer's Certificate of Origin 1.1
|
||||
|
||||
By making a contribution to this project, I certify that:
|
||||
|
||||
(a) The contribution was created in whole or in part by me and I
|
||||
have the right to submit it under the open source license
|
||||
indicated in the file; or
|
||||
|
||||
(b) The contribution is based upon previous work that, to the best
|
||||
of my knowledge, is covered under an appropriate open source
|
||||
license and I have the right under that license to submit that
|
||||
work with modifications, whether created in whole or in part
|
||||
by me, under the same open source license (unless I am
|
||||
permitted to submit under a different license), as indicated
|
||||
in the file; or
|
||||
|
||||
(c) The contribution was provided directly to me by some other
|
||||
person who certified (a), (b) or (c) and I have not modified
|
||||
it.
|
||||
|
||||
(d) I understand and agree that this project and the contribution
|
||||
are public and that a record of the contribution (including all
|
||||
personal information I submit with it, including my sign-off) is
|
||||
maintained indefinitely and may be redistributed consistent with
|
||||
this project or the open source license(s) involved.
|
||||
```
|
||||
|
||||
4
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
4
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@ -87,7 +87,7 @@ body:
|
||||
|
||||
|
||||
[collections org]: /ansible-collections
|
||||
placeholder: dnf, apt, pip, user etc.
|
||||
placeholder: dnf, apt, yum, pip, user etc.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
@ -249,7 +249,7 @@ body:
|
||||
|
||||
|
||||
[ansibot help]:
|
||||
/ansible/ansibotmini#ansibotmini
|
||||
/ansible/ansibullbot/blob/master/ISSUE_HELP.md#for-issue-submitters
|
||||
|
||||
|
||||
- type: checkboxes
|
||||
|
||||
45
.github/ISSUE_TEMPLATE/documentation_report.yml
vendored
45
.github/ISSUE_TEMPLATE/documentation_report.yml
vendored
@ -34,32 +34,6 @@ body:
|
||||
[submit a pull request]:
|
||||
https://docs.ansible.com/ansible-core/devel/community/documentation_contributions.html
|
||||
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: >
|
||||
**Check the repository for your issue.**
|
||||
|
||||
Source files for Ansible community documentation are
|
||||
hosted in different repositories. Please make sure to file an
|
||||
issue in the correct project.
|
||||
|
||||
Documentation for modules/plugins/etc that are officially
|
||||
supported by the Ansible Core Engineering team is available
|
||||
in this (`ansible/ansible`) repository.
|
||||
|
||||
The Installation Guide, Playbook Guide, Developer Guide,
|
||||
and other documentation is available in the
|
||||
[ansible/ansible-documentation] repository.
|
||||
Documentation for other modules/plugins/etc is likely to be
|
||||
available in one of the [Ansible Collections][collections index].
|
||||
If available in the collection documentation, select the
|
||||
**Issue Tracker** button to go directly to the GitHub issues.
|
||||
|
||||
|
||||
[ansible/ansible-documentation]: /ansible/ansible-documentation
|
||||
|
||||
[collections index]:
|
||||
https://docs.ansible.com/ansible/latest/collections/index.html
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
@ -90,6 +64,9 @@ body:
|
||||
<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!_
|
||||
@ -108,7 +85,19 @@ body:
|
||||
Write the short name of the rst file, module, plugin, task or
|
||||
feature below, *use your best guess if unsure*.
|
||||
|
||||
placeholder: lib/ansible/modules/copy.py
|
||||
|
||||
**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
|
||||
|
||||
@ -196,7 +185,7 @@ body:
|
||||
|
||||
|
||||
[ansibot help]:
|
||||
/ansible/ansibotmini#ansibotmini
|
||||
/ansible/ansibullbot/blob/master/ISSUE_HELP.md#for-issue-submitters
|
||||
|
||||
|
||||
- type: checkboxes
|
||||
|
||||
4
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
4
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
@ -139,7 +139,7 @@ body:
|
||||
|
||||
|
||||
[collections org]: /ansible-collections
|
||||
placeholder: dnf, apt, pip, user etc.
|
||||
placeholder: dnf, apt, yum, pip, user etc.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
@ -176,7 +176,7 @@ body:
|
||||
|
||||
|
||||
[ansibot help]:
|
||||
/ansible/ansibotmini#ansibotmini
|
||||
/ansible/ansibullbot/blob/master/ISSUE_HELP.md#for-issue-submitters
|
||||
|
||||
|
||||
- type: checkboxes
|
||||
|
||||
1
.github/PULL_REQUEST_TEMPLATE.md
vendored
1
.github/PULL_REQUEST_TEMPLATE.md
vendored
@ -1 +0,0 @@
|
||||
PULL_REQUEST_TEMPLATE/Unclear purpose or motivation.md
|
||||
23
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
23
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
##### SUMMARY
|
||||
<!--- Describe the change below, including rationale and design decisions -->
|
||||
|
||||
<!--- HINT: Include "Fixes #nnn" if you are fixing an existing issue -->
|
||||
|
||||
##### ISSUE TYPE
|
||||
<!--- Pick one below and delete the rest -->
|
||||
- Bugfix Pull Request
|
||||
- Docs Pull Request
|
||||
- Feature Pull Request
|
||||
- Test Pull Request
|
||||
|
||||
##### COMPONENT NAME
|
||||
<!--- Write the short name of the module, plugin, task or feature below -->
|
||||
|
||||
##### ADDITIONAL INFORMATION
|
||||
<!--- Include additional information to help people understand the change here -->
|
||||
<!--- A step-by-step reproduction of the problem is helpful if there is no related issue -->
|
||||
|
||||
<!--- Paste verbatim command output below, e.g. before and after your change -->
|
||||
```paste below
|
||||
|
||||
```
|
||||
20
.github/PULL_REQUEST_TEMPLATE/Bug fix.md
vendored
20
.github/PULL_REQUEST_TEMPLATE/Bug fix.md
vendored
@ -1,20 +0,0 @@
|
||||
##### SUMMARY
|
||||
|
||||
<!--- Describe the change below, including rationale and design decisions -->
|
||||
|
||||
<!--- HINT: Include "Fixes #nnn" if you are fixing an existing issue -->
|
||||
|
||||
##### ISSUE TYPE
|
||||
|
||||
- Bugfix Pull Request
|
||||
|
||||
##### ADDITIONAL INFORMATION
|
||||
|
||||
<!--- Include additional information to help people understand the change here -->
|
||||
<!--- A step-by-step reproduction of the problem is helpful if there is no related issue -->
|
||||
|
||||
<!--- Paste verbatim command output below, e.g. before and after your change -->
|
||||
|
||||
```paste below
|
||||
|
||||
```
|
||||
@ -1,19 +0,0 @@
|
||||
##### SUMMARY
|
||||
|
||||
<!--- Describe the change below, including rationale -->
|
||||
|
||||
<!--- HINT: Include "Closes #nnn" if you are fixing an existing issue -->
|
||||
|
||||
##### ISSUE TYPE
|
||||
|
||||
- Docs Pull Request
|
||||
|
||||
##### ADDITIONAL INFORMATION
|
||||
|
||||
<!--- Include additional information to help people understand the change here -->
|
||||
|
||||
<!--- Paste verbatim command output below, e.g. before and after your change -->
|
||||
|
||||
```paste below
|
||||
|
||||
```
|
||||
19
.github/PULL_REQUEST_TEMPLATE/New feature.md
vendored
19
.github/PULL_REQUEST_TEMPLATE/New feature.md
vendored
@ -1,19 +0,0 @@
|
||||
##### SUMMARY
|
||||
|
||||
<!--- Describe the change below, including rationale and design decisions -->
|
||||
|
||||
<!--- HINT: Include "Resolves #nnn" if you are fixing an existing issue -->
|
||||
|
||||
##### ISSUE TYPE
|
||||
|
||||
- Feature Pull Request
|
||||
|
||||
##### ADDITIONAL INFORMATION
|
||||
|
||||
<!--- Include additional information to help people understand the change here -->
|
||||
|
||||
<!--- Paste verbatim command output below, e.g. before and after your change -->
|
||||
|
||||
```paste below
|
||||
|
||||
```
|
||||
@ -1 +0,0 @@
|
||||
Unclear purpose or motivation.md
|
||||
20
.github/PULL_REQUEST_TEMPLATE/Tests.md
vendored
20
.github/PULL_REQUEST_TEMPLATE/Tests.md
vendored
@ -1,20 +0,0 @@
|
||||
##### SUMMARY
|
||||
|
||||
<!--- Describe the change below, including rationale and design decisions -->
|
||||
|
||||
<!--- HINT: Include "Closes #nnn" if you are fixing an existing issue -->
|
||||
|
||||
##### ISSUE TYPE
|
||||
|
||||
- Test Pull Request
|
||||
|
||||
##### ADDITIONAL INFORMATION
|
||||
|
||||
<!--- Include additional information to help people understand the change here -->
|
||||
<!--- A step-by-step reproduction of the problem is helpful if there is no related issue -->
|
||||
|
||||
<!--- Paste verbatim command output below, e.g. before and after your change -->
|
||||
|
||||
```paste below
|
||||
|
||||
```
|
||||
@ -1,25 +0,0 @@
|
||||
##### SUMMARY
|
||||
|
||||
<!--- Describe the change below, including rationale and design decisions -->
|
||||
|
||||
<!--- HINT: Include "Fixes #nnn" if you are fixing an existing issue -->
|
||||
|
||||
##### ISSUE TYPE
|
||||
|
||||
<!--- Pick one below and delete the rest -->
|
||||
|
||||
- Bugfix Pull Request
|
||||
- Docs Pull Request
|
||||
- Feature Pull Request
|
||||
- Test Pull Request
|
||||
|
||||
##### ADDITIONAL INFORMATION
|
||||
|
||||
<!--- Include additional information to help people understand the change here -->
|
||||
<!--- A step-by-step reproduction of the problem is helpful if there is no related issue -->
|
||||
|
||||
<!--- Paste verbatim command output below, e.g. before and after your change -->
|
||||
|
||||
```paste below
|
||||
|
||||
```
|
||||
18
.github/RELEASE_NAMES.txt
vendored
18
.github/RELEASE_NAMES.txt
vendored
@ -1,18 +0,0 @@
|
||||
2.17.0 Gallows Pole
|
||||
2.16.0 All My Love
|
||||
2.15.0 Ten Years Gone
|
||||
2.14.0 C'mon Everybody
|
||||
2.13.0 Nobody's Fault but Mine
|
||||
2.12.0 Dazed and Confused
|
||||
2.11.0 Hey Hey, What Can I Do
|
||||
2.10.0 When the Levee Breaks
|
||||
2.9.0 Immigrant Song
|
||||
2.8.0 How Many More Times
|
||||
2.7.0 In the Light
|
||||
2.6.0 Heartbreaker
|
||||
2.5.0 Kashmir
|
||||
2.4.0 Dancing Days
|
||||
2.3.0 Ramble On
|
||||
2.2.0 The Battle of Evermore
|
||||
2.1.0 The Song Remains the Same
|
||||
2.0.0 Over the Hills and Far Away
|
||||
17
.github/RELEASE_NAMES.yml
vendored
Normal file
17
.github/RELEASE_NAMES.yml
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
---
|
||||
- 2.15.0 Ten Years Gone
|
||||
- 2.14.0 C'mon Everybody
|
||||
- 2.13.0 Nobody's Fault but Mine
|
||||
- 2.12.0 Dazed and Confused
|
||||
- 2.11.0 Hey Hey, What Can I Do
|
||||
- 2.10.0 When the Levee Breaks
|
||||
- 2.9.0 Immigrant Song
|
||||
- 2.8.0 How Many More Times
|
||||
- 2.7.0 In the Light
|
||||
- 2.6.0 Heartbreaker
|
||||
- 2.5.0 Kashmir
|
||||
- 2.4.0 Dancing Days
|
||||
- 2.3.0 Ramble On
|
||||
- 2.2.0 The Battle of Evermore
|
||||
- 2.1.0 The Song Remains the Same
|
||||
- 2.0.0 Over the Hills and Far Away
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@ -99,6 +99,8 @@ lib/ansible/_vendor/*
|
||||
/test/integration/cloud-config-*.*
|
||||
!/test/integration/cloud-config-*.*.template
|
||||
.python-version
|
||||
/hacking/tests/selinux/*.mod
|
||||
/hacking/tests/selinux/*.pp
|
||||
# Release directory
|
||||
packaging/release/ansible_release
|
||||
/.cache/
|
||||
|
||||
9
COPYING
9
COPYING
@ -1,7 +1,7 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
@ -645,7 +645,7 @@ the "copyright" line and a pointer to where the full notice is found.
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
@ -664,11 +664,12 @@ might be different; for a GUI interface, you would use an "about box".
|
||||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU GPL, see
|
||||
<https://www.gnu.org/licenses/>.
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
The GNU General Public License does not permit incorporating your program
|
||||
into proprietary programs. If your program is a subroutine library, you
|
||||
may consider it more useful to permit linking proprietary applications with
|
||||
the library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License. But first, please read
|
||||
<https://www.gnu.org/licenses/why-not-lgpl.html>.
|
||||
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
||||
|
||||
|
||||
@ -46,7 +46,7 @@ in the Ansible community if you want to run the `devel` branch.
|
||||
kinds of ways to contribute to and interact with the project,
|
||||
including mailing list information and how to submit bug reports and
|
||||
code to Ansible.
|
||||
* Join a [Working Group](https://docs.ansible.com/ansible/devel/community/communication.html#working-groups),
|
||||
* Join a [Working Group](https://github.com/ansible/community/wiki),
|
||||
an organized community devoted to a specific technology domain or platform.
|
||||
* Submit a proposed code update through a pull request to the `devel` branch.
|
||||
* Talk to us before making larger changes
|
||||
@ -54,7 +54,7 @@ in the Ansible community if you want to run the `devel` branch.
|
||||
know what is going on, but it also helps save time and effort if we decide
|
||||
some changes are needed.
|
||||
* For a list of email lists, IRC channels and Working Groups, see the
|
||||
[Communication page](https://docs.ansible.com/ansible/devel/community/communication.html)
|
||||
[Communication page](https://docs.ansible.com/ansible/latest/community/communication.html)
|
||||
|
||||
## Coding Guidelines
|
||||
|
||||
|
||||
483
changelogs/CHANGELOG-v2.15.rst
Normal file
483
changelogs/CHANGELOG-v2.15.rst
Normal file
@ -0,0 +1,483 @@
|
||||
================================================
|
||||
ansible-core 2.15 "Ten Years Gone" Release Notes
|
||||
================================================
|
||||
|
||||
.. contents:: Topics
|
||||
|
||||
|
||||
v2.15.4
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2023-09-11
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
|
||||
|
||||
|
||||
Deprecated Features
|
||||
-------------------
|
||||
|
||||
- vault and unfault filters - the undocumented ``vaultid`` parameter is deprecated and will be removed in ansible-core 2.20. Use ``vault_id`` instead.
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- PowerShell - Remove some code which is no longer valid for dotnet 5+
|
||||
- Prompting - add a short sleep between polling for user input to reduce CPU consumption (https://github.com/ansible/ansible/issues/81516).
|
||||
- ansible-galaxy - Enabled the ``data`` tarfile filter during role installation for Python versions that support it. A probing mechanism is used to avoid Python versions with a broken implementation.
|
||||
- ansible-test - Always use ansible-test managed entry points for ansible-core CLI tools when not running from source. This fixes issues where CLI entry points created during install are not compatible with ansible-test.
|
||||
- first found lookup has been updated to use the normalized argument parsing (pythonic) matching the documented examples.
|
||||
- handlers - the ``listen`` keyword can affect only one handler with the same name, the last one defined as it is a case with the ``notify`` keyword (https://github.com/ansible/ansible/issues/81013)
|
||||
- include_role - expose variables from parent roles to role's handlers (https://github.com/ansible/ansible/issues/80459)
|
||||
- tarfile - handle data filter deprecation warning message for extract and extractall (https://github.com/ansible/ansible/issues/80832).
|
||||
- vault and unvault filters now properly take ``vault_id`` parameter.
|
||||
|
||||
v2.15.3
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2023-08-14
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
|
||||
|
||||
|
||||
Minor Changes
|
||||
-------------
|
||||
|
||||
- Removed ``exclude`` and ``recursive-exclude`` commands for generated files from the ``MANIFEST.in`` file. These excludes were unnecessary since releases are expected to be built with a clean worktree.
|
||||
- Removed ``exclude`` commands for sanity test files from the ``MANIFEST.in`` file. These tests were previously excluded because they did not pass when run from an sdist. However, sanity tests are not expected to pass from an sdist, so excluding some (but not all) of the failing tests makes little sense.
|
||||
- Removed redundant ``include`` commands from the ``MANIFEST.in`` file. These includes either duplicated default behavior or another command.
|
||||
- The ``ansible-core`` sdist no longer contains pre-generated man pages. Instead, a ``packaging/cli-doc/build.py`` script is included in the sdist. This script can generate man pages and standalone RST documentation for ``ansible-core`` CLI programs.
|
||||
- The ``docs`` and ``examples`` directories are no longer included in the ``ansible-core`` sdist. These directories have been moved to the https://github.com/ansible/ansible-documentation repository.
|
||||
- Use ``include`` where ``recursive-include`` is unnecessary in the ``MANIFEST.in`` file.
|
||||
- ansible-test - Update the logic used to detect when ``ansible-test`` is running from source.
|
||||
- ansible-test - Updated the CloudStack test container to version 1.6.1.
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Exclude internal options from man pages and docs.
|
||||
- Fix ``ansible-config init`` man page option indentation.
|
||||
- The ``ansible-config init`` command now has a documentation description.
|
||||
- The ``ansible-galaxy collection download`` command now has a documentation description.
|
||||
- The ``ansible-galaxy collection install`` command documentation is now visible (previously hidden by a decorator).
|
||||
- The ``ansible-galaxy collection verify`` command now has a documentation description.
|
||||
- The ``ansible-galaxy role install`` command documentation is now visible (previously hidden by a decorator).
|
||||
- The ``ansible-inventory`` command command now has a documentation description (previously used as the epilog).
|
||||
- Update module_utils.urls unit test to work with cryptography >= 41.0.0.
|
||||
- When generating man pages, use ``func`` to find the command function instead of looking it up by the command name.
|
||||
- ``ansible-galaxy`` now considers all collection paths when identifying which collection requirements are already installed. Use the ``COLLECTIONS_PATHS`` and ``COLLECTIONS_SCAN_SYS_PATHS`` config options to modify these. Previously only the install path was considered when resolving the candidates. The install path will remain the only one potentially modified. (https://github.com/ansible/ansible/issues/79767, https://github.com/ansible/ansible/issues/81163)
|
||||
- ansible-test - Fix several possible tracebacks when using the ``-e`` option with sanity tests.
|
||||
- ansible-test - Pre-build a PyYAML wheel before installing requirements to avoid a potential Cython build failure.
|
||||
- ansible-test - Remove redundant warning about missing programs before attempting to execute them.
|
||||
- core will now also look at the connection plugin to force 'local' interpreter for networking path compatibility as just ansible_network_os could be misleading.
|
||||
- man page build - Sub commands of ``ansible-galaxy role`` and ``ansible-galaxy collection`` are now documented.
|
||||
- password_hash - fix salt format for ``crypt`` (only used if ``passlib`` is not installed) for the ``bcrypt`` algorithm.
|
||||
- urls.py - fixed cert_file and key_file parameters when running on Python 3.12 - https://github.com/ansible/ansible/issues/80490
|
||||
|
||||
v2.15.2
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2023-07-18
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
|
||||
|
||||
|
||||
Minor Changes
|
||||
-------------
|
||||
|
||||
- Utilize gpg check provided internally by the ``transaction.run`` method as oppose to calling it manually.
|
||||
- ansible-test - Add Fedora 38 remote.
|
||||
- ansible-test - Use a context manager to perform cleanup at exit instead of using the built-in ``atexit`` module.
|
||||
- dnf5 - enable environment groups installation testing in CI as its support was added.
|
||||
- dnf5 - enable now implemented ``cacheonly`` functionality
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- From issue https://github.com/ansible/ansible/issues/80880, when notifying a handler from another handler, handler notifications must be registered immediately as the flush_handler call is not recursive.
|
||||
- ansible-galaxy - Fix issue installing collections containing directories with more than 100 characters on python versions before 3.10.6
|
||||
- paramiko_ssh, psrp, and ssh connection plugins - ensure that all values for options that should be strings are actually converted to strings (https://github.com/ansible/ansible/pull/81029).
|
||||
- templating - In the template action and lookup, use local jinja2 environment overlay overrides instead of mutating the templars environment
|
||||
|
||||
Known Issues
|
||||
------------
|
||||
|
||||
- ansible-test - The Fedora 37 remote is known to occasionally hang during boot. It is no longer routinely tested as a result. If possible, use the Fedora 38 remote instead.
|
||||
|
||||
v2.15.1
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2023-06-20
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
|
||||
|
||||
|
||||
Minor Changes
|
||||
-------------
|
||||
|
||||
- ansible-test - Allow float values for the ``--timeout`` option to the ``env`` command. This simplifies testing.
|
||||
- ansible-test - Refactored ``env`` command logic and timeout handling.
|
||||
- ansible-test - Use ``datetime.datetime.now`` with ``tz`` specified instead of ``datetime.datetime.utcnow``.
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Properly disable ``jinja2_native`` in the template module when jinja2 override is used in the template (https://github.com/ansible/ansible/issues/80605)
|
||||
- ansible-galaxy - Fix variable type error when installing subdir collections (https://github.com/ansible/ansible/issues/80943)
|
||||
- ansible-test - Fix a traceback that occurs when attempting to test Ansible source using a different ansible-test. A clear error message is now given when this scenario occurs.
|
||||
- ansible-test - Fix handling of timeouts exceeding one day.
|
||||
- ansible-test - Fix various cases where the test timeout could expire without terminating the tests.
|
||||
- ansible-test local change detection - use ``git merge-base <branch> HEAD`` instead of ``git merge-base --fork-point <branch>`` (https://github.com/ansible/ansible/pull/79734).
|
||||
- deb822_repository - use http-agent for receiving content (https://github.com/ansible/ansible/issues/80809).
|
||||
- dnf5 - Update dnf5 module to handle API change for setting the download directory (https://github.com/ansible/ansible/issues/80887)
|
||||
- man page build - Remove the dependency on the ``docs`` directory for building man pages.
|
||||
- pep517 build backend - Copy symlinks when copying the source tree. This avoids tracebacks in various scenarios, such as when a venv is present in the source tree.
|
||||
- uri - fix search for JSON type to include complex strings containing '+'
|
||||
|
||||
v2.15.0
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2023-05-15
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
|
||||
|
||||
|
||||
Major Changes
|
||||
-------------
|
||||
|
||||
- ansible-test - Docker Desktop on WSL2 is now supported (additional configuration required).
|
||||
- ansible-test - Docker and Podman are now supported on hosts with cgroup v2 unified. Previously only cgroup v1 and cgroup v2 hybrid were supported.
|
||||
- ansible-test - Podman now works on container hosts without systemd. Previously only some containers worked, while others required rootfull or rootless Podman, but would not work with both. Some containers did not work at all.
|
||||
- ansible-test - Podman on WSL2 is now supported.
|
||||
- ansible-test - When additional cgroup setup is required on the container host, this will be automatically detected. Instructions on how to configure the host will be provided in the error message shown.
|
||||
|
||||
Minor Changes
|
||||
-------------
|
||||
|
||||
- Add support for custom salt for vault encoding to make it deterministic (https://github.com/ansible/ansible/issues/35480).
|
||||
- Added the conditional that was False if ``when`` caused a task to skip under ``false_condition``.
|
||||
- Allow force deletion of a group even when it is the primary group of a user. (https://github.com/ansible/ansible/issues/77849)
|
||||
- Ansible.ModuleUtils.AddType - Add support for compiling ``unsafe`` code with the ``//AllowUnsafe`` directive
|
||||
- Cache field attributes list on the playbook classes
|
||||
- Cleaned up unused imports in core.
|
||||
- Get user input for ``pause`` and ``paramiko_ssh`` from the strategy rather than access ``sys.stdin`` in the WorkerProcess.
|
||||
- Introduce ``Delegatable`` and ``Notifiable`` mixin classes for playbook objects
|
||||
- Make using blocks as handlers a parser error (https://github.com/ansible/ansible/issues/79968)
|
||||
- Playbook objects - Replace deprecated stacked ``@classmethod`` and ``@property``
|
||||
- Raise an error when an incorrect ``isa`` type is passed to ``FieldAttribute``.
|
||||
- Remove fallback code for when ``defined``/``undefined`` tests were used on objects containing nested undefined variables; due to changes in lazy evalution of Jinja2 expressions it is no longer needed.
|
||||
- Remove unused Python stdlib imports from module_utils which were not present for backwards compatibility in: common.file, compat.selectors, facts.network.iscsi, facts.network.nvme, yumdnf
|
||||
- Remove unused internal imports from module_utils which were not present for backwards compatibility in: common.file, common.parameters, facts.system.caps, yumdnf
|
||||
- Removed ``straight.plugin`` from the build and packaging requirements.
|
||||
- Removed unused imports from the following action plugins: async_status, command, pause, set_stats, uri, validate_argument_spec
|
||||
- Removed unused imports from the following lookup plugins: fileglob, template
|
||||
- Removed unused imports from the following modules: apt, dnf, expect, pip, slurp, user, yum
|
||||
- Removed unused imports from the following set of test plugins: files
|
||||
- Removed unused imports from the following strategy plugins: debug
|
||||
- Removed unused imports from the following vars plugins: host_group_vars
|
||||
- The minimum required ``setuptools`` version is now 45.2.0, as it is the oldest version to support Python 3.10.
|
||||
- Use ``ansible.module_utils.six.moves.collections_abc`` instead of ``ansible.module_utils.common._collections_compat`` in modules and module_utils.
|
||||
- Use ``collections.abc`` instead of ``ansible.module_utils.common._collections_compat`` in controller code.
|
||||
- Use ``package_data`` instead of ``include_package_data`` for ``setup.cfg`` to avoid ``setuptools`` warnings.
|
||||
- ``AnsibleJ2Vars`` class that acts as a storage for all variables for templating purposes now uses ``collections.ChainMap`` internally.
|
||||
- add parameter ``numeric`` to the iptables module to disable dns lookups when running list -action internally (https://github.com/ansible/ansible/issues/78793).
|
||||
- allow user to set ansible specific env vars for selecting pager and editor, but still fall back to commonly used defaults.
|
||||
- ansible-doc - support role extension for semantic markup spec so that ``O()`` and ``RV()`` referring to role entrypoints are rendered more readable (https://github.com/ansible/ansible/pull/80305).
|
||||
- ansible-doc - support semantic markup in text output (https://github.com/ansible/ansible/pull/80242).
|
||||
- ansible-doc text output - support ``seealso`` plugin record that was added for filter and test plugin documentation (https://github.com/ansible/ansible/pull/80212).
|
||||
- ansible-galaxy - Add ability to specify collection versions on the CLI without the need for a colon. Such as ``namespace.name==1.2.3`` vs ``namespace.name:1.2.3``.
|
||||
- ansible-galaxy - Use Python's native ``raise ... from`` instead of ``six.raise_from``.
|
||||
- ansible-galaxy - support ``resolvelib >= 0.5.3, < 0.10.0``.
|
||||
- ansible-galaxy - support ``resolvelib >= 0.5.3, < 1.1.0``.
|
||||
- ansible-inventory now supports the limit command line options.
|
||||
- ansible-test - A new ``audit`` option is available when running custom containers. This option can be used to indicate whether a container requires the AUDIT_WRITE capability. The default is ``required``, which most containers will need when using Podman. If necessary, the ``none`` option can be used to opt-out of the capability. This has no effect on Docker, which always provides the capability.
|
||||
- ansible-test - A new ``cgroup`` option is available when running custom containers. This option can be used to indicate a container requires cgroup v1 or that it does not use cgroup. The default behavior assumes the container works with cgroup v2 (as well as v1).
|
||||
- ansible-test - Add Alpine 3.17 remote.
|
||||
- ansible-test - Add Fedora 37 container.
|
||||
- ansible-test - Add Fedora 37 remote.
|
||||
- ansible-test - Add FreeBSD 12.4 remote.
|
||||
- ansible-test - Add RHEL 8.7 remote.
|
||||
- ansible-test - Add RHEL 9.1 remote.
|
||||
- ansible-test - Add macOS 13.2 remote.
|
||||
- ansible-test - Additional log details are shown when containers fail to start or SSH connections to containers fail.
|
||||
- ansible-test - Connection failures to remote provisioned hosts now show failure details as a warning.
|
||||
- ansible-test - Containers included with ansible-test no longer disable seccomp by default.
|
||||
- ansible-test - Disabled the ``ansible-format-automatic-specification`` rule from the ``pylint`` sanity test, now that Python 2.6 is no longer supported.
|
||||
- ansible-test - Enable the ``trailing-comma-tuple`` rule in the ``pylint`` sanity test.
|
||||
- ansible-test - Enable the ``unused-import`` rule for the ``pylint`` sanity test for collections.
|
||||
- ansible-test - Failure to connect to a container over SSH now results in a clear error. Previously tests would be attempted even after initial connection attempts failed.
|
||||
- ansible-test - Improve consistency of executed ``pylint`` commands by making the plugins ordered.
|
||||
- ansible-test - Improve consistency of version specific documentation links.
|
||||
- ansible-test - Integration tests can be excluded from retries triggered by the ``--retry-on-error`` option by adding the ``retry/never`` alias. This is useful for tests that cannot pass on a retry or are too slow to make retries useful.
|
||||
- ansible-test - Minor cleanup and package updates in distro containers.
|
||||
- ansible-test - More details are provided about an instance when provisioning fails.
|
||||
- ansible-test - Moved git handling out of the validate-modules sanity test and into ansible-test.
|
||||
- ansible-test - Reduce the polling limit for SSHD startup in containers from 60 retries to 10. The one second delay between retries remains in place.
|
||||
- ansible-test - Removed test containers: fedora36
|
||||
- ansible-test - Removed test remotes: alpine/3.16, fedora/36, freebsd/12.3, rhel/8.6, rhel/9.0, macos/12.0
|
||||
- ansible-test - Removed the ``--keep-git`` sanity test option, which was limited to testing ansible-core itself.
|
||||
- ansible-test - SSH connections from OpenSSH 8.8+ to CentOS 6 containers now work without additional configuration. However, clients older than OpenSSH 7.0 can no longer connect to CentOS 6 containers as a result. The container must have ``centos6`` in the image name for this work-around to be applied.
|
||||
- ansible-test - SSH shell connections from OpenSSH 8.8+ to ansible-test provisioned network instances now work without additional configuration. However, clients older than OpenSSH 7.0 can no longer open shell sessions for ansible-test provisioned network instances as a result.
|
||||
- ansible-test - Specify the configuration file location required by test plugins when the config file is not found. This resolves issue: https://github.com/ansible/ansible/issues/79411
|
||||
- ansible-test - The ``ansible-test env`` command now detects and reports the container ID if running in a container.
|
||||
- ansible-test - The ``pep8`` sanity test rule ``E203`` is now disabled since it is not PEP 8 compliant. This provides compatibility with output generated by the ``black`` code formatter.
|
||||
- ansible-test - The ``validate-modules`` sanity test no longer limits the ``__future__`` imports that can be used. Other sanity tests that check ``__future__`` imports remain unchanged. As a result, the error code ``illegal-future-imports`` is no longer used.
|
||||
- ansible-test - Unit tests now support network disconnect by default when running under Podman. Previously this feature only worked by default under Docker.
|
||||
- ansible-test - Update Alpine 3 container to 3.17.
|
||||
- ansible-test - Update Python requirements used for sanity tests.
|
||||
- ansible-test - Update ``base`` and ``default`` containers to include Python 3.11.0.
|
||||
- ansible-test - Update ``default`` containers to include new ``docs-build`` sanity test requirements.
|
||||
- ansible-test - Update error handling code to use Python 3.x constructs, avoiding direct use of ``errno``.
|
||||
- ansible-test - Update test container to ``7.4.0`` which includes the new PSScriptAnalyzer versions
|
||||
- ansible-test - Update the CloudStack test plugin to use a newer test container with CloudStack 4.18.0.
|
||||
- ansible-test - Update the NIOS test plugin to use a newer multi-arch test container.
|
||||
- ansible-test - Update the ``ansible-bad-import-from`` rule in the ``pylint`` sanity test to recommend ``ansible.module_utils.six.moves.collections_abc`` instead of ``ansible.module_utils.common._collections_compat``.
|
||||
- ansible-test - Update the ``base`` and ``default`` test containers with the latest requirements.
|
||||
- ansible-test - Update the ``default`` containers to include the ``package-data`` requirements update.
|
||||
- ansible-test - Update the ``default`` containers to include the ``pylint`` requirements update.
|
||||
- ansible-test - Updated the Azure Pipelines CI plugin to work with newer versions of git.
|
||||
- ansible-test - Use ``stop --time 0`` followed by ``rm`` to remove ephemeral containers instead of ``rm -f``. This speeds up teardown of ephemeral containers.
|
||||
- ansible-test - Warnings are now shown when using containers that were built with VOLUME instructions.
|
||||
- ansible-test - When setting the max open files for containers, the container host's limit will be checked. If the host limit is lower than the preferred value, it will be used and a warning will be shown.
|
||||
- ansible-test - When using Podman, ansible-test will detect if the loginuid used in containers is incorrect. When this occurs a warning is displayed and the container is run with the AUDIT_CONTROL capability. Previously containers would fail under this situation, with no useful warnings or errors given.
|
||||
- ansible-test acme test container - update version to update used Pebble version, underlying Python and Go base containers, and Python requirements (https://github.com/ansible/ansible/pull/79783).
|
||||
- ansible-test pslint - Upgrade PSScriptAnalyzer to ``1.21.0`` which enables the ``AvoidMultipleTypeAttributes``, ``AvoidSemicolonsAsLineTerminators``, and ``AvoidUsingBrokenHashAlgorithms`` rules
|
||||
- ansible-test runtime-metadata sanity test - ensure that ``redirect`` entries in ``meta/runtime.yml`` contain collection names, except for ``module_utils`` plugin redirects and ``import_redirect`` redirects (https://github.com/ansible/ansible/pull/78802).
|
||||
- ansible-test sanity --test ansible-doc - now also lists documentation for test and filter plugins that are documented (https://github.com/ansible/ansible/pull/77737).
|
||||
- ansible-test validate-modules - Added support for validating module documentation stored in a sidecar file alongside the module (``{module}.yml`` or ``{module}.yaml``). Previously these files were ignored and documentation had to be placed in ``{module}.py``.
|
||||
- ansible-test validate-modules - no longer treat falsy non-``False`` values for defaults as ``None`` (https://github.com/ansible/ansible/pull/79267).
|
||||
- apt - add allow-change-held-packages option to apt remove (https://github.com/ansible/ansible/issues/78131)
|
||||
- apt_repository - adds ``sources_added`` and ``sources_removed`` to the return of the module (https://github.com/ansible/ansible/issues/79306).
|
||||
- apt_repository will use the trust repo directories in order of preference (more appropriate to less) as they exist on the target.
|
||||
- collections - Add additional ignores for commonly rejected file extensions
|
||||
- collections - Add additional includes for REUSE license files (https://github.com/ansible/ansible/issues/79368)
|
||||
- deb822_repository - Add new module for managing DEB822 formatted apt repositories
|
||||
- debug - Perform argspec valdiation in debug action plugin (https://github.com/ansible/ansible/issues/79862)
|
||||
- dnf5 - Add new module for managing packages and other artifacts via the next version of DNF (https://github.com/ansible/ansible/issues/78898)
|
||||
- galaxy - include ``license_file`` in the default manifest directives (https://github.com/ansible/ansible/pull-request/79420)
|
||||
- optimized var loading by caching results as there is no variance in input during run.
|
||||
- pycompat24 module_utils - Remove support for Python 2.5 and earlier.
|
||||
- sanity tests - updates the collection-deprecated-version tests to ignore the ``prerelease`` component of the collection version ().
|
||||
- strftime filter, additional docs and links to source of truth.
|
||||
- updated the vendored distro library to upstream version (https://github.com/ansible/ansible/pull/79227)
|
||||
- validate-modules sanity test - add support for semantic markup (https://github.com/ansible/ansible/pull/80243).
|
||||
- validate-modules sanity test - if the ``check_mode`` attribute is present, check that it coincides with the ``support_check_mode`` parameter of ``AnsibleModule`` (https://github.com/ansible/ansible/pull/80090).
|
||||
- validate-modules sanity test - remove support for the never implemented ``forced_action_plugin`` attribute (https://github.com/ansible/ansible/pull/79317).
|
||||
- validate-modules sanity test - support the ``plugin`` see-also part of the semantic markup specification (https://github.com/ansible/ansible/pull/80244).
|
||||
|
||||
Breaking Changes / Porting Guide
|
||||
--------------------------------
|
||||
|
||||
- ansible-doc - no longer treat plugins in collections whose name starts with ``_`` as deprecated (https://github.com/ansible/ansible/pull/79362).
|
||||
- ansible-test - Integration tests which depend on specific file permissions when running in an ansible-test managed host environment may require changes. Tests that require permissions other than ``755`` or ``644`` may need to be updated to set the necessary permissions as part of the test run.
|
||||
- ansible-test - The ``vcenter`` test plugin now defaults to using a user-provided static configuration instead of the ``govcsim`` simulator for collections. Set the ``ANSIBLE_VCSIM_CONTAINER`` environment variable to ``govcsim`` to use the simulator. Keep in mind that the simulator is deprecated and will be removed in a future release.
|
||||
- ansible-test sanity - previously plugins and modules in collections whose name started with ``_`` were treated as deprecated, even when they were not marked as deprecated in ``meta/runtime.yml``. This is no longer the case (https://github.com/ansible/ansible/pull/79362).
|
||||
- ansible-test validate-modules - Removed the ``missing-python-doc`` error code in validate modules, ``missing-documentation`` is used instead for missing PowerShell module documentation.
|
||||
|
||||
Deprecated Features
|
||||
-------------------
|
||||
|
||||
- The ``ConnectionBase()._new_stdin`` attribute is deprecated, use ``display.prompt_until(msg)`` instead.
|
||||
- ansible-test - The ``foreman`` test plugin is now deprecated. It will be removed in a future release.
|
||||
- ansible-test - The ``govcsim`` simulator in the ``vcenter`` test plugin is now deprecated. It will be removed in a future release. Users should switch to providing their own test environment through a static configuration file.
|
||||
- password_hash - deprecate using passlib.hash.hashtype if hashtype isn't in the list of documented choices.
|
||||
- vars - Specifying a list of dictionaries for ``vars:`` is deprecated in favor of specifying a dictionary.
|
||||
|
||||
Removed Features (previously deprecated)
|
||||
----------------------------------------
|
||||
|
||||
- Remove deprecated ``ANSIBLE_CALLBACK_WHITELIST`` configuration environment variable, use ``ANSIBLE_CALLBACKS_ENABLED`` instead. (https://github.com/ansible/ansible/issues/78821)
|
||||
- Remove deprecated ``ANSIBLE_COW_WHITELIST`` configuration environment variable, use ``ANSIBLE_COW_ACCEPTLIST`` instead. (https://github.com/ansible/ansible/issues/78819)
|
||||
- Remove deprecated ``callback_whitelist`` configuration option, use ``callbacks_enabled`` instead. (https://github.com/ansible/ansible/issues/78822)
|
||||
- Remove deprecated ``cow_whitelist`` configuration option, use ``cowsay_enabled_stencils`` instead. (https://github.com/ansible/ansible/issues/78820)
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Ansible.Basic.cs - Ignore compiler warning (reported as an error) when running under PowerShell 7.3.x.
|
||||
- AnsibleModule.run_command - Only use selectors when needed, and rely on Python stdlib subprocess for the simple task of collecting stdout/stderr when prompt matching is not required.
|
||||
- BSD network facts - Do not assume column indexes, look for ``netmask`` and ``broadcast`` for determining the correct columns when parsing ``inet`` line (https://github.com/ansible/ansible/issues/79117)
|
||||
- Correctly count rescued tasks in play recap (https://github.com/ansible/ansible/issues/79711)
|
||||
- Display - Defensively configure writing to stdout and stderr with a custom encoding error handler that will replace invalid characters while providing a deprecation warning that non-utf8 text will result in an error in a future version.
|
||||
- Do not crash when templating an expression with a test or filter that is not a valid Ansible filter name (https://github.com/ansible/ansible/issues/78912, https://github.com/ansible/ansible/pull/78913).
|
||||
- Fix ``MANIFEST.in`` to exclude unwanted files in the ``packaging/`` directory.
|
||||
- Fix ``MANIFEST.in`` to include ``*.md`` files in the ``test/support/`` directory.
|
||||
- Fix a traceback occuring when a task is named ``meta`` (https://github.com/ansible/ansible/issues/79459)
|
||||
- Fix an issue where the value of ``become`` was ignored when used on a role used as a dependency in ``main/meta.yml`` (https://github.com/ansible/ansible/issues/79777)
|
||||
- Fix bug in `vars` applied to roles, they were being incorrectly exported among others while only vars/main.yml was meant to be. Also adjusted the precedence to act the same as inline params.
|
||||
- Fix conditionally notifying ``include_tasks` handlers when ``force_handlers`` is used (https://github.com/ansible/ansible/issues/79776)
|
||||
- Fix post-validating looped task fields so the strategy uses the correct values after task execution.
|
||||
- Fix reusing a connection in a task loop that uses a redirected or aliased name - https://github.com/ansible/ansible/issues/78425
|
||||
- Fix setting become activation in a task loop - https://github.com/ansible/ansible/issues/78425
|
||||
- Fix traceback when using the ``template`` module and running with ``ANSIBLE_DEBUG=1`` (https://github.com/ansible/ansible/issues/79763)
|
||||
- Fix using ``GALAXY_IGNORE_CERTS`` in conjunction with collections in requirements files which specify a specific ``source`` that isn't in the configured servers.
|
||||
- Fix using ``GALAXY_IGNORE_CERTS`` when downloading tarballs from Galaxy servers (https://github.com/ansible/ansible/issues/79557).
|
||||
- Fixes leftover _valid_attrs usage.
|
||||
- Fixes the password lookup to not rewrite files if they are not changed when using the "encrypt" parameter (#79430).
|
||||
- Module and role argument validation - include the valid suboption choices in the error when an invalid suboption is provided.
|
||||
- Perform type check on data passed to Display.display to enforce the requirement of being given a python3 unicode string
|
||||
- Prevent running same handler multiple times when included via ``include_role`` (https://github.com/ansible/ansible/issues/73643)
|
||||
- TaskExecutor - don't ignore templated _raw_params that k=v parser failed to parse (https://github.com/ansible/ansible/issues/79862)
|
||||
- Windows - Display a warning if the module failed to cleanup any temporary files rather than failing the task. The warning contains a brief description of what failed to be deleted.
|
||||
- Windows - Ensure the module temp directory contains more unique values to avoid conflicts with concurrent runs - https://github.com/ansible/ansible/issues/80294
|
||||
- Windows - Improve temporary file cleanup used by modules. Will use a more reliable delete operation on Windows Server 2016 and newer to delete files that might still be open by other software like Anti Virus scanners. There are still scenarios where a file or directory cannot be deleted but the new method should work in more scenarios.
|
||||
- ``ansible-galaxy search rolename`` - give a warning instead of non-zero return code when search results are empty. This is similar to the behavior when listing roles, which gives a warning if a role cannot be found and exits with a return code of ``0``.
|
||||
- ``ansible_eval_concat`` - avoid redundant unsafe wrapping of templated strings converted to Python types
|
||||
- ``pkg_mgr`` - fix the default dnf version detection
|
||||
- ansible-config limit shorthand format to assigned values
|
||||
- ansible-doc - stop generating wrong module URLs for module see-alsos. The URLs for modules in ansible.builtin do now work, and URLs for modules outside ansible.builtin are no longer added (https://github.com/ansible/ansible/pull/80280).
|
||||
- ansible-doc now will correctly display short descriptions on listing filters/tests no matter the directory sorting.
|
||||
- ansible-galaxy - Improve retries for collection installs, to properly retry, and extend retry logic to common URL related connection errors (https://github.com/ansible/ansible/issues/80170 https://github.com/ansible/ansible/issues/80174)
|
||||
- ansible-galaxy - fix installing collections from directories that have a trailing path separator (https://github.com/ansible/ansible/issues/77803).
|
||||
- ansible-galaxy - fix installing collections in git repositories/directories which contain a MANIFEST.json file (https://github.com/ansible/ansible/issues/79796).
|
||||
- ansible-galaxy - fix installing signed collections (https://github.com/ansible/ansible/issues/80648).
|
||||
- ansible-galaxy - make initial call to Galaxy server on-demand only when installing, getting info about, and listing roles.
|
||||
- ansible-galaxy - reduce API calls to servers by fetching signatures only for final candidates.
|
||||
- ansible-galaxy collection install - respect symlinks when installing from source or local repository (https://github.com/ansible/ansible/issues/78442)
|
||||
- ansible-galaxy collection verify - fix verifying signed collections when the keyring is not configured.
|
||||
- ansible-galaxy collection/role init - preserve symlinks (https://github.com/ansible/ansible/issues/39334).
|
||||
- ansible-galaxy role info - fix unhandled AttributeError by catching the correct exception.
|
||||
- ansible-inventory will no longer duplicate host entries if they were part of a group's childrens tree.
|
||||
- ansible-inventory will not explicitly sort groups/hosts anymore, giving a chance (depending on output format) to match the order in the input sources.
|
||||
- ansible-playbook -K breaks when passwords have quotes (https://github.com/ansible/ansible/issues/79836).
|
||||
- ansible-test - Add ``wheel < 0.38.0`` constraint for Python 3.6 and earlier.
|
||||
- ansible-test - Add support for ``argcomplete`` version 3.
|
||||
- ansible-test - Add support for ``pytest`` assertion rewriting when running unit tests on Python 3.5 and later. Resolves issue https://github.com/ansible/ansible/issues/68032
|
||||
- ansible-test - Added a work-around for a traceback under Python 3.11 when completing certain command line options.
|
||||
- ansible-test - Allow disabled, unsupported, unstable and destructive integration test targets to be selected using their respective prefixes.
|
||||
- ansible-test - Allow unstable tests to run when targeted changes are made and the ``--allow-unstable-changed`` option is specified (resolves https://github.com/ansible/ansible/issues/74213).
|
||||
- ansible-test - Always indicate the Python version being used before installing requirements. Resolves issue https://github.com/ansible/ansible/issues/72855
|
||||
- ansible-test - Avoid using ``exec`` after container startup when possible. This improves container startup performance and avoids intermittent startup issues with some old containers.
|
||||
- ansible-test - Connection attempts to managed remote instances no longer abort on ``Permission denied`` errors.
|
||||
- ansible-test - Detection for running in a Podman or Docker container has been fixed to detect more scenarios. The new detection relies on ``/proc/self/mountinfo`` instead of ``/proc/self/cpuset``. Detection now works with custom cgroups and private cgroup namespaces.
|
||||
- ansible-test - Exclude ansible-core vendored Python packages from ansible-test payloads.
|
||||
- ansible-test - Fix broken documentation link for ``aws`` test plugin error messages.
|
||||
- ansible-test - Fix validate-modules error when retrieving PowerShell argspec when retrieved inside a Cmdlet
|
||||
- ansible-test - Handle server errors when executing the ``docker info`` command.
|
||||
- ansible-test - Integration test target prefixes defined in a ``tests/integration/target-prefixes.{group}`` file can now contain an underscore (``_``) character. Resolves issue https://github.com/ansible/ansible/issues/79225
|
||||
- ansible-test - Multiple containers now work under Podman without specifying the ``--docker-network`` option.
|
||||
- ansible-test - Pass the ``XDG_RUNTIME_DIR`` environment variable through to container commands.
|
||||
- ansible-test - Perform PyPI proxy configuration after instances are ready and bootstrapping has been completed. Only target instances are affected, as controller instances were already handled this way. This avoids proxy configuration errors when target instances are not yet ready for use.
|
||||
- ansible-test - Prevent concurrent / repeat inspections of the same container image.
|
||||
- ansible-test - Prevent concurrent / repeat pulls of the same container image.
|
||||
- ansible-test - Prevent concurrent execution of cached methods.
|
||||
- ansible-test - Removed pointless comparison in diff evaluation logic.
|
||||
- ansible-test - Set ``PYLINTHOME`` for the ``pylint`` sanity test to prevent failures due to ``pylint`` checking for the existence of an obsolete home directory.
|
||||
- ansible-test - Show the exception type when reporting errors during instance provisioning.
|
||||
- ansible-test - Support Podman 4.4.0+ by adding the ``SYS_CHROOT`` capability when running containers.
|
||||
- ansible-test - Support loading of vendored Python packages from ansible-core.
|
||||
- ansible-test - The ``validate-modules`` sanity test now properly enforces documentation before imports for plugins. Previously this was only enforced for modules due to a coding error.
|
||||
- ansible-test - Update ``pylint`` to 2.17.2 to resolve several possible false positives.
|
||||
- ansible-test - Update ``pylint`` to 2.17.3 to resolve several possible false positives.
|
||||
- ansible-test - Update the ``pylint`` sanity test requirements to resolve crashes on Python 3.11. (https://github.com/ansible/ansible/issues/78882)
|
||||
- ansible-test - Update the ``pylint`` sanity test to use version 2.15.4.
|
||||
- ansible-test - Update the ``pylint`` sanity test to use version 2.15.5.
|
||||
- ansible-test - Use consistent file permissions when delegating tests to a container or remote host. Files with any execute bit set will use permissions ``755``. All other files will use permissions ``644``. (Resolves issue https://github.com/ansible/ansible/issues/75079)
|
||||
- ansible-test - When bootstrapping remote FreeBSD instances, use the OS packaged ``setuptools`` instead of installing the latest version from PyPI.
|
||||
- ansible-test - fix warning message about failing to run an image to include the image name
|
||||
- ansible-test runtime-metadata sanity test - do not crash on YAML parsing errors without a context mark (https://github.com/ansible/ansible/pull/78802).
|
||||
- ansible-test sanity - correctly report invalid YAML in validate-modules (https://github.com/ansible/ansible/issues/75837).
|
||||
- ansible-vault encrypt_string - started appending a line feed at the end of the encrypted string output. Missing newline character caused problems identifying where the string ends in some shells (like bash) or accidentally copying an extra trailing terminator symbol (e.g., zsh prints out a ``%`` sign to signal where the original output stops) (https://github.com/ansible/ansible/issues/78932).
|
||||
- ansible_facts.hardware - Define all processor facts on s390x (https://github.com/ansible/ansible/issues/19755)
|
||||
- apt - set locale to fix updating the cache (https://github.com/ansible/ansible/issues/79523).
|
||||
- apt module should not traceback on invalid type given as package. issue 78663.
|
||||
- apt_repository will no longer fail to detect key when unrelated errors/warnings are issued by apt-key.
|
||||
- argument spec validation - again report deprecated parameters for Python-based modules. This was accidentally removed in ansible-core 2.11 when argument spec validation was refactored (https://github.com/ansible/ansible/issues/79680, https://github.com/ansible/ansible/pull/79681).
|
||||
- argument spec validation - ensure that deprecated aliases in suboptions are also reported (https://github.com/ansible/ansible/pull/79740).
|
||||
- argument spec validation - fix warning message when two aliases of the same option are used for suboptions to also mention the option's name they are in (https://github.com/ansible/ansible/pull/79740).
|
||||
- basic.py module_utils - Perform Python version check much earlier to ensure it runs before other errors occur.
|
||||
- connection local now avoids traceback on invalid user being used to execuet ansible (valid in host, but not in container).
|
||||
- copy - fix creating the dest directory in check mode with remote_src=True (https://github.com/ansible/ansible/issues/78611).
|
||||
- copy - fix reporting changes to file attributes in check mode with remote_src=True (https://github.com/ansible/ansible/issues/77957).
|
||||
- copy module will no longer move 'non files' set as src when remote_src=true.
|
||||
- copy remote_src=true - fix copying subdirs recursively when the dest exists and the src and dest have multiple common subdirectories in a common directory (https://github.com/ansible/ansible/issues/74536).
|
||||
- copy remote_src=true - fix reporting changed for copying empty directories.
|
||||
- display - reduce risk of post-fork output deadlocks (https://github.com/ansible/ansible/pull/79522)
|
||||
- dnf5 - Use ``transaction.check_gpg_signatures`` API call to check package signatures AND possibly to recover from when keys are missing.
|
||||
- dnf5 - fix module and package names in the message following failed module respawn attempt
|
||||
- dnf5 - use the logs API to determine transaction problems
|
||||
- file - touch action in check mode was always returning ok. Fix now evaluates the different conditions and returns the appropriate changed status. (https://github.com/ansible/ansible/issues/79360)
|
||||
- file lookup now handles missing files more gracefully.
|
||||
- file lookup now plays nice with generic lookup ``errors`` option.
|
||||
- get_url - Ensure we are passing ciphers to all url_get calls (https://github.com/ansible/ansible/issues/79717)
|
||||
- get_url module - Added a documentation reference to ``hashlib`` regarding algorithms, as well as a note about ``md5`` support on systems running in FIPS compliant mode.
|
||||
- get_url module - Removed out-of-date documentation stating that ``hashlib`` is a third-party library.
|
||||
- handlers - fix ``v2_playbook_on_notify`` callback not being called when notifying handlers
|
||||
- handlers - fix an issue where the ``flush_handlers`` meta task could not be used with FQCN: ``ansible.builtin.meta`` (https://github.com/ansible/ansible/issues/79023)
|
||||
- include_role - Inherit from role parents beyond a depth of 3 (https://github.com/ansible/ansible/issues/47023).
|
||||
- jinja2_native - fix intermittent 'could not find job' failures when a value of ``ansible_job_id`` from a result of an async task was inadvertently changed during execution; to prevent this a format of ``ansible_job_id`` was changed.
|
||||
- jinja2_native: preserve quotes in strings (https://github.com/ansible/ansible/issues/79083)
|
||||
- keyword inheritance - Ensure that we do not squash keywords in validate (https://github.com/ansible/ansible/issues/79021)
|
||||
- known_hosts - do not return changed status when a non-existing key is removed (https://github.com/ansible/ansible/issues/78598)
|
||||
- list-tags now shows the 'never' tag, which was being excluded by default. To list all tasks you still need to add `--list-tasks --tags never,all`.
|
||||
- loops/delegate_to - Do not double calculate the values of loops and ``delegate_to`` (https://github.com/ansible/ansible/issues/80038)
|
||||
- module responses - Ensure that module responses are utf-8 adhereing to JSON RFC and expectations of the core code.
|
||||
- module/role argument spec - validate the type for options that are None when the option is required or has a non-None default (https://github.com/ansible/ansible/issues/79656).
|
||||
- module_utils/basic.py - Fix detection of available hashing algorithms on Python 3.x. All supported algorithms are now available instead of being limited to a hard-coded list. This affects modules such as ``get_url`` which accept an arbitrary checksum algorithm.
|
||||
- normal action plugin - remove obsolete ``if`` (https://github.com/ansible/ansible/pull/79690).
|
||||
- omit on keywords was resetting to default value, ignoring inheritance.
|
||||
- paramiko - Add a new option to allow paramiko >= 2.9 to easily work with all devices now that rsa-sha2 support was added to paramiko, which prevented communication with numerous platforms. (https://github.com/ansible/ansible/issues/76737)
|
||||
- paramiko - Add back support for ``ssh_args``, ``ssh_common_args``, and ``ssh_extra_args`` for parsing the ``ProxyCommand`` (https://github.com/ansible/ansible/issues/78750)
|
||||
- paramiko connection was still using outdated playcontext, this should bring it up to date to use the 'correct' data for each task/loop.
|
||||
- password lookup now correctly reads stored ident fields.
|
||||
- password_hash - handle errors using unknown passlib hashtypes more gracefully (https://github.com/ansible/ansible/issues/45392).
|
||||
- pep517 build backend - Use the documented ``import_module`` import from ``importlib``.
|
||||
- plugin loader, fix detection for existing configuration before initializing for a plugin
|
||||
- role deduplication - Always create new role object, regardless of deduplication. Deduplication will only affect whether a duplicate call to a role will execute, as opposed to re-using the same object. (https://github.com/ansible/ansible/pull/78661)
|
||||
- roles - Fix templating ``public``, ``allow_duplicates`` and ``rolespec_validate`` (https://github.com/ansible/ansible/issues/80304).
|
||||
- service_facts - Use python re to parse service output instead of grep (https://github.com/ansible/ansible/issues/78541)
|
||||
- strategy plugins now correctly identify bad registered variables, even on skip.
|
||||
- strategy plugins: get the correctly templated and validated run_once value on strategy linear (https://github.com/ansible/ansible/issues/78492)
|
||||
- syntax check - Limit ``--syntax-check`` to ``ansible-playbook`` only, as that is the only CLI affected by this argument (https://github.com/ansible/ansible/issues/80506)
|
||||
- systemd - daemon-reload and daemon-reexec ignore errors when running in a chroot (https://github.com/ansible/ansible/pull/79643)
|
||||
- templates - Fixed ``TypeError`` when a lookup plugin has an option called ``name``.
|
||||
- unarchive - allow relative path for ``dest`` (https://github.com/ansible/ansible/issues/64612)
|
||||
- unarchive - log errors from commands to assist in debugging (https://github.com/ansible/ansible/issues/64612)
|
||||
- updated error messages to include 'acl' and not just mode changes when failing to set required permissions on remote.
|
||||
- uri - improve JSON content type detection
|
||||
- user - fix comparing group IDs to existing group names so groups are not always updated (https://github.com/ansible/ansible/issues/79956).
|
||||
- user module - Removed ``password_expire_max`` from the return docs, as it is not returned.
|
||||
- user module - Removed ``password_expire_min`` from the return docs, as it is not returned.
|
||||
- validate-modules sanity test - replace semantic markup parsing and validating code with the code from `antsibull-docs-parser 0.2.0 <https://github.com/ansible-community/antsibull-docs-parser/releases/tag/0.2.0>`__ (https://github.com/ansible/ansible/pull/80406).
|
||||
- vault - show filename additionally if missing secrets prevents decryption (https://github.com/ansible/ansible/issues/79723)
|
||||
- winrm - Increase the read timeout to 10 seconds later than the operation timeout reducing the chances of a false read timeout
|
||||
|
||||
Known Issues
|
||||
------------
|
||||
|
||||
- ansible-test - Additional configuration may be required for certain container host and container combinations. Further details are available in the testing documentation.
|
||||
- ansible-test - Custom containers with ``VOLUME`` instructions may be unable to start, when previously the containers started correctly. Remove the ``VOLUME`` instructions to resolve the issue. Containers with this condition will cause ``ansible-test`` to emit a warning.
|
||||
- ansible-test - Systems with Podman networking issues may be unable to run containers, when previously the issue went unreported. Correct the networking issues to continue using ``ansible-test`` with Podman.
|
||||
- ansible-test - Unit tests for collections do not support ``pytest`` assertion rewriting on Python 2.7.
|
||||
- ansible-test - Using Docker on systems with SELinux may require setting SELinux to permissive mode. Podman should work with SELinux in enforcing mode.
|
||||
- dnf5 - The DNF5 package manager currently does not provide all functionality to ensure feature parity between the existing ``dnf`` and the new ``dnf5`` module. As a result the following ``dnf5`` options are effectively a no-op: ``cacheonly``, ``enable_plugin``, ``disable_plugin`` and ``lock_timeout``.
|
||||
|
||||
New Plugins
|
||||
-----------
|
||||
|
||||
Filter
|
||||
~~~~~~
|
||||
|
||||
- commonpath - gets the common path
|
||||
- normpath - Normalize a pathname
|
||||
|
||||
New Modules
|
||||
-----------
|
||||
|
||||
Lib
|
||||
~~~
|
||||
|
||||
ansible.modules
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
- deb822_repository - Add and remove deb822 formatted repositories
|
||||
- dnf5 - Manages packages with the I(dnf5) package manager
|
||||
@ -1,321 +0,0 @@
|
||||
==============================================
|
||||
ansible-core 2.17 "Gallows Pole" Release Notes
|
||||
==============================================
|
||||
|
||||
.. contents:: Topics
|
||||
|
||||
v2.17.2
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2024-07-15
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.17/porting_guides/porting_guide_core_2.17.html>`__
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Fix a traceback when an environment variable contains certain special characters (https://github.com/ansible/ansible/issues/83498)
|
||||
- dnf - reverted incomplete fix from 2.17.2rc1 (https://github.com/ansible/ansible/pull/83504)
|
||||
- dnf, dnf5 - fix for installing a set of packages by specifying them using a wildcard character (https://github.com/ansible/ansible/issues/83373)
|
||||
- linear strategy now provides a properly templated task name to the v2_runner_on_started callback event.
|
||||
- package_facts - ignore warnings sent by apk on stderr (https://github.com/ansible/ansible/issues/83501).
|
||||
- replace - Updated before/after example (https://github.com/ansible/ansible/issues/83390).
|
||||
- templating hostvars under native jinja will not cause serialization errors anymore.
|
||||
|
||||
v2.17.1
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2024-06-17
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.17/porting_guides/porting_guide_core_2.17.html>`__
|
||||
|
||||
Minor Changes
|
||||
-------------
|
||||
|
||||
- ansible-test - Update ``pypi-test-container`` to version 3.1.0.
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Fix rapid memory usage growth when notifying handlers using the ``listen`` keyword (https://github.com/ansible/ansible/issues/83392)
|
||||
- Fix the task attribute ``resolved_action`` to show the FQCN instead of ``None`` when ``action`` or ``local_action`` is used in the playbook.
|
||||
- Fix using ``module_defaults`` with ``local_action``/``action`` (https://github.com/ansible/ansible/issues/81905).
|
||||
- fixed unit test test_borken_cowsay to address mock not been properly applied when existing unix system already have cowsay installed.
|
||||
- powershell - Implement more robust deletion mechanism for C# code compilation temporary files. This should avoid scenarios where the underlying temporary directory may be temporarily locked by antivirus tools or other IO problems. A failure to delete one of these temporary directories will result in a warning rather than an outright failure.
|
||||
- shell plugin - properly quote all needed components of shell commands (https://github.com/ansible/ansible/issues/82535)
|
||||
|
||||
v2.17.0
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2024-05-20
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.17/porting_guides/porting_guide_core_2.17.html>`__
|
||||
|
||||
Major Changes
|
||||
-------------
|
||||
|
||||
- urls.py - Removed support for Python 2
|
||||
|
||||
Minor Changes
|
||||
-------------
|
||||
|
||||
- Add ``dump`` and ``passno`` mount information to facts component (https://github.com/ansible/ansible/issues/80478)
|
||||
- Added MIRACLE LINUX 9.2 in RedHat OS Family.
|
||||
- Interpreter Discovery - Remove hardcoded references to specific python interpreters to use for certain distro versions, and modify logic for python3 to become the default.
|
||||
- Use Python's built-in ``functools.update_wrapper`` instead an inline copy from Python 3.7.
|
||||
- User can now set ansible.log to record higher verbosity than what is specified for display via new configuration item LOG_VERBOSITY.
|
||||
- ``DEFAULT_PRIVATE_ROLE_VARS`` is now overridden by explicit setting of ``public`` for ``include_roles`` and ``import_roles``.
|
||||
- ``ansible-galaxy role|collection init`` - accept ``--extra-vars`` to supplement/override the variables ``ansible-galaxy`` injects for templating ``.j2`` files in the skeleton.
|
||||
- ``import_role`` action now also gets a ``public`` option that controls variable exports, default depending on ``DEFAULT_PRIVATE_ROLE_VARS`` (if using defaults equates to ``public=True``).
|
||||
- added configuration item ``TARGET_LOG_INFO`` that allows the user/author to add an information string to the log output on targets.
|
||||
- ansible-doc - treat double newlines in documentation strings as paragraph breaks. This is useful to create multi-paragraph notes in module/plugin documentation (https://github.com/ansible/ansible/pull/82465).
|
||||
- ansible-doc output has been revamped to make it more visually pleasing when going to a terminal, also more concise, use -v to show extra information.
|
||||
- ansible-galaxy - Started normalizing build directory with a trailing separator when building collections, internally. (https://github.com/ansible/ansible/pull/81619).
|
||||
- ansible-galaxy dependency resolution messages have changed the unexplained 'virtual' collection for the specific type ('scm', 'dir', etc) that is more user friendly
|
||||
- ansible-test - Add Alpine 3.19 container.
|
||||
- ansible-test - Add Alpine 3.19 to remotes.
|
||||
- ansible-test - Add Fedora 39 container.
|
||||
- ansible-test - Add Fedora 39 remote.
|
||||
- ansible-test - Add a work-around for permission denied errors when using ``pytest >= 8`` on multi-user systems with an installed version of ``ansible-test``.
|
||||
- ansible-test - Add support for RHEL 9.3 remotes.
|
||||
- ansible-test - Added a macOS 14.3 remote VM.
|
||||
- ansible-test - Bump the ``nios-test-container`` from version 2.0.0 to version 3.0.0.
|
||||
- ansible-test - Containers and remotes managed by ansible-test will have their Python ``EXTERNALLY-MANAGED`` marker (PEP668) removed. This provides backwards compatibility for existing tests running in newer environments which mark their Python as externally managed. A future version of ansible-test may change this behavior, requiring tests to be adapted to such environments.
|
||||
- ansible-test - Make Python 3.12 the default version used in the ``base`` and ``default`` containers.
|
||||
- ansible-test - Remove Alpine 3(.18) container.
|
||||
- ansible-test - Remove Alpine 3.18 from remotes.
|
||||
- ansible-test - Remove Fedora 38 remote support.
|
||||
- ansible-test - Remove Fedora 38 test container.
|
||||
- ansible-test - Remove rhel/9.2 test remote
|
||||
- ansible-test - Remove the FreeBSD 13.2 remote.
|
||||
- ansible-test - Removed fallback to ``virtualenv`` when ``-m venv`` is non-functional.
|
||||
- ansible-test - Removed test remotes: macos/13.2
|
||||
- ansible-test - Removed the ``no-basestring`` sanity test. The test is no longer necessary now that Python 3 is required.
|
||||
- ansible-test - Removed the ``no-dict-iteritems``, ``no-dict-iterkeys`` and ``no-dict-itervalues`` sanity tests. The tests are no longer necessary since Python 3 is required.
|
||||
- ansible-test - Removed the ``no-main-display`` sanity test. The unwanted pattern is unlikely to occur, since the test has existed since Ansible 2.8.
|
||||
- ansible-test - Removed the ``no-unicode-literals`` sanity test. The test is unnecessary now that Python 3 is required and the ``unicode_literals`` feature has no effect.
|
||||
- ansible-test - Special handling for installation of ``cryptography`` has been removed, as it is no longer necessary.
|
||||
- ansible-test - The ``shellcheck`` sanity test no longer disables the ``SC2164`` check. In most cases, seeing this error means the script is missing ``set -e``.
|
||||
- ansible-test - The ``unidiomatic-typecheck`` rule has been enabled in the ``pylint`` sanity test.
|
||||
- ansible-test - The ``unidiomatic-typecheck`` rule has been removed from the ``validate-modules`` sanity test.
|
||||
- ansible-test - Update the base and default containers to use Ubuntu 22.04 for the base image. This also updates PowerShell to version 7.4.0 with .NET 8.0.0 and ShellCheck to version 0.8.0.
|
||||
- ansible-test - Updated the CloudStack test container to version 1.7.0.
|
||||
- ansible-test - Updated the distro test containers to version 6.3.0 to include coverage 7.3.2 for Python 3.8+. The alpine3 container is now based on 3.18 instead of 3.17 and includes Python 3.11 instead of Python 3.10.
|
||||
- ansible-test - Updated the distro test containers to version 7.1.0.
|
||||
- ansible-test - When ansible-test installs requirements, it now instructs pip to allow installs on externally managed environments as defined by PEP 668. This only occurs in ephemeral environments managed by ansible-test, such as containers, or when the `--requirements` option is used.
|
||||
- ansible-test - When invoking ``sleep`` in containers during container setup, the ``env`` command is used to avoid invoking the shell builtin, if present.
|
||||
- ansible-test - document block name now included in error message for YAML parsing errors (https://github.com/ansible/ansible/issues/82353).
|
||||
- ansible-test - sanity test allows ``EXAMPLES`` to be multi-document YAML (https://github.com/ansible/ansible/issues/82353).
|
||||
- ansible-test now has FreeBSD 13.3 and 14.0 support
|
||||
- ansible.builtin.user - Remove user not found warning (https://github.com/ansible/ansible/issues/80267)
|
||||
- apt_repository.py - use api.launchpad.net endpoint instead of launchpad.net/api
|
||||
- async tasks can now also support check mode at the same time.
|
||||
- async_status now supports check mode.
|
||||
- constructed inventory plugin - Adding a note that only group_vars of explicit groups are loaded (https://github.com/ansible/ansible/pull/82580).
|
||||
- csvfile - add a keycol parameter to specify in which column to search.
|
||||
- dnf - add the ``best`` option
|
||||
- dnf5 - add the ``best`` option
|
||||
- filter plugin - Add the count and mandatory_count parameters in the regex_replace filter
|
||||
- find - add a encoding parameter to specify which encoding of the files to be searched.
|
||||
- git module - gpg_allowlist name was added in 2.17 and we will eventually deprecate the gpg_whitelist alias.
|
||||
- import_role - allow subdirectories with ``_from`` options for parity with ``include_role`` (https://github.com/ansible/ansible/issues/82584).
|
||||
- module argument spec - Allow module authors to include arbitrary additional context in the argument spec, by making use of a new top level key called ``context``. This key should be a dict type. This allows for users to customize what they place in the argument spec, without having to ignore sanity tests that validate the schema.
|
||||
- modules - Add the ability for an action plugin to call ``self._execute_module(*, ignore_unknown_opts=True)`` to execute a module with options that may not be supported for the version being called. This tells the module basic wrapper to ignore validating the options provided match the arg spec.
|
||||
- package action now has a configuration that overrides the detected package manager, it is still overridden itself by the use option.
|
||||
- py3compat - Remove ``ansible.utils.py3compat`` as it is no longer necessary
|
||||
- removed the unused argument ``create_new_password`` from ``CLI.build_vault_ids`` (https://github.com/ansible/ansible/pull/82066).
|
||||
- urls - Add support for TLS 1.3 post handshake certificate authentication - https://github.com/ansible/ansible/issues/81782
|
||||
- urls - reduce complexity of ``Request.open``
|
||||
- user - accept yescrypt hash as user password
|
||||
- validate-modules tests now correctly handles ``choices`` in dictionary format.
|
||||
|
||||
Breaking Changes / Porting Guide
|
||||
--------------------------------
|
||||
|
||||
- assert - Nested templating may result in an inability for the conditional to be evaluated. See the porting guide for more information.
|
||||
|
||||
Deprecated Features
|
||||
-------------------
|
||||
|
||||
- Old style vars plugins which use the entrypoints `get_host_vars` or `get_group_vars` are deprecated. The plugin should be updated to inherit from `BaseVarsPlugin` and define a `get_vars` method as the entrypoint.
|
||||
- The 'required' parameter in 'ansible.module_utils.common.process.get_bin_path' API is deprecated (https://github.com/ansible/ansible/issues/82464).
|
||||
- ``module_utils`` - importing the following convenience helpers from ``ansible.module_utils.basic`` has been deprecated: ``get_exception``, ``literal_eval``, ``_literal_eval``, ``datetime``, ``signal``, ``types``, ``chain``, ``repeat``, ``PY2``, ``PY3``, ``b``, ``binary_type``, ``integer_types``, ``iteritems``, ``string_types``, ``test_type``, ``map`` and ``shlex_quote``.
|
||||
- ansible-doc - role entrypoint attributes are deprecated and eventually will no longer be shown in ansible-doc from ansible-core 2.20 on (https://github.com/ansible/ansible/issues/82639, https://github.com/ansible/ansible/pull/82678).
|
||||
- paramiko connection plugin, configuration items in the global scope are being deprecated and will be removed in favor or the existing same options in the plugin itself. Users should not need to change anything (how to configure them are the same) but plugin authors using the global constants should move to using the plugin's get_option().
|
||||
|
||||
Removed Features (previously deprecated)
|
||||
----------------------------------------
|
||||
|
||||
- Remove deprecated APIs from ansible-docs (https://github.com/ansible/ansible/issues/81716).
|
||||
- Remove deprecated JINJA2_NATIVE_WARNING environment variable (https://github.com/ansible/ansible/issues/81714)
|
||||
- Remove deprecated ``scp_if_ssh`` from ssh connection plugin (https://github.com/ansible/ansible/issues/81715).
|
||||
- Remove deprecated crypt support from ansible.utils.encrypt (https://github.com/ansible/ansible/issues/81717)
|
||||
- Removed Python 2.7 and Python 3.6 as a supported remote version. Python 3.7+ is now required for target execution.
|
||||
- With the removal of Python 2 support, the yum module and yum action plugin are removed and redirected to ``dnf``.
|
||||
|
||||
Security Fixes
|
||||
--------------
|
||||
|
||||
- ANSIBLE_NO_LOG - Address issue where ANSIBLE_NO_LOG was ignored (CVE-2024-0690)
|
||||
- ansible-galaxy - Prevent roles from using symlinks to overwrite files outside of the installation directory (CVE-2023-5115)
|
||||
- templating - Address issues where internal templating can cause unsafe variables to lose their unsafe designation (CVE-2023-5764)
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Add a version ceiling constraint for pypsrp to avoid potential breaking changes in the 1.0.0 release.
|
||||
- All core lookups now use set_option(s) even when doing their own custom parsing. This ensures that the options are always the proper type.
|
||||
- Allow for searching handler subdir for included task via include_role (https://github.com/ansible/ansible/issues/81722)
|
||||
- AnsibleModule.atomic_move - fix preserving extended ACLs of the destination when it exists (https://github.com/ansible/ansible/issues/72929).
|
||||
- Cache host_group_vars after instantiating it once and limit the amount of repetitive work it needs to do every time it runs.
|
||||
- Call PluginLoader.all() once for vars plugins, and load vars plugins that run automatically or are enabled specifically by name subsequently.
|
||||
- Consolidate systemd detection logic into one place (https://github.com/ansible/ansible/issues/80975).
|
||||
- Consolidated the list of internal static vars, centralized them as constant and completed from some missing entries.
|
||||
- Do not print undefined error message twice (https://github.com/ansible/ansible/issues/78703).
|
||||
- Enable file cache for vaulted files during vars lookup to fix a strong performance penalty in huge and complex playbboks.
|
||||
- Fix NEVRA parsing of package names that include digit(s) in them (https://github.com/ansible/ansible/issues/76463, https://github.com/ansible/ansible/issues/81018)
|
||||
- Fix ``force_handlers`` not working with ``any_errors_fatal`` (https://github.com/ansible/ansible/issues/36308)
|
||||
- Fix ``run_once`` being incorrectly interpreted on handlers (https://github.com/ansible/ansible/issues/81666)
|
||||
- Fix an issue when setting a plugin name from an unsafe source resulted in ``ValueError: unmarshallable object`` (https://github.com/ansible/ansible/issues/82708)
|
||||
- Fix check for missing _sub_plugin attribute in older connection plugins (https://github.com/ansible/ansible/pull/82954)
|
||||
- Fix condition for unquoting configuration strings from ini files (https://github.com/ansible/ansible/issues/82387).
|
||||
- Fix for when ``any_errors_fatal`` was ignored if error occurred in a block with always (https://github.com/ansible/ansible/issues/31543)
|
||||
- Fix handlers not being executed in lockstep using the linear strategy in some cases (https://github.com/ansible/ansible/issues/82307)
|
||||
- Fix handling missing urls in ansible.module_utils.urls.fetch_file for Python 3.
|
||||
- Fix issue where an ``include_tasks`` handler in a role was not able to locate a file in ``tasks/`` when ``tasks_from`` was used as a role entry point and ``main.yml`` was not present (https://github.com/ansible/ansible/issues/82241)
|
||||
- Fix issues when tasks withing nested blocks wouldn't run when ``force_handlers`` is set (https://github.com/ansible/ansible/issues/81533)
|
||||
- Fix loading vars_plugins in roles (https://github.com/ansible/ansible/issues/82239).
|
||||
- Fix notifying role handlers by listen keyword topics with the "role_name : " prefix (https://github.com/ansible/ansible/issues/82849).
|
||||
- Fix setting proper locale for git executable when running on non english systems, ensuring git output can always be parsed.
|
||||
- Fix tasks in always section not being executed for nested blocks with ``any_errors_fatal`` (https://github.com/ansible/ansible/issues/73246)
|
||||
- Fixes permission for cache json file from 600 to 644 (https://github.com/ansible/ansible/issues/82683).
|
||||
- Give the tombstone error for ``include`` pre-fork like other tombstoned action/module plugins.
|
||||
- Harden python templates for respawn and ansiballz around str literal quoting
|
||||
- Include the task location when a module or action plugin is deprecated (https://github.com/ansible/ansible/issues/82450).
|
||||
- Interpreter discovery - Add ``Amzn`` to ``OS_FAMILY_MAP`` for correct family fallback for interpreter discovery (https://github.com/ansible/ansible/issues/80882).
|
||||
- Mirror the behavior of dnf on the command line when handling NEVRAs with omitted epoch (https://github.com/ansible/ansible/issues/71808)
|
||||
- Plugin loader does not dedupe nor cache filter/test plugins by file basename, but full path name.
|
||||
- Properly template tags in parent blocks (https://github.com/ansible/ansible/issues/81053)
|
||||
- Provide additional information about the alternative plugin in the deprecation message (https://github.com/ansible/ansible/issues/80561).
|
||||
- Remove the galaxy_info field ``platforms`` from the role templates (https://github.com/ansible/ansible/issues/82453).
|
||||
- Restoring the ability of filters/tests can have same file base name but different tests/filters defined inside.
|
||||
- Reword the error message when the module fails to parse parameters in JSON format (https://github.com/ansible/ansible/issues/81188).
|
||||
- Reword warning if the reserved keyword _ansible_ used as a module parameter (https://github.com/ansible/ansible/issues/82514).
|
||||
- Run all handlers with the same ``listen`` topic, even when notified from another handler (https://github.com/ansible/ansible/issues/82363).
|
||||
- Slight optimization to hostvars (instantiate template only once per host, vs per call to var).
|
||||
- Stopped misleadingly advertising ``async`` mode support in the ``reboot`` module (https://github.com/ansible/ansible/issues/71517).
|
||||
- ``ansible-galaxy role import`` - fix using the ``role_name`` in a standalone role's ``galaxy_info`` metadata by disabling automatic removal of the ``ansible-role-`` prefix. This matches the behavior of the Galaxy UI which also no longer implicitly removes the ``ansible-role-`` prefix. Use the ``--role-name`` option or add a ``role_name`` to the ``galaxy_info`` dictionary in the role's ``meta/main.yml`` to use an alternate role name.
|
||||
- ``ansible-test sanity --test runtime-metadata`` - add ``action_plugin`` as a valid field for modules in the schema (https://github.com/ansible/ansible/pull/82562).
|
||||
- ``ansible.module_utils.service`` - ensure binary data transmission in ``daemonize()``
|
||||
- ``any_errors_fatal`` should fail all hosts and rescue all of them when a ``rescue`` section is specified (https://github.com/ansible/ansible/issues/80981)
|
||||
- ``include_role`` - properly execute ``v2_playbook_on_include`` and ``v2_runner_on_failed`` callbacks as well as increase ``ok`` and ``failed`` stats in the play recap, when appropriate (https://github.com/ansible/ansible/issues/77336)
|
||||
- allow_duplicates - fix evaluating if the current role allows duplicates instead of using the initial value from the duplicate's cached role.
|
||||
- ansible-config init will now dedupe ini entries from plugins.
|
||||
- ansible-config will now properly template defaults before dumping them.
|
||||
- ansible-doc - fixed "inicates" typo in output
|
||||
- ansible-doc - format top-level descriptions with multiple paragraphs as multiple paragraphs, instead of concatenating them (https://github.com/ansible/ansible/pull/83155).
|
||||
- ansible-galaxy - Deprecate use of the Galaxy v2 API (https://github.com/ansible/ansible/issues/81781)
|
||||
- ansible-galaxy - Provide a better error message when using a requirements file with an invalid format - https://github.com/ansible/ansible/issues/81901
|
||||
- ansible-galaxy - Resolve issue with the dataclass used for galaxy.yml manifest caused by using future annotations
|
||||
- ansible-galaxy - ensure path to ansible collection when installing or downloading doesn't have a backslash (https://github.com/ansible/ansible/pull/79705).
|
||||
- ansible-galaxy - started allowing the use of pre-releases for collections that do not have any stable versions published. (https://github.com/ansible/ansible/pull/81606)
|
||||
- ansible-galaxy - started allowing the use of pre-releases for dependencies on any level of the dependency tree that specifically demand exact pre-release versions of collections and not version ranges. (https://github.com/ansible/ansible/pull/81606)
|
||||
- ansible-galaxy error on dependency resolution will not error itself due to 'virtual' collections not having a name/namespace.
|
||||
- ansible-galaxy info - fix reporting no role found when lookup_role_by_name returns None.
|
||||
- ansible-galaxy role import - exit with 1 when the import fails (https://github.com/ansible/ansible/issues/82175).
|
||||
- ansible-galaxy role install - fix installing roles from Galaxy that have version ``None`` (https://github.com/ansible/ansible/issues/81832).
|
||||
- ansible-galaxy role install - fix symlinks (https://github.com/ansible/ansible/issues/82702, https://github.com/ansible/ansible/issues/81965).
|
||||
- ansible-galaxy role install - normalize tarfile paths and symlinks using ``ansible.utils.path.unfrackpath`` and consider them valid as long as the realpath is in the tarfile's role directory (https://github.com/ansible/ansible/issues/81965).
|
||||
- ansible-inventory - index available_hosts for major performance boost when dumping large inventories
|
||||
- ansible-pull now will expand relative paths for the ``-d|--directory`` option is now expanded before use.
|
||||
- ansible-pull will now correctly handle become and connection password file options for ansible-playbook.
|
||||
- ansible-test - Add a ``pylint`` plugin to work around a known issue on Python 3.12.
|
||||
- ansible-test - Explicitly supply ``ControlPath=none`` when setting up port forwarding over SSH to address the scenario where the local ssh configuration uses ``ControlPath`` for all hosts, and would prevent ports to be forwarded after the initial connection to the host.
|
||||
- ansible-test - Fix parsing of cgroup entries which contain a ``:`` in the path (https://github.com/ansible/ansible/issues/81977).
|
||||
- ansible-test - Include missing ``pylint`` requirements for Python 3.10.
|
||||
- ansible-test - Properly detect docker host when using ``ssh://`` protocol for connecting to the docker daemon.
|
||||
- ansible-test - The ``libexpat`` package is automatically upgraded during remote bootstrapping to maintain compatibility with newer Python packages.
|
||||
- ansible-test - The ``validate-modules`` sanity test no longer attempts to process files with unrecognized extensions as Python (resolves https://github.com/ansible/ansible/issues/82604).
|
||||
- ansible-test - Update ``pylint`` to version 3.0.1.
|
||||
- ansible-test ansible-doc sanity test - do not remove underscores from plugin names in collections before calling ``ansible-doc`` (https://github.com/ansible/ansible/pull/82574).
|
||||
- ansible-test validate-modules sanity test - do not treat leading underscores for plugin names in collections as an attempted deprecation (https://github.com/ansible/ansible/pull/82575).
|
||||
- ansible-test — Python 3.8–3.12 will use ``coverage`` v7.3.2.
|
||||
- ansible.builtin.apt - calling clean = true does not properly clean certain cache files such as /var/cache/apt/pkgcache.bin and /var/cache/apt/pkgcache.bin (https://github.com/ansible/ansible/issues/82611)
|
||||
- ansible.builtin.uri - the module was ignoring the ``force`` parameter and always requesting a cached copy (via the ``If-Modified-Since`` header) when downloading to an existing local file. Disable caching when ``force`` is ``true``, as documented (https://github.com/ansible/ansible/issues/82166).
|
||||
- ansible_managed restored it's 'templatability' by ensuring the possible injection routes are cut off earlier in the process.
|
||||
- apt - honor install_recommends and dpkg_options while installing python3-apt library (https://github.com/ansible/ansible/issues/40608).
|
||||
- apt - install recommended packages when installing package via deb file (https://github.com/ansible/ansible/issues/29726).
|
||||
- apt_repository - do not modify repo files if the file is a symlink (https://github.com/ansible/ansible/issues/49809).
|
||||
- apt_repository - update PPA URL to point to https URL (https://github.com/ansible/ansible/issues/82463).
|
||||
- assemble - fixed missing parameter 'content' in _get_diff_data API (https://github.com/ansible/ansible/issues/82359).
|
||||
- async - Fix bug that stopped running async task in ``--check`` when ``check_mode: False`` was set as a task attribute - https://github.com/ansible/ansible/issues/82811
|
||||
- blockinfile - when ``create=true`` is used with a filename without path, the module crashed (https://github.com/ansible/ansible/pull/81638).
|
||||
- check if there are attributes to set before attempting to set them (https://github.com/ansible/ansible/issues/76727)
|
||||
- copy action now also generates temprary files as hidden ('.' prefixed) to avoid accidental pickup by running services that glob by extension.
|
||||
- copy action now ensures that tempfiles use the same suffix as destination, to allow for ``validate`` to work with utilities that check extensions.
|
||||
- deb822_repository - handle idempotency if the order of parameters is changed (https://github.com/ansible/ansible/issues/82454).
|
||||
- debconf - allow user to specify a list for value when vtype is multiselect (https://github.com/ansible/ansible/issues/81345).
|
||||
- delegate_to when set to an empty or undefined variable will now give a proper error.
|
||||
- distribution.py - Recognize ALP-Dolomite as part of the SUSE OS family in Ansible, fixing its previous misidentification (https://github.com/ansible/ansible/pull/82496).
|
||||
- distro - bump bundled distro version from 1.6.0 to 1.8.0 (https://github.com/ansible/ansible/issues/81713).
|
||||
- dnf - fix an issue when cached RPMs were left in the cache directory even when the keepcache setting was unset (https://github.com/ansible/ansible/issues/81954)
|
||||
- dnf - fix an issue when installing a package by specifying a file it provides could result in installing a different package providing the same file than the package already installed resulting in resolution failure (https://github.com/ansible/ansible/issues/82461)
|
||||
- dnf - properly set gpg check options on enabled repositories according to the ``disable_gpg_check`` option (https://github.com/ansible/ansible/issues/80110)
|
||||
- dnf - properly skip unavailable packages when ``skip_broken`` is enabled (https://github.com/ansible/ansible/issues/80590)
|
||||
- dnf - the ``nobest`` option only overrides the distribution default when explicitly used, and is used for all supported operations (https://github.com/ansible/ansible/issues/82616)
|
||||
- dnf5 - replace removed API calls
|
||||
- dnf5 - respect ``allow_downgrade`` when installing packages directly from rpm files
|
||||
- dnf5 - the ``nobest`` option only overrides the distribution default when used
|
||||
- dwim functions for lookups should be better at detectging role context even in abscense of tasks/main.
|
||||
- ensure we have logger before we log when we have increased verbosity.
|
||||
- expect - fix argument spec error using timeout=null (https://github.com/ansible/ansible/issues/80982).
|
||||
- fact gathering on linux now handles thread count by using rounding vs dropping decimals, it should give slightly more accurate numbers.
|
||||
- facts - add a generic detection for VMware in product name.
|
||||
- facts - detect VMware ESXi 8.0 virtualization by product name VMware20,1
|
||||
- fetch - Do not calculate the file size for Windows fetch targets to improve performance.
|
||||
- fetch - add error message when using ``dest`` with a trailing slash that becomes a local directory - https://github.com/ansible/ansible/issues/82878
|
||||
- find - do not fail on Permission errors (https://github.com/ansible/ansible/issues/82027).
|
||||
- first_found lookup now always returns a full (absolute) and normalized path
|
||||
- first_found lookup now always takes into account k=v options
|
||||
- flush_handlers - properly handle a handler failure in a nested block when ``force_handlers`` is set (http://github.com/ansible/ansible/issues/81532)
|
||||
- galaxy - skip verification for unwanted Python compiled bytecode files (https://github.com/ansible/ansible/issues/81628).
|
||||
- handle exception raised while validating with elements='int' and value is not within choices (https://github.com/ansible/ansible/issues/82776).
|
||||
- include_tasks - include `ansible_loop_var` and `ansible_index_var` in a loop (https://github.com/ansible/ansible/issues/82655).
|
||||
- include_vars - fix calculating ``depth`` relative to the root and ensure all files are included (https://github.com/ansible/ansible/issues/80987).
|
||||
- interpreter_discovery - handle AnsibleError exception raised while interpreter discovery (https://github.com/ansible/ansible/issues/78264).
|
||||
- iptables - add option choices 'src,src' and 'dst,dst' in match_set_flags (https://github.com/ansible/ansible/issues/81281).
|
||||
- iptables - set jump to DSCP when set_dscp_mark or set_dscp_mark_class is set (https://github.com/ansible/ansible/issues/77077).
|
||||
- known_hosts - Fix issue with `@cert-authority` entries in known_hosts incorrectly being removed.
|
||||
- module no_log will no longer affect top level booleans, for example ``no_log_module_parameter='a'`` will no longer hide ``changed=False`` as a 'no log value' (matches 'a').
|
||||
- moved assemble, raw, copy, fetch, reboot, script and wait_for_connection to query task instead of play_context ensuring they get the lastest and most correct data.
|
||||
- reboot action now handles connections with 'timeout' vs only 'connection_timeout' settings.
|
||||
- role params now have higher precedence than host facts again, matching documentation, this had unintentionally changed in 2.15.
|
||||
- roles, code cleanup and performance optimization of dependencies, now cached, and ``public`` setting is now determined once, at role instantiation.
|
||||
- roles, the ``static`` property is now correctly set, this will fix issues with ``public`` and ``DEFAULT_PRIVATE_ROLE_VARS`` controls on exporting vars.
|
||||
- set_option method for plugins to update config now properly passes through type casting and validation.
|
||||
- ssh - add tests for the SSH connection plugin.
|
||||
- support url-encoded credentials in URLs like http://x%40:%40@example.com (https://github.com/ansible/ansible/pull/82552)
|
||||
- syslog - Handle ValueError exception raised when sending Null Characters to syslog with Python 3.12.
|
||||
- systemd_services - update documentation regarding required_one_of and required_by parameters (https://github.com/ansible/ansible/issues/82914).
|
||||
- template - Fix error when templating an unsafe string which corresponds to an invalid type in Python (https://github.com/ansible/ansible/issues/82600).
|
||||
- template action will also inherit the behavior from copy (as it uses it internally).
|
||||
- templating - ensure syntax errors originating from a template being compiled into Python code object result in a failure (https://github.com/ansible/ansible/issues/82606)
|
||||
- unarchive - add support for 8 character permission strings for zip archives (https://github.com/ansible/ansible/pull/81705).
|
||||
- unarchive - force unarchive if symlink target changes (https://github.com/ansible/ansible/issues/30420).
|
||||
- unarchive modules now uses zipinfo options without relying on implementation defaults, making it more compatible with all OS/distributions.
|
||||
- unsafe data - Address an incompatibility when iterating or getting a single index from ``AnsibleUnsafeBytes``
|
||||
- unsafe data - Address an incompatibility with ``AnsibleUnsafeText`` and ``AnsibleUnsafeBytes`` when pickling with ``protocol=0``
|
||||
- unsafe data - Enable directly using ``AnsibleUnsafeText`` with Python ``pathlib`` (https://github.com/ansible/ansible/issues/82414)
|
||||
- uri - update the documentation for follow_redirects.
|
||||
- uri action plugin now skipped during check mode (not supported) instead of even trying to execute the module, which already skipped, this does not really change the result, but returns much faster.
|
||||
- vars - handle exception while combining VarsWithSources and dict (https://github.com/ansible/ansible/issues/81659).
|
||||
- wait_for should not handle 'non mmapable files' again.
|
||||
- winrm - Better handle send input failures when communicating with hosts under load
|
||||
- winrm - Do not raise another exception during cleanup when a task is timed out - https://github.com/ansible/ansible/issues/81095
|
||||
- winrm - does not hang when attempting to get process output when stdin write failed
|
||||
File diff suppressed because it is too large
Load Diff
2
changelogs/fragments/19755-ansible_processor-s390x.yml
Normal file
2
changelogs/fragments/19755-ansible_processor-s390x.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- ansible_facts.hardware - Define all processor facts on s390x (https://github.com/ansible/ansible/issues/19755)
|
||||
3
changelogs/fragments/2.15.0_summary.yaml
Normal file
3
changelogs/fragments/2.15.0_summary.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
release_summary: |
|
||||
| Release Date: 2023-05-15
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
|
||||
3
changelogs/fragments/2.15.0b1_summary.yaml
Normal file
3
changelogs/fragments/2.15.0b1_summary.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
release_summary: |
|
||||
| Release Date: 2023-04-04
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
|
||||
3
changelogs/fragments/2.15.0b2_summary.yaml
Normal file
3
changelogs/fragments/2.15.0b2_summary.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
release_summary: |
|
||||
| Release Date: 2023-04-10
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
|
||||
3
changelogs/fragments/2.15.0b3_summary.yaml
Normal file
3
changelogs/fragments/2.15.0b3_summary.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
release_summary: |
|
||||
| Release Date: 2023-04-17
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
|
||||
3
changelogs/fragments/2.15.0rc1_summary.yaml
Normal file
3
changelogs/fragments/2.15.0rc1_summary.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
release_summary: |
|
||||
| Release Date: 2023-04-25
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
|
||||
3
changelogs/fragments/2.15.0rc2_summary.yaml
Normal file
3
changelogs/fragments/2.15.0rc2_summary.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
release_summary: |
|
||||
| Release Date: 2023-05-01
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
|
||||
3
changelogs/fragments/2.15.1_summary.yaml
Normal file
3
changelogs/fragments/2.15.1_summary.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
release_summary: |
|
||||
| Release Date: 2023-06-20
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
|
||||
3
changelogs/fragments/2.15.1rc1_summary.yaml
Normal file
3
changelogs/fragments/2.15.1rc1_summary.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
release_summary: |
|
||||
| Release Date: 2023-06-12
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
|
||||
3
changelogs/fragments/2.15.2_summary.yaml
Normal file
3
changelogs/fragments/2.15.2_summary.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
release_summary: |
|
||||
| Release Date: 2023-07-18
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
|
||||
3
changelogs/fragments/2.15.2rc1_summary.yaml
Normal file
3
changelogs/fragments/2.15.2rc1_summary.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
release_summary: |
|
||||
| Release Date: 2023-07-10
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
|
||||
3
changelogs/fragments/2.15.3_summary.yaml
Normal file
3
changelogs/fragments/2.15.3_summary.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
release_summary: |
|
||||
| Release Date: 2023-08-14
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
|
||||
3
changelogs/fragments/2.15.3rc1_summary.yaml
Normal file
3
changelogs/fragments/2.15.3rc1_summary.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
release_summary: |
|
||||
| Release Date: 2023-08-07
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
|
||||
3
changelogs/fragments/2.15.4_summary.yaml
Normal file
3
changelogs/fragments/2.15.4_summary.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
release_summary: |
|
||||
| Release Date: 2023-09-11
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
|
||||
3
changelogs/fragments/2.15.4rc1_summary.yaml
Normal file
3
changelogs/fragments/2.15.4rc1_summary.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
release_summary: |
|
||||
| Release Date: 2023-09-05
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_core_2.15.html>`__
|
||||
@ -1,3 +0,0 @@
|
||||
release_summary: |
|
||||
| Release Date: 2024-05-20
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.17/porting_guides/porting_guide_core_2.17.html>`__
|
||||
@ -1,3 +0,0 @@
|
||||
release_summary: |
|
||||
| Release Date: 2024-04-08
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.17/porting_guides/porting_guide_core_2.17.html>`__
|
||||
@ -1,3 +0,0 @@
|
||||
release_summary: |
|
||||
| Release Date: 2024-04-29
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.17/porting_guides/porting_guide_core_2.17.html>`__
|
||||
@ -1,3 +0,0 @@
|
||||
release_summary: |
|
||||
| Release Date: 2024-05-13
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.17/porting_guides/porting_guide_core_2.17.html>`__
|
||||
@ -1,3 +0,0 @@
|
||||
release_summary: |
|
||||
| Release Date: 2024-06-17
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.17/porting_guides/porting_guide_core_2.17.html>`__
|
||||
@ -1,3 +0,0 @@
|
||||
release_summary: |
|
||||
| Release Date: 2024-06-10
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.17/porting_guides/porting_guide_core_2.17.html>`__
|
||||
@ -1,3 +0,0 @@
|
||||
release_summary: |
|
||||
| Release Date: 2024-07-15
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.17/porting_guides/porting_guide_core_2.17.html>`__
|
||||
@ -1,3 +0,0 @@
|
||||
release_summary: |
|
||||
| Release Date: 2024-07-08
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.17/porting_guides/porting_guide_core_2.17.html>`__
|
||||
@ -1,3 +0,0 @@
|
||||
release_summary: |
|
||||
| Release Date: 2024-07-09
|
||||
| `Porting Guide <https://docs.ansible.com/ansible-core/2.17/porting_guides/porting_guide_core_2.17.html>`__
|
||||
2
changelogs/fragments/20221021-deprecated-sanity.yml
Normal file
2
changelogs/fragments/20221021-deprecated-sanity.yml
Normal file
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- sanity tests - updates the collection-deprecated-version tests to ignore the ``prerelease`` component of the collection version ().
|
||||
@ -1,3 +0,0 @@
|
||||
---
|
||||
bugfixes:
|
||||
- apt_repository - do not modify repo files if the file is a symlink (https://github.com/ansible/ansible/issues/49809).
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- unarchive - log errors from commands to assist in debugging (https://github.com/ansible/ansible/issues/64612)
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- unarchive - allow relative path for ``dest`` (https://github.com/ansible/ansible/issues/64612)
|
||||
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- Add support for custom salt for vault encoding to make it deterministic (https://github.com/ansible/ansible/issues/35480).
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- Prevent running same handler multiple times when included via ``include_role`` (https://github.com/ansible/ansible/issues/73643)
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- ansible-test sanity - correctly report invalid YAML in validate-modules (https://github.com/ansible/ansible/issues/75837).
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- Module and role argument validation - include the valid suboption choices in the error when an invalid suboption is provided.
|
||||
@ -1,2 +0,0 @@
|
||||
bugfixes:
|
||||
- check if there are attributes to set before attempting to set them (https://github.com/ansible/ansible/issues/76727)
|
||||
5
changelogs/fragments/76737-paramiko-rsa-sha2.yml
Normal file
5
changelogs/fragments/76737-paramiko-rsa-sha2.yml
Normal file
@ -0,0 +1,5 @@
|
||||
bugfixes:
|
||||
- paramiko - Add a new option to allow paramiko >= 2.9 to easily work with
|
||||
all devices now that rsa-sha2 support was added to paramiko, which
|
||||
prevented communication with numerous platforms.
|
||||
(https://github.com/ansible/ansible/issues/76737)
|
||||
@ -0,0 +1,4 @@
|
||||
bugfixes:
|
||||
- copy remote_src=true - fix copying subdirs recursively when the dest exists and the src and dest have
|
||||
multiple common subdirectories in a common directory (https://github.com/ansible/ansible/issues/74536).
|
||||
- copy remote_src=true - fix reporting changed for copying empty directories.
|
||||
@ -1,3 +0,0 @@
|
||||
---
|
||||
bugfixes:
|
||||
- iptables - set jump to DSCP when set_dscp_mark or set_dscp_mark_class is set (https://github.com/ansible/ansible/issues/77077).
|
||||
@ -1,2 +0,0 @@
|
||||
bugfixes:
|
||||
- "``include_role`` - properly execute ``v2_playbook_on_include`` and ``v2_runner_on_failed`` callbacks as well as increase ``ok`` and ``failed`` stats in the play recap, when appropriate (https://github.com/ansible/ansible/issues/77336)"
|
||||
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- "ansible-test sanity --test ansible-doc - now also lists documentation for test and filter plugins that are documented (https://github.com/ansible/ansible/pull/77737)."
|
||||
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- Allow force deletion of a group even when it is the primary group of a user. (https://github.com/ansible/ansible/issues/77849)
|
||||
@ -0,0 +1,3 @@
|
||||
---
|
||||
bugfixes:
|
||||
- "strategy plugins: get the correctly templated and validated run_once value on strategy linear (https://github.com/ansible/ansible/issues/78492)"
|
||||
3
changelogs/fragments/78541-service-facts-re.yml
Normal file
3
changelogs/fragments/78541-service-facts-re.yml
Normal file
@ -0,0 +1,3 @@
|
||||
bugfixes:
|
||||
- service_facts - Use python re to parse service output instead of grep
|
||||
(https://github.com/ansible/ansible/issues/78541)
|
||||
@ -0,0 +1,3 @@
|
||||
bugfixes:
|
||||
- copy - fix reporting changes to file attributes in check mode with remote_src=True (https://github.com/ansible/ansible/issues/77957).
|
||||
- copy - fix creating the dest directory in check mode with remote_src=True (https://github.com/ansible/ansible/issues/78611).
|
||||
@ -1,3 +0,0 @@
|
||||
---
|
||||
bugfixes:
|
||||
- Do not print undefined error message twice (https://github.com/ansible/ansible/issues/78703).
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- known_hosts - do not return changed status when a non-existing key is removed (https://github.com/ansible/ansible/issues/78598)
|
||||
3
changelogs/fragments/78750-paramiko-ssh-args-compat.yml
Normal file
3
changelogs/fragments/78750-paramiko-ssh-args-compat.yml
Normal file
@ -0,0 +1,3 @@
|
||||
bugfixes:
|
||||
- paramiko - Add back support for ``ssh_args``, ``ssh_common_args``, and ``ssh_extra_args`` for parsing the ``ProxyCommand``
|
||||
(https://github.com/ansible/ansible/issues/78750)
|
||||
4
changelogs/fragments/78802-sanity-meta-runtime.yml
Normal file
4
changelogs/fragments/78802-sanity-meta-runtime.yml
Normal file
@ -0,0 +1,4 @@
|
||||
minor_changes:
|
||||
- "ansible-test runtime-metadata sanity test - ensure that ``redirect`` entries in ``meta/runtime.yml`` contain collection names, except for ``module_utils`` plugin redirects and ``import_redirect`` redirects (https://github.com/ansible/ansible/pull/78802)."
|
||||
bugfixes:
|
||||
- "ansible-test runtime-metadata sanity test - do not crash on YAML parsing errors without a context mark (https://github.com/ansible/ansible/pull/78802)."
|
||||
@ -0,0 +1,3 @@
|
||||
removed_features:
|
||||
- Remove deprecated ``ANSIBLE_COW_WHITELIST`` configuration environment variable, use ``ANSIBLE_COW_ACCEPTLIST`` instead. (https://github.com/ansible/ansible/issues/78819)
|
||||
- Remove deprecated ``cow_whitelist`` configuration option, use ``cowsay_enabled_stencils`` instead. (https://github.com/ansible/ansible/issues/78820)
|
||||
@ -0,0 +1,3 @@
|
||||
removed_features:
|
||||
- Remove deprecated ``ANSIBLE_CALLBACK_WHITELIST`` configuration environment variable, use ``ANSIBLE_CALLBACKS_ENABLED`` instead. (https://github.com/ansible/ansible/issues/78821)
|
||||
- Remove deprecated ``callback_whitelist`` configuration option, use ``callbacks_enabled`` instead. (https://github.com/ansible/ansible/issues/78822)
|
||||
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- add parameter ``numeric`` to the iptables module to disable dns lookups when running list -action internally (https://github.com/ansible/ansible/issues/78793).
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- "Do not crash when templating an expression with a test or filter that is not a valid Ansible filter name (https://github.com/ansible/ansible/issues/78912, https://github.com/ansible/ansible/pull/78913)."
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- ansible-galaxy collection install - respect symlinks when installing from source or local repository (https://github.com/ansible/ansible/issues/78442)
|
||||
@ -0,0 +1,6 @@
|
||||
bugfixes:
|
||||
- >-
|
||||
ansible-vault encrypt_string - started appending a line feed at the end of the encrypted string output. Missing newline
|
||||
character caused problems identifying where the string ends in some shells (like bash) or accidentally copying an
|
||||
extra trailing terminator symbol (e.g., zsh prints out a ``%`` sign to signal where the original output stops)
|
||||
(https://github.com/ansible/ansible/issues/78932).
|
||||
3
changelogs/fragments/79021-dont-squash-in-validate.yml
Normal file
3
changelogs/fragments/79021-dont-squash-in-validate.yml
Normal file
@ -0,0 +1,3 @@
|
||||
bugfixes:
|
||||
- keyword inheritance - Ensure that we do not squash keywords in validate
|
||||
(https://github.com/ansible/ansible/issues/79021)
|
||||
2
changelogs/fragments/79023-fix-flush_handlers-fqcn.yml
Normal file
2
changelogs/fragments/79023-fix-flush_handlers-fqcn.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- "handlers - fix an issue where the ``flush_handlers`` meta task could not be used with FQCN: ``ansible.builtin.meta`` (https://github.com/ansible/ansible/issues/79023)"
|
||||
2
changelogs/fragments/79079-fix-role-dep-chain.yaml
Normal file
2
changelogs/fragments/79079-fix-role-dep-chain.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- include_role - Inherit from role parents beyond a depth of 3 (https://github.com/ansible/ansible/issues/47023).
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- "jinja2_native: preserve quotes in strings (https://github.com/ansible/ansible/issues/79083)"
|
||||
4
changelogs/fragments/79117-bsd-ifconfig-inet-fix.yml
Normal file
4
changelogs/fragments/79117-bsd-ifconfig-inet-fix.yml
Normal file
@ -0,0 +1,4 @@
|
||||
bugfixes:
|
||||
- BSD network facts - Do not assume column indexes, look for ``netmask`` and
|
||||
``broadcast`` for determining the correct columns when parsing ``inet`` line
|
||||
(https://github.com/ansible/ansible/issues/79117)
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- ansible-galaxy collection/role init - preserve symlinks (https://github.com/ansible/ansible/issues/39334).
|
||||
2
changelogs/fragments/79187--wheel-0.38.0.yml
Normal file
2
changelogs/fragments/79187--wheel-0.38.0.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- ansible-test - Add ``wheel < 0.38.0`` constraint for Python 3.6 and earlier.
|
||||
2
changelogs/fragments/79227-update-vendored-distro.yaml
Normal file
2
changelogs/fragments/79227-update-vendored-distro.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- updated the vendored distro library to upstream version (https://github.com/ansible/ansible/pull/79227)
|
||||
2
changelogs/fragments/79267-validate-modules-defaults.yml
Normal file
2
changelogs/fragments/79267-validate-modules-defaults.yml
Normal file
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- "ansible-test validate-modules - no longer treat falsy non-``False`` values for defaults as ``None`` (https://github.com/ansible/ansible/pull/79267)."
|
||||
@ -0,0 +1,6 @@
|
||||
breaking_changes:
|
||||
- "ansible-doc - no longer treat plugins in collections whose name starts with ``_`` as deprecated
|
||||
(https://github.com/ansible/ansible/pull/79362)."
|
||||
- "ansible-test sanity - previously plugins and modules in collections whose name started with ``_``
|
||||
were treated as deprecated, even when they were not marked as deprecated in ``meta/runtime.yml``.
|
||||
This is no longer the case (https://github.com/ansible/ansible/pull/79362)."
|
||||
@ -0,0 +1,3 @@
|
||||
minor_changes:
|
||||
- collections - Add additional includes for REUSE license files (https://github.com/ansible/ansible/issues/79368)
|
||||
- collections - Add additional ignores for commonly rejected file extensions
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- Fixes leftover _valid_attrs usage.
|
||||
2
changelogs/fragments/79399-resolvelib_lt_0_10_0.yml
Normal file
2
changelogs/fragments/79399-resolvelib_lt_0_10_0.yml
Normal file
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- ansible-galaxy - support ``resolvelib >= 0.5.3, < 0.10.0``.
|
||||
4
changelogs/fragments/79420-galaxy-manifest-license.yaml
Normal file
4
changelogs/fragments/79420-galaxy-manifest-license.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
minor_changes:
|
||||
- galaxy - include ``license_file`` in the default manifest directives
|
||||
(https://github.com/ansible/ansible/pull-request/79420)
|
||||
@ -0,0 +1,3 @@
|
||||
bugfixes:
|
||||
- file - touch action in check mode was always returning ok. Fix now evaluates the different conditions and
|
||||
returns the appropriate changed status. (https://github.com/ansible/ansible/issues/79360)
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- Fixes the password lookup to not rewrite files if they are not changed when using the "encrypt" parameter (#79430).
|
||||
2
changelogs/fragments/79459-fix-meta-task-check.yml
Normal file
2
changelogs/fragments/79459-fix-meta-task-check.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- "Fix a traceback occuring when a task is named ``meta`` (https://github.com/ansible/ansible/issues/79459)"
|
||||
2
changelogs/fragments/79546-apt-fix-setting-locale.yml
Normal file
2
changelogs/fragments/79546-apt-fix-setting-locale.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- apt - set locale to fix updating the cache (https://github.com/ansible/ansible/issues/79523).
|
||||
@ -0,0 +1,3 @@
|
||||
bugfixes:
|
||||
- Fix using ``GALAXY_IGNORE_CERTS`` when downloading tarballs from Galaxy servers (https://github.com/ansible/ansible/issues/79557).
|
||||
- Fix using ``GALAXY_IGNORE_CERTS`` in conjunction with collections in requirements files which specify a specific ``source`` that isn't in the configured servers.
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- systemd - daemon-reload and daemon-reexec ignore errors when running in a chroot (https://github.com/ansible/ansible/pull/79643)
|
||||
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- apt_repository - adds ``sources_added`` and ``sources_removed`` to the return of the module (https://github.com/ansible/ansible/issues/79306).
|
||||
2
changelogs/fragments/79677-fix-argspec-type-check.yml
Normal file
2
changelogs/fragments/79677-fix-argspec-type-check.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- module/role argument spec - validate the type for options that are None when the option is required or has a non-None default (https://github.com/ansible/ansible/issues/79656).
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user