Compare commits

...

162 Commits

Author SHA1 Message Date
531123a311 New release v2.12.7rc1 (#78034) 2022-06-13 09:47:26 -04:00
fa3f74af91 [stable-2.12] Update AZP test container to 3.0.0. (#78023)
(cherry picked from commit 1321d6ecd5)
2022-06-09 17:29:41 -07:00
117414e5c2 [stable-2.12] ansible-test - Adjust unit test mock usage. (#78003)
* ansible-test - Prefer unittest.mock for core.

(cherry picked from commit 81351022d8)

* ansible-test - Adjust unit test mock usage. (#77961)

(cherry picked from commit 23914d3f0b)
2022-06-09 10:11:45 -05:00
482ce8fa8b fix pip module resolution (#78000) (#78005)
* `importlib.util` appears to be lazily imported and is sometimes unavailable as an attribute of `importlib` without an explicit import

(cherry picked from commit 6e78425f8d)
2022-06-09 10:11:00 -05:00
2cc9333e97 [stable-2.12] Make fuzzy plugin matching deterministic. (#77998)
(cherry picked from commit 5a0b230e24)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-06-08 12:07:28 -05:00
daf160bc67 Add toggle to fix module_defaults with module-as-redirected-action on a per-module basis (#77265) (#77900)
* If there is a platform specific handler, prefer the resolved module over the resolved action when loading module_defaults

Add a toggle for action plugins to prefer the resolved module when loading module_defaults

Allow moving away from modules intercepted as actions pattern

Fixes #77059

(cherry picked from commit 621e782ed0)
2022-06-08 12:07:21 -05:00
f4d7f33513 Update PSF-license.txt to version from CPython 3.9.5. (#77805) (#77828)
(cherry picked from commit 201aba3d0f)
2022-06-08 12:07:12 -05:00
0eb8e5e571 stub out ipaddr page and point to new home (#77281) (#77939)
(cherry picked from commit dfda04894f)
2022-06-02 16:24:13 -07:00
832a762c2b [stable-2.12] Avoid deprecated method in unit tests.
(cherry picked from commit 5f74350fd5)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-05-24 09:22:08 -07:00
f6b028341b Update Ansible release version to v2.12.6.post0. (#77881) 2022-05-23 18:09:43 -04:00
a1683d3dab New release v2.12.6 (#77864) 2022-05-23 11:46:35 -04:00
04ab182ef9 Update Ansible release version to v2.12.6rc1.post0. (#77813) 2022-05-16 15:04:47 -04:00
01cbef9476 New release v2.12.6rc1 (#77810) 2022-05-16 13:34:35 -04:00
48689b63e4 update version switcher to include 2.13 (#77786) (#77796)
(cherry picked from commit f5642cea28)
2022-05-13 15:04:36 -07:00
092d298b5c fix SELinux facts tests (#77708)
* make the pre-flight sniffing more robust to different failure conditions (was failing on Ubuntu 22.04 VMs)
* remove skip aliases (the test needs to function everywhere to assert that the selinux facts bits behave properly when it's N/A)

(cherry picked from commit 4ff10fcd31)
2022-05-10 16:40:42 -05:00
a9f17d0532 dont rely on path to set config defs for plugins (#77659) (#77695)
(cherry picked from commit a3cc6a581e)
2022-05-10 16:40:33 -05:00
4bde2d8a97 [stable-2.12] arg_spec - Return aliases in validation result and update aliases (#77576) (#77602)
* [stable-2.12] arg_spec - Return aliases in validation result and update aliases (#77576)

When looking up the `no_log` setting for a parameter that is an alias in
`AnsibleModule._log_invocation()`, the alias value will always be an
empty dictionary since `self.aliases` on the `AnsibleModule` instance is
never updated after initialization. Since the `no_log` setting is on the
canonical parameter not the alias, an incorrect warning is issued if the
parameter matches `PASSWORD_MATCH`.

This PR returns the aliases dictionary as an attribute of the
`ValidationResult` and updates the `aliases` attribute on the
`AnsibleModule` instance.
(cherry picked from commit 1b947eaf92)

Co-authored-by: Sam Doran <github@samdoran.com>

* Rewrite test comprehension for Python 2.6

* No need for list inside the dict constructor
2022-05-10 16:40:19 -05:00
625a99aa32 Prevent losing unsafe from lookups (#77609) (#77651)
This patch fixes a bug which under certain conditions results in data
returned from lookups not being marked as unsafe.

Each time Templar.do_template is invoked a new AnsibleContext is
created and stored effectively at two places:
1) as an instance variable in templar_obj.cur_context
2) as a local variable called new_context in do_template method of Templar

Due to custom functionality in Ansible's Context that allows for nested
templating it is possible that during resolving variable's value
template/do_template method is called recursively again, again creating
a new context. At that point the problem manifests itself because as
mentioned in 1) above the context is overwriten on the templar object
which means that any subsequent calls to _lookup will use the new
context to mark it as unsafe which is now different to the local
new_context which is used for testing for unsafe property.

The solution to the problem appears to be to restore the original
context inside do_template and also to eliminate the local variable
new_context to prevent problems in the future.

It appears that we don't have a better way of storing the context other
than as some form of global variable and so this appears to be the
"best" solution possible at this point. Hopefully data tagging will be
the solution here.

For more examples see unit and integration tests included in this patch.

Fixes #77535

(cherry picked from commit 3980eb8c09)
2022-05-09 14:57:55 -05:00
013be12888 varaiblemanager, more efficienet vars file reads (#77570) (#77595)
(cherry picked from commit 2c2a204dc6)
2022-05-09 14:57:35 -05:00
b667639c2c Update Ansible release version to v2.12.5.post0. (#77633) 2022-04-25 12:42:54 -04:00
b104478f17 New release v2.12.5 (#77628) 2022-04-25 10:34:11 -04:00
3ea4cdaddf Update Ansible release version to v2.12.5rc1.post0. (#77559) 2022-04-18 14:51:46 -07:00
e3ee19fbb8 New release v2.12.5rc1 (#77543) 2022-04-18 12:12:05 -07:00
fbc7502050 Pin antsibull to 0.42.0 (#77539) 2022-04-14 11:26:46 -07:00
04afeffed7 SID - Use literal UPN value when attempting a user to SID lookup (#77334) (#77348)
(cherry picked from commit ff184b0815)
2022-04-13 12:32:05 -05:00
db69d93c1c [2.12] fix shell/command/script tasks skipping in check mode (#76353) (#77389)
* fix shell/command/script tasks skipping in check mode (#76353)

* fix shell/command/script tasks skipping in check mode

* changelog

(cherry picked from commit de11a1ce78)

* Add portion of tests from #76429 for skipping/not skipping shell/command tasks in check mode
2022-04-13 12:07:45 -05:00
374882e4df winrm - ensure callers PATH for kinit is set (#77401) (#77403)
* winrm - ensure callers PATH for kinit is set

* Fix unit test expectations

* Fix type annotation

(cherry picked from commit 60b4200bc6)
2022-04-13 11:53:07 -05:00
2ce5d99e83 [bp-2.12] hostname - fix TypeError in FileStrategy (#77365)
* Use file_get_content() to read the file containing the host name

(cherry picked from commit d60efd9768)

Signed-off-by: Emmanuel Benoît <tseeker@nocternity.net>
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>

Co-authored-by: Emmanuel Benoît <tseeker@nocternity.net>
2022-04-13 11:34:33 -05:00
8bbcfebd5c Get git executable for collections in git repos (#77493) (#77501)
* Fix traceback installing collections from git repos if git is not installed

(cherry picked from commit 477c55b0d2)
2022-04-13 11:21:55 -05:00
efbe050c29 [stable-2.12] Fix sanity test crash.
(cherry picked from commit 6216c9fc93)

Co-authored-by: Felix Fontein <felix@fontein.de>
2022-04-11 18:08:35 -07:00
de70bfbcb0 [stable-2.12] ansible-test - Fix origin host target filtering.
(cherry picked from commit 4b51e61645)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-03-30 15:42:13 -07:00
d8bc9c4056 Update Ansible release version to v2.12.4.post0. (#77380) 2022-03-28 16:08:27 -07:00
bfd93c835a New release v2.12.4 (#77374) 2022-03-28 11:19:09 -07:00
36be99b52d Update Ansible release version to v2.12.4rc1.post0. (#77332) 2022-03-21 22:27:32 -04:00
5c97f7e16f New release v2.12.4rc1 (#77329) 2022-03-21 13:19:17 -07:00
660e8fa07d unarchive: fix io_buffer_size option, remove ignore.txt entry (#77271) (#77311)
* Fix io_buffer_size option.

* Remove ignore.txt entry by adding action plugin only options to module's argument spec.

* Add changelog fragment.

* Adjust unit tests.

(cherry picked from commit e3c72230cd)
2022-03-18 15:50:22 -07:00
7ddf9c6bff 2.12: Add YAML representers for NativeJinjaUnsafeText and NativeJinjaText (#77299)
* Add a YAML representer for NativeJinjaUnsafeText (#76186)

(cherry picked from commit dd220ddc2f)

* Add a YAML representer for NativeJinjaText (#77282)

Fixes #77280

(cherry picked from commit c9db73f04e)
2022-03-18 15:49:15 -07:00
26fd20c287 [2.12 backport] use same timeout for galaxy api interactions (backport of #77088) (#77142)
* use same timeout for galaxy api interactions (#77088)

Also, bump the default. A number of people have reported problems with
this 20 second timeout for a couple of years on
https://github.com/ansible/galaxy/issues/2302

It is mentioned in the issue that resolving dns can sometimes take up to
30 seconds, and that this timeout includes dns resolution.

Includes a changelog message

* fix type hint

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

Co-authored-by: Matt Davis <6775756+nitzmahone@users.noreply.github.com>
Co-authored-by: Matt Clay <matt@mystile.com>
2022-03-15 11:39:57 -07:00
b3968340a0 [2.12] Fix collection redirects for filter and test plugins (#77210) (#77227)
* Fix collection redirects for filter and test plugins (#77210)

* Fix collection redirects for jinja2 filters/tests

* Handle recursive redirects

Co-authored-by: Matt Martz <matt@sivel.net>
(cherry picked from commit 8063643b4c)

* The error message is only capitalized on 2.13. Make test more flexible.
2022-03-15 11:08:32 -07:00
17836f8e65 first_found: allow spaces in names (#77141) (#77207)
* first_found: allow spaces in names

Fixes #77136

(cherry picked from commit 74a204e6f1)
2022-03-15 11:04:15 -07:00
2ff3ee75a5 [stable-2.12] Mention ansible-core RPM package in Ansible Core Installation Guide (backport #76801) (#77179) 2022-03-15 11:00:39 -07:00
bedff70f3e [2.12] ansible-galaxy collection verify - display new files/dirs as modified content (#77128)
* Fix 'ansible-galaxy collection verify' to report files/directories not listed in the FILES.json

(cherry picked from commit a1d467dbb2)

* changelog

(cherry picked from commit 3d49d6f69e)
2022-03-15 10:57:32 -07:00
a45c4aadb8 [stable-2.12] Use full python package for ansiballz cache filenames (#77090) (#77125)
* Use full python package for ansiballz cache filenames

* Be a little more explicit about test goals
(cherry picked from commit 8cbe143)

Co-authored-by: Matt Martz <matt@sivel.net>
2022-03-15 10:55:55 -07:00
2d98b94f6c [stable-2.12] ansible-test - Fix delegation inventory path.
(cherry picked from commit e8afdac06e)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-03-10 19:15:50 -08:00
a90ef30282 Update Ansible release version to v2.12.3.post0. (#77161) 2022-03-01 09:48:55 -05:00
b801ef15c9 [stable-2.12] Update setup_pexpect to prefer pip user installs.
This works around issues on RHEL 7.9 when an old version of pexpect is installed from an OS package.
(cherry picked from commit 27fe26edbf)

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

ci_complete
2022-02-28 14:38:13 -08:00
0ee3815c55 New release v2.12.3 (#77158) 2022-02-28 10:13:48 -05:00
7efb3caf76 Update Ansible release version to v2.12.3rc1.post0. (#77131) 2022-02-23 19:13:22 -05:00
bcdde7ebe3 New release v2.12.3rc1 (#77124)
Signed-off-by: Christian M. Adams <chadams@redhat.com>
2022-02-23 15:58:50 -05:00
586e40facf ansible-test - Update default containers to 4.2.0. 2022-02-22 16:12:37 -08:00
2f0b8398c9 [stable-2.12] ansible-test - Fix CParser import in yamllint.
(cherry picked from commit d286c2e8b3)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-02-22 11:59:39 -08:00
7df9c1bc91 [stable-2.12] ansible-test - Managed venv fixes. (#77100)
* ansible-test - Remove cap on cryptography version.

(cherry picked from commit 00a2b7788e)

* ansible-test - Fix consistency of managed venvs. (#77028)

(cherry picked from commit 68fb3bf90e)

* Avoid system-site-packages in AZP coverage venvs.

The use of `--venv-system-site-packages` was an optimization to use the `coverage` package pre-installed in the AZP test container.
However, now that the venv is bootstrapped by ansible-test that optimization no longer makes sense, since other downloads are already taking place.

(cherry picked from commit 177336a9d3)

* ansible-test - Clean up venv code.

(cherry picked from commit addb9baec2)

* Adjust virtualenv version for Python 2.6.

* Adjust bootstrap URL to work with Python 2.6.

* Enable PyPI proxy for generic tests.

This is needed to support ansible-test integration tests on Python 2.6.

* Freeze plugin import sanity test requirements.

Based on https://github.com/ansible/ansible/pull/76308
2022-02-22 11:50:19 -08:00
972bcfe7eb Fix integration tests that install MarkupSafe. 2022-02-21 23:47:25 -08:00
65792c3035 [stable-2.12] Remove unused task from template integration test.
(cherry picked from commit c1a271c792)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-02-21 22:07:21 -08:00
5caa97962e [stable-2.12] Fix warning in unit tests for _yaml import.
(cherry picked from commit de9a3bda2c)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-02-21 22:07:02 -08:00
010b143743 [stable-2.12] Use --no-deps when installing amazon.aws and not testing dependencies (#77091)
(cherry picked from commit 88bfb7193e)

Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
2022-02-21 17:57:13 -08:00
2a1aabed33 Fix filter_mathstuff integration test. 2022-02-21 10:18:05 -08:00
582d3b1488 [stable-2.12] ansible-test - Use quay.io containers in plugins.
(cherry picked from commit c27fd777f4)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-02-17 16:18:29 -08:00
782b8645b8 gather_facts sees collection networking connection (#76954) (#76963)
needed to properly propagate some arguments by convention: subset, filter

Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
(cherry picked from commit 5bddecb048)
2022-02-16 17:21:08 -08:00
ce60a37683 ssh connection: use 'correct' host in all cases (#76017) (#76968)
ssh plugin, use 'correct' information source in all cases
  * still fallback to pc
  * added inventory to new test
  * undef var can still show as parser error on pc
    now task_exectuer has a  more accurate error handling

(cherry picked from commit be19863e44)
2022-02-16 17:20:44 -08:00
6f94380767 Remove more whitelist and blacklist occurances (docs only). (#76845) (#76860)
(cherry picked from commit ee80e856c2)
2022-02-16 17:11:22 -08:00
c3ee359726 ansible-test - No pyopenssl in sanity test venvs. 2022-02-16 15:26:44 -08:00
de9fb8087e fix block var inheritance (#75287) (#76896)
* updated tests to conform to new block inheritance

Co-authored-by: Brian Scholer <1260690+briantist@users.noreply.github.com>
Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
(cherry picked from commit b1d6750e8b)
2022-02-16 10:56:11 -06:00
cd0ebed875 [stable-2.12] unarchive: fix non-english locales (#76542) (#76933)
* unarchive: fix non-english locales

For GNU Gettext, the LANGUAGE environment variable takes precedence over LANG or LC_ALL. On systems where LANGUAGE was set to a non-english locale, the output of the tar command therefore not understood and the module failed silently ("changed": false, but the archive was not extracted).

* add tests

* changelog
(cherry picked from commit 49e1cb9)

Co-authored-by: Jonathan Neuhauser <jonathan.hofinger@gmx.de>

Co-authored-by: Jonathan Neuhauser <jonathan.hofinger@gmx.de>
2022-02-16 10:55:56 -06:00
317ff44f6d clean_facts only show variable name (#76974) (#76984)
(cherry picked from commit 47faa6e206)
2022-02-16 10:55:14 -06:00
ae35fc04c3 Fix final fact delegation (#77008) (#77017)
* fix facts delegation loop overwrite

 partial revert of change to allow facts to be present in each loop iteration
 was not needed in final results as result processing alreayd had the disctiontion
 and ended up breaking the assumptions in the calling code.

 fixes #76676

(cherry picked from commit c9d3518d2f)
2022-02-16 10:55:03 -06:00
613519d294 [stable-2.12] restore inadvertently deleted default for convert_data. Fixes #77004 (#77016) (#77021)
(cherry picked from commit 3779c1f)

Co-authored-by: Matt Martz <matt@sivel.net>
2022-02-16 10:54:46 -06:00
bd0756e113 [stable-2.12] ansible-test - Use newer pip to bootstrap FreeBSD.
(cherry picked from commit ef4c5cd61b)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-02-15 15:35:14 -08:00
88cf272df0 [stable-2.12] Fix package-data sanity test for newer setuptools.
(cherry picked from commit 3a662ef2c1)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-02-15 13:38:38 -08:00
f574333395 [stable-2.12] ansible-test - Fix collection loader import. (#76986)
* ansible-test - Fix collection loader import.

Resolves https://github.com/ansible/ansible/issues/76960
(cherry picked from commit 0d40423f1c)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-02-08 13:05:44 -08:00
a9814fb3fe [stable-2.12] ansible-test - Fix import test for collections.
(cherry picked from commit e56e47faa7)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-02-08 12:52:01 -08:00
aa3747d116 [stable-2.12] ansible-test - Update alpine3 container to 3.3.0. (#76978)
This updates the base image from 3.14.2 to 3.15.0, which includes support for installing binary wheels using pip..
(cherry picked from commit e27b94c467)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-02-07 15:20:34 -08:00
e312665990 [stable-2.12] Update codecov download URL.
(cherry picked from commit e2d4c41ac0)
2022-02-03 15:39:34 -08:00
b5c49f1023 [stable-2.12] ansible-test - Update bootstrap URL to not use S3.
(cherry picked from commit 7e64c4fe55)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-02-03 15:39:16 -08:00
4ba819ad56 [stable-2.12] Stop publishing code coverage to the AZP UI.
Azure Pipelines only supports publishing a single code coverage file.
This limits us to reporting on either Python or PowerShell.
It also prevents us from reporting coverage per test command without further aggregation.
Most of our users are only aware of the reports published to codecov.io.
(cherry picked from commit a926b1dbab)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-02-03 14:57:59 -08:00
0e7d0d0038 [stable-2.12] docs - remove broken link in ACI scenario guide (#76940)
(cherry picked from commit 2767a4cf4a)

Co-authored-by: Matt Clay <mclay@redhat.com>
2022-02-03 12:14:58 -08:00
7f08acd46a [stable-2.12] Fix task path unicode error in junit callback.
(cherry picked from commit 41db6d8d35)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-02-02 17:57:36 -08:00
9e4a49ded8 [stable-2.12] ansible-test - Limit installed pyopenssl version.
(cherry picked from commit 995d7e4db3)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-02-01 09:50:38 -08:00
1ef0bc3fd6 [stable-2.12] ansible-test - Use relative paths in junit output. (#76871)
* ansible-test - Use relative paths in junit output.

Also fix a traceback in the junit callback during automatic fact gathering.

* ansible-test - Handle out-of-tree JUnit paths.
(cherry picked from commit fbb5d56bd2)

Co-authored-by: Matt Clay <mclay@redhat.com>
2022-01-31 16:12:44 -08:00
f496edc6e9 Update Ansible release version to v2.12.2.post0. (#76904) 2022-01-31 18:03:37 -05:00
6c75cf5c83 New release v2.12.2 (#76892) 2022-01-31 15:19:57 -05:00
e81005e910 Remove centos8 from CI.
CentOS 8 has been EOL for ~1 month now.
2022-01-31 10:49:12 -08:00
5c208f0d71 [stable-2.12] ansible-test - Defer loading of completion entries. (#76852)
* ansible-test - Defer loading of completion entries.

This avoids a traceback when running ansible-test outside of a supported directory.
(cherry picked from commit e9ffcf3c85)

Co-authored-by: Matt Clay <mclay@redhat.com>
2022-01-25 16:12:17 -08:00
ddc9575260 Update Ansible release version to v2.12.2rc1.post0. (#76834) 2022-01-24 12:18:05 -05:00
f81225c3e5 New release v2.12.2rc1 (#76831) 2022-01-24 11:02:08 -05:00
30aeba87c3 [stable-2.12] Resolve perf issue with async callback events (#76783) (#76816)
* Don't send full task with async callback events. Fixes #76729

* Use args for async_status task, instead of k=v

* Make sure we send back the async task attrs for polling

* Add clog frag

* load is a staticmethod
(cherry picked from commit 96ce480)

Co-authored-by: Matt Martz <matt@sivel.net>
2022-01-21 13:20:12 -06:00
fdb93a912b [stable-2.12] Do not require SystemdStrategy subclasses for every distro (#76800). (#76808)
(cherry picked from commit 374720fc97)

Co-authored-by: Matt Martz <matt@sivel.net>
2022-01-21 09:32:02 -06:00
3ded47c3d3 [stable-2.12] Attempt 2: Catch errors getting filters and tests (#76806). (#76809)
(cherry picked from commit 9f46f6eb30)

Co-authored-by: Matt Martz <matt@sivel.net>
2022-01-20 14:06:17 -06:00
dd2e695c93 ansible-config avoid _terms and _input in --only-changed (#76597) (#76763)
dont display _terms or _intput on only changed
 those always change and it expected for the plugins that support them

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 2246ed9678)
2022-01-20 09:13:52 -06:00
83d7716e02 [stable-2.12] Compare FQCN also in lockstep logic. Fixes #76782 (#76787) (#76791)
(cherry picked from commit 29bdb8b)

Co-authored-by: Matt Martz <matt@sivel.net>
2022-01-18 17:33:41 -08:00
3edae9b3e8 include_vars initialize failed (#76754) (#76784)
* include_vars initialize failed

  if source dir is given, but not present and traversal is empty you
  can end up trying to access failed w/o it ever being defined.

  also future proof for more corner cases in decision tree

(cherry picked from commit 89c884e2a2)
2022-01-18 17:31:10 -08:00
a60b79d8e8 ssh connection avoid parsiing own debug (#76732) (#76755)
- Avoids false positives on become strings being echoed back
   by ssh cli itself
  - added test for debug lines
  - also simplified some of existing test code

(cherry picked from commit 0ff80a15ba)
2022-01-18 17:25:13 -08:00
ec8b1d267d ansible-galaxy - fix the --ignore-certs flag for the implicit galaxy server (#76735) (#76738)
* ansible-galaxy - fix the --ignore-certs flag for the implicit galaxy server

* changelog

* Add a test without the server config

* Fix respecting --ignore-certs for individual --server URLs also

* Update changelogs/fragments/76735-ansible-galaxy-fix-ignore-certs.yaml

(cherry picked from commit 76220c4a7b)
2022-01-18 17:21:35 -08:00
645f74732c end_play: end the current play only (#76674) (#76730)
Fixes #76672

(cherry picked from commit f78deccec2)
2022-01-18 17:20:43 -08:00
5407c953ec ssh connection, handle 'fun' control paths (#76424) (#76693)
* handle 'fun' control paths by quoting the option when passed to ssh cli

Co-authored-by: Matt Clay <matt@mystile.com>
(cherry picked from commit aa022dba2d)
2022-01-18 17:19:46 -08:00
841135bd42 [2.12] Use correct markup in documentation (#76574)
* Use correct markup in documentation (#76545)

(cherry picked from commit 9d1898b1ef)

* Fix markup.

(cherry picked from commit c24c479061)
2022-01-18 17:17:04 -08:00
6fa408a99a Fix AttributeError when providing file via --conn-password-file (#76534) (#76558)
Fixes #76530

(cherry picked from commit ac2bdd6834)
2022-01-18 17:15:17 -08:00
ca3889bf77 yum: avoid storing unnecessary cache data (#76345) (#76553)
Fixes #76336

(cherry picked from commit 461f30c160)
2022-01-18 17:14:06 -08:00
52d5adf6bc Properly set finalize for the new environment (#76435) (#76469)
* Properly set finalize for the new environment

Fixes #76379

* Fix sanity

(cherry picked from commit 4e7be293a5)
2022-01-18 17:12:48 -08:00
8b5ae59b36 galaxy build - ignore existing MANIFEST and FILES (#76479) (#76500)
(cherry picked from commit 8482ee4e9a)
2022-01-18 17:09:28 -08:00
ba1e93114c better handling of sudo flag replacement (#76389) (#76440)
* better handling of sudo flag replacement

(cherry picked from commit b02168d644)
2022-01-18 17:04:24 -08:00
f88efd57cb Fix zip content filtering in unarchive module (#76069) (#76418)
When we introduced an include parameter to the unarchive module, we
inadvertenly flipped the exclusion logic. This flip meant that the
unarchive module started rejecting files that should be extracted.

This commit flips the bad logic and adds some tests that will make
sure things do not go bad again.

(cherry picked from commit f92830d16e)
2022-01-18 17:03:09 -08:00
5619368075 [stable-2.12] Update dnf tests to reflect new behavior. (#76743)
* Update dnf tests to reflect new behavior.

Previously dnf would report there was nothing to do when trying to install a package from the cache when it was not present.

A recent update to dnf has changed this behavior to match yum, resulting in a failure instead.

* Allow dnf to fail or report no changes.
(cherry picked from commit c1df36e3ae)

Co-authored-by: Matt Clay <mclay@redhat.com>
2022-01-12 11:54:10 -08:00
295a22f0b6 [stable-2.12] ansible-test - Use --forked instead of --boxed
The `--boxed` option is deprecated.
(cherry picked from commit eaeec8a65c)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-01-10 09:58:33 -08:00
2f2267a6e5 [stable-2.12] ansible-test - Fix delegation from install.
(cherry picked from commit 470c89518c)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-01-04 17:45:44 -08:00
ff7fc58269 [stable-2.12] ansible-test - Hide ansible._vendor in import test (#76503)
(cherry picked from commit 82f59d4843)

Co-authored-by: Matt Clay <mclay@redhat.com>
2022-01-04 15:53:50 -08:00
5771261825 [stable-2.12] ansible-test - Use ansible-core for docs links.
(cherry picked from commit 16cdac66fe)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-01-04 15:52:42 -08:00
7262d38dda Disable the _distutils_hack in newer setuptools (#76600)
* Disable the _distutils_hack in newer setuptools. Doesn't fix the underlying issue of the venv finding the _distutils_hack of a setuptools that is not its own.

ci_complete

* re-throw blanket

(cherry picked from commit fa617fcd7b)
2022-01-04 12:45:53 -08:00
73a631911c [stable-2.12] Fix wait_for integration test.
Pin the `psutil` package to 5.8.0 since 5.9.0 is broken on macOS.
(cherry picked from commit a5f4a25d32)

Co-authored-by: Matt Clay <matt@mystile.com>
2022-01-04 12:17:48 -08:00
394c331c6d per marketing request - add note for AAP on Azure availability (#76512) (#76517)
* per marketing request - add note for AAP on Azure availability (#76512)

(cherry picked from commit 0df60f3b61)

* remove aws from the azure note (#76518)

(cherry picked from commit 0cec4d1cfc)
2021-12-09 13:53:09 -06:00
9d7ecaa8f7 add intersphinx mapping for Ansible 5 (#76470) (#76511)
* add intersphinx mapping for Ansible 5

* add the other files

(cherry picked from commit bccfb83e00)
2021-12-09 09:37:25 -06:00
8bab2e309b [stable-2.12] ansible-test - Fix traceback in validate-modules test.
(cherry picked from commit 41ee4a5b12)

Co-authored-by: Matt Clay <matt@mystile.com>
2021-12-07 17:23:13 -08:00
a9ade42930 Update Ansible release version to v2.12.1.post0. (#76482) 2021-12-06 18:12:27 -05:00
f00f12393b New release v2.12.1 (#76477) 2021-12-06 10:47:53 -08:00
d7364ecbc4 set VERSION to 5 for realz 2021-12-01 09:38:48 -08:00
b00bdf2081 [stable-2.12] pin mongodb libraries in test
A recent release of PyMongo 4.0 caused tests to fail
2021-11-30 15:47:25 -08:00
3741551f8a set latest to Ansible 5 (#76405) 2021-11-30 12:34:32 -08:00
4bd007a089 set latest Ansible version to 5 (#76304) (#76406)
(cherry picked from commit 862a2a3599)
2021-11-30 12:34:14 -08:00
1522300cdf Update Ansible release version to v2.12.1rc1.post0. (#76395) 2021-11-29 17:18:15 -05:00
3740f03b0a New release v2.12.1rc1 (#76392) 2021-11-29 15:05:56 -05:00
036a8acd55 Localization: Update japanese documentation (#76337) 2021-11-24 10:13:34 -08:00
04967a5664 [Backport][Docs] Docs 2.12 backportapalooza7 (#76298)
* Stop using "checksumming" instead of "encrypting" in the docs (#76168)

* Hashing is not encrypting

All encryption systems have a formal inverse function to decrypt
A hash is a one way function without inverse by definition

* Update docs/docsite/rst/user_guide/playbooks_filters.rst

Co-authored-by: Sandra McCann <samccann@redhat.com>

* ansible-core 2.12 dropped support for galaxy.yaml. (#76179)

* apt - remove obsolete documentation (#76243)

The lock_timeout feature was recently added to the apt module making
this section in the documentation no longer necessary

* Documentation for other types in collection `requirements.yml` (#75872)

* Docs: Link to valid data types for role parameters (#76276)

* Fixed typo in keyword_desc.yml (#76280)

The description of 'max_fail_percentage' had a typo.

* Restore documentation on M() and R() (#76284)

* Undo most of bf9944266c, add note on where R() does not work.
Co-authored-by: Brian Scholer <1260690+briantist@users.noreply.github.com>

Co-authored-by: Vicente Jimenez Aguilar <googuy@gmail.com>
Co-authored-by: Sandra McCann <samccann@redhat.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Sam Doran <sdoran@redhat.com>
Co-authored-by: Daniel Goldman <merkavabuilder@gmail.com>
Co-authored-by: nkoechling <nkoechling@users.noreply.github.com>
2021-11-24 10:13:15 -08:00
ecbe4a1530 Keep pre Python 3.10 literal_eval behavior (#76261) (#76287)
(cherry picked from commit 95e120ed02)
2021-11-24 10:12:01 -08:00
c2eb014ad4 [stable-2.12] Use new codecov uploader (#75938) (#76267)
* Use new codecov uploader
* Rewrite coverage uploader in Python
(cherry picked from commit 74dc830dd4)

Co-authored-by: Sam Doran <sdoran@redhat.com>
2021-11-24 10:11:11 -08:00
0ac22985cb [stable-2.12] check /.dockerenv and /.dockerinit to guess a dockercontainer (#74349) (#76218)
* use os.path.exists for docker-check

Co-authored-by: Jacob Floyd <cognifloyd@gmail.com>
(cherry picked from commit 17ec2d4952)

Co-authored-by: Jan Fader <jan.fader@web.de>

Co-authored-by: Jan Fader <jan.fader@web.de>
2021-11-24 10:10:30 -08:00
3194f60998 LinkUtil - ignore LIB env var (#76184) (#76204)
(cherry picked from commit db2aee558b)
2021-11-24 10:09:39 -08:00
2556e33077 Skip recursive suboption validation if sub_parameters is not a dict (#75635) (#76190)
* Skip recursive suboption validation if sub_parameters is not a dictionary

* Ensure sub parameter elements is a sequence to prevent iterating over string characters and causing duplicate error messages for the same param

(cherry picked from commit b5ed41edb3)
2021-11-24 10:09:10 -08:00
8e8c4be23f loop/fact delegation fix (#75768) (#76187)
now set_fact and include_vars intermediate results are congruent with delegation

(cherry picked from commit 7bec196061)
2021-11-24 09:55:57 -08:00
f3de38a975 ansible-test - Update default test containers.
The updated containers include the recently updated `import` sanity test requirements.
2021-11-09 15:53:17 -08:00
9e1ef1b21f [stable-2.12] Fix pip integration test.
- Use `fallible==0.0.1a2` instead of `black==19.10b`
- Test on both Python 2 and 3.
(cherry picked from commit b6725ec6c9)

Co-authored-by: Matt Clay <matt@mystile.com>
2021-11-09 15:31:24 -08:00
7d324cea42 [stable-2.12] ansible-test - Fix collection import test priming.
The bug was introduced in https://github.com/ansible/ansible/pull/76137
(cherry picked from commit d7fbb209b4)

Co-authored-by: Matt Clay <matt@mystile.com>
2021-11-09 09:03:39 -08:00
6cba4c11d4 [stable-2.12] ansible-test - Multiple related backports. (#76136)
* [stable-2.12] ansible-test - Fix Python real prefix detection.

(cherry picked from commit b4cbe1adcf)

* ansible-test - Remove duplicate code.

(cherry picked from commit b9694ce4fb)

* Overhaul ansible-test integration tests. (#76111)

* Overhaul ansible-test integration tests.
* ansible-test - Fix import test pyyaml usage.
* ansible-test - Remove unused import.
* ansible-test - Fix traceback when pip is unavailable.
* ansible-test - Fix typo in port forwarding message.
* ansible-test - Fix controller logic in requirements install.
* Fix unit tests in ansible-test integration test.

Unit tests are now run for available Python versions which
provide `virtualenv` (Python 2.x) or `venv` (Python 3.x).

(cherry picked from commit cae7d2a671)

* ansible-test - Fix import test on old Pythons. (#76137)

(cherry picked from commit cd64e0b070)

* Skip ansible-test tests on Python 2.6.
2021-11-08 14:25:09 -08:00
48e2fc3b9b [stable-2.12] Fix Windows CI scripts.
The scripts now use `--list-targets -v` instead of `--explain` to evaluate changes.

This is faster and does not trigger parsing of a non-existent inventory file.
(cherry picked from commit 97f729c3d6)

Co-authored-by: Matt Clay <matt@mystile.com>
2021-11-08 13:36:24 -08:00
1cade8390f [stable-2.12] Don't use output_dir in target tests (#76107) (#76110)
* Don't use output_dir in user tests

* Move blockinfile tests from using output_dir to depending on setup_remote_tmp_dir

* Don't use output_dir in git tests

* Don't use output_dir in uri tests
(cherry picked from commit e40a0e5)

Co-authored-by: Matt Martz <matt@sivel.net>
2021-11-08 15:35:12 -06:00
a020694891 [stable-2.12] ansible-test - Move constants to remove symlink.
(cherry picked from commit d099e19796)

Co-authored-by: Matt Clay <matt@mystile.com>
2021-11-08 12:40:04 -08:00
273e09158f set 2.12 to latest (#76191) (#76249)
* set 2.12 to latest
* add 2.10 back

(cherry picked from commit b16d5ff7a7)
2021-11-08 10:31:28 -06:00
fce742a2d5 set VERSION to 2.12 (#76246) 2021-11-08 10:31:13 -06:00
745b1455cd Update Ansible release version to v2.12.0.post0. (#76245) 2021-11-08 10:45:34 -05:00
cb779ee9bb New release v2.12.0 (#76241) 2021-11-08 09:55:20 -05:00
99f694bfb7 [Backport][Docs] Docs 2.12 backportapalooza6 (#76231)
* Fix broken M() refs. (#76202)

* update backport instructions for 2.12 (#76209)

* Update dev guide for vars plugins in collections (#75861)

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Sandra McCann <samccann@redhat.com>
Co-authored-by: Sebastian Wiesinger <sebastian@karotte.org>
2021-11-05 08:20:16 -05:00
227da1ccc5 [stable-2.12] Explicitly require iptables for incidental_setup_docker on RHEL8 (#76212) (#76214)
(cherry picked from commit 27a5116)

Co-authored-by: Matt Martz <matt@sivel.net>
2021-11-03 12:34:57 -05:00
a7b06d9c81 [Backport][Docs] Docs 2.12 backportapalooza5 (#76198)
* Update `argcomplete` install via apt command (#76139)

To install `argcomplete` on Ubuntu 21.10 we need to update the install line to use Python3

* Update module documentation about ref links (#76088)

* Update module documentation about ref links

* Docs: Change API endpoint for hub to console.redhat.com in user guide (#76080)

The cloud.redhat.com has changed to console.redhat.com

* Clarify that "requires_ansible" means Ansible Core (#76100)

Clarify that the `requires_ansible` field in meta/runtime.yml refers to the version of Ansible Core (ansible-core), not any package called "ansible" e.g. https://pypi.org/project/ansible/

* Docs: Fix text for contributing to collection link (#76174)

* use filesystem object instead of specific objects (#76054)

since the fragment is imported by different modules that support
 different set of filesystem objects

 fixes #72375

* Docs: fedora32 is no longer supported (for integration tests) (#76159)

* Update playbooks_tests.rst (#76047)

Co-authored-by: Nedko Hristov <NedkoHristov@users.noreply.github.com>
Co-authored-by: Brian Scholer <1260690+briantist@users.noreply.github.com>
Co-authored-by: Sean Cavanaugh <sean@cavanaugh.pro>
Co-authored-by: Richard Megginson <richm@stanfordalumni.org>
Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>
Co-authored-by: Matthew Donoughe <mdonoughe@gmail.com>
Co-authored-by: Paul <suchko@users.noreply.github.com>
2021-11-02 13:02:08 -05:00
4ef593e4b0 stub out porting guides and point to devel (#76090) 2021-10-29 12:41:50 -05:00
ffc4b065be stub out release and maint page and point to devel (#76089)
(cherry picked from commit 5414af8769cf67c57760e48f0d3add083152106c)
2021-10-29 12:41:35 -05:00
50b9f08db6 [Backport][Docs] Docs 2.12 backportapalooza4 (#76154)
* Docs: Add code-block:: to examples in ipaddr filters doc(#75951)

* Add code-block elements to playbooks_filters_ipaddr
* Add punctuation to lead-in sentences for code blocks

* Docs: add code-block::  to playbook variables doc in user guide(#75985)

* update code-block formatting changes.

* Code block format user guide/windows setup.rst #75914 (#75956)

* set changes for code boxes.

* post changes to attempt to fix seealso links.

* attempting to fix seealso tag

* fix un-indention for sanity check.

* Docs: changed :: to code-block:: in 9 files (#75994)

* Fixed 9 files in user guide

* Misc typo fix (#76008)

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>

* docs - wrap examples in code-block:: in sample setup (#75964)

* docs: Use code-block to format code in sample setup
Fixes #75905
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>

* Docs - Fix "kubernetes.core" typos in code snippets (#75930)

Replace "kuberernetes.core" with "kubernetes.core" in filter examples.

* Docs: Change note for rackspace cloud guide (#75898)

* Fix rackspace cloud guide docs
* Fix syntax error

* Docs: dash - character invalid in playbook names in collections(#75891)

* collection playbooks, note no -
fixes #75890

* docs: clarify skip_broken option in dnf/yum (#76038)

* docs - Replace :: with code-block:: in playbooks_conditionals doc (#75965)

Fixes #75906

* Docs: add code-blocks to User Guide modules_intro  (#75932)

* docs - Add code-block to code examples in playbooks_strategies.rst (#75960)

Fixes ansible#75911.

Co-authored-by: Miroslav Brabenec <brabemi@gmail.com>
Co-authored-by: Tim Pogue <t.pogue.python@gmail.com>
Co-authored-by: NarayanAdithya <57533346+NarayanAdithya@users.noreply.github.com>
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
Co-authored-by: marie <marie.payne@hotmail.ca>
Co-authored-by: Chris Hepner <me@chrishepner.info>
Co-authored-by: Deepansh <34774585+rootbid@users.noreply.github.com>
Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>
Co-authored-by: jaydesl <35102795+jaydesl@users.noreply.github.com>
Co-authored-by: Alfred Tso <32275603+alfredtso@users.noreply.github.com>
Co-authored-by: Nathan Tsai <natesigh@gmail.com>
Co-authored-by: Joshua Ford <joshua.ford@protonmail.com>
2021-10-27 12:49:33 -05:00
228e563a73 [2.12][backport]Docsbackportapalooza3 (#76132)
* remove fest banner (#75901)

* remove fest banner

* fix nit

(cherry picked from commit 8e77943a97)

* code-block wrapping for playbooks_advanced_syntax.rst (#75981)

* code-block wrapping for playbooks_advanced_syntax.rst

* fixed spacing

(cherry picked from commit 89bc7ebfe6)

* Adding code-block elements in user_guide/playbooks_prompts.rst (#75935)

(cherry picked from commit b03afeec6c)

* Docs: issue 75922 add code-blocks to user_guide/playbooks_environment.rst (#75929)

Add code-blocks in the 6 outlined examples from the Issue

(cherry picked from commit 4381336fbb)

* Docs: Add code-blocks to user_guide/intro_patterns.rst (#75941)

(cherry picked from commit a4a7a34893)

* Docs: code-block wrapping for playbooks_module_defaults.rst #75936 (#75942)

(cherry picked from commit 81eec4a05a)

* Docs: Code-block wrapping for playbooks_startnstep.rst #75934 (#75943)

* Code-block wrapping for playbooks_startnstep.rst #75934
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>

(cherry picked from commit 22a540e109)

* Docs: code-block wrapping for playbooks_checkmode.rst #75925 (#75931)

* code-block wrapping for playbooks_checkmode.rst #75925
* Fixes typo in previously introduced code-block
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>

(cherry picked from commit 71811407c5)

* Docs: add code blocks elements for user_guide/vault.rst (#75963)

* feat:(docs) add code blocks elements for user_guide/vault.rst
Addresses issue #75921
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>

(cherry picked from commit fffa9412f4)

* Docs: add code block elements in user_guide/playbooks_async.rst (#75947)

* Fix for code block

(cherry picked from commit cd540544fd)

* docs: code-block wrapping for playbooks_debugger.rst (#75968)

* code-block wrapping for playbooks_debugger.rst #75919
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>

(cherry picked from commit d0edf69fe0)

* Docs: Add code-blocks to Playbooks-Delegation in user guide(#75973)

Co-authored-by: Holger Dörner <h.doerner@bitexpert.de>
(cherry picked from commit 84ec976378)

* Docs: Add code-blocks to examples in Windows-WinRM guide (#75974)

Co-authored-by: Holger Dörner <h.doerner@bitexpert.de>
(cherry picked from commit 37eefb47c5)

* docs - wrap examples in code-blocks in playbooks_vars_facts.rst (#75961)

Fixes ansible#75912.

(cherry picked from commit fd346565d3)

* docs - Change :: to  code-block:: in error handling guide (#75978)

Fixes #75908

(cherry picked from commit d6dbc1a26f)

* Docs: Add code-blocks to user guide doc (#75928)

* Add code-block elements to 5 examples

* Add :

(cherry picked from commit 5c4bbed2de)

* docs - Wrap examples in code-block:: in loops guide (#75916)

* docs - Use code-block to format examples in loops guide
Resolves #75900

(cherry picked from commit 6319a0f415)

* Docs - Added code-block:: wrappers in playbook tests doc (#75952)

(cherry picked from commit 6bf65f6246)

* documenting_modules_network.rst: Add missing space (#75972)

(cherry picked from commit afbef70bad)

Co-authored-by: Lucas Culley <33206171+feverbrew@users.noreply.github.com>
Co-authored-by: Pinky <pinky00ch@gmail.com>
Co-authored-by: nicpayne713 <32268273+nicpayne713@users.noreply.github.com>
Co-authored-by: Mahesh <maheshbr@users.noreply.github.com>
Co-authored-by: Tamas Szabo <szabtam@gmail.com>
Co-authored-by: Angel Mendez <amendez1988@gmail.com>
Co-authored-by: Sanjula Madurapperuma <32578617+sanjulamadurapperuma@users.noreply.github.com>
Co-authored-by: Holger Dörner <42909210+HolgerDoerner@users.noreply.github.com>
Co-authored-by: Joshua Ford <joshua.ford@protonmail.com>
Co-authored-by: Matěj G <mgrabovsky@users.noreply.github.com>
Co-authored-by: Midhun R Nair <24776450+midhun1998@users.noreply.github.com>
Co-authored-by: Paul Capron <PaulCapron@users.noreply.github.com>
2021-10-27 12:37:26 -05:00
3b06e0a9a9 Update Ansible release version to v2.12.0rc1.post0. (#76074) 2021-10-18 11:43:54 -04:00
634916b9cb New release v2.12.0rc1 (#76072) 2021-10-18 10:42:52 -04:00
3fa64176af Update Japanese translation for stable-2.12 (#76001) 2021-10-18 08:27:40 -05:00
069e0ec058 [Backport][Docs] Docs 2.12 backportapalooza2 (#76055)
* uri: add documentation for return value path (#75795)

* Move ansible-5.1 to 2021-12-21 (#75865)

We moved the target date for ansible-5.0 one week back so there's now
time to do 5.1 before the holidays start.

* Corrected mytask.yml file name (#75860)

* docs - Use code-block to format code examples in Developer Guide (#75849)

Fixes #75663

* docs - Use code-block to format examples in Network Guide (#75850)

Fixes #75676

* docs - Use code-block to format code examples in Community Guide (#75847)

Fixes #75675

* Docs: Clarify adding newlines in YAML folded block scalar (#75875)

* Removed translatable words from code blocks

##### SUMMARY
Removed translatable words from codeblocks as per #59449

##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr

* Maintaining intend as well as clearity

* Preserving "save_as" as the key

* showing equivalence and keeping same context

* Docs: Moves the AWS Scenario Guide out of the main docs (#74704)

* removes AWS scenario  guide, moving to collection

* first attept to replace TOC entries

* not sure what I did, but saving it

* updates TOCs to reflect new location of aws guide

* reinstates original page as a stub

* adds links to new location for AWS guide, updates header

Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>

Co-authored-by: Daniel Ziegenberg <daniel@ziegenberg.at>
Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
Co-authored-by: RamblingPSTech <34667559+RamblingPSTech@users.noreply.github.com>
Co-authored-by: Samuel Gaist <samuel.gaist@idiap.ch>
Co-authored-by: Ankur H. Singh <49074231+sankur-codes@users.noreply.github.com>
Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
Co-authored-by: Alicia Cozine <acozine@users.noreply.github.com>
2021-10-18 08:19:20 -05:00
d0abb7e081 [stable-2.12] Fix subversion test.
Switch to a different repo that isn't giving 503 errors since GitHub hasn't fixed the issue yet.
(cherry picked from commit 319b50f04c)

Co-authored-by: Matt Clay <matt@mystile.com>
2021-10-14 11:32:54 -07:00
7ca335d61f Update Ansible release version to v2.12.0b2.post0. (#76005) 2021-10-11 16:55:50 -04:00
217c0c29e5 New release v2.12.0b2 (#76000) 2021-10-11 10:47:53 -04:00
6ccd35cd7c ansible-test pslint - fix warning with nested objects (#75792)
* ansible-test pslint - fix warning with nested objects

(cherry picked from commit 7e19957afa)
2021-10-07 14:19:37 -07:00
e2c4d046a9 [stable-2.12] ansible-test - Fix inventory path.
(cherry picked from commit 8cef40f839)

Co-authored-by: Matt Clay <matt@mystile.com>
2021-10-07 11:16:43 -07:00
d603412891 [Backport][Docs]Docs 2.12 backportapalooza1 (#75882)
* Docs: add install link for windows (#75811)

* No Ansible Engine (#75812)

* ansible is now ansible-core in AUR too (#75145)

Co-authored-by: Sandra McCann <samccann@redhat.com>
Co-authored-by: Matt Martz <matt@sivel.net>
Co-authored-by: Amin Vakil <info@aminvakil.com>
2021-10-07 09:55:18 -05:00
72c1eec1ea [stable-2.12] ansible-test - Update base and default containers.
The containers now include Python 3.10.0 instead of Python 3.10.0rc2..
(cherry picked from commit 2f531d73dd)

Co-authored-by: Matt Clay <matt@mystile.com>
2021-10-06 13:27:44 -07:00
e112ca934d Bump antsibull version to get support for attributes and CLI options (#75787) (#75818)
* Bump antsibull version to get support for attributes and CLI options.

* Include fix for attributes.

* Include fix for rst_epilog collision and for #75799.

(cherry picked from commit 8643db5ac3)
2021-10-02 09:53:11 -05:00
35152d8cb8 [stable-2.12] Don't show params when there is an issue with set_option(s) (#75805) (#75807)
(cherry picked from commit 79e9dae)

Co-authored-by: Matt Martz <matt@sivel.net>
2021-10-02 09:52:58 -05:00
0270c2306d ansible-test - Update distro test containers.
(cherry picked from commit f4d4391a1f)
2021-10-01 12:15:51 -07:00
8980985d06 [stable-2.12] ansible-test - Fix inventory generation.
(cherry picked from commit 099d80829f)

Co-authored-by: Matt Clay <matt@mystile.com>
2021-09-30 21:26:44 -07:00
8669f27d48 Update Ansible release version to v2.12.0b1.post0. 2021-09-27 17:32:48 -04:00
452 changed files with 35127 additions and 17305 deletions

View File

@ -26,8 +26,6 @@ variables:
value: ansible
- name: coverageBranches
value: devel
- name: pipelinesCoverage
value: coverage
- name: entryPoint
value: test/utils/shippable/shippable.sh
- name: fetchDepth
@ -36,7 +34,7 @@ variables:
resources:
containers:
- container: default
image: quay.io/ansible/azure-pipelines-test-container:1.9.0
image: quay.io/ansible/azure-pipelines-test-container:3.0.0
pool: Standard
@ -120,8 +118,6 @@ stages:
test: centos6
- name: CentOS 7
test: centos7
- name: CentOS 8
test: centos8
- name: Fedora 33
test: fedora33
- name: Fedora 34
@ -194,8 +190,6 @@ stages:
test: centos6
- name: CentOS 7
test: centos7
- name: CentOS 8
test: centos8
- name: Fedora 33
test: fedora33
- name: Fedora 34

View File

@ -9,9 +9,9 @@ PATH="${PWD}/bin:${PATH}"
mkdir "${agent_temp_directory}/coverage/"
options=(--venv --venv-system-site-packages --color -v)
options=(--venv --color -v)
ansible-test coverage combine --export "${agent_temp_directory}/coverage/" "${options[@]}"
ansible-test coverage combine --group-by command --export "${agent_temp_directory}/coverage/" "${options[@]}"
if ansible-test coverage analyze targets generate --help >/dev/null 2>&1; then
# Only analyze coverage if the installed version of ansible-test supports it.

View File

@ -0,0 +1,101 @@
#!/usr/bin/env python
"""
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.
"""
import argparse
import dataclasses
import pathlib
import shutil
import subprocess
import tempfile
import typing as t
import urllib.request
@dataclasses.dataclass(frozen=True)
class CoverageFile:
name: str
path: pathlib.Path
flags: t.List[str]
@dataclasses.dataclass(frozen=True)
class Args:
dry_run: bool
path: pathlib.Path
def parse_args() -> Args:
parser = argparse.ArgumentParser()
parser.add_argument('-n', '--dry-run', action='store_true')
parser.add_argument('path', type=pathlib.Path)
args = parser.parse_args()
# Store arguments in a typed dataclass
fields = dataclasses.fields(Args)
kwargs = {field.name: getattr(args, field.name) for field in fields}
return Args(**kwargs)
def process_files(directory: pathlib.Path) -> t.Tuple[CoverageFile, ...]:
processed = []
for file in directory.joinpath('reports').glob('coverage*.xml'):
name = file.stem.replace('coverage=', '')
# Get flags from name
flags = name.replace('-powershell', '').split('=') # Drop '-powershell' suffix
flags = [flag if not flag.startswith('stub') else flag.split('-')[0] for flag in flags] # Remove "-01" from stub files
processed.append(CoverageFile(name, file, flags))
return tuple(processed)
def upload_files(codecov_bin: pathlib.Path, files: t.Tuple[CoverageFile, ...], dry_run: bool = False) -> None:
for file in files:
cmd = [
str(codecov_bin),
'--name', file.name,
'--file', str(file.path),
]
for flag in file.flags:
cmd.extend(['--flags', flag])
if dry_run:
print(f'DRY-RUN: Would run command: {cmd}')
continue
subprocess.run(cmd, check=True)
def download_file(url: str, dest: pathlib.Path, flags: int, dry_run: bool = False) -> None:
if dry_run:
print(f'DRY-RUN: Would download {url} to {dest} and set mode to {flags:o}')
return
with urllib.request.urlopen(url) as resp:
with dest.open('w+b') as f:
# Read data in chunks rather than all at once
shutil.copyfileobj(resp, f, 64 * 1024)
dest.chmod(flags)
def main():
args = parse_args()
url = 'https://ci-files.testing.ansible.com/codecov/linux/codecov'
with tempfile.TemporaryDirectory(prefix='codecov-') as tmpdir:
codecov_bin = pathlib.Path(tmpdir) / 'codecov'
download_file(url, codecov_bin, 0o755, args.dry_run)
files = process_files(args.path)
upload_files(codecov_bin, files, args.dry_run)
if __name__ == '__main__':
main()

View File

@ -1,27 +0,0 @@
#!/usr/bin/env bash
# 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.
set -o pipefail -eu
output_path="$1"
curl --silent --show-error https://ansible-ci-files.s3.us-east-1.amazonaws.com/codecov/codecov.sh > codecov.sh
for file in "${output_path}"/reports/coverage*.xml; do
name="${file}"
name="${name##*/}" # remove path
name="${name##coverage=}" # remove 'coverage=' prefix if present
name="${name%.xml}" # remove '.xml' suffix
bash codecov.sh \
-f "${file}" \
-n "${name}" \
-X coveragepy \
-X gcov \
-X fix \
-X search \
-X xcode \
|| echo "Failed to upload code coverage report to codecov.io: ${file}"
done

View File

@ -14,4 +14,4 @@ fi
# Generate stubs using docker (if supported) otherwise fall back to using a virtual environment instead.
# The use of docker is required when Powershell code is present, but Ansible 2.12 was the first version to support --docker with coverage.
ansible-test coverage xml --stub --docker --color -v || ansible-test coverage xml --stub --venv --venv-system-site-packages --color -v
ansible-test coverage xml --group-by command --stub --docker --color -v || ansible-test coverage xml --group-by command --stub --venv --color -v

View File

@ -23,20 +23,7 @@ jobs:
- bash: .azure-pipelines/scripts/report-coverage.sh
displayName: Generate Coverage Report
condition: gt(variables.coverageFileCount, 0)
- task: PublishCodeCoverageResults@1
inputs:
codeCoverageTool: Cobertura
# Azure Pipelines only accepts a single coverage data file.
# That means only Python or PowerShell coverage can be uploaded, but not both.
# Set the "pipelinesCoverage" variable to determine which type is uploaded.
# Use "coverage" for Python and "coverage-powershell" for PowerShell.
summaryFileLocation: "$(outputPath)/reports/$(pipelinesCoverage).xml"
# Override the root (sources) path specified in the coverage XML files.
# This allows coverage to be reported in Azure Pipelines even if the report was generated in a container.
pathToSources: "$(Agent.BuildDirectory)/$(checkoutPath)"
displayName: Publish to Azure Pipelines
condition: gt(variables.coverageFileCount, 0)
- bash: .azure-pipelines/scripts/publish-codecov.sh "$(outputPath)"
- bash: .azure-pipelines/scripts/publish-codecov.py "$(outputPath)"
displayName: Publish to codecov.io
condition: gt(variables.coverageFileCount, 0)
continueOnError: true

View File

@ -32,8 +32,6 @@ You can install a released version of Ansible with ``pip`` or a package manager.
`installation guide <https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html>`_ for details on installing Ansible
on a variety of platforms.
Red Hat offers supported builds of `Ansible Engine <https://www.ansible.com/ansible-engine>`_.
Power users and developers can run the ``devel`` branch, which has the latest
features and fixes, directly. Although it is reasonably stable, you are more likely to encounter
breaking changes when running the ``devel`` branch. We recommend getting involved

View File

@ -5,13 +5,266 @@ ansible-core 2.12 "Dazed and Confused" Release Notes
.. contents:: Topics
v2.12.0b1
=========
v2.12.7rc1
==========
Release Summary
---------------
| Release Date: 2021-09-27
| Release Date: 2022-06-13
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
Minor Changes
-------------
- Add an 'action_plugin' field for modules in runtime.yml plugin_routing.
This fixes module_defaults by supporting modules-as-redirected-actions
without redirecting module_defaults entries to the common action.
.. code: yaml
plugin_routing:
action:
facts:
redirect: ns.coll.eos
command:
redirect: ns.coll.eos
modules:
facts:
redirect: ns.coll.eos_facts
command:
redirect: ns.coll.eos_command
With the runtime.yml above for ns.coll, a task such as
.. code: yaml
- hosts: all
module_defaults:
ns.coll.eos_facts: {'valid_for_eos_facts': 'value'}
ns.coll.eos_command: {'not_valid_for_eos_facts': 'value'}
tasks:
- ns.coll.facts:
will end up with defaults for eos_facts and eos_command
since both modules redirect to the same action.
To select an action plugin for a module without merging
module_defaults, define an action_plugin field for the resolved
module in the runtime.yml.
.. code: yaml
plugin_routing:
modules:
facts:
redirect: ns.coll.eos_facts
action_plugin: ns.coll.eos
command:
redirect: ns.coll.eos_command
action_plugin: ns.coll.eos
The action_plugin field can be a redirected action plugin, as
it is resolved normally.
Using the modified runtime.yml, the example task will only use
the ns.coll.eos_facts defaults.
- ansible-test - Avoid using the ``mock_use_standalone_module`` setting for unit tests running on Python 3.8 or later.
Bugfixes
--------
- pip - fix cases where resolution of pip Python module fails when importlib.util has not already been imported
- plugin loader - Sort results when fuzzy matching plugin names (https://github.com/ansible/ansible/issues/77966).
v2.12.6
=======
Release Summary
---------------
| Release Date: 2022-05-23
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
Bugfixes
--------
- Prevent losing unsafe on results returned from lookups (https://github.com/ansible/ansible/issues/77535)
- arg_spec - Fix incorrect ``no_log`` warning when a parameter alias is used (https://github.com/ansible/ansible/pull/77576)
- plugin loader will now load config data for plugin by name instead of by file to avoid issues with the same file being loaded under different names (fqcn + short name).
- variablemanager, more efficient read of vars files
v2.12.5
=======
Release Summary
---------------
| Release Date: 2022-04-25
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
Bugfixes
--------
- Ansible.ModuleUtils.SID - Use user principal name as is for lookup in the ``Convert-ToSID`` function - https://github.com/ansible/ansible/issues/77316
- Fix traceback when installing a collection from a git repository and git is not installed (https://github.com/ansible/ansible/issues/77479).
- ansible-test - Correctly detect when running as the ``root`` user (UID 0) on the origin host. The result of the detection was incorrectly being inverted.
- ansible-test - Fix skipping of tests marked ``needs/python`` on the origin host.
- ansible-test - Fix skipping of tests marked ``needs/root`` on the origin host.
- ansible-test compile sanity test - do not crash if a column could not be determined for an error (https://github.com/ansible/ansible/pull/77465).
- hostname - use ``file_get_content()`` to read the file containing the host name in the ``FileStrategy.get_permanent_hostname()`` method. This prevents a ``TypeError`` from being raised when the strategy is used (https://github.com/ansible/ansible/issues/77025).
- script - skip in check mode since the plugin cannot determine if a change will occur.
- shell/command - only skip in check mode if the options `creates` and `removes` are both None.
- winrm - Ensure ``kinit`` is run with the same ``PATH`` env var as the Ansible process
v2.12.4
=======
Release Summary
---------------
| Release Date: 2022-03-28
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
Bugfixes
--------
- Add a YAML representer for ``NativeJinjaText``
- Add a YAML representer for ``NativeJinjaUnsafeText``
- AnsiballZ - Ensure we use the full python package in the module cache filename to avoid a case where ``collections:`` is used to execute a module via short name, where the short name duplicates another module from ``ansible.builtin`` or another collection that was executed previously.
- Fix collection filter/test plugin redirects (https://github.com/ansible/ansible/issues/77192).
- ansible-galaxy collection verify - display files/directories not included in the FILES.json as modified content.
- ansible-test - Fix ``windows-integration`` and ``network-integration`` when used with the ``--docker`` option and user-provided inventory.
- extend timeout for ansible-galaxy when communicating with the galaxy server api, and apply it to all interactions with the api
- first_found - fix to allow for spaces in file names (https://github.com/ansible/ansible/issues/77136)
- unarchive - the ``io_buffer_size`` option added in 2.12 was not accepted by the module (https://github.com/ansible/ansible/pull/77271).
v2.12.3
=======
Release Summary
---------------
| Release Date: 2022-02-28
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
Minor Changes
-------------
- The collection loader now reports a Python warning if an attempt is made to install the Ansible collection loader a second time. Previously this condition was reported using an Ansible warning.
- ansible-test - Installation of ``cryptography`` is no longer version constrained when ``openssl`` 1.1.0 or later is installed.
- ansible-test - Requirements for the plugin import test are now frozen.
- ansible-test - The ``pip`` and ``wheel`` packages are removed from all sanity test virtual environments after installation completes to reduce their size. Previously they were only removed from the environments used for the ``import`` sanity test.
- ansible-test - The hash for all managed sanity test virtual environments has changed. Containers that include ``ansible-test sanity --prime-venvs`` will need to be rebuilt to continue using primed virtual environments.
- ansible-test - Update ``pip`` used to bootstrap remote FreeBSD instances from version 20.3.4 to 21.3.1.
- ansible-test - Update the ``alpine`` container to version 3.3.0. This updates the base image from 3.14.2 to 3.15.0, which includes support for installing binary wheels using pip.
- ansible-test - Update the ``galaxy`` test plugin to get its container from a copy on quay.io.
- ansible-test - Update the ``openshift`` test plugin to get its container from a copy on quay.io.
- junit callback - Add support for replacing the directory portion of out-of-tree relative task paths with a placeholder.
Bugfixes
--------
- ansible-test - All virtual environments managed by ansible-test are marked as usable after being bootstrapped, to avoid errors caused by use of incomplete environments. Previously this was only done for sanity tests. Existing environments from previous versions of ansible-test will be recreated on demand due to lacking the new marker.
- ansible-test - Fix the ``validate-modules`` sanity test to avoid double-loading the collection loader and possibly failing on import of the ``packaging`` module.
- ansible-test - Import ``yaml.cyaml.CParser`` instead of ``_yaml.CParser`` in the ``yamllint`` sanity test.
- ansible-test - Replace the directory portion of out-of-tree paths in JUnit files from integration tests with the ``out-of-tree:`` prefix.
- ansible-test - Sanity tests run with the ``--requirements` option for Python 2.x now install ``virtualenv`` when it is missing or too old. Previously it was only installed if missing. Version 16.7.12 is now installed instead of the latest version on Python 2.7.
- ansible-test - The ``import`` sanity test no longer reports errors about ``packaging`` being missing when testing collections.
- ansible-test - Update the ``default`` containers to version 4.2.0.
- ansible-test - Use https://ci-files.testing.ansible.com/ for instance bootstrapping instead of an S3 endpoint.
- ansible-test - Use relative paths in JUnit files generated during integration test runs.
- ansible-test - Virtual environments managed by ansible-test now use consistent versions of ``pip``, ``setuptools`` and ``wheel``. This avoids issues with virtual environments containing outdated or dysfunctional versions of these tools. The initial bootstrapping of ``pip`` is done by ansible-test from an HTTPS endpoint instead of creating the virtual environment with it already present.
- cleaning facts will now only warn about the variable name and not post the content, which can be undesireable to disclose
- correctly inherit vars from parent in block (https://github.com/ansible/ansible/issues/75286).
- gather_facts action now handles the move of base connection plugin types into collections to add/prevent subset argument correctly
- junit callback - Fix traceback during automatic fact gathering when using relative paths.
- junit callback - Fix unicode error when handling non-ASCII task paths.
- ssh connection now uses more correct host source as play_context can ignore loop/delegation variations.
- task_executor reverts the change to push facts into delegated vars on loop finalization as result managing code already handles this and was duplicating effort to wrong result.
- template lookup - restore inadvertently deleted default for ``convert_data`` (https://github.com/ansible/ansible/issues/77004)
- unarchive - Make extraction work when the LANGUAGE environment variable is set to a non-English locale.
v2.12.2
=======
Release Summary
---------------
| Release Date: 2022-01-31
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
Bugfixes
--------
- Fix ``AttributeError`` when providing password file via ``--connection-password-file`` (https://github.com/ansible/ansible/issues/76530)
- Fix ``end_play`` to end the current play only (https://github.com/ansible/ansible/issues/76672)
- Templating - Ensure we catch exceptions when getting ``.filters`` and ``.tests`` attributes on their respective plugins and properly error, instead of aborting which results in no filters being added to the jinja2 environment
- ``Templar.copy_with_new_env`` - set the ``finalize`` method of the new ``Templar`` object for the new environment (https://github.com/ansible/ansible/issues/76379)
- ansible-config avoid showing _terms and _input when --only-changed.
- ansible-galaxy - Fix using the '--ignore-certs' option when there is no server-specific configuration for the Galaxy server.
- ansible-galaxy collection build - Ignore any existing ``MANIFEST.json`` and ``FILES.json`` in the root directory when building a collection.
- ansible-test - Fix the ``import`` sanity test to work properly when Ansible's built-in vendoring support is in use.
- ansible-test - Fix traceback in the ``validate-modules`` sanity test when testing an Ansible module without any callables.
- ansible-test - Fix traceback when running from an install and delegating execution to a different Python interpreter.
- ansible-test - Show an error message instead of a traceback when running outside of a supported directory.
- ansible-test - Update help links to reference ``ansible-core`` instead of ``ansible``.
- ansible-test - Update unit tests to use the ``--forked`` option instead of the deprecated ``--boxed`` option.
- async - Improve performance of sending async callback events by never sending the full task through the queue (https://github.com/ansible/ansible/issues/76729)
- default callback - Ensure we compare FQCN also in lockstep logic, to ensure using the FQCN of a strategy plugin triggers the correct behavior in the default callback plugin. (https://github.com/ansible/ansible/issues/76782)
- hostname - Do not require SystemdStrategy subclasses for every distro (https://github.com/ansible/ansible/issues/76792)
- include_vars, properly initialize variable as there is corner case in which it can end up referenced and not defined
- ssh connection - properly quote controlpersist path given by user to avoid issues with spaces and other characters
- ssh connection avoid parsing ssh cli debug lines as they can match expected output at high verbosities.
- sudo become plugin, fix handling of non interactive flags, previous substitution was too naive
- unarchive - Fix zip archive file listing that caused issues with content postprocessing (https://github.com/ansible/ansible/issues/76067).
- yum - prevent storing unnecessary cache data by running `yum makecache fast` (https://github.com/ansible/ansible/issues/76336)
v2.12.1
=======
Release Summary
---------------
| Release Date: 2021-12-06
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
Minor Changes
-------------
- jinja2_native - keep same behavior on Python 3.10.
Bugfixes
--------
- Ansible.ModuleUtils.LinkUtil - Ignore the ``LIB`` environment variable when loading the ``LinkUtil`` code
- ansible-test - Automatic target requirements installation is now based on the target environment instead of the controller environment.
- ansible-test - Fix Python real prefix detection when running in a ``venv`` virtual environment.
- ansible-test - Fix installation and usage of ``pyyaml`` requirement for the ``import`` sanity test for collections.
- ansible-test - Fix traceback in ``import`` sanity test on Python 2.7 when ``pip`` is not available.
- ansible-test - Relocate constants to eliminate symlink.
- ansible-test - Target integration test requirements are now correctly installed for target environments running on the controller.
- ansible-test - Update the ``default`` containers to version 4.1.1, which includes the updated ``import`` sanity test requirements.
- ansible-test - Use the legacy collection loader for ``import`` sanity tests on target-only Python versions.
- set_fact/include_vars correctly handle delegation assignments within loops
- setup - detect docker container with check for ./dockerenv or ./dockinit (https://github.com/ansible/ansible/pull/74349).
- validate_argument_spec - Skip suboption validation if the top level option is an invalid type (https://github.com/ansible/ansible/issues/75612).
v2.12.0
=======
Release Summary
---------------
| Release Date: 2021-11-05
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
@ -141,6 +394,7 @@ Minor Changes
- ansible-test - Update ``typed-ast`` constraint to version 1.4.3 for compatibility with Python 3.10.
- ansible-test - Update distribution test containers from version 2.0.1 to 2.0.2.
- ansible-test - Update the Ansible Core and Ansible Collection default test containers to 3.2.0 and 3.2.2 respectively.
- ansible-test - Update the ``base`` and ``default`` containers from Python 3.10.0rc2 to 3.10.0.
- ansible-test - Update the ``import`` sanity test to avoid a new warning in Python 3.10.
- ansible-test - Update the ``runtime-metadata`` sanity test to handle a new warning on Python 3.10.
- ansible-test - Updated the ``default`` containers to version 4.0.1.
@ -255,6 +509,7 @@ Removed Features (previously deprecated)
Security Fixes
--------------
- Do not include params in exception when a call to ``set_options`` fails. Additionally, block the exception that is returned from being displayed to stdout. (CVE-2021-3620)
- templating engine fix for not preserving usnafe status when trying to preserve newlines. CVE-2021-3583
Bugfixes
@ -311,20 +566,24 @@ Bugfixes
- ansible-test - Avoid publishing the port used by the ``pypi-test-container`` since it is only accessed by other containers. This avoids issues when trying to run tests in parallel on a single host.
- ansible-test - Failure to download test results from a remote host no longer hide test failures. If a download failure occurs after tests fail, a warning will be issued instead.
- ansible-test - Fix docker container IP address detection. The ``bridge`` network is no longer assumed to be the default.
- ansible-test - Fix path to inventory file for ``windows-integration`` and ``network-integration`` commands for collections.
- ansible-test - Fix traceback when generating coverage reports and no coverage directory exists.
- ansible-test - Random port selection is no longer handled by ``ansible-test``, avoiding possible port conflicts. Previously ``ansible-test`` would, under some circumstances, use one host's available ports to determine those of another host.
- ansible-test - Running tests in a single test run with multiple "cloud" plugins no longer results in port conflicts. Previously two or more containers with overlapping ports could not be used in the same test run.
- ansible-test - Tab completion after options like ``--docker`` which accept an optional argument will no longer provide incorrect completions.
- ansible-test - The ``--python`` and ``--venv`` options are no longer ignored by some commands, such as ``coverage``.
- ansible-test - The ``docker inspect`` command is now used to check for existing images instead of the ``docker images`` command. This resolves an issue where a ``docker pull`` would be unnecessarily executed for an image referenced by checksum.
- ansible-test - Update distribution test containers to version 3.1.0.
- ansible-test - Use ``--strict`` for ``pytest`` on Python 2.6 since ``--strict-markers`` is not available.
- ansible-test - Use documented API to retrieve build information from Azure Pipelines.
- ansible-test - Use pwsh to generate correct coverage line counts for stub files to get a more accurate coverage result
- ansible-test - Use the correct variable to reference the client's SSH key when generating inventory.
- ansible-test - add packaging python module to ``ansible-doc`` sanity test requirements.
- ansible-test - allow the same listening port on all container interfaces
- ansible-test - ensure the correct unit test target is given when the ``__init__.py`` file is modified inside the connection plugins directory
- ansible-test - make the ``a/`` and ``b/`` prefixes an optional match since these can be turned off with the ``diff.noprefix`` setting in ``git``
- ansible-test - restrict ``packaging`` to ``< 21.0`` for Python ``< 3.6`` (https://github.com/ansible/ansible/pull/75186).
- ansible-test pslint - Fix error when encountering validation results that are highly nested - https://github.com/ansible/ansible/issues/74151
- ansible-test validate-modules - EXAMPLES will no longer be marked as invalid YAML when it uses Ansible-specific YAML tags (https://github.com/ansible/ansible/pull/74384).
- ansible-test validate-modules - correctly validate positional parameters to ``AnsibleModules`` (https://github.com/ansible/ansible/pull/75332).
- ansible.builtin.cron - Keep non-empty crontabs, when removing cron jobs (https://github.com/ansible/ansible/pull/74497).

View File

@ -1,5 +1,16 @@
ancestor: 2.11.0
releases:
2.12.0:
changes:
release_summary: '| Release Date: 2021-11-05
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
'
codename: Dazed and Confused
fragments:
- v2.12.0_summary.yaml
release_date: '2021-11-05'
2.12.0b1:
changes:
breaking_changes:
@ -1029,6 +1040,480 @@ releases:
- when-eval-native-py310.yml
- winrm-kinit-env.yml
- world_readable_fixes.yml
plugins:
filter: []
release_date: '2021-09-27'
2.12.0b2:
changes:
bugfixes:
- ansible-test - Fix path to inventory file for ``windows-integration`` and
``network-integration`` commands for collections.
- ansible-test - Update distribution test containers to version 3.1.0.
- ansible-test - Use the correct variable to reference the client's SSH key
when generating inventory.
- ansible-test pslint - Fix error when encountering validation results that
are highly nested - https://github.com/ansible/ansible/issues/74151
minor_changes:
- ansible-test - Update the ``base`` and ``default`` containers from Python
3.10.0rc2 to 3.10.0.
release_summary: '| Release Date: 2021-10-11
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
'
security_fixes:
- Do not include params in exception when a call to ``set_options`` fails. Additionally,
block the exception that is returned from being displayed to stdout. (CVE-2021-3620)
codename: Dazed and Confused
fragments:
- ansible-test-default-base-containers-python-3.10.yaml
- ansible-test-distro-containers-3.1.0.yaml
- ansible-test-inventory-path.yaml
- ansible-test-inventory-ssh-key.yml
- avoid-set_options-leak.yaml
- pslint-sanity-warning.yml
- v2.12.0b2_summary.yaml
release_date: '2021-10-11'
2.12.0rc1:
changes:
release_summary: '| Release Date: 2021-10-18
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
'
codename: Dazed and Confused
fragments:
- v2.12.0rc1_summary.yaml
release_date: '2021-10-18'
2.12.1:
changes:
release_summary: '| Release Date: 2021-12-06
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
'
codename: Dazed and Confused
fragments:
- v2.12.1_summary.yaml
release_date: '2021-12-06'
2.12.1rc1:
changes:
bugfixes:
- Ansible.ModuleUtils.LinkUtil - Ignore the ``LIB`` environment variable when
loading the ``LinkUtil`` code
- ansible-test - Automatic target requirements installation is now based on
the target environment instead of the controller environment.
- ansible-test - Fix Python real prefix detection when running in a ``venv``
virtual environment.
- ansible-test - Fix installation and usage of ``pyyaml`` requirement for the
``import`` sanity test for collections.
- ansible-test - Fix traceback in ``import`` sanity test on Python 2.7 when
``pip`` is not available.
- ansible-test - Relocate constants to eliminate symlink.
- ansible-test - Target integration test requirements are now correctly installed
for target environments running on the controller.
- ansible-test - Update the ``default`` containers to version 4.1.1, which includes
the updated ``import`` sanity test requirements.
- ansible-test - Use the legacy collection loader for ``import`` sanity tests
on target-only Python versions.
- set_fact/include_vars correctly handle delegation assignments within loops
- setup - detect docker container with check for ./dockerenv or ./dockinit (https://github.com/ansible/ansible/pull/74349).
- validate_argument_spec - Skip suboption validation if the top level option
is an invalid type (https://github.com/ansible/ansible/issues/75612).
minor_changes:
- jinja2_native - keep same behavior on Python 3.10.
release_summary: '| Release Date: 2021-11-29
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
'
codename: Dazed and Confused
fragments:
- 74349-improve-docker-detection.yml
- 75635-fix-role-argspec-suboption-validation.yml
- ansible-test-default-containers-4.1.1.yml
- ansible-test-relocate-constants.yaml
- ansible-test-requirements-target.yaml
- ansible-test-sanity-import-loader.yml
- ansible-test-sanity-import-no-pip.yml
- ansible-test-sanity-import.yml
- ansible-test-venv-real-prefix.yaml
- jinja2_native-literal_eval-py310.yml
- set_fact_delegation.yml
- v2.12.1rc1_summary.yaml
- win_LinkUtil-ignore-LIB.yml
release_date: '2021-11-29'
2.12.2:
changes:
bugfixes:
- ansible-test - Show an error message instead of a traceback when running outside
of a supported directory.
release_summary: '| Release Date: 2022-01-31
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
'
codename: Dazed and Confused
fragments:
- ansible-test-unsupported-directory-traceback.yaml
- v2.12.2_summary.yaml
release_date: '2022-01-31'
2.12.2rc1:
changes:
bugfixes:
- Fix ``AttributeError`` when providing password file via ``--connection-password-file``
(https://github.com/ansible/ansible/issues/76530)
- Fix ``end_play`` to end the current play only (https://github.com/ansible/ansible/issues/76672)
- Templating - Ensure we catch exceptions when getting ``.filters`` and ``.tests``
attributes on their respective plugins and properly error, instead of aborting
which results in no filters being added to the jinja2 environment
- '``Templar.copy_with_new_env`` - set the ``finalize`` method of the new ``Templar``
object for the new environment (https://github.com/ansible/ansible/issues/76379)'
- ansible-config avoid showing _terms and _input when --only-changed.
- ansible-galaxy - Fix using the '--ignore-certs' option when there is no server-specific
configuration for the Galaxy server.
- ansible-galaxy collection build - Ignore any existing ``MANIFEST.json`` and
``FILES.json`` in the root directory when building a collection.
- ansible-test - Fix the ``import`` sanity test to work properly when Ansible's
built-in vendoring support is in use.
- ansible-test - Fix traceback in the ``validate-modules`` sanity test when
testing an Ansible module without any callables.
- ansible-test - Fix traceback when running from an install and delegating execution
to a different Python interpreter.
- ansible-test - Update help links to reference ``ansible-core`` instead of
``ansible``.
- ansible-test - Update unit tests to use the ``--forked`` option instead of
the deprecated ``--boxed`` option.
- async - Improve performance of sending async callback events by never sending
the full task through the queue (https://github.com/ansible/ansible/issues/76729)
- default callback - Ensure we compare FQCN also in lockstep logic, to ensure
using the FQCN of a strategy plugin triggers the correct behavior in the default
callback plugin. (https://github.com/ansible/ansible/issues/76782)
- hostname - Do not require SystemdStrategy subclasses for every distro (https://github.com/ansible/ansible/issues/76792)
- include_vars, properly initialize variable as there is corner case in which
it can end up referenced and not defined
- ssh connection - properly quote controlpersist path given by user to avoid
issues with spaces and other characters
- ssh connection avoid parsing ssh cli debug lines as they can match expected
output at high verbosities.
- sudo become plugin, fix handling of non interactive flags, previous substitution
was too naive
- unarchive - Fix zip archive file listing that caused issues with content postprocessing
(https://github.com/ansible/ansible/issues/76067).
- yum - prevent storing unnecessary cache data by running `yum makecache fast`
(https://github.com/ansible/ansible/issues/76336)
release_summary: '| Release Date: 2022-01-24
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
'
codename: Dazed and Confused
fragments:
- 74127-bad-filter-2.yml
- 76069-fix-unarchive-file-listing-in-zip.yaml
- 76336-yum-makecache-fast.yml
- 76379-set-finalize-on-new-env.yml
- 76530-connection-password-file-tb-fix.yml
- 76672-fix-end_play-multiple_plays.yml
- 76729-async-callback-perf.yml
- 76735-ansible-galaxy-fix-ignore-certs.yaml
- 76782-fqcn-compare-lockstep-strategies.yml
- 76792-hostname-all-systemd.yml
- ansible-test-delegation-pythonpath.yml
- ansible-test-links.yml
- ansible-test-pytest-forked.yml
- ansible-test-sanity-vendoring.yml
- ansible-test-validate-modules-no-callable.yml
- config_fix_terms.yml
- fix_sudo_flag_mangling.yml
- galaxy-build-files-ignore.yml
- include_vars_failed.yml
- ssh_debug_noparse.yml
- ssh_quote_cp.yml
- v2.12.2rc1_summary.yaml
release_date: '2022-01-24'
2.12.3:
changes:
release_summary: '| Release Date: 2022-02-28
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
'
codename: Dazed and Confused
fragments:
- v2.12.3_summary.yaml
release_date: '2022-02-28'
2.12.3rc1:
changes:
bugfixes:
- ansible-test - All virtual environments managed by ansible-test are marked
as usable after being bootstrapped, to avoid errors caused by use of incomplete
environments. Previously this was only done for sanity tests. Existing environments
from previous versions of ansible-test will be recreated on demand due to
lacking the new marker.
- ansible-test - Fix the ``validate-modules`` sanity test to avoid double-loading
the collection loader and possibly failing on import of the ``packaging``
module.
- ansible-test - Import ``yaml.cyaml.CParser`` instead of ``_yaml.CParser``
in the ``yamllint`` sanity test.
- ansible-test - Replace the directory portion of out-of-tree paths in JUnit
files from integration tests with the ``out-of-tree:`` prefix.
- ansible-test - Sanity tests run with the ``--requirements` option for Python
2.x now install ``virtualenv`` when it is missing or too old. Previously it
was only installed if missing. Version 16.7.12 is now installed instead of
the latest version on Python 2.7.
- ansible-test - The ``import`` sanity test no longer reports errors about ``packaging``
being missing when testing collections.
- ansible-test - Update the ``default`` containers to version 4.2.0.
- ansible-test - Use https://ci-files.testing.ansible.com/ for instance bootstrapping
instead of an S3 endpoint.
- ansible-test - Use relative paths in JUnit files generated during integration
test runs.
- ansible-test - Virtual environments managed by ansible-test now use consistent
versions of ``pip``, ``setuptools`` and ``wheel``. This avoids issues with
virtual environments containing outdated or dysfunctional versions of these
tools. The initial bootstrapping of ``pip`` is done by ansible-test from an
HTTPS endpoint instead of creating the virtual environment with it already
present.
- cleaning facts will now only warn about the variable name and not post the
content, which can be undesireable to disclose
- correctly inherit vars from parent in block (https://github.com/ansible/ansible/issues/75286).
- gather_facts action now handles the move of base connection plugin types into
collections to add/prevent subset argument correctly
- junit callback - Fix traceback during automatic fact gathering when using
relative paths.
- junit callback - Fix unicode error when handling non-ASCII task paths.
- ssh connection now uses more correct host source as play_context can ignore
loop/delegation variations.
- task_executor reverts the change to push facts into delegated vars on loop
finalization as result managing code already handles this and was duplicating
effort to wrong result.
- template lookup - restore inadvertently deleted default for ``convert_data``
(https://github.com/ansible/ansible/issues/77004)
- unarchive - Make extraction work when the LANGUAGE environment variable is
set to a non-English locale.
minor_changes:
- The collection loader now reports a Python warning if an attempt is made to
install the Ansible collection loader a second time. Previously this condition
was reported using an Ansible warning.
- ansible-test - Installation of ``cryptography`` is no longer version constrained
when ``openssl`` 1.1.0 or later is installed.
- ansible-test - Requirements for the plugin import test are now frozen.
- ansible-test - The ``pip`` and ``wheel`` packages are removed from all sanity
test virtual environments after installation completes to reduce their size.
Previously they were only removed from the environments used for the ``import``
sanity test.
- ansible-test - The hash for all managed sanity test virtual environments has
changed. Containers that include ``ansible-test sanity --prime-venvs`` will
need to be rebuilt to continue using primed virtual environments.
- ansible-test - Update ``pip`` used to bootstrap remote FreeBSD instances from
version 20.3.4 to 21.3.1.
- ansible-test - Update the ``alpine`` container to version 3.3.0. This updates
the base image from 3.14.2 to 3.15.0, which includes support for installing
binary wheels using pip.
- ansible-test - Update the ``galaxy`` test plugin to get its container from
a copy on quay.io.
- ansible-test - Update the ``openshift`` test plugin to get its container from
a copy on quay.io.
- junit callback - Add support for replacing the directory portion of out-of-tree
relative task paths with a placeholder.
release_summary: '| Release Date: 2022-02-23
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
'
codename: Dazed and Confused
fragments:
- 76542-fix-unarchive-on-nenglish-locales.yml
- 77004-restore-missing-default.yml
- ansible-test-alpine3-update.yaml
- ansible-test-bootstrap-pip.yml
- ansible-test-ci-files.yaml
- ansible-test-container-images.yml
- ansible-test-default-containers-4.2.0.yml
- ansible-test-import-collections.yml
- ansible-test-junit-relative-paths.yml
- ansible-test-managed-venv.yml
- ansible-test-pyopenssl.yaml
- ansible-test-sanity-requirements-update.yml
- ansible-test-validate-modules-collection-loader.yml
- ansible-test-yaml-import.yaml
- clean_facts_values.yml
- fix_block_var_inh.yml
- fix_fax_delegation_loops.yml
- gather_facts_collections.yml
- junit-callback-task-path-unicode.yml
- ssh_use_right_host.yml
- v2.12.3rc1_summary.yaml
release_date: '2022-02-23'
2.12.4:
changes:
release_summary: '| Release Date: 2022-03-28
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
'
codename: Dazed and Confused
fragments:
- v2.12.4_summary.yaml
release_date: '2022-03-28'
2.12.4rc1:
changes:
bugfixes:
- Add a YAML representer for ``NativeJinjaText``
- Add a YAML representer for ``NativeJinjaUnsafeText``
- AnsiballZ - Ensure we use the full python package in the module cache filename
to avoid a case where ``collections:`` is used to execute a module via short
name, where the short name duplicates another module from ``ansible.builtin``
or another collection that was executed previously.
- Fix collection filter/test plugin redirects (https://github.com/ansible/ansible/issues/77192).
- ansible-galaxy collection verify - display files/directories not included
in the FILES.json as modified content.
- ansible-test - Fix ``windows-integration`` and ``network-integration`` when
used with the ``--docker`` option and user-provided inventory.
- extend timeout for ansible-galaxy when communicating with the galaxy server
api, and apply it to all interactions with the api
- first_found - fix to allow for spaces in file names (https://github.com/ansible/ansible/issues/77136)
- unarchive - the ``io_buffer_size`` option added in 2.12 was not accepted by
the module (https://github.com/ansible/ansible/pull/77271).
release_summary: '| Release Date: 2022-03-21
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
'
codename: Dazed and Confused
fragments:
- 76690-fix-ansible-galaxy-collection-verify-modified-content.yaml
- 77136-first_found-spaces-in-names.yml
- 77210-fix-collection-filter-test-redirects.yml
- 77271-unarchive.yml
- ansible-test-delegation-inventory.yaml
- ansible_galaxy_timeout.yml
- fqn-module-cache.yml
- nativejinjatext-yaml-representer.yml
- nativejinjaunsafetext-yaml-representer.yml
- v2.12.4rc1_summary.yaml
release_date: '2022-03-21'
2.12.5:
changes:
release_summary: '| Release Date: 2022-04-25
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
'
codename: Dazed and Confused
fragments:
- v2.12.5_summary.yaml
release_date: '2022-04-25'
2.12.5rc1:
changes:
bugfixes:
- Ansible.ModuleUtils.SID - Use user principal name as is for lookup in the
``Convert-ToSID`` function - https://github.com/ansible/ansible/issues/77316
- Fix traceback when installing a collection from a git repository and git is
not installed (https://github.com/ansible/ansible/issues/77479).
- ansible-test - Correctly detect when running as the ``root`` user (UID 0)
on the origin host. The result of the detection was incorrectly being inverted.
- ansible-test - Fix skipping of tests marked ``needs/python`` on the origin
host.
- ansible-test - Fix skipping of tests marked ``needs/root`` on the origin host.
- ansible-test compile sanity test - do not crash if a column could not be determined
for an error (https://github.com/ansible/ansible/pull/77465).
- hostname - use ``file_get_content()`` to read the file containing the host
name in the ``FileStrategy.get_permanent_hostname()`` method. This prevents
a ``TypeError`` from being raised when the strategy is used (https://github.com/ansible/ansible/issues/77025).
- script - skip in check mode since the plugin cannot determine if a change
will occur.
- shell/command - only skip in check mode if the options `creates` and `removes`
are both None.
- winrm - Ensure ``kinit`` is run with the same ``PATH`` env var as the Ansible
process
release_summary: '| Release Date: 2022-04-18
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
'
codename: Dazed and Confused
fragments:
- 76353-fix-check-mode-skipping.yaml
- 77074-hostname-fix-typeerror-in-filestrategy.yml
- 77465-ansible-test-compile-crash.yml
- 77493-ansible-galaxy-find-git-executable-before-using.yaml
- ModuleUtils.SID-long-username.yml
- ansible-test-target-filter.yml
- v2.12.5rc1_summary.yaml
- winrm-kinit-path.yml
release_date: '2022-04-18'
2.12.6:
changes:
release_summary: '| Release Date: 2022-05-23
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
'
codename: Dazed and Confused
fragments:
- v2.12.6_summary.yaml
release_date: '2022-05-23'
2.12.6rc1:
changes:
bugfixes:
- Prevent losing unsafe on results returned from lookups (https://github.com/ansible/ansible/issues/77535)
- arg_spec - Fix incorrect ``no_log`` warning when a parameter alias is used
(https://github.com/ansible/ansible/pull/77576)
- plugin loader will now load config data for plugin by name instead of by file
to avoid issues with the same file being loaded under different names (fqcn
+ short name).
- variablemanager, more efficient read of vars files
release_summary: '| Release Date: 2022-05-16
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
'
codename: Dazed and Confused
fragments:
- 77535-prevent-losing-unsafe-lookups.yml
- 77576-arg_spec-no_log-aliases.yml
- config_load_by_name.yml
- v2.12.6rc1_summary.yaml
- vm_more_efficient.yml
release_date: '2022-05-16'
2.12.7rc1:
changes:
bugfixes:
- pip - fix cases where resolution of pip Python module fails when importlib.util
has not already been imported
- plugin loader - Sort results when fuzzy matching plugin names (https://github.com/ansible/ansible/issues/77966).
minor_changes:
- "Add an 'action_plugin' field for modules in runtime.yml plugin_routing.\n\nThis
fixes module_defaults by supporting modules-as-redirected-actions\nwithout
redirecting module_defaults entries to the common action.\n\n.. code: yaml\n\n
\ plugin_routing:\n action:\n facts:\n redirect: ns.coll.eos\n
\ command:\n redirect: ns.coll.eos\n modules:\n facts:\n
\ redirect: ns.coll.eos_facts\n command:\n redirect:
ns.coll.eos_command\n\nWith the runtime.yml above for ns.coll, a task such
as\n\n.. code: yaml\n\n - hosts: all\n module_defaults:\n ns.coll.eos_facts:
{'valid_for_eos_facts': 'value'}\n ns.coll.eos_command: {'not_valid_for_eos_facts':
'value'}\n tasks:\n - ns.coll.facts:\n\nwill end up with defaults
for eos_facts and eos_command\nsince both modules redirect to the same action.\n\nTo
select an action plugin for a module without merging\nmodule_defaults, define
an action_plugin field for the resolved\nmodule in the runtime.yml.\n\n..
code: yaml\n\n plugin_routing:\n modules:\n facts:\n redirect:
ns.coll.eos_facts\n action_plugin: ns.coll.eos\n command:\n
\ redirect: ns.coll.eos_command\n action_plugin: ns.coll.eos\n\nThe
action_plugin field can be a redirected action plugin, as\nit is resolved
normally.\n\nUsing the modified runtime.yml, the example task will only use\nthe
ns.coll.eos_facts defaults.\n"
- ansible-test - Avoid using the ``mock_use_standalone_module`` setting for
unit tests running on Python 3.8 or later.
release_summary: '| Release Date: 2022-06-13
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__
'
codename: Dazed and Confused
fragments:
- 77265-module_defaults-with-modules-as-redirected-actions.yaml
- ansible-test-ansible-core-mock.yml
- pip-lazy-import.yml
- plugin-loader-deterministic-fuzzy-match.yml
- v2.12.7rc1_summary.yaml
release_date: '2022-06-13'

View File

@ -0,0 +1,5 @@
bugfixes:
- Templating - Ensure we catch exceptions when getting ``.filters`` and
``.tests`` attributes on their respective plugins and properly error,
instead of aborting which results in no filters being added to the
jinja2 environment

View File

@ -0,0 +1,2 @@
bugfixes:
- setup - detect docker container with check for ./dockerenv or ./dockinit (https://github.com/ansible/ansible/pull/74349).

View File

@ -0,0 +1,2 @@
bugfixes:
- validate_argument_spec - Skip suboption validation if the top level option is an invalid type (https://github.com/ansible/ansible/issues/75612).

View File

@ -0,0 +1,3 @@
bugfixes:
- unarchive - Fix zip archive file listing that caused issues with content
postprocessing (https://github.com/ansible/ansible/issues/76067).

View File

@ -0,0 +1,2 @@
bugfixes:
- yum - prevent storing unnecessary cache data by running `yum makecache fast` (https://github.com/ansible/ansible/issues/76336)

View File

@ -0,0 +1,3 @@
bugfixes:
- shell/command - only skip in check mode if the options `creates` and `removes` are both None.
- script - skip in check mode since the plugin cannot determine if a change will occur.

View File

@ -0,0 +1,2 @@
bugfixes:
- "``Templar.copy_with_new_env`` - set the ``finalize`` method of the new ``Templar`` object for the new environment (https://github.com/ansible/ansible/issues/76379)"

View File

@ -0,0 +1,2 @@
bugfixes:
- Fix ``AttributeError`` when providing password file via ``--connection-password-file`` (https://github.com/ansible/ansible/issues/76530)

View File

@ -0,0 +1,2 @@
bugfixes:
- unarchive - Make extraction work when the LANGUAGE environment variable is set to a non-English locale.

View File

@ -0,0 +1,2 @@
bugfixes:
- Fix ``end_play`` to end the current play only (https://github.com/ansible/ansible/issues/76672)

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-galaxy collection verify - display files/directories not included in the FILES.json as modified content.

View File

@ -0,0 +1,3 @@
bugfixes:
- async - Improve performance of sending async callback events by never sending the full task through the queue
(https://github.com/ansible/ansible/issues/76729)

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-galaxy - Fix using the '--ignore-certs' option when there is no server-specific configuration for the Galaxy server.

View File

@ -0,0 +1,4 @@
bugfixes:
- default callback - Ensure we compare FQCN also in lockstep logic, to ensure
using the FQCN of a strategy plugin triggers the correct behavior in the
default callback plugin. (https://github.com/ansible/ansible/issues/76782)

View File

@ -0,0 +1,3 @@
bugfixes:
- hostname - Do not require SystemdStrategy subclasses for every distro
(https://github.com/ansible/ansible/issues/76792)

View File

@ -0,0 +1,3 @@
bugfixes:
- template lookup - restore inadvertently deleted default for ``convert_data``
(https://github.com/ansible/ansible/issues/77004)

View File

@ -0,0 +1,2 @@
bugfixes:
- hostname - use ``file_get_content()`` to read the file containing the host name in the ``FileStrategy.get_permanent_hostname()`` method. This prevents a ``TypeError`` from being raised when the strategy is used (https://github.com/ansible/ansible/issues/77025).

View File

@ -0,0 +1,2 @@
bugfixes:
- first_found - fix to allow for spaces in file names (https://github.com/ansible/ansible/issues/77136)

View File

@ -0,0 +1,2 @@
bugfixes:
- Fix collection filter/test plugin redirects (https://github.com/ansible/ansible/issues/77192).

View File

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

View File

@ -0,0 +1,2 @@
bugfixes:
- "unarchive - the ``io_buffer_size`` option added in 2.12 was not accepted by the module (https://github.com/ansible/ansible/pull/77271)."

View File

@ -0,0 +1,2 @@
bugfixes:
- "ansible-test compile sanity test - do not crash if a column could not be determined for an error (https://github.com/ansible/ansible/pull/77465)."

View File

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

View File

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

View File

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

View File

@ -0,0 +1,2 @@
bugfixes:
- Ansible.ModuleUtils.SID - Use user principal name as is for lookup in the ``Convert-ToSID`` function - https://github.com/ansible/ansible/issues/77316

View File

@ -0,0 +1,3 @@
minor_changes:
- ansible-test - Update the ``alpine`` container to version 3.3.0.
This updates the base image from 3.14.2 to 3.15.0, which includes support for installing binary wheels using pip.

View File

@ -0,0 +1,2 @@
minor_changes:
- ansible-test - Avoid using the ``mock_use_standalone_module`` setting for unit tests running on Python 3.8 or later.

View File

@ -0,0 +1,2 @@
minor_changes:
- ansible-test - Update ``pip`` used to bootstrap remote FreeBSD instances from version 20.3.4 to 21.3.1.

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-test - Use https://ci-files.testing.ansible.com/ for instance bootstrapping instead of an S3 endpoint.

View File

@ -0,0 +1,3 @@
minor_changes:
- ansible-test - Update the ``galaxy`` test plugin to get its container from a copy on quay.io.
- ansible-test - Update the ``openshift`` test plugin to get its container from a copy on quay.io.

View File

@ -0,0 +1,2 @@
minor_changes:
- ansible-test - Update the ``base`` and ``default`` containers from Python 3.10.0rc2 to 3.10.0.

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-test - Update the ``default`` containers to version 4.1.1, which includes the updated ``import`` sanity test requirements.

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-test - Update the ``default`` containers to version 4.2.0.

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-test - Fix ``windows-integration`` and ``network-integration`` when used with the ``--docker`` option and user-provided inventory.

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-test - Fix traceback when running from an install and delegating execution to a different Python interpreter.

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-test - Update distribution test containers to version 3.1.0.

View File

@ -0,0 +1,5 @@
bugfixes:
- ansible-test - The ``import`` sanity test no longer reports errors about ``packaging`` being missing when testing collections.
minor_changes:
- The collection loader now reports a Python warning if an attempt is made to install the Ansible collection loader a second time.
Previously this condition was reported using an Ansible warning.

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-test - Fix path to inventory file for ``windows-integration`` and ``network-integration`` commands for collections.

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-test - Use the correct variable to reference the client's SSH key when generating inventory.

View File

@ -0,0 +1,6 @@
bugfixes:
- ansible-test - Use relative paths in JUnit files generated during integration test runs.
- ansible-test - Replace the directory portion of out-of-tree paths in JUnit files from integration tests with the ``out-of-tree:`` prefix.
- junit callback - Fix traceback during automatic fact gathering when using relative paths.
minor_changes:
- junit callback - Add support for replacing the directory portion of out-of-tree relative task paths with a placeholder.

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-test - Update help links to reference ``ansible-core`` instead of ``ansible``.

View File

@ -0,0 +1,15 @@
bugfixes:
- ansible-test - Virtual environments managed by ansible-test now use consistent versions of ``pip``, ``setuptools`` and ``wheel``.
This avoids issues with virtual environments containing outdated or dysfunctional versions of these tools.
The initial bootstrapping of ``pip`` is done by ansible-test from an HTTPS endpoint instead of creating the virtual environment with it already present.
- ansible-test - Sanity tests run with the ``--requirements` option for Python 2.x now install ``virtualenv`` when it is missing or too old.
Previously it was only installed if missing.
Version 16.7.12 is now installed instead of the latest version on Python 2.7.
- ansible-test - All virtual environments managed by ansible-test are marked as usable after being bootstrapped, to avoid errors caused by use of incomplete environments.
Previously this was only done for sanity tests.
Existing environments from previous versions of ansible-test will be recreated on demand due to lacking the new marker.
minor_changes:
- ansible-test - The ``pip`` and ``wheel`` packages are removed from all sanity test virtual environments after installation completes to reduce their size.
Previously they were only removed from the environments used for the ``import`` sanity test.
- ansible-test - The hash for all managed sanity test virtual environments has changed.
Containers that include ``ansible-test sanity --prime-venvs`` will need to be rebuilt to continue using primed virtual environments.

View File

@ -0,0 +1,2 @@
minor_changes:
- ansible-test - Installation of ``cryptography`` is no longer version constrained when ``openssl`` 1.1.0 or later is installed.

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-test - Update unit tests to use the ``--forked`` option instead of the deprecated ``--boxed`` option.

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-test - Relocate constants to eliminate symlink.

View File

@ -0,0 +1,3 @@
bugfixes:
- ansible-test - Target integration test requirements are now correctly installed for target environments running on the controller.
- ansible-test - Automatic target requirements installation is now based on the target environment instead of the controller environment.

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-test - Use the legacy collection loader for ``import`` sanity tests on target-only Python versions.

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-test - Fix traceback in ``import`` sanity test on Python 2.7 when ``pip`` is not available.

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-test - Fix installation and usage of ``pyyaml`` requirement for the ``import`` sanity test for collections.

View File

@ -0,0 +1,2 @@
minor_changes:
- ansible-test - Requirements for the plugin import test are now frozen.

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-test - Fix the ``import`` sanity test to work properly when Ansible's built-in vendoring support is in use.

View File

@ -0,0 +1,5 @@
bugfixes:
- ansible-test - Correctly detect when running as the ``root`` user (UID 0) on the origin host.
The result of the detection was incorrectly being inverted.
- ansible-test - Fix skipping of tests marked ``needs/root`` on the origin host.
- ansible-test - Fix skipping of tests marked ``needs/python`` on the origin host.

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-test - Show an error message instead of a traceback when running outside of a supported directory.

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-test - Fix the ``validate-modules`` sanity test to avoid double-loading the collection loader and possibly failing on import of the ``packaging`` module.

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-test - Fix traceback in the ``validate-modules`` sanity test when testing an Ansible module without any callables.

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-test - Fix Python real prefix detection when running in a ``venv`` virtual environment.

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-test - Import ``yaml.cyaml.CParser`` instead of ``_yaml.CParser`` in the ``yamllint`` sanity test.

View File

@ -0,0 +1,2 @@
bugfixes:
- extend timeout for ansible-galaxy when communicating with the galaxy server api, and apply it to all interactions with the api

View File

@ -0,0 +1,5 @@
---
security_fixes:
- Do not include params in exception when a call to ``set_options`` fails.
Additionally, block the exception that is returned from being displayed to stdout.
(CVE-2021-3620)

View File

@ -0,0 +1,2 @@
bugfixes:
- cleaning facts will now only warn about the variable name and not post the content, which can be undesireable to disclose

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-config avoid showing _terms and _input when --only-changed.

View File

@ -0,0 +1,2 @@
bugfixes:
- plugin loader will now load config data for plugin by name instead of by file to avoid issues with the same file being loaded under different names (fqcn + short name).

View File

@ -0,0 +1,2 @@
bugfixes:
- correctly inherit vars from parent in block (https://github.com/ansible/ansible/issues/75286).

View File

@ -0,0 +1,2 @@
bugfixes:
- task_executor reverts the change to push facts into delegated vars on loop finalization as result managing code already handles this and was duplicating effort to wrong result.

View File

@ -0,0 +1,2 @@
bugfixes:
- sudo become plugin, fix handling of non interactive flags, previous substitution was too naive

View File

@ -0,0 +1,5 @@
bugfixes:
- AnsiballZ - Ensure we use the full python package in the module cache filename
to avoid a case where ``collections:`` is used to execute a module via short name,
where the short name duplicates another module from ``ansible.builtin`` or another
collection that was executed previously.

View File

@ -0,0 +1,4 @@
bugfixes:
- >-
ansible-galaxy collection build - Ignore any existing ``MANIFEST.json`` and ``FILES.json`` in the root directory
when building a collection.

View File

@ -0,0 +1,2 @@
bugfixes:
- gather_facts action now handles the move of base connection plugin types into collections to add/prevent subset argument correctly

View File

@ -0,0 +1,2 @@
bugfixes:
- include_vars, properly initialize variable as there is corner case in which it can end up referenced and not defined

View File

@ -0,0 +1,2 @@
minor_changes:
- jinja2_native - keep same behavior on Python 3.10.

View File

@ -0,0 +1,2 @@
bugfixes:
- junit callback - Fix unicode error when handling non-ASCII task paths.

View File

@ -0,0 +1,2 @@
bugfixes:
- Add a YAML representer for ``NativeJinjaText``

View File

@ -0,0 +1,2 @@
bugfixes:
- Add a YAML representer for ``NativeJinjaUnsafeText``

View File

@ -0,0 +1,2 @@
bugfixes:
- pip - fix cases where resolution of pip Python module fails when importlib.util has not already been imported

View File

@ -0,0 +1,2 @@
bugfixes:
- plugin loader - Sort results when fuzzy matching plugin names (https://github.com/ansible/ansible/issues/77966).

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-test pslint - Fix error when encountering validation results that are highly nested - https://github.com/ansible/ansible/issues/74151

View File

@ -0,0 +1,2 @@
bugfixes:
- set_fact/include_vars correctly handle delegation assignments within loops

View File

@ -0,0 +1,2 @@
bugfixes:
- ssh connection avoid parsing ssh cli debug lines as they can match expected output at high verbosities.

View File

@ -0,0 +1,2 @@
bugfixes:
- ssh connection - properly quote controlpersist path given by user to avoid issues with spaces and other characters

View File

@ -0,0 +1,2 @@
bugfixes:
- ssh connection now uses more correct host source as play_context can ignore loop/delegation variations.

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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