mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-07 13:52:54 +00:00
Compare commits
27 Commits
11.4.6
...
patchback/
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
114e582cda | ||
|
|
6eb8ccd1ea | ||
|
|
9e9d1b637e | ||
|
|
b2a1249412 | ||
|
|
d4324999da | ||
|
|
51d4bec698 | ||
|
|
de5f65105d | ||
|
|
607c1ce085 | ||
|
|
ac0c24637a | ||
|
|
d7d7395fa0 | ||
|
|
4689cc307e | ||
|
|
5da7b7d509 | ||
|
|
334f8d3708 | ||
|
|
485b8b9f23 | ||
|
|
865c96e66c | ||
|
|
14498b7ad1 | ||
|
|
76372a8975 | ||
|
|
1fa6d37c0b | ||
|
|
07704d22fa | ||
|
|
9343652086 | ||
|
|
62c026968a | ||
|
|
a15260f85f | ||
|
|
bc13d83a64 | ||
|
|
b9e5db4373 | ||
|
|
2e5d3a0e1f | ||
|
|
dabdc16010 | ||
|
|
bd56572025 |
@@ -57,14 +57,14 @@ pool: Standard
|
||||
|
||||
stages:
|
||||
### Sanity
|
||||
- stage: Sanity_devel
|
||||
displayName: Sanity devel
|
||||
- stage: Sanity_2_21
|
||||
displayName: Sanity 2.21
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
nameFormat: Test {0}
|
||||
testFormat: devel/sanity/{0}
|
||||
testFormat: 2.21/sanity/{0}
|
||||
targets:
|
||||
- test: 1
|
||||
- test: 2
|
||||
@@ -96,28 +96,15 @@ stages:
|
||||
- test: 2
|
||||
- test: 3
|
||||
- test: 4
|
||||
- stage: Sanity_2_18
|
||||
displayName: Sanity 2.18
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
nameFormat: Test {0}
|
||||
testFormat: 2.18/sanity/{0}
|
||||
targets:
|
||||
- test: 1
|
||||
- test: 2
|
||||
- test: 3
|
||||
- test: 4
|
||||
### Units
|
||||
- stage: Units_devel
|
||||
displayName: Units devel
|
||||
- stage: Units_2_21
|
||||
displayName: Units 2.21
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
nameFormat: Python {0}
|
||||
testFormat: devel/units/{0}/1
|
||||
testFormat: 2.21/units/{0}/1
|
||||
targets:
|
||||
- test: 3.9
|
||||
- test: '3.10'
|
||||
@@ -149,27 +136,15 @@ stages:
|
||||
- test: 3.8
|
||||
- test: "3.11"
|
||||
- test: "3.13"
|
||||
- stage: Units_2_18
|
||||
displayName: Units 2.18
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
nameFormat: Python {0}
|
||||
testFormat: 2.18/units/{0}/1
|
||||
targets:
|
||||
- test: 3.8
|
||||
- test: "3.11"
|
||||
- test: "3.13"
|
||||
|
||||
## Remote
|
||||
- stage: Remote_devel_extra_vms
|
||||
displayName: Remote devel extra VMs
|
||||
- stage: Remote_2_21_extra_vms
|
||||
displayName: Remote 2.21 extra VMs
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
testFormat: devel/{0}
|
||||
testFormat: 2.21/{0}
|
||||
targets:
|
||||
- name: Alpine 3.23
|
||||
test: alpine/3.23
|
||||
@@ -181,13 +156,13 @@ stages:
|
||||
test: ubuntu/24.04
|
||||
groups:
|
||||
- vm
|
||||
- stage: Remote_devel
|
||||
displayName: Remote devel
|
||||
- stage: Remote_2_21
|
||||
displayName: Remote 2.21
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
testFormat: devel/{0}
|
||||
testFormat: 2.21/{0}
|
||||
targets:
|
||||
- name: macOS 26.3
|
||||
test: macos/26.3
|
||||
@@ -239,31 +214,15 @@ stages:
|
||||
- 1
|
||||
- 2
|
||||
- 3
|
||||
- stage: Remote_2_18
|
||||
displayName: Remote 2.18
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
testFormat: 2.18/{0}
|
||||
targets:
|
||||
- name: macOS 14.3
|
||||
test: macos/14.3
|
||||
- name: FreeBSD 14.1
|
||||
test: freebsd/14.1
|
||||
groups:
|
||||
- 1
|
||||
- 2
|
||||
- 3
|
||||
|
||||
### Docker
|
||||
- stage: Docker_devel
|
||||
displayName: Docker devel
|
||||
- stage: Docker_2_21
|
||||
displayName: Docker 2.21
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
testFormat: devel/linux/{0}
|
||||
testFormat: 2.21/linux/{0}
|
||||
targets:
|
||||
- name: Fedora 43
|
||||
test: fedora43
|
||||
@@ -309,33 +268,15 @@ stages:
|
||||
- 1
|
||||
- 2
|
||||
- 3
|
||||
- stage: Docker_2_18
|
||||
displayName: Docker 2.18
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
testFormat: 2.18/linux/{0}
|
||||
targets:
|
||||
- name: Fedora 40
|
||||
test: fedora40
|
||||
- name: Alpine 3.20
|
||||
test: alpine320
|
||||
- name: Ubuntu 24.04
|
||||
test: ubuntu2404
|
||||
groups:
|
||||
- 1
|
||||
- 2
|
||||
- 3
|
||||
|
||||
### Community Docker
|
||||
- stage: Docker_community_devel
|
||||
displayName: Docker (community images) devel
|
||||
- stage: Docker_community_2_21
|
||||
displayName: Docker (community images) 2.21
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
testFormat: devel/linux-community/{0}
|
||||
testFormat: 2.21/linux-community/{0}
|
||||
targets:
|
||||
- name: Debian 11 Bullseye
|
||||
test: debian-bullseye/3.9
|
||||
@@ -352,14 +293,14 @@ stages:
|
||||
|
||||
### Generic
|
||||
# Right now all generic tests are disabled. Uncomment when at least one of them is re-enabled.
|
||||
# - stage: Generic_devel
|
||||
# displayName: Generic devel
|
||||
# - stage: Generic_2_21
|
||||
# displayName: Generic 2.21
|
||||
# dependsOn: []
|
||||
# jobs:
|
||||
# - template: templates/matrix.yml
|
||||
# parameters:
|
||||
# nameFormat: Python {0}
|
||||
# testFormat: devel/generic/{0}/1
|
||||
# testFormat: 2.21/generic/{0}/1
|
||||
# targets:
|
||||
# - test: '3.9'
|
||||
# - test: '3.12'
|
||||
@@ -385,44 +326,28 @@ stages:
|
||||
# testFormat: 2.19/generic/{0}/1
|
||||
# targets:
|
||||
# - test: '3.9'
|
||||
# - test: '3.13'
|
||||
# - stage: Generic_2_18
|
||||
# displayName: Generic 2.18
|
||||
# dependsOn: []
|
||||
# jobs:
|
||||
# - template: templates/matrix.yml
|
||||
# parameters:
|
||||
# nameFormat: Python {0}
|
||||
# testFormat: 2.18/generic/{0}/1
|
||||
# targets:
|
||||
# - test: '3.8'
|
||||
# - test: '3.13'
|
||||
|
||||
- stage: Summary
|
||||
condition: succeededOrFailed()
|
||||
dependsOn:
|
||||
- Sanity_devel
|
||||
- Sanity_2_21
|
||||
- Sanity_2_20
|
||||
- Sanity_2_19
|
||||
- Sanity_2_18
|
||||
- Units_devel
|
||||
- Units_2_21
|
||||
- Units_2_20
|
||||
- Units_2_19
|
||||
- Units_2_18
|
||||
- Remote_devel_extra_vms
|
||||
- Remote_devel
|
||||
- Remote_2_21_extra_vms
|
||||
- Remote_2_21
|
||||
- Remote_2_20
|
||||
- Remote_2_19
|
||||
- Remote_2_18
|
||||
- Docker_devel
|
||||
- Docker_2_21
|
||||
- Docker_2_20
|
||||
- Docker_2_19
|
||||
- Docker_2_18
|
||||
- Docker_community_devel
|
||||
- Docker_community_2_21
|
||||
# Right now all generic tests are disabled. Uncomment when at least one of them is re-enabled.
|
||||
# - Generic_devel
|
||||
# - Generic_2_21
|
||||
# - Generic_2_20
|
||||
# - Generic_2_19
|
||||
# - Generic_2_18
|
||||
jobs:
|
||||
- template: templates/coverage.yml
|
||||
|
||||
44
.github/workflows/ansible-test.yml
vendored
44
.github/workflows/ansible-test.yml
vendored
@@ -31,6 +31,7 @@ jobs:
|
||||
ansible:
|
||||
- '2.16'
|
||||
- '2.17'
|
||||
- '2.18'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Perform sanity testing
|
||||
@@ -70,6 +71,12 @@ jobs:
|
||||
python: '3.10'
|
||||
- ansible: '2.17'
|
||||
python: '3.12'
|
||||
- ansible: '2.18'
|
||||
python: '3.8'
|
||||
- ansible: '2.18'
|
||||
python: '3.11'
|
||||
- ansible: '2.18'
|
||||
python: '3.13'
|
||||
|
||||
steps:
|
||||
- name: >-
|
||||
@@ -180,6 +187,43 @@ jobs:
|
||||
docker: ubuntu2004
|
||||
python: ''
|
||||
target: azp/posix/3/
|
||||
# 2.18
|
||||
- ansible: '2.18'
|
||||
docker: fedora40
|
||||
python: ''
|
||||
target: azp/posix/1/
|
||||
- ansible: '2.18'
|
||||
docker: fedora40
|
||||
python: ''
|
||||
target: azp/posix/2/
|
||||
- ansible: '2.18'
|
||||
docker: fedora40
|
||||
python: ''
|
||||
target: azp/posix/3/
|
||||
- ansible: '2.18'
|
||||
docker: ubuntu2404
|
||||
python: ''
|
||||
target: azp/posix/1/
|
||||
- ansible: '2.18'
|
||||
docker: ubuntu2404
|
||||
python: ''
|
||||
target: azp/posix/2/
|
||||
- ansible: '2.18'
|
||||
docker: ubuntu2404
|
||||
python: ''
|
||||
target: azp/posix/3/
|
||||
- ansible: '2.18'
|
||||
docker: alpine320
|
||||
python: ''
|
||||
target: azp/posix/1/
|
||||
- ansible: '2.18'
|
||||
docker: alpine320
|
||||
python: ''
|
||||
target: azp/posix/2/
|
||||
- ansible: '2.18'
|
||||
docker: alpine320
|
||||
python: ''
|
||||
target: azp/posix/3/
|
||||
|
||||
steps:
|
||||
- name: >-
|
||||
|
||||
140
CHANGELOG.md
140
CHANGELOG.md
@@ -2,73 +2,76 @@
|
||||
|
||||
**Topics**
|
||||
|
||||
- <a href="#v11-4-6">v11\.4\.6</a>
|
||||
- <a href="#v11-4-7">v11\.4\.7</a>
|
||||
- <a href="#release-summary">Release Summary</a>
|
||||
- <a href="#bugfixes">Bugfixes</a>
|
||||
- <a href="#v11-4-5">v11\.4\.5</a>
|
||||
- <a href="#v11-4-6">v11\.4\.6</a>
|
||||
- <a href="#release-summary-1">Release Summary</a>
|
||||
- <a href="#bugfixes-1">Bugfixes</a>
|
||||
- <a href="#v11-4-4">v11\.4\.4</a>
|
||||
- <a href="#v11-4-5">v11\.4\.5</a>
|
||||
- <a href="#release-summary-2">Release Summary</a>
|
||||
- <a href="#bugfixes-2">Bugfixes</a>
|
||||
- <a href="#v11-4-3">v11\.4\.3</a>
|
||||
- <a href="#v11-4-4">v11\.4\.4</a>
|
||||
- <a href="#release-summary-3">Release Summary</a>
|
||||
- <a href="#bugfixes-3">Bugfixes</a>
|
||||
- <a href="#v11-4-2">v11\.4\.2</a>
|
||||
- <a href="#v11-4-3">v11\.4\.3</a>
|
||||
- <a href="#release-summary-4">Release Summary</a>
|
||||
- <a href="#minor-changes">Minor Changes</a>
|
||||
- <a href="#bugfixes-4">Bugfixes</a>
|
||||
- <a href="#v11-4-1">v11\.4\.1</a>
|
||||
- <a href="#v11-4-2">v11\.4\.2</a>
|
||||
- <a href="#release-summary-5">Release Summary</a>
|
||||
- <a href="#minor-changes">Minor Changes</a>
|
||||
- <a href="#bugfixes-5">Bugfixes</a>
|
||||
- <a href="#v11-4-1">v11\.4\.1</a>
|
||||
- <a href="#release-summary-6">Release Summary</a>
|
||||
- <a href="#minor-changes-1">Minor Changes</a>
|
||||
- <a href="#security-fixes">Security Fixes</a>
|
||||
- <a href="#bugfixes-5">Bugfixes</a>
|
||||
- <a href="#v11-4-0">v11\.4\.0</a>
|
||||
- <a href="#release-summary-6">Release Summary</a>
|
||||
- <a href="#minor-changes-2">Minor Changes</a>
|
||||
- <a href="#bugfixes-6">Bugfixes</a>
|
||||
- <a href="#v11-3-0">v11\.3\.0</a>
|
||||
- <a href="#v11-4-0">v11\.4\.0</a>
|
||||
- <a href="#release-summary-7">Release Summary</a>
|
||||
- <a href="#minor-changes-2">Minor Changes</a>
|
||||
- <a href="#bugfixes-7">Bugfixes</a>
|
||||
- <a href="#v11-3-0">v11\.3\.0</a>
|
||||
- <a href="#release-summary-8">Release Summary</a>
|
||||
- <a href="#minor-changes-3">Minor Changes</a>
|
||||
- <a href="#deprecated-features">Deprecated Features</a>
|
||||
- <a href="#bugfixes-7">Bugfixes</a>
|
||||
- <a href="#bugfixes-8">Bugfixes</a>
|
||||
- <a href="#new-plugins">New Plugins</a>
|
||||
- <a href="#filter">Filter</a>
|
||||
- <a href="#new-modules">New Modules</a>
|
||||
- <a href="#v11-2-1">v11\.2\.1</a>
|
||||
- <a href="#release-summary-8">Release Summary</a>
|
||||
- <a href="#bugfixes-8">Bugfixes</a>
|
||||
- <a href="#v11-2-0">v11\.2\.0</a>
|
||||
- <a href="#release-summary-9">Release Summary</a>
|
||||
- <a href="#bugfixes-9">Bugfixes</a>
|
||||
- <a href="#v11-2-0">v11\.2\.0</a>
|
||||
- <a href="#release-summary-10">Release Summary</a>
|
||||
- <a href="#minor-changes-4">Minor Changes</a>
|
||||
- <a href="#deprecated-features-1">Deprecated Features</a>
|
||||
- <a href="#bugfixes-9">Bugfixes</a>
|
||||
- <a href="#bugfixes-10">Bugfixes</a>
|
||||
- <a href="#new-plugins-1">New Plugins</a>
|
||||
- <a href="#lookup">Lookup</a>
|
||||
- <a href="#new-modules-1">New Modules</a>
|
||||
- <a href="#v11-1-2">v11\.1\.2</a>
|
||||
- <a href="#release-summary-10">Release Summary</a>
|
||||
- <a href="#minor-changes-5">Minor Changes</a>
|
||||
- <a href="#bugfixes-10">Bugfixes</a>
|
||||
- <a href="#v11-1-1">v11\.1\.1</a>
|
||||
- <a href="#release-summary-11">Release Summary</a>
|
||||
- <a href="#minor-changes-6">Minor Changes</a>
|
||||
- <a href="#minor-changes-5">Minor Changes</a>
|
||||
- <a href="#bugfixes-11">Bugfixes</a>
|
||||
- <a href="#v11-1-0">v11\.1\.0</a>
|
||||
- <a href="#v11-1-1">v11\.1\.1</a>
|
||||
- <a href="#release-summary-12">Release Summary</a>
|
||||
- <a href="#minor-changes-6">Minor Changes</a>
|
||||
- <a href="#bugfixes-12">Bugfixes</a>
|
||||
- <a href="#v11-1-0">v11\.1\.0</a>
|
||||
- <a href="#release-summary-13">Release Summary</a>
|
||||
- <a href="#minor-changes-7">Minor Changes</a>
|
||||
- <a href="#deprecated-features-2">Deprecated Features</a>
|
||||
- <a href="#bugfixes-12">Bugfixes</a>
|
||||
- <a href="#bugfixes-13">Bugfixes</a>
|
||||
- <a href="#new-plugins-2">New Plugins</a>
|
||||
- <a href="#callback">Callback</a>
|
||||
- <a href="#new-modules-2">New Modules</a>
|
||||
- <a href="#v11-0-0">v11\.0\.0</a>
|
||||
- <a href="#release-summary-13">Release Summary</a>
|
||||
- <a href="#release-summary-14">Release Summary</a>
|
||||
- <a href="#minor-changes-8">Minor Changes</a>
|
||||
- <a href="#deprecated-features-3">Deprecated Features</a>
|
||||
- <a href="#removed-features-previously-deprecated">Removed Features \(previously deprecated\)</a>
|
||||
- <a href="#security-fixes-1">Security Fixes</a>
|
||||
- <a href="#bugfixes-13">Bugfixes</a>
|
||||
- <a href="#bugfixes-14">Bugfixes</a>
|
||||
- <a href="#known-issues">Known Issues</a>
|
||||
- <a href="#new-plugins-3">New Plugins</a>
|
||||
- <a href="#callback-1">Callback</a>
|
||||
@@ -79,8 +82,8 @@
|
||||
- <a href="#new-modules-3">New Modules</a>
|
||||
This changelog describes changes after version 10\.0\.0\.
|
||||
|
||||
<a id="v11-4-6"></a>
|
||||
## v11\.4\.6
|
||||
<a id="v11-4-7"></a>
|
||||
## v11\.4\.7
|
||||
|
||||
<a id="release-summary"></a>
|
||||
### Release Summary
|
||||
@@ -90,12 +93,14 @@ Regular bugfix release\.
|
||||
<a id="bugfixes"></a>
|
||||
### Bugfixes
|
||||
|
||||
* counter\_enabled callback plugin \- fix plugin not observing <code>display\_ok\_hosts</code> option \([https\://github\.com/ansible\-collections/community\.general/issues/3978](https\://github\.com/ansible\-collections/community\.general/issues/3978)\, [https\://github\.com/ansible\-collections/community\.general/pull/11656](https\://github\.com/ansible\-collections/community\.general/pull/11656)\)\.
|
||||
* keycloak\_authentication \- fix <code>TypeError</code> crash when a flow is defined without <code>authenticationExecutions</code> \([https\://github\.com/ansible\-collections/community\.general/issues/11547](https\://github\.com/ansible\-collections/community\.general/issues/11547)\, [https\://github\.com/ansible\-collections/community\.general/pull/11548](https\://github\.com/ansible\-collections/community\.general/pull/11548)\)\.
|
||||
* xfconf \- representation of boolean properties was not consistent between Python and <code>xfconf\-query</code>\, leading to broken idempotency \([https\://github\.com/ansible\-collections/community\.general/pull/11645](https\://github\.com/ansible\-collections/community\.general/pull/11645)\)\.
|
||||
* flatpak \- support new output message when an update resulted in no action that appears on Fedora 44 \([https\://github\.com/ansible\-collections/community\.general/pull/11836](https\://github\.com/ansible\-collections/community\.general/pull/11836)\)\.
|
||||
* homebrew\_cask \- fix <code>sudo\_password</code> failing when the password contains single quotes or other special shell characters \([https\://github\.com/ansible\-collections/community\.general/issues/4957](https\://github\.com/ansible\-collections/community\.general/issues/4957)\, [https\://github\.com/ansible\-collections/community\.general/pull/11850](https\://github\.com/ansible\-collections/community\.general/pull/11850)\)\.
|
||||
* lvol \- fix LVM version parsing \([https\://github\.com/ansible\-collections/community\.general/issues/5445](https\://github\.com/ansible\-collections/community\.general/issues/5445)\, [https\://github\.com/ansible\-collections/community\.general/pull/11823](https\://github\.com/ansible\-collections/community\.general/pull/11823)\)\.
|
||||
* mssql\_script \- only passes <code>params</code> to <code>cursor\.execute\(\)</code> when the user actually provides them \([https\://github\.com/ansible\-collections/community\.general/issues/11699](https\://github\.com/ansible\-collections/community\.general/issues/11699)\, [https\://github\.com/ansible\-collections/community\.general/pull/11754](https\://github\.com/ansible\-collections/community\.general/pull/11754)\)\.
|
||||
* sefcontext \- flush the in\-process <code>matchpathcon</code> cache after applying changes\, so subsequent tasks running in the same process \(for example via the Mitogen connection plugin\) see the updated SELinux file context rules instead of stale cached data \([https\://github\.com/ansible\-collections/community\.general/issues/888](https\://github\.com/ansible\-collections/community\.general/issues/888)\, [https\://github\.com/ansible\-collections/community\.general/pull/11812](https\://github\.com/ansible\-collections/community\.general/pull/11812)\)\.
|
||||
|
||||
<a id="v11-4-5"></a>
|
||||
## v11\.4\.5
|
||||
<a id="v11-4-6"></a>
|
||||
## v11\.4\.6
|
||||
|
||||
<a id="release-summary-1"></a>
|
||||
### Release Summary
|
||||
@@ -105,10 +110,12 @@ Regular bugfix release\.
|
||||
<a id="bugfixes-1"></a>
|
||||
### Bugfixes
|
||||
|
||||
* python\_requirements\_info \- use <code>importlib\.metadata</code> if <code>pkg\_resources</code> from <code>setuptools</code> cannot be imported\. That module has been removed from setuptools 82\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/issues/11491](https\://github\.com/ansible\-collections/community\.general/issues/11491)\, [https\://github\.com/ansible\-collections/community\.general/pull/11492](https\://github\.com/ansible\-collections/community\.general/pull/11492)\)\.
|
||||
* counter\_enabled callback plugin \- fix plugin not observing <code>display\_ok\_hosts</code> option \([https\://github\.com/ansible\-collections/community\.general/issues/3978](https\://github\.com/ansible\-collections/community\.general/issues/3978)\, [https\://github\.com/ansible\-collections/community\.general/pull/11656](https\://github\.com/ansible\-collections/community\.general/pull/11656)\)\.
|
||||
* keycloak\_authentication \- fix <code>TypeError</code> crash when a flow is defined without <code>authenticationExecutions</code> \([https\://github\.com/ansible\-collections/community\.general/issues/11547](https\://github\.com/ansible\-collections/community\.general/issues/11547)\, [https\://github\.com/ansible\-collections/community\.general/pull/11548](https\://github\.com/ansible\-collections/community\.general/pull/11548)\)\.
|
||||
* xfconf \- representation of boolean properties was not consistent between Python and <code>xfconf\-query</code>\, leading to broken idempotency \([https\://github\.com/ansible\-collections/community\.general/pull/11645](https\://github\.com/ansible\-collections/community\.general/pull/11645)\)\.
|
||||
|
||||
<a id="v11-4-4"></a>
|
||||
## v11\.4\.4
|
||||
<a id="v11-4-5"></a>
|
||||
## v11\.4\.5
|
||||
|
||||
<a id="release-summary-2"></a>
|
||||
### Release Summary
|
||||
@@ -118,11 +125,10 @@ Regular bugfix release\.
|
||||
<a id="bugfixes-2"></a>
|
||||
### Bugfixes
|
||||
|
||||
* cloudflare\_dns \- also allow <code>flag\=128</code> for CAA records \([https\://github\.com/ansible\-collections/community\.general/issues/11355](https\://github\.com/ansible\-collections/community\.general/issues/11355)\, [https\://github\.com/ansible\-collections/community\.general/pull/11377](https\://github\.com/ansible\-collections/community\.general/pull/11377)\)\.
|
||||
* logstash\_plugin \- fix argument order when using <code>version</code> parameter\. The plugin name must come after options like <code>\-\-version</code> for the <code>logstash\-plugin</code> CLI to work correctly \([https\://github\.com/ansible\-collections/community\.general/issues/10745](https\://github\.com/ansible\-collections/community\.general/issues/10745)\, [https\://github\.com/ansible\-collections/community\.general/pull/11440](https\://github\.com/ansible\-collections/community\.general/pull/11440)\)\.
|
||||
* python\_requirements\_info \- use <code>importlib\.metadata</code> if <code>pkg\_resources</code> from <code>setuptools</code> cannot be imported\. That module has been removed from setuptools 82\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/issues/11491](https\://github\.com/ansible\-collections/community\.general/issues/11491)\, [https\://github\.com/ansible\-collections/community\.general/pull/11492](https\://github\.com/ansible\-collections/community\.general/pull/11492)\)\.
|
||||
|
||||
<a id="v11-4-3"></a>
|
||||
## v11\.4\.3
|
||||
<a id="v11-4-4"></a>
|
||||
## v11\.4\.4
|
||||
|
||||
<a id="release-summary-3"></a>
|
||||
### Release Summary
|
||||
@@ -132,6 +138,20 @@ Regular bugfix release\.
|
||||
<a id="bugfixes-3"></a>
|
||||
### Bugfixes
|
||||
|
||||
* cloudflare\_dns \- also allow <code>flag\=128</code> for CAA records \([https\://github\.com/ansible\-collections/community\.general/issues/11355](https\://github\.com/ansible\-collections/community\.general/issues/11355)\, [https\://github\.com/ansible\-collections/community\.general/pull/11377](https\://github\.com/ansible\-collections/community\.general/pull/11377)\)\.
|
||||
* logstash\_plugin \- fix argument order when using <code>version</code> parameter\. The plugin name must come after options like <code>\-\-version</code> for the <code>logstash\-plugin</code> CLI to work correctly \([https\://github\.com/ansible\-collections/community\.general/issues/10745](https\://github\.com/ansible\-collections/community\.general/issues/10745)\, [https\://github\.com/ansible\-collections/community\.general/pull/11440](https\://github\.com/ansible\-collections/community\.general/pull/11440)\)\.
|
||||
|
||||
<a id="v11-4-3"></a>
|
||||
## v11\.4\.3
|
||||
|
||||
<a id="release-summary-4"></a>
|
||||
### Release Summary
|
||||
|
||||
Regular bugfix release\.
|
||||
|
||||
<a id="bugfixes-4"></a>
|
||||
### Bugfixes
|
||||
|
||||
* keycloak\_realm \- fixed crash in <code>sanitize\_cr\(\)</code> when <code>realmrep</code> was <code>None</code> \([https\://github\.com/ansible\-collections/community\.general/pull/11260](https\://github\.com/ansible\-collections/community\.general/pull/11260)\)\.
|
||||
* listen\_ports\_facts \- fix handling of empty PID lists when <code>command\=ss</code> \([https\://github\.com/ansible\-collections/community\.general/pull/11332](https\://github\.com/ansible\-collections/community\.general/pull/11332)\)\.
|
||||
* monit \- add delay of 0\.5 seconds after state change and check for status \([https\://github\.com/ansible\-collections/community\.general/pull/11255](https\://github\.com/ansible\-collections/community\.general/pull/11255)\)\.
|
||||
@@ -140,7 +160,7 @@ Regular bugfix release\.
|
||||
<a id="v11-4-2"></a>
|
||||
## v11\.4\.2
|
||||
|
||||
<a id="release-summary-4"></a>
|
||||
<a id="release-summary-5"></a>
|
||||
### Release Summary
|
||||
|
||||
Regular bugfix release\.
|
||||
@@ -150,7 +170,7 @@ Regular bugfix release\.
|
||||
|
||||
* tss lookup plugin \- fixed <code>AccessTokenAuthorizer</code> initialization to include <code>base\_url</code> parameter for proper token authentication \([https\://github\.com/ansible\-collections/community\.general/pull/11031](https\://github\.com/ansible\-collections/community\.general/pull/11031)\)\.
|
||||
|
||||
<a id="bugfixes-4"></a>
|
||||
<a id="bugfixes-5"></a>
|
||||
### Bugfixes
|
||||
|
||||
* cobbler\_system \- compare the version as a float which is the type returned by the Cobbler API \([https\://github\.com/ansible\-collections/community\.general/issues/11044](https\://github\.com/ansible\-collections/community\.general/issues/11044)\)\.
|
||||
@@ -163,7 +183,7 @@ Regular bugfix release\.
|
||||
<a id="v11-4-1"></a>
|
||||
## v11\.4\.1
|
||||
|
||||
<a id="release-summary-5"></a>
|
||||
<a id="release-summary-6"></a>
|
||||
### Release Summary
|
||||
|
||||
Regular bugfix release\.
|
||||
@@ -182,7 +202,7 @@ Regular bugfix release\.
|
||||
|
||||
* keycloak\_user \- the parameter <code>credentials\[\]\.value</code> is now marked as <code>no\_log\=true</code>\. Before it was logged by Ansible\, unless the task was marked as <code>no\_log\: true</code>\. Since this parameter can be used for passwords\, this resulted in credential leaking \([https\://github\.com/ansible\-collections/community\.general/issues/11000](https\://github\.com/ansible\-collections/community\.general/issues/11000)\, [https\://github\.com/ansible\-collections/community\.general/pull/11005](https\://github\.com/ansible\-collections/community\.general/pull/11005)\)\.
|
||||
|
||||
<a id="bugfixes-5"></a>
|
||||
<a id="bugfixes-6"></a>
|
||||
### Bugfixes
|
||||
|
||||
* cloudflare\_dns \- roll back changes to CAA record validation \([https\://github\.com/ansible\-collections/community\.general/issues/10934](https\://github\.com/ansible\-collections/community\.general/issues/10934)\, [https\://github\.com/ansible\-collections/community\.general/pull/10956](https\://github\.com/ansible\-collections/community\.general/pull/10956)\)\.
|
||||
@@ -198,7 +218,7 @@ Regular bugfix release\.
|
||||
<a id="v11-4-0"></a>
|
||||
## v11\.4\.0
|
||||
|
||||
<a id="release-summary-6"></a>
|
||||
<a id="release-summary-7"></a>
|
||||
### Release Summary
|
||||
|
||||
Regular bugfix and feature release\.
|
||||
@@ -213,7 +233,7 @@ Regular bugfix and feature release\.
|
||||
* keycloak\_client \- add idempotent support for <code>optional\_client\_scopes</code> and <code>optional\_client\_scopes</code>\, and ensure consistent change detection between check mode and live run \([https\://github\.com/ansible\-collections/community\.general/issues/5495](https\://github\.com/ansible\-collections/community\.general/issues/5495)\, [https\://github\.com/ansible\-collections/community\.general/pull/10842](https\://github\.com/ansible\-collections/community\.general/pull/10842)\)\.
|
||||
* pipx module\_utils \- use <code>PIPX\_USE\_EMOJI</code> to disable emojis in the output of <code>pipx</code> 1\.8\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/10874](https\://github\.com/ansible\-collections/community\.general/pull/10874)\)\.
|
||||
|
||||
<a id="bugfixes-6"></a>
|
||||
<a id="bugfixes-7"></a>
|
||||
### Bugfixes
|
||||
|
||||
* Avoid usage of deprecated <code>ansible\.module\_utils\.six</code> in all code that does not have to support Python 2 \([https\://github\.com/ansible\-collections/community\.general/pull/10873](https\://github\.com/ansible\-collections/community\.general/pull/10873)\)\.
|
||||
@@ -230,7 +250,7 @@ Regular bugfix and feature release\.
|
||||
<a id="v11-3-0"></a>
|
||||
## v11\.3\.0
|
||||
|
||||
<a id="release-summary-7"></a>
|
||||
<a id="release-summary-8"></a>
|
||||
### Release Summary
|
||||
|
||||
Regular bugfix and feature release\.
|
||||
@@ -291,7 +311,7 @@ Regular bugfix and feature release\.
|
||||
* oci\_vcn \- module is deprecated and will be removed in community\.general 13\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/issues/10318](https\://github\.com/ansible\-collections/community\.general/issues/10318)\, [https\://github\.com/ansible\-collections/community\.general/pull/10652](https\://github\.com/ansible\-collections/community\.general/pull/10652)\)\.
|
||||
* oracle\* doc fragments \- fragments are deprecated and will be removed in community\.general 13\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/issues/10318](https\://github\.com/ansible\-collections/community\.general/issues/10318)\, [https\://github\.com/ansible\-collections/community\.general/pull/10652](https\://github\.com/ansible\-collections/community\.general/pull/10652)\)\.
|
||||
|
||||
<a id="bugfixes-7"></a>
|
||||
<a id="bugfixes-8"></a>
|
||||
### Bugfixes
|
||||
|
||||
* kdeconfig \- <code>kwriteconfig</code> executable could not be discovered automatically on systems with only <code>kwriteconfig6</code> installed\. <code>kwriteconfig6</code> can now be discovered by Ansible \([https\://github\.com/ansible\-collections/community\.general/issues/10746](https\://github\.com/ansible\-collections/community\.general/issues/10746)\, [https\://github\.com/ansible\-collections/community\.general/pull/10751](https\://github\.com/ansible\-collections/community\.general/pull/10751)\)\.
|
||||
@@ -318,12 +338,12 @@ Regular bugfix and feature release\.
|
||||
<a id="v11-2-1"></a>
|
||||
## v11\.2\.1
|
||||
|
||||
<a id="release-summary-8"></a>
|
||||
<a id="release-summary-9"></a>
|
||||
### Release Summary
|
||||
|
||||
Bugfix release\.
|
||||
|
||||
<a id="bugfixes-8"></a>
|
||||
<a id="bugfixes-9"></a>
|
||||
### Bugfixes
|
||||
|
||||
* Avoid deprecated functionality in ansible\-core 2\.20 \([https\://github\.com/ansible\-collections/community\.general/pull/10687](https\://github\.com/ansible\-collections/community\.general/pull/10687)\)\.
|
||||
@@ -335,7 +355,7 @@ Bugfix release\.
|
||||
<a id="v11-2-0"></a>
|
||||
## v11\.2\.0
|
||||
|
||||
<a id="release-summary-9"></a>
|
||||
<a id="release-summary-10"></a>
|
||||
### Release Summary
|
||||
|
||||
Regular bugfix and features release\.
|
||||
@@ -378,7 +398,7 @@ Regular bugfix and features release\.
|
||||
* github\_repo \- deprecate <code>force\_defaults\=true</code> \([https\://github\.com/ansible\-collections/community\.general/pull/10435](https\://github\.com/ansible\-collections/community\.general/pull/10435)\)\.
|
||||
* rocketchat \- the default value for <code>is\_pre740</code>\, currently <code>true</code>\, is deprecated and will change to <code>false</code> in community\.general 13\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/10490](https\://github\.com/ansible\-collections/community\.general/pull/10490)\)\.
|
||||
|
||||
<a id="bugfixes-9"></a>
|
||||
<a id="bugfixes-10"></a>
|
||||
### Bugfixes
|
||||
|
||||
* jenkins\_plugin \- install latest compatible version instead of latest \([https\://github\.com/ansible\-collections/community\.general/issues/854](https\://github\.com/ansible\-collections/community\.general/issues/854)\, [https\://github\.com/ansible\-collections/community\.general/pull/10346](https\://github\.com/ansible\-collections/community\.general/pull/10346)\)\.
|
||||
@@ -402,7 +422,7 @@ Regular bugfix and features release\.
|
||||
<a id="v11-1-2"></a>
|
||||
## v11\.1\.2
|
||||
|
||||
<a id="release-summary-10"></a>
|
||||
<a id="release-summary-11"></a>
|
||||
### Release Summary
|
||||
|
||||
Bugfix release\.
|
||||
@@ -541,7 +561,7 @@ Bugfix release\.
|
||||
* zypper \- remove redundant constructs from argument specs \([https\://github\.com/ansible\-collections/community\.general/pull/10513](https\://github\.com/ansible\-collections/community\.general/pull/10513)\)\.
|
||||
* zypper\_repository \- remove redundant constructs from argument specs \([https\://github\.com/ansible\-collections/community\.general/pull/10513](https\://github\.com/ansible\-collections/community\.general/pull/10513)\)\.
|
||||
|
||||
<a id="bugfixes-10"></a>
|
||||
<a id="bugfixes-11"></a>
|
||||
### Bugfixes
|
||||
|
||||
* apk \- fix check for empty/whitespace\-only package names \([https\://github\.com/ansible\-collections/community\.general/pull/10532](https\://github\.com/ansible\-collections/community\.general/pull/10532)\)\.
|
||||
@@ -555,7 +575,7 @@ Bugfix release\.
|
||||
<a id="v11-1-1"></a>
|
||||
## v11\.1\.1
|
||||
|
||||
<a id="release-summary-11"></a>
|
||||
<a id="release-summary-12"></a>
|
||||
### Release Summary
|
||||
|
||||
Bugfix release for the next Ansible 12 pre\-release\.
|
||||
@@ -591,7 +611,7 @@ Bugfix release for the next Ansible 12 pre\-release\.
|
||||
* filesystem \- remove redundant constructs from argument specs \([https\://github\.com/ansible\-collections/community\.general/pull/10494](https\://github\.com/ansible\-collections/community\.general/pull/10494)\)\.
|
||||
* sysrc \- adjustments to the code \([https\://github\.com/ansible\-collections/community\.general/pull/10417](https\://github\.com/ansible\-collections/community\.general/pull/10417)\)\.
|
||||
|
||||
<a id="bugfixes-11"></a>
|
||||
<a id="bugfixes-12"></a>
|
||||
### Bugfixes
|
||||
|
||||
* apache2\_module \- avoid ansible\-core 2\.19 deprecation \([https\://github\.com/ansible\-collections/community\.general/pull/10459](https\://github\.com/ansible\-collections/community\.general/pull/10459)\)\.
|
||||
@@ -609,7 +629,7 @@ Bugfix release for the next Ansible 12 pre\-release\.
|
||||
<a id="v11-1-0"></a>
|
||||
## v11\.1\.0
|
||||
|
||||
<a id="release-summary-12"></a>
|
||||
<a id="release-summary-13"></a>
|
||||
### Release Summary
|
||||
|
||||
Regular bugfix and feature release\.
|
||||
@@ -669,7 +689,7 @@ Regular bugfix and feature release\.
|
||||
* catapult \- module is deprecated and will be removed in community\.general 13\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/issues/10318](https\://github\.com/ansible\-collections/community\.general/issues/10318)\, [https\://github\.com/ansible\-collections/community\.general/pull/10329](https\://github\.com/ansible\-collections/community\.general/pull/10329)\)\.
|
||||
* pacemaker\_cluster \- the parameter <code>state</code> will become a required parameter in community\.general 12\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/10227](https\://github\.com/ansible\-collections/community\.general/pull/10227)\)\.
|
||||
|
||||
<a id="bugfixes-12"></a>
|
||||
<a id="bugfixes-13"></a>
|
||||
### Bugfixes
|
||||
|
||||
* dependent lookup plugin \- avoid deprecated ansible\-core 2\.19 functionality \([https\://github\.com/ansible\-collections/community\.general/pull/10359](https\://github\.com/ansible\-collections/community\.general/pull/10359)\)\.
|
||||
@@ -695,7 +715,7 @@ Regular bugfix and feature release\.
|
||||
<a id="v11-0-0"></a>
|
||||
## v11\.0\.0
|
||||
|
||||
<a id="release-summary-13"></a>
|
||||
<a id="release-summary-14"></a>
|
||||
### Release Summary
|
||||
|
||||
This is release 11\.0\.0 of <code>community\.general</code>\, released on 2025\-06\-16\.
|
||||
@@ -1094,7 +1114,7 @@ This is release 11\.0\.0 of <code>community\.general</code>\, released on 2025\-
|
||||
* keycloak\_authentication \- API calls did not properly set the <code>priority</code> during update resulting in incorrectly sorted authentication flows\. This apparently only affects Keycloak 25 or newer \([https\://github\.com/ansible\-collections/community\.general/pull/9263](https\://github\.com/ansible\-collections/community\.general/pull/9263)\)\.
|
||||
* keycloak\_client \- Sanitize <code>saml\.encryption\.private\.key</code> so it does not show in the logs \([https\://github\.com/ansible\-collections/community\.general/pull/9621](https\://github\.com/ansible\-collections/community\.general/pull/9621)\)\.
|
||||
|
||||
<a id="bugfixes-13"></a>
|
||||
<a id="bugfixes-14"></a>
|
||||
### Bugfixes
|
||||
|
||||
* apache2\_mod\_proxy \- make compatible with Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9762](https\://github\.com/ansible\-collections/community\.general/pull/9762)\)\.
|
||||
|
||||
@@ -6,6 +6,23 @@ Community General Release Notes
|
||||
|
||||
This changelog describes changes after version 10.0.0.
|
||||
|
||||
v11.4.7
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
Regular bugfix release.
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- flatpak - support new output message when an update resulted in no action that appears on Fedora 44 (https://github.com/ansible-collections/community.general/pull/11836).
|
||||
- homebrew_cask - fix ``sudo_password`` failing when the password contains single quotes or other special shell characters (https://github.com/ansible-collections/community.general/issues/4957, https://github.com/ansible-collections/community.general/pull/11850).
|
||||
- lvol - fix LVM version parsing (https://github.com/ansible-collections/community.general/issues/5445, https://github.com/ansible-collections/community.general/pull/11823).
|
||||
- mssql_script - only passes ``params`` to ``cursor.execute()`` when the user actually provides them (https://github.com/ansible-collections/community.general/issues/11699, https://github.com/ansible-collections/community.general/pull/11754).
|
||||
- sefcontext - flush the in-process ``matchpathcon`` cache after applying changes, so subsequent tasks running in the same process (for example via the Mitogen connection plugin) see the updated SELinux file context rules instead of stale cached data (https://github.com/ansible-collections/community.general/issues/888, https://github.com/ansible-collections/community.general/pull/11812).
|
||||
|
||||
v11.4.6
|
||||
=======
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ For more information about communication, see the [Ansible communication guide](
|
||||
|
||||
## Tested with Ansible
|
||||
|
||||
Tested with the current ansible-core 2.16, ansible-core 2.17, ansible-core 2.18, ansible-core 2.19, ansible-core 2.20 releases and the current development version of ansible-core. Ansible-core versions before 2.16.0 are not supported. This includes all ansible-base 2.10 and Ansible 2.9 releases.
|
||||
Tested with the current ansible-core 2.16, ansible-core 2.17, ansible-core 2.18, ansible-core 2.19, ansible-core 2.20, and ansible-core 2.21 releases. Ansible-core versions before 2.16.0 are not supported. This includes all ansible-base 2.10 and Ansible 2.9 releases.
|
||||
|
||||
## External requirements
|
||||
|
||||
|
||||
@@ -1947,3 +1947,30 @@ releases:
|
||||
- 11656-counter_enabled-display_ok_hosts.yml
|
||||
- keycloak-authentication-none-executions.yml
|
||||
release_date: '2026-03-23'
|
||||
11.4.7:
|
||||
changes:
|
||||
bugfixes:
|
||||
- flatpak - support new output message when an update resulted in no action
|
||||
that appears on Fedora 44 (https://github.com/ansible-collections/community.general/pull/11836).
|
||||
- homebrew_cask - fix ``sudo_password`` failing when the password contains
|
||||
single quotes or other special shell characters (https://github.com/ansible-collections/community.general/issues/4957,
|
||||
https://github.com/ansible-collections/community.general/pull/11850).
|
||||
- lvol - fix LVM version parsing (https://github.com/ansible-collections/community.general/issues/5445,
|
||||
https://github.com/ansible-collections/community.general/pull/11823).
|
||||
- mssql_script - only passes ``params`` to ``cursor.execute()`` when the user
|
||||
actually provides them (https://github.com/ansible-collections/community.general/issues/11699,
|
||||
https://github.com/ansible-collections/community.general/pull/11754).
|
||||
- sefcontext - flush the in-process ``matchpathcon`` cache after applying
|
||||
changes, so subsequent tasks running in the same process (for example via
|
||||
the Mitogen connection plugin) see the updated SELinux file context rules
|
||||
instead of stale cached data (https://github.com/ansible-collections/community.general/issues/888,
|
||||
https://github.com/ansible-collections/community.general/pull/11812).
|
||||
release_summary: Regular bugfix release.
|
||||
fragments:
|
||||
- 11.4.7.yml
|
||||
- 11754-mssql-script-params-substitution.yml
|
||||
- 11812-sefcontext-matchpathcon-cache-flush.yml
|
||||
- 11823-lvol-lvm-version-regex.yml
|
||||
- 11836-fixes.yml
|
||||
- 11850-homebrew-cask-sudo-password.yml
|
||||
release_date: '2026-04-20'
|
||||
|
||||
1
changelogs/fragments/11.4.8.yml
Normal file
1
changelogs/fragments/11.4.8.yml
Normal file
@@ -0,0 +1 @@
|
||||
release_summary: Bugfix release.
|
||||
2
changelogs/fragments/11909-fix-favicon-url.yml
Normal file
2
changelogs/fragments/11909-fix-favicon-url.yml
Normal file
@@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- "mattermost, rocketchat, slack - update default ``icon_url`` to ansible favicon (https://github.com/ansible-collections/community.general/pull/11909)."
|
||||
4
changelogs/fragments/11959-xml-boolean-value.yml
Normal file
4
changelogs/fragments/11959-xml-boolean-value.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
bugfixes:
|
||||
- "xml - emit an error when ``value`` is not a string, pointing to the offending xpath
|
||||
(https://github.com/ansible-collections/community.general/issues/7171,
|
||||
https://github.com/ansible-collections/community.general/pull/11959)."
|
||||
@@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- odbc - fetch rows before committing to fix ``HY010`` function sequence error (https://github.com/ansible-collections/community.general/issues/5395, https://github.com/ansible-collections/community.general/pull/11972).
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
namespace: community
|
||||
name: general
|
||||
version: 11.4.6
|
||||
version: 11.4.8
|
||||
readme: README.md
|
||||
authors:
|
||||
- Ansible (https://github.com/ansible)
|
||||
|
||||
@@ -14,7 +14,29 @@ author: Michael Scherer (@mscherer) <misc@zarb.org>
|
||||
name: saltstack
|
||||
short_description: Allow ansible to piggyback on salt minions
|
||||
description:
|
||||
- This allows you to use existing Saltstack infrastructure to connect to targets.
|
||||
- Run commands or put/fetch files to Salt minions by using the local Salt master as transport.
|
||||
- Ansible must run directly on the Salt master; this plugin uses C(salt.client.LocalClient)
|
||||
and does not support connecting to a remote Salt master.
|
||||
requirements:
|
||||
- the C(salt) Python package must be installed on the Salt master (the Ansible controller)
|
||||
options:
|
||||
remote_addr:
|
||||
description:
|
||||
- The Salt minion ID to target.
|
||||
type: string
|
||||
default: inventory_hostname
|
||||
vars:
|
||||
- name: inventory_hostname
|
||||
- name: ansible_host
|
||||
notes:
|
||||
- Ansible must be run from the Salt master host; the plugin cannot reach a remote Salt master.
|
||||
- The inventory hostname (or O(remote_addr)) is treated as the Salt minion ID, not as a DNS
|
||||
name or IP address.
|
||||
- The Salt master and its minion keys must already be configured and accepted before using
|
||||
this connection plugin.
|
||||
- File transfer via P(community.general.saltstack#connection) uses C(hashutil.base64_decodefile)
|
||||
(put) and C(cp.get_file_str) (fetch); these Salt execution modules must be available on
|
||||
the targeted minions.
|
||||
"""
|
||||
|
||||
import os
|
||||
|
||||
@@ -80,8 +80,12 @@ _raw:
|
||||
description: The permissions the resulting file or directory.
|
||||
type: str
|
||||
state:
|
||||
description: TODO.
|
||||
description:
|
||||
- Type of the resulting file or directory.
|
||||
- V(directory) for a directory, V(file) for a regular file, V(link) for a symbolic link.
|
||||
- Other file types are skipped and not returned.
|
||||
type: str
|
||||
choices: [directory, file, link]
|
||||
owner:
|
||||
description: Name of the user that owns the file/directory.
|
||||
type: raw
|
||||
|
||||
@@ -15,7 +15,7 @@ short_description: Fetch data from LMDB
|
||||
description:
|
||||
- This lookup returns a list of results from an LMDB DB corresponding to a list of items given to it.
|
||||
requirements:
|
||||
- lmdb (Python library U(https://lmdb.readthedocs.io/en/release/))
|
||||
- lmdb (Python library U(https://lmdb.readthedocs.io/en/latest/))
|
||||
options:
|
||||
_terms:
|
||||
description: List of keys to query.
|
||||
@@ -46,8 +46,8 @@ EXAMPLES = r"""
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- item == 'Belgium'
|
||||
vars:
|
||||
- lmdb_kv_db: jp.mdb
|
||||
vars:
|
||||
- lmdb_kv_db: jp.mdb
|
||||
with_community.general.lmdb_kv:
|
||||
- be
|
||||
"""
|
||||
|
||||
@@ -226,7 +226,7 @@ def update_flat(module, binary, names, method, no_dependencies):
|
||||
command += installed_flat_names
|
||||
stdout = _flatpak_command(module, module.check_mode, command)
|
||||
result["changed"] = (
|
||||
True if module.check_mode else stdout.find("Nothing to do.") == -1
|
||||
True if module.check_mode else (stdout.find("Nothing to do.") == -1 and stdout.find("Nothing to update.") == -1)
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -145,14 +145,16 @@ EXAMPLES = r"""
|
||||
greedy: true
|
||||
|
||||
- name: Using sudo password for installing cask
|
||||
# ansible_become_password must be set in inventory or group_vars; it is not populated by -K
|
||||
community.general.homebrew_cask:
|
||||
name: wireshark
|
||||
state: present
|
||||
sudo_password: "{{ ansible_become_pass }}"
|
||||
sudo_password: "{{ ansible_become_password }}"
|
||||
"""
|
||||
|
||||
import os
|
||||
import re
|
||||
import shlex
|
||||
import tempfile
|
||||
|
||||
from ansible_collections.community.general.plugins.module_utils.version import LooseVersion
|
||||
@@ -469,17 +471,15 @@ class HomebrewCask(object):
|
||||
rc, out, err = '', '', ''
|
||||
|
||||
with tempfile.NamedTemporaryFile() as sudo_askpass_file:
|
||||
sudo_askpass_file.write(b"#!/bin/sh\n\necho '%s'\n" % to_bytes(self.sudo_password))
|
||||
sudo_askpass_file.write(b"#!/bin/sh\necho %s\n" % to_bytes(shlex.quote(self.sudo_password)))
|
||||
sudo_askpass_file.flush()
|
||||
os.chmod(sudo_askpass_file.name, 0o700)
|
||||
sudo_askpass_file.file.close()
|
||||
|
||||
rc, out, err = self.module.run_command(
|
||||
cmd,
|
||||
environ_update={'SUDO_ASKPASS': sudo_askpass_file.name}
|
||||
)
|
||||
|
||||
self.module.add_cleanup_file(sudo_askpass_file.name)
|
||||
|
||||
return (rc, out, err)
|
||||
# /sudo_password fix --------------------- }}}
|
||||
|
||||
|
||||
@@ -68,7 +68,6 @@ options:
|
||||
type: str
|
||||
required: true
|
||||
notes:
|
||||
- The C(pycdlib) library states it supports Python 2.7 and 3.4+.
|
||||
- The function C(add_file) in pycdlib is designed to overwrite the existing file in ISO with type ISO9660 / Rock Ridge 1.12
|
||||
/ Joliet / UDF. But it does not overwrite the existing file in ISO with Rock Ridge 1.09 / 1.10. So we take workaround
|
||||
"delete the existing file and then add file for ISO with Rock Ridge".
|
||||
|
||||
@@ -34,7 +34,9 @@ options:
|
||||
- List of comma-separated devices to use as physical devices in this volume group.
|
||||
- Required when creating or resizing volume group.
|
||||
- The module runs C(pvcreate) if needed.
|
||||
- O(remove_extra_pvs) controls whether or not unspecified physical devices are removed from the volume group.
|
||||
- This parameter defines the B(desired state) of the physical volumes in the volume group.
|
||||
When the volume group already exists, physical volumes not listed here are removed from it by default.
|
||||
To add physical volumes without removing existing unlisted ones, set O(remove_extra_pvs=false).
|
||||
type: list
|
||||
elements: str
|
||||
pesize:
|
||||
|
||||
@@ -284,7 +284,7 @@ def get_lvm_version(module):
|
||||
rc, out, err = module.run_command([ver_cmd, "version"])
|
||||
if rc != 0:
|
||||
return None
|
||||
m = re.search(r"LVM version:\s+(\d+)\.(\d+)\.(\d+).*(\d{4}-\d{2}-\d{2})", out)
|
||||
m = re.search(r"LVM version:\s+(\d+)\.(\d+)\.(\d+)", out)
|
||||
if not m:
|
||||
return None
|
||||
return mkversion(m.group(1), m.group(2), m.group(3))
|
||||
|
||||
@@ -46,6 +46,9 @@ options:
|
||||
config:
|
||||
description:
|
||||
- 'The config for the instance (for example V({"limits.cpu": "2"})).'
|
||||
- All values in O(config) must be strings, as required by the LXD/Incus API.
|
||||
Using non-string values (such as integers or booleans) will cause an API error.
|
||||
Make sure to quote numeric and boolean values in YAML (for example, use V("2") instead of V(2)).
|
||||
- See U(https://documentation.ubuntu.com/lxd/en/latest/api/#/instances/instance_get).
|
||||
- If the instance already exists and its "config" values in metadata obtained from the LXD API
|
||||
U(https://documentation.ubuntu.com/lxd/en/latest/api/#/instances/instance_get)
|
||||
|
||||
@@ -66,7 +66,7 @@ options:
|
||||
type: str
|
||||
description:
|
||||
- URL for the message sender's icon.
|
||||
default: https://docs.ansible.com/favicon.ico
|
||||
default: https://docs.ansible.com/favicon/favicon.ico
|
||||
priority:
|
||||
type: str
|
||||
description:
|
||||
@@ -139,7 +139,7 @@ def main():
|
||||
text=dict(type='str'),
|
||||
channel=dict(type='str'),
|
||||
username=dict(type='str', default='Ansible'),
|
||||
icon_url=dict(type='str', default='https://docs.ansible.com/favicon.ico'),
|
||||
icon_url=dict(type='str', default='https://docs.ansible.com/favicon/favicon.ico'),
|
||||
priority=dict(type='str', choices=['important', 'urgent']),
|
||||
validate_certs=dict(default=True, type='bool'),
|
||||
attachments=dict(type='list', elements='dict'),
|
||||
|
||||
@@ -370,7 +370,10 @@ def run_module():
|
||||
for query in queries:
|
||||
# Catch and exit on any bad query errors
|
||||
try:
|
||||
cursor.execute(query, sql_params)
|
||||
if sql_params:
|
||||
cursor.execute(query, sql_params)
|
||||
else:
|
||||
cursor.execute(query)
|
||||
qry_result = []
|
||||
rows = cursor.fetchall()
|
||||
while rows:
|
||||
|
||||
@@ -134,8 +134,6 @@ def main():
|
||||
cursor.execute(query, params)
|
||||
else:
|
||||
cursor.execute(query)
|
||||
if commit:
|
||||
cursor.commit()
|
||||
try:
|
||||
# Get the rows out into an 2d array
|
||||
for row in cursor.fetchall():
|
||||
@@ -162,6 +160,8 @@ def main():
|
||||
except Exception as e:
|
||||
module.fail_json(msg="Exception while reading rows: {0}".format(to_native(e)))
|
||||
|
||||
if commit:
|
||||
cursor.commit()
|
||||
cursor.close()
|
||||
except Exception as e:
|
||||
module.fail_json(msg="Failed to execute query: {0}".format(to_native(e)))
|
||||
|
||||
@@ -31,6 +31,8 @@ author:
|
||||
"""
|
||||
|
||||
EXAMPLES = r"""
|
||||
# fmt: console
|
||||
|
||||
ansible webservers -m ohai --tree=/tmp/ohaidata
|
||||
...
|
||||
"""
|
||||
|
||||
@@ -86,7 +86,7 @@ EXAMPLES = r"""
|
||||
|
||||
tasks:
|
||||
- name: Create volume
|
||||
packet_volume:
|
||||
community.general.packet_volume:
|
||||
description: "{{ volname }}"
|
||||
project_id: "{{ project_id }}"
|
||||
facility: ewr1
|
||||
@@ -98,7 +98,7 @@ EXAMPLES = r"""
|
||||
snapshot_frequency: 1day
|
||||
|
||||
- name: Create a device
|
||||
packet_device:
|
||||
community.general.packet_device:
|
||||
project_id: "{{ project_id }}"
|
||||
hostnames: "{{ devname }}"
|
||||
operating_system: ubuntu_16_04
|
||||
|
||||
@@ -63,7 +63,7 @@ options:
|
||||
type: str
|
||||
description:
|
||||
- URL for the message sender's icon.
|
||||
default: "https://docs.ansible.com/favicon.ico"
|
||||
default: "https://docs.ansible.com/favicon/favicon.ico"
|
||||
icon_emoji:
|
||||
type: str
|
||||
description:
|
||||
@@ -226,7 +226,7 @@ def main():
|
||||
msg=dict(type='str'),
|
||||
channel=dict(type='str'),
|
||||
username=dict(type='str', default='Ansible'),
|
||||
icon_url=dict(type='str', default='https://docs.ansible.com/favicon.ico'),
|
||||
icon_url=dict(type='str', default='https://docs.ansible.com/favicon/favicon.ico'),
|
||||
icon_emoji=dict(type='str'),
|
||||
link_names=dict(type='int', default=1, choices=[0, 1]),
|
||||
validate_certs=dict(default=True, type='bool'),
|
||||
|
||||
@@ -279,6 +279,10 @@ def semanage_fcontext_modify(module, result, target, ftype, setype, substitute,
|
||||
if module._diff and prepared_diff:
|
||||
result['diff'] = dict(prepared=prepared_diff)
|
||||
|
||||
if changed and not module.check_mode:
|
||||
# Flush the in-process matchpathcon cache
|
||||
selinux.matchpathcon_fini()
|
||||
|
||||
module.exit_json(changed=changed, seuser=seuser, serange=serange, **result)
|
||||
|
||||
|
||||
@@ -322,6 +326,10 @@ def semanage_fcontext_delete(module, result, target, ftype, setype, substitute,
|
||||
if module._diff and prepared_diff:
|
||||
result['diff'] = dict(prepared=prepared_diff)
|
||||
|
||||
if changed and not module.check_mode:
|
||||
# Flush the in-process matchpathcon cache
|
||||
selinux.matchpathcon_fini()
|
||||
|
||||
module.exit_json(changed=changed, **result)
|
||||
|
||||
|
||||
|
||||
@@ -87,7 +87,7 @@ options:
|
||||
type: str
|
||||
description:
|
||||
- URL for the message sender's icon.
|
||||
default: https://docs.ansible.com/favicon.ico
|
||||
default: https://docs.ansible.com/favicon/favicon.ico
|
||||
icon_emoji:
|
||||
type: str
|
||||
description:
|
||||
@@ -457,7 +457,7 @@ def main():
|
||||
channel=dict(type='str'),
|
||||
thread_id=dict(type='str'),
|
||||
username=dict(type='str', default='Ansible'),
|
||||
icon_url=dict(type='str', default='https://docs.ansible.com/favicon.ico'),
|
||||
icon_url=dict(type='str', default='https://docs.ansible.com/favicon/favicon.ico'),
|
||||
icon_emoji=dict(type='str'),
|
||||
link_names=dict(type='int', default=1, choices=[0, 1]),
|
||||
parse=dict(type='str', choices=['none', 'full']),
|
||||
|
||||
@@ -62,6 +62,11 @@ EXAMPLES = r"""
|
||||
become: true
|
||||
community.general.timezone:
|
||||
name: Asia/Tokyo
|
||||
|
||||
- name: Set timezone and hardware clock to UTC
|
||||
community.general.timezone:
|
||||
name: UTC
|
||||
hwclock: UTC
|
||||
"""
|
||||
|
||||
import errno
|
||||
|
||||
@@ -689,6 +689,16 @@ def set_target_inner(module, tree, xpath, namespaces, attribute, value):
|
||||
module.fail_json(msg="Xpath %s does not reference a node! tree is %s" %
|
||||
(xpath, etree.tostring(tree, pretty_print=True)))
|
||||
|
||||
if not isinstance(value, str):
|
||||
target = ("attribute '{attribute}' at xpath '{xpath}'" if attribute else "element text at xpath '{xpath}'").format(attribute=attribute, xpath=xpath)
|
||||
module.fail_json(
|
||||
msg=(
|
||||
"A non-string value {value!r} was parsed for {target}. ".format(value=value, target=target) +
|
||||
"YAML values for booleans, octals, floats may not yield the string you intended. "
|
||||
"""Quote the value to be explicit, like `value: "yes"`."""
|
||||
)
|
||||
)
|
||||
|
||||
for element in tree.xpath(xpath, namespaces=namespaces):
|
||||
if not attribute:
|
||||
changed = changed or (element.text != value)
|
||||
|
||||
@@ -111,9 +111,9 @@ cmd_echo_tests:
|
||||
check_mode: true
|
||||
expect_error: true # because if result contains rc != 0, ansible assumes error
|
||||
assertions:
|
||||
- test_result.rc == None
|
||||
- test_result.out == None
|
||||
- test_result.err == None
|
||||
- test_result.rc | default(None) == None
|
||||
- test_result.out | default(None) == None
|
||||
- test_result.err | default(None) == None
|
||||
|
||||
- name: set aa and tt value
|
||||
arg_formats:
|
||||
|
||||
@@ -60,6 +60,7 @@
|
||||
- include_tasks: test-remove-element.yml
|
||||
- include_tasks: test-remove-element-nochange.yml
|
||||
- include_tasks: test-set-attribute-value.yml
|
||||
- include_tasks: test-set-attribute-value-boolean.yml
|
||||
- include_tasks: test-set-children-elements.yml
|
||||
- include_tasks: test-set-children-elements-level.yml
|
||||
- include_tasks: test-set-children-elements-value.yml
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
---
|
||||
# Copyright (c) Ansible Project
|
||||
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
# Regression test for https://github.com/ansible-collections/community.general/issues/7171
|
||||
# Passing an unquoted YAML boolean as `value` must now fail with an explicit error.
|
||||
|
||||
- name: Setup test fixture
|
||||
copy:
|
||||
src: fixtures/ansible-xml-beers.xml
|
||||
dest: /tmp/ansible-xml-beers.xml
|
||||
|
||||
|
||||
- name: "Set '/business/rating/@subjective' to boolean false (unquoted YAML boolean) - must fail"
|
||||
xml:
|
||||
path: /tmp/ansible-xml-beers.xml
|
||||
xpath: /business/rating
|
||||
attribute: subjective
|
||||
value: false
|
||||
register: set_attribute_boolean_false
|
||||
ignore_errors: true
|
||||
|
||||
- name: Assert that passing a boolean attribute value raises an error
|
||||
assert:
|
||||
that:
|
||||
- set_attribute_boolean_false is failed
|
||||
- "'was parsed for' in set_attribute_boolean_false.msg"
|
||||
- "'attribute' in set_attribute_boolean_false.msg"
|
||||
|
||||
|
||||
- name: "Set '/business/rating' text content to boolean true (unquoted YAML boolean) - must fail"
|
||||
xml:
|
||||
path: /tmp/ansible-xml-beers.xml
|
||||
xpath: /business/rating
|
||||
value: true
|
||||
register: set_element_boolean_true
|
||||
ignore_errors: true
|
||||
|
||||
- name: Assert that passing a boolean element value raises an error
|
||||
assert:
|
||||
that:
|
||||
- set_element_boolean_true is failed
|
||||
- "'was parsed for' in set_element_boolean_true.msg"
|
||||
- "'element text' in set_element_boolean_true.msg"
|
||||
|
||||
|
||||
- name: "Set '/business/rating/@subjective' to quoted string 'false' - must succeed"
|
||||
xml:
|
||||
path: /tmp/ansible-xml-beers.xml
|
||||
xpath: /business/rating
|
||||
attribute: subjective
|
||||
value: "false"
|
||||
register: set_attribute_string_false
|
||||
|
||||
- name: Assert that passing a quoted string attribute value succeeds
|
||||
assert:
|
||||
that:
|
||||
- set_attribute_string_false is changed
|
||||
@@ -7,14 +7,20 @@ __metaclass__ = type
|
||||
|
||||
from ansible.playbook.task import Task
|
||||
from ansible.executor.task_result import TaskResult
|
||||
from ansible.release import __version__ as ansible_release
|
||||
from ansible_collections.community.internal_test_tools.tests.unit.compat import unittest
|
||||
from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import patch, MagicMock, Mock
|
||||
from ansible_collections.community.general.plugins.callback.elastic import ElasticSource, TaskData
|
||||
from collections import OrderedDict
|
||||
import sys
|
||||
import pytest
|
||||
|
||||
ELASTIC_MINIMUM_PYTHON_VERSION = (3, 6)
|
||||
|
||||
if tuple(int(x) for x in ansible_release.split(".")[:2]) >= (2, 21):
|
||||
# https://github.com/ansible/ansible/issues/86761
|
||||
pytest.skip("Temporarily skipping callback tests for ansible-core >= 2.21", allow_module_level=True)
|
||||
|
||||
|
||||
class TestOpentelemetry(unittest.TestCase):
|
||||
@patch('ansible_collections.community.general.plugins.callback.elastic.socket')
|
||||
|
||||
@@ -5,7 +5,9 @@
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
import pytest
|
||||
from ansible.executor.task_result import TaskResult
|
||||
from ansible.release import __version__ as ansible_release
|
||||
from ansible_collections.community.internal_test_tools.tests.unit.compat import unittest
|
||||
from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import patch, Mock
|
||||
from ansible_collections.community.general.plugins.callback.loganalytics import AzureLogAnalyticsSource
|
||||
@@ -13,6 +15,10 @@ from ansible_collections.community.general.plugins.callback.loganalytics import
|
||||
from datetime import datetime
|
||||
import json
|
||||
|
||||
if tuple(int(x) for x in ansible_release.split(".")[:2]) >= (2, 21):
|
||||
# https://github.com/ansible/ansible/issues/86761
|
||||
pytest.skip("Temporarily skipping callback tests for ansible-core >= 2.21", allow_module_level=True)
|
||||
|
||||
|
||||
class TestAzureLogAnalytics(unittest.TestCase):
|
||||
@patch('ansible_collections.community.general.plugins.callback.loganalytics.socket')
|
||||
|
||||
@@ -8,14 +8,20 @@ __metaclass__ = type
|
||||
|
||||
from ansible.playbook.task import Task
|
||||
from ansible.executor.task_result import TaskResult
|
||||
from ansible.release import __version__ as ansible_release
|
||||
from ansible_collections.community.internal_test_tools.tests.unit.compat import unittest
|
||||
from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import patch, MagicMock, Mock
|
||||
from ansible_collections.community.general.plugins.callback.opentelemetry import OpenTelemetrySource, TaskData
|
||||
from collections import OrderedDict
|
||||
import sys
|
||||
import pytest
|
||||
|
||||
OPENTELEMETRY_MINIMUM_PYTHON_VERSION = (3, 7)
|
||||
|
||||
if tuple(int(x) for x in ansible_release.split(".")[:2]) >= (2, 21):
|
||||
# https://github.com/ansible/ansible/issues/86761
|
||||
pytest.skip("Temporarily skipping callback tests for ansible-core >= 2.21", allow_module_level=True)
|
||||
|
||||
|
||||
class TestOpentelemetry(unittest.TestCase):
|
||||
@patch('ansible_collections.community.general.plugins.callback.opentelemetry.socket')
|
||||
|
||||
@@ -5,7 +5,9 @@
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
import pytest
|
||||
from ansible.executor.task_result import TaskResult
|
||||
from ansible.release import __version__ as ansible_release
|
||||
from ansible_collections.community.internal_test_tools.tests.unit.compat import unittest
|
||||
from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import patch, Mock
|
||||
from ansible_collections.community.general.plugins.callback.splunk import SplunkHTTPCollectorSource
|
||||
@@ -13,6 +15,10 @@ from datetime import datetime
|
||||
|
||||
import json
|
||||
|
||||
if tuple(int(x) for x in ansible_release.split(".")[:2]) >= (2, 21):
|
||||
# https://github.com/ansible/ansible/issues/86761
|
||||
pytest.skip("Temporarily skipping callback tests for ansible-core >= 2.21", allow_module_level=True)
|
||||
|
||||
|
||||
class TestSplunkClient(unittest.TestCase):
|
||||
@patch('ansible_collections.community.general.plugins.callback.splunk.socket')
|
||||
|
||||
Reference in New Issue
Block a user