mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-07 13:52:54 +00:00
Compare commits
44 Commits
11.4.4
...
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 | ||
|
|
2b22a3c60b | ||
|
|
4f418ce747 | ||
|
|
fb26dbfa31 | ||
|
|
4bd1bb8c2a | ||
|
|
a742525c89 | ||
|
|
badfef8070 | ||
|
|
33ed69bc93 | ||
|
|
8736ff46f2 | ||
|
|
543a292f4b | ||
|
|
a93ae0c1ae | ||
|
|
b247603961 | ||
|
|
d91ff5c282 | ||
|
|
c66a43aa27 | ||
|
|
30ac14bfc1 | ||
|
|
d9e48f0488 | ||
|
|
80efe01bbf | ||
|
|
7bfdae02e9 |
@@ -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,16 +156,16 @@ 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 15.3
|
||||
test: macos/15.3
|
||||
- name: macOS 26.3
|
||||
test: macos/26.3
|
||||
- name: RHEL 10.1
|
||||
test: rhel/10.1
|
||||
- name: RHEL 9.7
|
||||
@@ -198,8 +173,9 @@ stages:
|
||||
# TODO: enable this ASAP!
|
||||
# - name: FreeBSD 15.0
|
||||
# test: freebsd/15.0
|
||||
- name: FreeBSD 14.3
|
||||
test: freebsd/14.3
|
||||
# TODO: enable this ASAP!
|
||||
# - name: FreeBSD 14.4
|
||||
# test: freebsd/14.4
|
||||
groups:
|
||||
- 1
|
||||
- 2
|
||||
@@ -212,6 +188,8 @@ stages:
|
||||
parameters:
|
||||
testFormat: 2.20/{0}
|
||||
targets:
|
||||
- name: macOS 15.3
|
||||
test: macos/15.3
|
||||
- name: RHEL 10.1
|
||||
test: rhel/10.1
|
||||
- name: FreeBSD 14.3
|
||||
@@ -236,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
|
||||
@@ -306,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
|
||||
@@ -349,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'
|
||||
@@ -382,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
|
||||
|
||||
4
.github/BOTMETA.yml
vendored
4
.github/BOTMETA.yml
vendored
@@ -1592,7 +1592,7 @@ macros:
|
||||
plugin_utils: plugins/plugin_utils
|
||||
tests: plugins/test
|
||||
team_ansible_core:
|
||||
team_aix: MorrisA bcoca d-little flynn1973 gforster kairoaraujo marvin-sinister mator molekuul ramooncamacho wtcross
|
||||
team_aix: MorrisA bcoca d-little flynn1973 gforster kairoaraujo marvin-sinister molekuul ramooncamacho wtcross
|
||||
team_bsd: JoergFiedler MacLemon bcoca dch jasperla mekanix opoplawski overhacked tuxillo
|
||||
team_consul: sgargan apollo13 Ilgmi
|
||||
team_cyberark_conjur: jvanderhoof ryanprior
|
||||
@@ -1614,7 +1614,7 @@ macros:
|
||||
team_redfish: mraineri tomasg2012 xmadsen renxulei rajeevkallur bhavya06 jyundt
|
||||
team_rhsm: cnsnyder ptoscano
|
||||
team_scaleway: remyleone abarbare
|
||||
team_solaris: bcoca fishman jasperla jpdasma mator scathatheworm troy2914 xen0l
|
||||
team_solaris: bcoca fishman jasperla jpdasma scathatheworm troy2914 xen0l
|
||||
team_suse: commel evrardjp lrupp AnderEnder alxgu andytom sealor
|
||||
team_virt: joshainglis karmab Thulium-Drake Ajpantuso
|
||||
team_wdc: mikemoerk
|
||||
|
||||
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: >-
|
||||
|
||||
150
CHANGELOG.md
150
CHANGELOG.md
@@ -2,67 +2,76 @@
|
||||
|
||||
**Topics**
|
||||
|
||||
- <a href="#v11-4-4">v11\.4\.4</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-3">v11\.4\.3</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-2">v11\.4\.2</a>
|
||||
- <a href="#v11-4-5">v11\.4\.5</a>
|
||||
- <a href="#release-summary-2">Release Summary</a>
|
||||
- <a href="#minor-changes">Minor Changes</a>
|
||||
- <a href="#bugfixes-2">Bugfixes</a>
|
||||
- <a href="#v11-4-1">v11\.4\.1</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-3">v11\.4\.3</a>
|
||||
- <a href="#release-summary-4">Release Summary</a>
|
||||
- <a href="#bugfixes-4">Bugfixes</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-3">Bugfixes</a>
|
||||
- <a href="#bugfixes-6">Bugfixes</a>
|
||||
- <a href="#v11-4-0">v11\.4\.0</a>
|
||||
- <a href="#release-summary-4">Release Summary</a>
|
||||
- <a href="#release-summary-7">Release Summary</a>
|
||||
- <a href="#minor-changes-2">Minor Changes</a>
|
||||
- <a href="#bugfixes-4">Bugfixes</a>
|
||||
- <a href="#bugfixes-7">Bugfixes</a>
|
||||
- <a href="#v11-3-0">v11\.3\.0</a>
|
||||
- <a href="#release-summary-5">Release Summary</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-5">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-6">Release Summary</a>
|
||||
- <a href="#bugfixes-6">Bugfixes</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-7">Release Summary</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-7">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-8">Release Summary</a>
|
||||
- <a href="#release-summary-11">Release Summary</a>
|
||||
- <a href="#minor-changes-5">Minor Changes</a>
|
||||
- <a href="#bugfixes-8">Bugfixes</a>
|
||||
- <a href="#bugfixes-11">Bugfixes</a>
|
||||
- <a href="#v11-1-1">v11\.1\.1</a>
|
||||
- <a href="#release-summary-9">Release Summary</a>
|
||||
- <a href="#release-summary-12">Release Summary</a>
|
||||
- <a href="#minor-changes-6">Minor Changes</a>
|
||||
- <a href="#bugfixes-9">Bugfixes</a>
|
||||
- <a href="#bugfixes-12">Bugfixes</a>
|
||||
- <a href="#v11-1-0">v11\.1\.0</a>
|
||||
- <a href="#release-summary-10">Release Summary</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-10">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-11">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-11">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>
|
||||
@@ -73,8 +82,8 @@
|
||||
- <a href="#new-modules-3">New Modules</a>
|
||||
This changelog describes changes after version 10\.0\.0\.
|
||||
|
||||
<a id="v11-4-4"></a>
|
||||
## v11\.4\.4
|
||||
<a id="v11-4-7"></a>
|
||||
## v11\.4\.7
|
||||
|
||||
<a id="release-summary"></a>
|
||||
### Release Summary
|
||||
@@ -84,11 +93,14 @@ Regular bugfix release\.
|
||||
<a id="bugfixes"></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)\)\.
|
||||
* 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-3"></a>
|
||||
## v11\.4\.3
|
||||
<a id="v11-4-6"></a>
|
||||
## v11\.4\.6
|
||||
|
||||
<a id="release-summary-1"></a>
|
||||
### Release Summary
|
||||
@@ -98,6 +110,48 @@ Regular bugfix release\.
|
||||
<a id="bugfixes-1"></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)\)\.
|
||||
|
||||
<a id="v11-4-5"></a>
|
||||
## v11\.4\.5
|
||||
|
||||
<a id="release-summary-2"></a>
|
||||
### Release Summary
|
||||
|
||||
Regular bugfix release\.
|
||||
|
||||
<a id="bugfixes-2"></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)\)\.
|
||||
|
||||
<a id="v11-4-4"></a>
|
||||
## v11\.4\.4
|
||||
|
||||
<a id="release-summary-3"></a>
|
||||
### Release Summary
|
||||
|
||||
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)\)\.
|
||||
@@ -106,7 +160,7 @@ Regular bugfix release\.
|
||||
<a id="v11-4-2"></a>
|
||||
## v11\.4\.2
|
||||
|
||||
<a id="release-summary-2"></a>
|
||||
<a id="release-summary-5"></a>
|
||||
### Release Summary
|
||||
|
||||
Regular bugfix release\.
|
||||
@@ -116,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-2"></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)\)\.
|
||||
@@ -129,7 +183,7 @@ Regular bugfix release\.
|
||||
<a id="v11-4-1"></a>
|
||||
## v11\.4\.1
|
||||
|
||||
<a id="release-summary-3"></a>
|
||||
<a id="release-summary-6"></a>
|
||||
### Release Summary
|
||||
|
||||
Regular bugfix release\.
|
||||
@@ -148,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-3"></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)\)\.
|
||||
@@ -164,7 +218,7 @@ Regular bugfix release\.
|
||||
<a id="v11-4-0"></a>
|
||||
## v11\.4\.0
|
||||
|
||||
<a id="release-summary-4"></a>
|
||||
<a id="release-summary-7"></a>
|
||||
### Release Summary
|
||||
|
||||
Regular bugfix and feature release\.
|
||||
@@ -179,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-4"></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)\)\.
|
||||
@@ -196,7 +250,7 @@ Regular bugfix and feature release\.
|
||||
<a id="v11-3-0"></a>
|
||||
## v11\.3\.0
|
||||
|
||||
<a id="release-summary-5"></a>
|
||||
<a id="release-summary-8"></a>
|
||||
### Release Summary
|
||||
|
||||
Regular bugfix and feature release\.
|
||||
@@ -257,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-5"></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)\)\.
|
||||
@@ -284,12 +338,12 @@ Regular bugfix and feature release\.
|
||||
<a id="v11-2-1"></a>
|
||||
## v11\.2\.1
|
||||
|
||||
<a id="release-summary-6"></a>
|
||||
<a id="release-summary-9"></a>
|
||||
### Release Summary
|
||||
|
||||
Bugfix release\.
|
||||
|
||||
<a id="bugfixes-6"></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)\)\.
|
||||
@@ -301,7 +355,7 @@ Bugfix release\.
|
||||
<a id="v11-2-0"></a>
|
||||
## v11\.2\.0
|
||||
|
||||
<a id="release-summary-7"></a>
|
||||
<a id="release-summary-10"></a>
|
||||
### Release Summary
|
||||
|
||||
Regular bugfix and features release\.
|
||||
@@ -344,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-7"></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)\)\.
|
||||
@@ -368,7 +422,7 @@ Regular bugfix and features release\.
|
||||
<a id="v11-1-2"></a>
|
||||
## v11\.1\.2
|
||||
|
||||
<a id="release-summary-8"></a>
|
||||
<a id="release-summary-11"></a>
|
||||
### Release Summary
|
||||
|
||||
Bugfix release\.
|
||||
@@ -507,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-8"></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)\)\.
|
||||
@@ -521,7 +575,7 @@ Bugfix release\.
|
||||
<a id="v11-1-1"></a>
|
||||
## v11\.1\.1
|
||||
|
||||
<a id="release-summary-9"></a>
|
||||
<a id="release-summary-12"></a>
|
||||
### Release Summary
|
||||
|
||||
Bugfix release for the next Ansible 12 pre\-release\.
|
||||
@@ -557,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-9"></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)\)\.
|
||||
@@ -575,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-10"></a>
|
||||
<a id="release-summary-13"></a>
|
||||
### Release Summary
|
||||
|
||||
Regular bugfix and feature release\.
|
||||
@@ -635,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-10"></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)\)\.
|
||||
@@ -661,7 +715,7 @@ Regular bugfix and feature release\.
|
||||
<a id="v11-0-0"></a>
|
||||
## v11\.0\.0
|
||||
|
||||
<a id="release-summary-11"></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\.
|
||||
@@ -1060,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-11"></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,51 @@ 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
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
Regular bugfix release.
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- counter_enabled callback plugin - fix plugin not observing ``display_ok_hosts`` option (https://github.com/ansible-collections/community.general/issues/3978, https://github.com/ansible-collections/community.general/pull/11656).
|
||||
- keycloak_authentication - fix ``TypeError`` crash when a flow is defined without ``authenticationExecutions`` (https://github.com/ansible-collections/community.general/issues/11547, https://github.com/ansible-collections/community.general/pull/11548).
|
||||
- xfconf - representation of boolean properties was not consistent between Python and ``xfconf-query``, leading to broken idempotency (https://github.com/ansible-collections/community.general/pull/11645).
|
||||
|
||||
v11.4.5
|
||||
=======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
Regular bugfix release.
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- python_requirements_info - use ``importlib.metadata`` if ``pkg_resources`` from ``setuptools`` 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/pull/11492).
|
||||
|
||||
v11.4.4
|
||||
=======
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -1917,3 +1917,60 @@ releases:
|
||||
- 11377-cloudflare_dns-caa.yml
|
||||
- 11440-logstash-plugin-fix-version-argument-order.yml
|
||||
release_date: '2026-01-26'
|
||||
11.4.5:
|
||||
changes:
|
||||
bugfixes:
|
||||
- python_requirements_info - use ``importlib.metadata`` if ``pkg_resources``
|
||||
from ``setuptools`` 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/pull/11492).
|
||||
release_summary: Regular bugfix release.
|
||||
fragments:
|
||||
- 11.4.5.yml
|
||||
- 11492-python_requires_info.yml
|
||||
release_date: '2026-02-23'
|
||||
11.4.6:
|
||||
changes:
|
||||
bugfixes:
|
||||
- counter_enabled callback plugin - fix plugin not observing ``display_ok_hosts``
|
||||
option (https://github.com/ansible-collections/community.general/issues/3978,
|
||||
https://github.com/ansible-collections/community.general/pull/11656).
|
||||
- keycloak_authentication - fix ``TypeError`` crash when a flow is defined
|
||||
without ``authenticationExecutions`` (https://github.com/ansible-collections/community.general/issues/11547,
|
||||
https://github.com/ansible-collections/community.general/pull/11548).
|
||||
- xfconf - representation of boolean properties was not consistent between
|
||||
Python and ``xfconf-query``, leading to broken idempotency (https://github.com/ansible-collections/community.general/pull/11645).
|
||||
release_summary: Regular bugfix release.
|
||||
fragments:
|
||||
- 11.4.6.yml
|
||||
- 11645-xfconf-bool.yml
|
||||
- 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).
|
||||
@@ -12,7 +12,7 @@ The inventory plugin :ansplugin:`community.general.iocage#inventory` gets the in
|
||||
|
||||
See:
|
||||
|
||||
* `iocage - A FreeBSD Jail Manager <https://iocage.readthedocs.io/en/latest>`_
|
||||
* `iocage - A FreeBSD Jail Manager <https://freebsd.github.io/iocage/>`_
|
||||
* `man iocage <https://man.freebsd.org/cgi/man.cgi?query=iocage>`_
|
||||
* `Jails and Containers <https://docs.freebsd.org/en/books/handbook/jails>`_
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ As root at the iocage host, create three VNET jails with a DHCP interface from t
|
||||
shell> iocage create --template ansible_client --name srv_3 bpf=1 dhcp=1 vnet=1
|
||||
srv_3 successfully created!
|
||||
|
||||
See: `Configuring a VNET Jail <https://iocage.readthedocs.io/en/latest/networking.html#configuring-a-vnet-jail>`_.
|
||||
See: `Configuring VNET <https://freebsd.github.io/iocage/networking.html#vimage-vnet>`_.
|
||||
|
||||
As admin at the controller, list the jails:
|
||||
|
||||
@@ -115,7 +115,7 @@ Optionally, create shared IP jails:
|
||||
| None | srv_3 | off | down | jail | 14.2-RELEASE-p3 | em0|10.1.0.103/24 | - | ansible_client | no |
|
||||
+------+-------+------+-------+------+-----------------+-------------------+-----+----------------+----------+
|
||||
|
||||
See: `Configuring a Shared IP Jail <https://iocage.readthedocs.io/en/latest/networking.html#configuring-a-shared-ip-jail>`_
|
||||
See: `Configuring a Shared IP Jail <https://freebsd.github.io/iocage/networking.html#shared-ip>`_
|
||||
|
||||
If iocage needs environment variable(s), use the option :ansopt:`community.general.iocage#inventory:env`. For example,
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
namespace: community
|
||||
name: general
|
||||
version: 11.4.4
|
||||
version: 11.4.8
|
||||
readme: README.md
|
||||
authors:
|
||||
- Ansible (https://github.com/ansible)
|
||||
|
||||
@@ -164,6 +164,8 @@ class CallbackModule(CallbackBase):
|
||||
msg = f"changed: {self._host_counter}/{self._host_total} [{result._host.get_name()}]"
|
||||
color = C.COLOR_CHANGED
|
||||
else:
|
||||
if not self._plugin_options.get("display_ok_hosts", True):
|
||||
return
|
||||
if delegated_vars:
|
||||
msg = f"ok: {self._host_counter}/{self._host_total} [{result._host.get_name()} -> {delegated_vars['ansible_host']}]"
|
||||
else:
|
||||
|
||||
@@ -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".
|
||||
|
||||
@@ -265,7 +265,7 @@ def create_or_update_executions(kc, config, realm='master'):
|
||||
after = ""
|
||||
before = ""
|
||||
execution = None
|
||||
if "authenticationExecutions" in config:
|
||||
if config.get("authenticationExecutions") is not None:
|
||||
# Get existing executions on the Keycloak server for this alias
|
||||
existing_executions = kc.get_executions_representation(config, realm=realm)
|
||||
for new_exec_index, new_exec in enumerate(config["authenticationExecutions"], start=0):
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -123,15 +123,25 @@ import re
|
||||
import sys
|
||||
import operator
|
||||
|
||||
HAS_DISTUTILS = False
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
|
||||
from ansible_collections.community.general.plugins.module_utils.version import LooseVersion
|
||||
|
||||
HAS_IMPORTLIB_METADATA = False
|
||||
try:
|
||||
import pkg_resources
|
||||
from ansible_collections.community.general.plugins.module_utils.version import LooseVersion
|
||||
HAS_DISTUTILS = True
|
||||
import importlib.metadata
|
||||
|
||||
HAS_IMPORTLIB_METADATA = True
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
HAS_DISTUTILS = False
|
||||
try:
|
||||
import pkg_resources
|
||||
|
||||
HAS_DISTUTILS = True
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
operations = {
|
||||
'<=': operator.le,
|
||||
@@ -157,9 +167,9 @@ def main():
|
||||
),
|
||||
supports_check_mode=True,
|
||||
)
|
||||
if not HAS_DISTUTILS:
|
||||
if not HAS_DISTUTILS and not HAS_IMPORTLIB_METADATA:
|
||||
module.fail_json(
|
||||
msg='Could not import "distutils" and "pkg_resources" libraries to introspect python environment.',
|
||||
msg='Could not import "pkg_resources" or "importlib.metadata" libraries to introspect Python environment.',
|
||||
python=sys.executable,
|
||||
python_version=sys.version,
|
||||
python_version_info=python_version_info,
|
||||
@@ -180,12 +190,20 @@ def main():
|
||||
pkg, op, version = match.groups()
|
||||
if op is not None and op not in operations:
|
||||
module.fail_json(msg="Failed to parse version requirement '{0}'. Operator must be one of >, <, <=, >=, or ==".format(dep))
|
||||
try:
|
||||
existing = pkg_resources.get_distribution(pkg).version
|
||||
except pkg_resources.DistributionNotFound:
|
||||
# not there
|
||||
results['not_found'].append(pkg)
|
||||
continue
|
||||
if HAS_DISTUTILS:
|
||||
try:
|
||||
existing = pkg_resources.get_distribution(pkg).version
|
||||
except pkg_resources.DistributionNotFound:
|
||||
# not there
|
||||
results['not_found'].append(pkg)
|
||||
continue
|
||||
else:
|
||||
try:
|
||||
existing = importlib.metadata.version(pkg)
|
||||
except importlib.metadata.PackageNotFoundError:
|
||||
# not there
|
||||
results['not_found'].append(pkg)
|
||||
continue
|
||||
if op is None and version is None:
|
||||
results['valid'][pkg] = {
|
||||
'installed': existing,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -176,6 +176,8 @@ version:
|
||||
version_added: 10.2.0
|
||||
"""
|
||||
|
||||
from ansible.module_utils.parsing.convert_bool import boolean
|
||||
|
||||
from ansible_collections.community.general.plugins.module_utils.module_helper import StateModuleHelper
|
||||
from ansible_collections.community.general.plugins.module_utils.xfconf import xfconf_runner, get_xfconf_version
|
||||
|
||||
@@ -238,9 +240,6 @@ class XFConfProperty(StateModuleHelper):
|
||||
self.vars.value = None
|
||||
|
||||
def state_present(self):
|
||||
# stringify all values - in the CLI they will all be happy strings anyway
|
||||
# and by doing this here the rest of the code can be agnostic to it
|
||||
self.vars.value = [str(v) for v in self.vars.value]
|
||||
value_type = self.vars.value_type
|
||||
|
||||
values_len = len(self.vars.value)
|
||||
@@ -253,6 +252,14 @@ class XFConfProperty(StateModuleHelper):
|
||||
# or complain if lists' lengths are different
|
||||
self.do_raise('Number of elements in "value" and "value_type" must be the same')
|
||||
|
||||
# stringify all values - in the CLI they will all be happy strings anyway
|
||||
# and by doing this here the rest of the code can be agnostic to it
|
||||
# bool values are normalized to 'true'/'false' to match xfconf-query output format
|
||||
self.vars.value = [
|
||||
("true" if boolean(v) else "false") if vt == "bool" else str(v)
|
||||
for v, vt in zip(self.vars.value, value_type)
|
||||
]
|
||||
|
||||
# calculates if it is an array
|
||||
self.vars.is_array = \
|
||||
bool(self.vars.force_array) or \
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -52,9 +52,11 @@
|
||||
- name: Symlink java
|
||||
become: true
|
||||
file:
|
||||
src: "/usr/local/opt/openjdk@17/libexec/openjdk.jdk"
|
||||
src: "{{ brew_prefix }}/opt/openjdk@17/libexec/openjdk.jdk"
|
||||
dest: "/Library/Java/JavaVirtualMachines/openjdk-17.jdk"
|
||||
state: link
|
||||
vars:
|
||||
brew_prefix: "{{ lookup('pipe', 'brew --prefix') }}"
|
||||
when:
|
||||
- ansible_os_family == 'Darwin'
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -10,19 +10,10 @@
|
||||
become: true
|
||||
when: ansible_distribution == 'Fedora'
|
||||
|
||||
- block:
|
||||
- name: Activate flatpak ppa on Ubuntu
|
||||
apt_repository:
|
||||
repo: ppa:alexlarsson/flatpak
|
||||
state: present
|
||||
mode: '0644'
|
||||
when: ansible_lsb.major_release | int < 18
|
||||
|
||||
- name: Install flatpak package on Ubuntu
|
||||
apt:
|
||||
name: flatpak
|
||||
state: present
|
||||
|
||||
- name: Install flatpak package on Ubuntu
|
||||
apt:
|
||||
name: flatpak
|
||||
state: present
|
||||
when: ansible_distribution == 'Ubuntu'
|
||||
|
||||
- name: Install dummy remote for user
|
||||
|
||||
@@ -8,17 +8,10 @@
|
||||
name: flatpak
|
||||
state: present
|
||||
when: ansible_distribution == 'Fedora'
|
||||
- block:
|
||||
- name: Activate flatpak ppa on Ubuntu versions older than 18.04/bionic
|
||||
apt_repository:
|
||||
repo: ppa:alexlarsson/flatpak
|
||||
state: present
|
||||
mode: '0644'
|
||||
when: ansible_lsb.major_release | int < 18
|
||||
- name: Install flatpak package on Ubuntu
|
||||
apt:
|
||||
name: flatpak
|
||||
state: present
|
||||
- name: Install flatpak package on Ubuntu
|
||||
apt:
|
||||
name: flatpak
|
||||
state: present
|
||||
when: ansible_distribution == 'Ubuntu'
|
||||
- name: Install flatpak remote for testing check mode
|
||||
flatpak_remote:
|
||||
|
||||
@@ -8,12 +8,21 @@
|
||||
# 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
|
||||
|
||||
- name: ensure iptables package is installed
|
||||
- name: ensure iptables package is installed (non-RHEL)
|
||||
package:
|
||||
name:
|
||||
- iptables
|
||||
become: true
|
||||
when: not (ansible_facts.distribution == 'RedHat' and ansible_facts.distribution_major_version|int >= 10)
|
||||
|
||||
- name: ensure iptables package is installed (RHEL 10+)
|
||||
package:
|
||||
name:
|
||||
- "kernel-modules-extra-matched-{{ ansible_facts.kernel }}"
|
||||
- "iptables-nft"
|
||||
- "kernel-modules-extra-{{ ansible_facts.kernel }}"
|
||||
become: true
|
||||
when: ansible_facts.distribution == 'RedHat' and ansible_facts.distribution_major_version|int >= 10
|
||||
|
||||
- name: include tasks
|
||||
vars:
|
||||
|
||||
@@ -272,7 +272,7 @@
|
||||
assert:
|
||||
that:
|
||||
- iptables_state is failed
|
||||
- "iptables_state.msg == 'Table mangle to restore not defined in {{ iptables_tests }}'"
|
||||
- "iptables_state.msg == ('Table mangle to restore not defined in ' ~ iptables_tests)"
|
||||
success_msg: >-
|
||||
The previous error has been triggered by trying to restore a table
|
||||
that is missing in the file provided to iptables-restore.
|
||||
|
||||
@@ -26,4 +26,5 @@ skip/freebsd14.0 # FIXME
|
||||
skip/freebsd14.1 # FIXME
|
||||
skip/freebsd14.2 # FIXME
|
||||
skip/freebsd14.3 # FIXME
|
||||
skip/freebsd14.4 # FIXME
|
||||
skip/freebsd15.0 # FIXME
|
||||
|
||||
@@ -9,6 +9,11 @@
|
||||
dest: "{{ launchd_plist_location }}"
|
||||
become: true
|
||||
|
||||
- name: ensure target directory exists
|
||||
file:
|
||||
path: /usr/local/sbin
|
||||
state: directory
|
||||
|
||||
- name: install the test daemon script
|
||||
copy:
|
||||
src: ansible_test_service.py
|
||||
|
||||
@@ -45,16 +45,37 @@
|
||||
ansible.builtin.get_url:
|
||||
url: https://packages.gopass.pw/repos/gopass/gopass-archive-keyring.gpg
|
||||
dest: /usr/share/keyrings/gopass-archive-keyring.gpg
|
||||
- name: Add gopass repo
|
||||
ansible.builtin.apt_repository:
|
||||
repo: "deb [arch=amd64,arm64,armhf \
|
||||
signed-by=/usr/share/keyrings/gopass-archive-keyring.gpg] \
|
||||
https://packages.gopass.pw/repos/gopass stable main"
|
||||
- name: Make sure python3-debian is installed
|
||||
ansible.builtin.apt:
|
||||
name: python3-debian
|
||||
state: present
|
||||
- name: Update apt-cache and install gopass package
|
||||
- name: Add gopass repo
|
||||
ansible.builtin.deb822_repository:
|
||||
name: gopass
|
||||
types: deb
|
||||
architectures:
|
||||
- amd64
|
||||
- arm64
|
||||
- armhf
|
||||
signed_by: /usr/share/keyrings/gopass-archive-keyring.gpg
|
||||
uris:
|
||||
- https://packages.gopass.pw/repos/gopass
|
||||
suites:
|
||||
- stable
|
||||
components:
|
||||
- main
|
||||
state: present
|
||||
register: apt_repo
|
||||
|
||||
- name: Update apt cache
|
||||
ansible.builtin.apt:
|
||||
update_cache: true
|
||||
when: apt_repo is changed
|
||||
|
||||
- name: Install gopass package
|
||||
ansible.builtin.apt:
|
||||
name: gopass
|
||||
update_cache: true
|
||||
state: present
|
||||
|
||||
- name: Install on macOS
|
||||
when: ansible_facts.distribution == 'MacOSX'
|
||||
|
||||
@@ -25,8 +25,9 @@
|
||||
- include_tasks: run.yml
|
||||
vars:
|
||||
nodejs_version: '{{ item }}'
|
||||
nodejs_path: 'node-v{{ nodejs_version }}-{{ ansible_system|lower }}-x{{ ansible_userspace_bits }}'
|
||||
nodejs_path: 'node-v{{ nodejs_version }}-{{ ansible_facts.system|lower }}-{{ nodejs_arch }}'
|
||||
nodejs_arch: '{{ "x64" if ansible_architecture == "x86_64" else "arm64" if ansible_architecture in ("arm64", "aarch64") else ansible_architecture }}'
|
||||
nodejs_ext: '{{ ".tar.xz" if ansible_system == "Linux" else ".tar.gz" }}'
|
||||
nodejs_download: 'https://nodejs.org/dist/v{{ nodejs_version }}/{{ nodejs_path }}{{ nodejs_ext }}'
|
||||
with_items:
|
||||
- 7.10.1 # provides npm 4.2.0 (last npm < 5 released)
|
||||
- 8.0.0 # provides npm 5.0.0
|
||||
- 8.2.0 # provides npm 5.3.0 (output change with this version)
|
||||
- 16.20.2 # oldest node version with macOS arm64 support
|
||||
|
||||
@@ -3,9 +3,13 @@
|
||||
# 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
|
||||
|
||||
- name: 'Download NPM'
|
||||
- name: Show Node.js Download URL
|
||||
debug:
|
||||
var: nodejs_download
|
||||
|
||||
- name: Download Node.js
|
||||
unarchive:
|
||||
src: 'https://ansible-ci-files.s3.amazonaws.com/test/integration/targets/npm/{{ nodejs_path }}.tar.gz'
|
||||
src: '{{ nodejs_download }}'
|
||||
dest: '{{ remote_tmp_dir }}'
|
||||
remote_src: true
|
||||
creates: '{{ remote_tmp_dir }}/{{ nodejs_path }}.tar.gz'
|
||||
|
||||
@@ -16,14 +16,37 @@
|
||||
- ndg-httpsclient
|
||||
- pyasn1
|
||||
|
||||
- name: Add InfluxDB public GPG key
|
||||
apt_key: url=https://repos.influxdata.com/influxdb.key state=present
|
||||
- name: Make sure python3-debian is installed
|
||||
ansible.builtin.apt:
|
||||
name: python3-debian
|
||||
state: present
|
||||
|
||||
- name: Add InfluxDB repository
|
||||
apt_repository: repo='deb https://repos.influxdata.com/ubuntu trusty stable' filename='influxdb' state=present update_cache=yes
|
||||
ansible.builtin.deb822_repository:
|
||||
update_cache: true
|
||||
name: influxdb
|
||||
types: deb
|
||||
signed_by: https://repos.influxdata.com/influxdb.key
|
||||
uris:
|
||||
- https://repos.influxdata.com/ubuntu
|
||||
suites:
|
||||
- trusty
|
||||
components:
|
||||
- stable
|
||||
state: present
|
||||
register: apt_repo
|
||||
|
||||
- name: Update apt cache
|
||||
ansible.builtin.apt:
|
||||
update_cache: true
|
||||
when: apt_repo is changed
|
||||
|
||||
- name: Install InfluxDB
|
||||
apt: name=influxdb state=latest
|
||||
ansible.builtin.apt:
|
||||
name: influxdb
|
||||
state: latest
|
||||
|
||||
- name: Start InfluxDB service
|
||||
service: name=influxdb state=started
|
||||
ansible.builtin.service:
|
||||
name: influxdb
|
||||
state: started
|
||||
|
||||
@@ -7,4 +7,3 @@ destructive
|
||||
skip/aix
|
||||
skip/rhel # TODO executables are installed in /usr/local/bin, which isn't part of $PATH
|
||||
skip/macos # TODO executables are installed in /Library/Frameworks/Python.framework/Versions/3.11/bin, which isn't part of $PATH
|
||||
unstable # TODO fix!
|
||||
|
||||
@@ -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
|
||||
@@ -14,10 +14,12 @@
|
||||
- include_tasks: run.yml
|
||||
vars:
|
||||
nodejs_version: '{{ item.node_version }}'
|
||||
nodejs_path: 'node-v{{ nodejs_version }}-{{ ansible_system|lower }}-x{{ ansible_userspace_bits }}'
|
||||
nodejs_path: 'node-v{{ nodejs_version }}-{{ ansible_facts.system|lower }}-{{ nodejs_arch }}'
|
||||
nodejs_arch: '{{ "x64" if ansible_architecture == "x86_64" else "arm64" if ansible_architecture in ("arm64", "aarch64") else ansible_architecture }}'
|
||||
nodejs_ext: '{{ ".tar.xz" if ansible_system == "Linux" else ".tar.gz" }}'
|
||||
nodejs_download: 'https://nodejs.org/dist/v{{ nodejs_version }}/{{ nodejs_path }}{{ nodejs_ext }}'
|
||||
yarn_version: '{{ item.yarn_version }}'
|
||||
with_items:
|
||||
- {node_version: 4.8.0, yarn_version: 1.6.0} # Lowest compatible nodejs version
|
||||
- {node_version: 8.0.0, yarn_version: 1.6.0}
|
||||
- {node_version: 16.20.2, yarn_version: 1.22.22} # oldest node version with macOS arm64 support
|
||||
when:
|
||||
- not (ansible_os_family == 'Alpine') # TODO
|
||||
|
||||
@@ -8,16 +8,20 @@
|
||||
path: /usr/local/lib/nodejs
|
||||
state: directory
|
||||
|
||||
- name: 'Download Nodejs'
|
||||
- name: Show Node.js Download URL
|
||||
debug:
|
||||
var: nodejs_download
|
||||
|
||||
- name: Download Node.js
|
||||
unarchive:
|
||||
src: 'https://ansible-ci-files.s3.amazonaws.com/test/integration/targets/yarn/{{ nodejs_path }}.tar.gz'
|
||||
src: '{{ nodejs_download }}'
|
||||
dest: '{{ remote_tmp_dir }}'
|
||||
remote_src: true
|
||||
creates: '{{ remote_tmp_dir }}/{{ nodejs_path }}.tar.gz'
|
||||
|
||||
- name: 'Download Yarn'
|
||||
unarchive:
|
||||
src: 'https://ansible-ci-files.s3.amazonaws.com/test/integration/targets/yarn/yarn-v{{yarn_version}}.tar.gz'
|
||||
src: 'https://github.com/yarnpkg/yarn/releases/download/v{{yarn_version}}/yarn-v{{yarn_version}}.tar.gz'
|
||||
dest: '{{ remote_tmp_dir }}'
|
||||
remote_src: true
|
||||
creates: '{{ remote_tmp_dir }}/yarn-v{{yarn_version}}_pkg.tar.gz'
|
||||
|
||||
@@ -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')
|
||||
|
||||
@@ -79,6 +79,36 @@ test_cases:
|
||||
rc: 0
|
||||
out: ''
|
||||
err: ''
|
||||
- id: test_property_set_property_bool_same_value
|
||||
input:
|
||||
channel: xfce4-session
|
||||
property: /general/SaveOnExit
|
||||
state: present
|
||||
value_type: bool
|
||||
value: false
|
||||
output:
|
||||
changed: false
|
||||
previous_value: 'false'
|
||||
type: bool
|
||||
value: 'false'
|
||||
version: 4.18.1
|
||||
mocks:
|
||||
run_command:
|
||||
- command: [/testbin/xfconf-query, --version]
|
||||
environ: *env-def
|
||||
rc: 0
|
||||
out: *version-output
|
||||
err: ''
|
||||
- command: [/testbin/xfconf-query, --channel, xfce4-session, --property, /general/SaveOnExit]
|
||||
environ: *env-def
|
||||
rc: 0
|
||||
out: "false\n"
|
||||
err: ''
|
||||
- command: [/testbin/xfconf-query, --channel, xfce4-session, --property, /general/SaveOnExit, --create, --type, bool, --set, 'false']
|
||||
environ: *env-def
|
||||
rc: 0
|
||||
out: ''
|
||||
err: ''
|
||||
- id: test_property_set_property_bool_false
|
||||
input:
|
||||
channel: xfce4-session
|
||||
@@ -90,7 +120,7 @@ test_cases:
|
||||
changed: true
|
||||
previous_value: 'true'
|
||||
type: bool
|
||||
value: 'False'
|
||||
value: 'false'
|
||||
version: 4.18.1
|
||||
mocks:
|
||||
run_command:
|
||||
|
||||
Reference in New Issue
Block a user