mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-08-05 05:34:22 -07:00
Compare commits
285 commits
Author | SHA1 | Date | |
---|---|---|---|
|
2ffbfef2ff | ||
|
b23eb4babd |
||
|
56a906e42b |
||
|
0361154ff3 |
||
|
d1f7752b57 |
||
|
c6e557b1ec | ||
|
ec183626e5 |
||
|
af762a4c4e | ||
|
124246b763 | ||
|
cb4b8bc3cc |
||
|
c7773afebf |
||
|
ae8015667c |
||
|
e98daa9f39 |
||
|
6f3cfd3385 |
||
|
015496fa9e |
||
|
f44697016f |
||
|
0bc4970953 |
||
|
4dd76284e9 |
||
|
a66b9fc5c9 |
||
|
87d63c5bed |
||
|
e1d229f2c5 |
||
|
7506742c38 |
||
|
c64705474d |
||
|
b8968c5c1c | ||
|
1ccfc3b821 |
||
|
595c105a29 |
||
|
e120c64a21 |
||
|
8031011497 |
||
|
961ba0ddcc |
||
|
5d094c3bf3 |
||
|
19b6f9ef3f |
||
|
3dd1c9d64a |
||
|
f9086b4680 |
||
|
861cbc29be |
||
|
3f5445274c |
||
|
f9ee387f68 |
||
|
aa3a43cfa8 |
||
|
988d760372 |
||
|
f78c1b304c |
||
|
1e3a825e16 |
||
|
34fe33163b |
||
|
396eb1d7e4 |
||
|
baef8580ec | ||
|
d8505bd8d9 | ||
|
aa0df4d81d |
||
|
c349861190 |
||
|
a853e561f1 |
||
|
1d9367ebea |
||
|
f1cf0c1949 |
||
|
5b26e09319 | ||
|
3cc5a5bc8d |
||
|
cd0818e488 |
||
|
ad197a303a |
||
|
cdbf70d781 |
||
|
c77661c184 |
||
|
d99a7974ad |
||
|
0fcd23a3f1 |
||
|
49fc40b275 |
||
|
c6c65ee554 |
||
|
d385caa73f |
||
|
2b52822043 |
||
|
9ebb5b270a | ||
|
7b9ba8d2e2 |
||
|
d33467611e | ||
|
9e0eeb0b94 | ||
|
5fd97399b0 |
||
|
eb14bd572d |
||
|
beff4063b3 |
||
|
b6cd89c677 |
||
|
9c535cb17d | ||
|
772b5b1ad3 |
||
|
e5ab4be82d |
||
|
65dd204dab |
||
|
5112994fd4 |
||
|
0d4d3f6b73 |
||
|
4a7b93df64 |
||
|
ab20c90929 |
||
|
721ea50420 | ||
|
23b646d5c2 |
||
|
1e78ff58d5 |
||
|
280a5b0e61 |
||
|
21a840eab7 |
||
|
6f98adf602 | ||
|
8c45cba53c | ||
|
9fe31235d8 |
||
|
fc7609628e |
||
|
a1d4051a12 |
||
|
acdf19c9e6 |
||
|
e2513b318e |
||
|
cc2794ad05 |
||
|
154b5f86fd |
||
|
e302058e2d |
||
|
1affd48260 |
||
|
dc5a89b040 |
||
|
71d8109275 |
||
|
73362a1e43 |
||
|
bc4fda8b14 |
||
|
2766898ea8 |
||
|
02f123877a |
||
|
d4c29e19c0 |
||
|
200ab045fa |
||
|
9b4decd831 |
||
|
566ec0a002 |
||
|
2e72051b6c |
||
|
89d33bbd7b |
||
|
76b6c8e184 |
||
|
fdc279def9 |
||
|
a471fa88b8 |
||
|
bf4e5dc3c0 |
||
|
185bdaaa39 |
||
|
55d44975dd |
||
|
43772cfbbb |
||
|
e93b6231ec | ||
|
605a557a8d |
||
|
d97f1a31ba |
||
|
5949b29a12 |
||
|
993d580adc |
||
|
1ac7783c5c |
||
|
f0724c0975 |
||
|
f3aca8a575 |
||
|
ad1cf82a34 |
||
|
42d0a55984 |
||
|
4f4d962f7c |
||
|
5343880fa5 |
||
|
5ea44edc64 |
||
|
8152cb3e1f |
||
|
eae0c4f92b |
||
|
57277e0661 |
||
|
53a941cee7 |
||
|
e6edf9cdea |
||
|
5550ba1946 |
||
|
374378beeb |
||
|
5222df306b |
||
|
788c722b3e |
||
|
2ddbda2aa7 |
||
|
cb939cbb75 |
||
|
7db1613730 |
||
|
38a16b421d |
||
|
bd8b7e3737 | ||
|
057f7196c7 | ||
|
8d8fc3d3ba |
||
|
5f7a3ac896 |
||
|
23ac1b62c3 |
||
|
186d410f63 |
||
|
1978100d25 |
||
|
6fec5a7005 |
||
|
aca2afc6f8 |
||
|
adda8d3113 |
||
|
21ed66a097 | ||
|
73a1ac2f1c |
||
|
7c3b441246 |
||
|
19613ce111 |
||
|
594ca4f983 |
||
|
af08ea33b1 |
||
|
7f729d99a2 |
||
|
5b62e0edd6 |
||
|
b935dcedd8 |
||
|
c58181bdc9 |
||
|
f71af21287 |
||
|
1a48ebd699 |
||
|
5e1be68b01 |
||
|
812431e7fe |
||
|
04f36f0bac |
||
|
2f3d3aaf76 |
||
|
e7024c3f97 |
||
|
0c2642aa2e |
||
|
2f62b6bbc6 |
||
|
5c10ed5f5c | ||
|
a4bac47520 |
||
|
b396ceb6c3 | ||
|
e4911a0278 | ||
|
1b3e9d8e99 |
||
|
6243112067 |
||
|
7d23c90c6e |
||
|
825bd81e44 |
||
|
e10f95836e |
||
|
176f6a62ae |
||
|
b1b6134f69 |
||
|
5103c3cea0 |
||
|
8444902289 |
||
|
2e1040bfa5 |
||
|
5c5ae113c9 |
||
|
1d7843465d |
||
|
b79f286a66 |
||
|
45e1d0a01a |
||
|
c7213ec1b5 |
||
|
7c9dd8d8ad |
||
|
9842b057b0 |
||
|
63eca8e68c |
||
|
569bd30148 |
||
|
70acdf1f6d |
||
|
86caa19f78 |
||
|
f9acef140f |
||
|
31a147f0eb |
||
|
9b0ebef408 |
||
|
4c734ea134 | ||
|
ccf71fb483 |
||
|
585d4e8784 |
||
|
47f235dc68 |
||
|
08200954e9 |
||
|
9e66e2c653 |
||
|
510ad54062 |
||
|
a89ca23ecc |
||
|
2261bd62de |
||
|
3726b50a92 |
||
|
037948fde9 |
||
|
9597b7c110 |
||
|
780a7c6a38 |
||
|
4c24a12462 |
||
|
990fffb563 |
||
|
1d9bfc206b |
||
|
3b74e9b646 |
||
|
37308c929b |
||
|
2945509a55 |
||
|
57be1e8be4 |
||
|
086b4e4fb8 |
||
|
92dcf1e0b2 |
||
|
78a02b84f3 | ||
|
7846cddab8 |
||
|
b0af1e9c75 |
||
|
f6349578c6 |
||
|
e4287becb1 |
||
|
005e8b151a | ||
|
cd2e55e2ab |
||
|
1ff276ec34 |
||
|
c16c4a32d1 |
||
|
3a01ceb355 |
||
|
8ca91ab283 |
||
|
c88a40d3e3 |
||
|
0dfd02c1ca |
||
|
5d9072030e |
||
|
49765f103b |
||
|
1782efb09e |
||
|
d8807e9b51 |
||
|
d823d71442 |
||
|
46d2cddbde | ||
|
069b785cb2 | ||
|
090d3f3709 |
||
|
68a9b66966 |
||
|
f96c6476fe |
||
|
fc0f677535 |
||
|
9a986473bd |
||
|
e9f0e49283 |
||
|
5eff31e760 |
||
|
39c58d5469 | ||
|
20d7be4f38 |
||
|
2d26fba0b9 |
||
|
d6168a196b |
||
|
02de81c39e |
||
|
4096b9fa5a |
||
|
fe3a3a7638 |
||
|
7cac741e77 |
||
|
f84ebed63f |
||
|
f905a1bc94 |
||
|
b0470f2e59 |
||
|
42175e38b2 |
||
|
8e79844b75 |
||
|
1338db358a |
||
|
06c4439a1c |
||
|
16d5d5fc57 |
||
|
71af3226f3 |
||
|
b3037a46be |
||
|
f7df19adbd |
||
|
3bca21aa1b |
||
|
1bb3d41e15 |
||
|
f214f206c3 |
||
|
9b8011d692 |
||
|
f227038f38 |
||
|
86a2996814 |
||
|
eb154003cf |
||
|
212871fcaf |
||
|
1795a67b8e |
||
|
a71c0af9cc | ||
|
569cde6c3e | ||
|
f0db1d1f6b |
||
|
5a36e84b86 |
||
|
a74c6db77f | ||
|
9a14980ca7 |
||
|
8c9effce1f |
||
|
51ec3594dd |
||
|
802f8ea224 |
||
|
23af148021 |
||
|
1a2c2d0a64 | ||
|
80243f8180 | ||
|
13b5c4092a |
1661 changed files with 76529 additions and 73486 deletions
|
@ -29,20 +29,22 @@ schedules:
|
||||||
always: true
|
always: true
|
||||||
branches:
|
branches:
|
||||||
include:
|
include:
|
||||||
- stable-11
|
|
||||||
- stable-10
|
- stable-10
|
||||||
|
- stable-9
|
||||||
- cron: 0 11 * * 0
|
- cron: 0 11 * * 0
|
||||||
displayName: Weekly (old stable branches)
|
displayName: Weekly (old stable branches)
|
||||||
always: true
|
always: true
|
||||||
branches:
|
branches:
|
||||||
include:
|
include:
|
||||||
- stable-9
|
- stable-8
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
- name: checkoutPath
|
- name: checkoutPath
|
||||||
value: ansible_collections/community/general
|
value: ansible_collections/community/general
|
||||||
- name: coverageBranches
|
- name: coverageBranches
|
||||||
value: main
|
value: main
|
||||||
|
- name: pipelinesCoverage
|
||||||
|
value: coverage
|
||||||
- name: entryPoint
|
- name: entryPoint
|
||||||
value: tests/utils/shippable/shippable.sh
|
value: tests/utils/shippable/shippable.sh
|
||||||
- name: fetchDepth
|
- name: fetchDepth
|
||||||
|
@ -51,7 +53,7 @@ variables:
|
||||||
resources:
|
resources:
|
||||||
containers:
|
containers:
|
||||||
- container: default
|
- container: default
|
||||||
image: quay.io/ansible/azure-pipelines-test-container:7.0.0
|
image: quay.io/ansible/azure-pipelines-test-container:6.0.0
|
||||||
|
|
||||||
pool: Standard
|
pool: Standard
|
||||||
|
|
||||||
|
@ -70,19 +72,7 @@ stages:
|
||||||
- test: 2
|
- test: 2
|
||||||
- test: 3
|
- test: 3
|
||||||
- test: 4
|
- test: 4
|
||||||
- stage: Sanity_2_19
|
- test: extra
|
||||||
displayName: Sanity 2.19
|
|
||||||
dependsOn: []
|
|
||||||
jobs:
|
|
||||||
- template: templates/matrix.yml
|
|
||||||
parameters:
|
|
||||||
nameFormat: Test {0}
|
|
||||||
testFormat: 2.19/sanity/{0}
|
|
||||||
targets:
|
|
||||||
- test: 1
|
|
||||||
- test: 2
|
|
||||||
- test: 3
|
|
||||||
- test: 4
|
|
||||||
- stage: Sanity_2_18
|
- stage: Sanity_2_18
|
||||||
displayName: Sanity 2.18
|
displayName: Sanity 2.18
|
||||||
dependsOn: []
|
dependsOn: []
|
||||||
|
@ -109,6 +99,19 @@ stages:
|
||||||
- test: 2
|
- test: 2
|
||||||
- test: 3
|
- test: 3
|
||||||
- test: 4
|
- test: 4
|
||||||
|
- stage: Sanity_2_16
|
||||||
|
displayName: Sanity 2.16
|
||||||
|
dependsOn: []
|
||||||
|
jobs:
|
||||||
|
- template: templates/matrix.yml
|
||||||
|
parameters:
|
||||||
|
nameFormat: Test {0}
|
||||||
|
testFormat: 2.16/sanity/{0}
|
||||||
|
targets:
|
||||||
|
- test: 1
|
||||||
|
- test: 2
|
||||||
|
- test: 3
|
||||||
|
- test: 4
|
||||||
### Units
|
### Units
|
||||||
- stage: Units_devel
|
- stage: Units_devel
|
||||||
displayName: Units devel
|
displayName: Units devel
|
||||||
|
@ -119,24 +122,12 @@ stages:
|
||||||
nameFormat: Python {0}
|
nameFormat: Python {0}
|
||||||
testFormat: devel/units/{0}/1
|
testFormat: devel/units/{0}/1
|
||||||
targets:
|
targets:
|
||||||
|
- test: 3.8
|
||||||
- test: 3.9
|
- test: 3.9
|
||||||
- test: '3.10'
|
- test: '3.10'
|
||||||
- test: '3.11'
|
- test: '3.11'
|
||||||
- test: '3.12'
|
- test: '3.12'
|
||||||
- test: '3.13'
|
- test: '3.13'
|
||||||
- test: '3.14'
|
|
||||||
- stage: Units_2_19
|
|
||||||
displayName: Units 2.19
|
|
||||||
dependsOn: []
|
|
||||||
jobs:
|
|
||||||
- template: templates/matrix.yml
|
|
||||||
parameters:
|
|
||||||
nameFormat: Python {0}
|
|
||||||
testFormat: 2.19/units/{0}/1
|
|
||||||
targets:
|
|
||||||
- test: 3.8
|
|
||||||
- test: "3.11"
|
|
||||||
- test: "3.13"
|
|
||||||
- stage: Units_2_18
|
- stage: Units_2_18
|
||||||
displayName: Units 2.18
|
displayName: Units 2.18
|
||||||
dependsOn: []
|
dependsOn: []
|
||||||
|
@ -147,7 +138,6 @@ stages:
|
||||||
testFormat: 2.18/units/{0}/1
|
testFormat: 2.18/units/{0}/1
|
||||||
targets:
|
targets:
|
||||||
- test: 3.8
|
- test: 3.8
|
||||||
- test: "3.11"
|
|
||||||
- test: "3.13"
|
- test: "3.13"
|
||||||
- stage: Units_2_17
|
- stage: Units_2_17
|
||||||
displayName: Units 2.17
|
displayName: Units 2.17
|
||||||
|
@ -159,8 +149,19 @@ stages:
|
||||||
testFormat: 2.17/units/{0}/1
|
testFormat: 2.17/units/{0}/1
|
||||||
targets:
|
targets:
|
||||||
- test: 3.7
|
- test: 3.7
|
||||||
- test: "3.10"
|
|
||||||
- test: "3.12"
|
- test: "3.12"
|
||||||
|
- stage: Units_2_16
|
||||||
|
displayName: Units 2.16
|
||||||
|
dependsOn: []
|
||||||
|
jobs:
|
||||||
|
- template: templates/matrix.yml
|
||||||
|
parameters:
|
||||||
|
nameFormat: Python {0}
|
||||||
|
testFormat: 2.16/units/{0}/1
|
||||||
|
targets:
|
||||||
|
- test: 2.7
|
||||||
|
- test: 3.6
|
||||||
|
- test: "3.11"
|
||||||
|
|
||||||
## Remote
|
## Remote
|
||||||
- stage: Remote_devel_extra_vms
|
- stage: Remote_devel_extra_vms
|
||||||
|
@ -171,10 +172,10 @@ stages:
|
||||||
parameters:
|
parameters:
|
||||||
testFormat: devel/{0}
|
testFormat: devel/{0}
|
||||||
targets:
|
targets:
|
||||||
- name: Alpine 3.22
|
- name: Alpine 3.21
|
||||||
test: alpine/3.22
|
test: alpine/3.21
|
||||||
# - name: Fedora 42
|
# - name: Fedora 41
|
||||||
# test: fedora/42
|
# test: fedora/41
|
||||||
- name: Ubuntu 22.04
|
- name: Ubuntu 22.04
|
||||||
test: ubuntu/22.04
|
test: ubuntu/22.04
|
||||||
- name: Ubuntu 24.04
|
- name: Ubuntu 24.04
|
||||||
|
@ -189,34 +190,14 @@ stages:
|
||||||
parameters:
|
parameters:
|
||||||
testFormat: devel/{0}
|
testFormat: devel/{0}
|
||||||
targets:
|
targets:
|
||||||
- name: macOS 15.3
|
- name: macOS 14.3
|
||||||
test: macos/15.3
|
test: macos/14.3
|
||||||
- name: RHEL 10.0
|
|
||||||
test: rhel/10.0
|
|
||||||
- name: RHEL 9.6
|
|
||||||
test: rhel/9.6
|
|
||||||
- name: FreeBSD 14.3
|
|
||||||
test: freebsd/14.3
|
|
||||||
- name: FreeBSD 13.5
|
|
||||||
test: freebsd/13.5
|
|
||||||
groups:
|
|
||||||
- 1
|
|
||||||
- 2
|
|
||||||
- 3
|
|
||||||
- stage: Remote_2_19
|
|
||||||
displayName: Remote 2.19
|
|
||||||
dependsOn: []
|
|
||||||
jobs:
|
|
||||||
- template: templates/matrix.yml
|
|
||||||
parameters:
|
|
||||||
testFormat: 2.19/{0}
|
|
||||||
targets:
|
|
||||||
- name: RHEL 9.5
|
- name: RHEL 9.5
|
||||||
test: rhel/9.5
|
test: rhel/9.5
|
||||||
- name: RHEL 10.0
|
|
||||||
test: rhel/10.0
|
|
||||||
- name: FreeBSD 14.2
|
- name: FreeBSD 14.2
|
||||||
test: freebsd/14.2
|
test: freebsd/14.2
|
||||||
|
- name: FreeBSD 13.4
|
||||||
|
test: freebsd/13.4
|
||||||
groups:
|
groups:
|
||||||
- 1
|
- 1
|
||||||
- 2
|
- 2
|
||||||
|
@ -229,8 +210,6 @@ stages:
|
||||||
parameters:
|
parameters:
|
||||||
testFormat: 2.18/{0}
|
testFormat: 2.18/{0}
|
||||||
targets:
|
targets:
|
||||||
- name: macOS 14.3
|
|
||||||
test: macos/14.3
|
|
||||||
- name: RHEL 9.4
|
- name: RHEL 9.4
|
||||||
test: rhel/9.4
|
test: rhel/9.4
|
||||||
- name: FreeBSD 14.1
|
- name: FreeBSD 14.1
|
||||||
|
@ -247,10 +226,34 @@ stages:
|
||||||
parameters:
|
parameters:
|
||||||
testFormat: 2.17/{0}
|
testFormat: 2.17/{0}
|
||||||
targets:
|
targets:
|
||||||
- name: FreeBSD 13.5
|
- name: FreeBSD 13.3
|
||||||
test: freebsd/13.5
|
test: freebsd/13.3
|
||||||
- name: RHEL 9.3
|
- name: RHEL 9.3
|
||||||
test: rhel/9.3
|
test: rhel/9.3
|
||||||
|
- name: FreeBSD 14.0
|
||||||
|
test: freebsd/14.0
|
||||||
|
groups:
|
||||||
|
- 1
|
||||||
|
- 2
|
||||||
|
- 3
|
||||||
|
- stage: Remote_2_16
|
||||||
|
displayName: Remote 2.16
|
||||||
|
dependsOn: []
|
||||||
|
jobs:
|
||||||
|
- template: templates/matrix.yml
|
||||||
|
parameters:
|
||||||
|
testFormat: 2.16/{0}
|
||||||
|
targets:
|
||||||
|
- name: macOS 13.2
|
||||||
|
test: macos/13.2
|
||||||
|
- name: RHEL 9.2
|
||||||
|
test: rhel/9.2
|
||||||
|
- name: RHEL 8.8
|
||||||
|
test: rhel/8.8
|
||||||
|
- name: RHEL 7.9
|
||||||
|
test: rhel/7.9
|
||||||
|
# - name: FreeBSD 13.2
|
||||||
|
# test: freebsd/13.2
|
||||||
groups:
|
groups:
|
||||||
- 1
|
- 1
|
||||||
- 2
|
- 2
|
||||||
|
@ -264,31 +267,15 @@ stages:
|
||||||
- template: templates/matrix.yml
|
- template: templates/matrix.yml
|
||||||
parameters:
|
parameters:
|
||||||
testFormat: devel/linux/{0}
|
testFormat: devel/linux/{0}
|
||||||
targets:
|
|
||||||
- name: Fedora 42
|
|
||||||
test: fedora42
|
|
||||||
- name: Alpine 3.22
|
|
||||||
test: alpine322
|
|
||||||
- name: Ubuntu 22.04
|
|
||||||
test: ubuntu2204
|
|
||||||
- name: Ubuntu 24.04
|
|
||||||
test: ubuntu2404
|
|
||||||
groups:
|
|
||||||
- 1
|
|
||||||
- 2
|
|
||||||
- 3
|
|
||||||
- stage: Docker_2_19
|
|
||||||
displayName: Docker 2.19
|
|
||||||
dependsOn: []
|
|
||||||
jobs:
|
|
||||||
- template: templates/matrix.yml
|
|
||||||
parameters:
|
|
||||||
testFormat: 2.19/linux/{0}
|
|
||||||
targets:
|
targets:
|
||||||
- name: Fedora 41
|
- name: Fedora 41
|
||||||
test: fedora41
|
test: fedora41
|
||||||
- name: Alpine 3.21
|
- name: Alpine 3.21
|
||||||
test: alpine321
|
test: alpine321
|
||||||
|
- name: Ubuntu 22.04
|
||||||
|
test: ubuntu2204
|
||||||
|
- name: Ubuntu 24.04
|
||||||
|
test: ubuntu2404
|
||||||
groups:
|
groups:
|
||||||
- 1
|
- 1
|
||||||
- 2
|
- 2
|
||||||
|
@ -329,6 +316,26 @@ stages:
|
||||||
- 1
|
- 1
|
||||||
- 2
|
- 2
|
||||||
- 3
|
- 3
|
||||||
|
- stage: Docker_2_16
|
||||||
|
displayName: Docker 2.16
|
||||||
|
dependsOn: []
|
||||||
|
jobs:
|
||||||
|
- template: templates/matrix.yml
|
||||||
|
parameters:
|
||||||
|
testFormat: 2.16/linux/{0}
|
||||||
|
targets:
|
||||||
|
- name: Fedora 38
|
||||||
|
test: fedora38
|
||||||
|
- name: openSUSE 15
|
||||||
|
test: opensuse15
|
||||||
|
- name: Alpine 3
|
||||||
|
test: alpine3
|
||||||
|
- name: CentOS 7
|
||||||
|
test: centos7
|
||||||
|
groups:
|
||||||
|
- 1
|
||||||
|
- 2
|
||||||
|
- 3
|
||||||
|
|
||||||
### Community Docker
|
### Community Docker
|
||||||
- stage: Docker_community_devel
|
- stage: Docker_community_devel
|
||||||
|
@ -361,19 +368,8 @@ stages:
|
||||||
# nameFormat: Python {0}
|
# nameFormat: Python {0}
|
||||||
# testFormat: devel/generic/{0}/1
|
# testFormat: devel/generic/{0}/1
|
||||||
# targets:
|
# targets:
|
||||||
# - test: '3.9'
|
# - test: '3.8'
|
||||||
# - test: '3.12'
|
# - test: '3.11'
|
||||||
# - test: '3.14'
|
|
||||||
# - stage: Generic_2_19
|
|
||||||
# displayName: Generic 2.19
|
|
||||||
# dependsOn: []
|
|
||||||
# jobs:
|
|
||||||
# - template: templates/matrix.yml
|
|
||||||
# parameters:
|
|
||||||
# nameFormat: Python {0}
|
|
||||||
# testFormat: 2.19/generic/{0}/1
|
|
||||||
# targets:
|
|
||||||
# - test: '3.9'
|
|
||||||
# - test: '3.13'
|
# - test: '3.13'
|
||||||
# - stage: Generic_2_18
|
# - stage: Generic_2_18
|
||||||
# displayName: Generic 2.18
|
# displayName: Generic 2.18
|
||||||
|
@ -397,32 +393,44 @@ stages:
|
||||||
# targets:
|
# targets:
|
||||||
# - test: '3.7'
|
# - test: '3.7'
|
||||||
# - test: '3.12'
|
# - test: '3.12'
|
||||||
|
# - stage: Generic_2_16
|
||||||
|
# displayName: Generic 2.16
|
||||||
|
# dependsOn: []
|
||||||
|
# jobs:
|
||||||
|
# - template: templates/matrix.yml
|
||||||
|
# parameters:
|
||||||
|
# nameFormat: Python {0}
|
||||||
|
# testFormat: 2.16/generic/{0}/1
|
||||||
|
# targets:
|
||||||
|
# - test: '2.7'
|
||||||
|
# - test: '3.6'
|
||||||
|
# - test: '3.11'
|
||||||
|
|
||||||
- stage: Summary
|
- stage: Summary
|
||||||
condition: succeededOrFailed()
|
condition: succeededOrFailed()
|
||||||
dependsOn:
|
dependsOn:
|
||||||
- Sanity_devel
|
- Sanity_devel
|
||||||
- Sanity_2_19
|
|
||||||
- Sanity_2_18
|
- Sanity_2_18
|
||||||
- Sanity_2_17
|
- Sanity_2_17
|
||||||
|
- Sanity_2_16
|
||||||
- Units_devel
|
- Units_devel
|
||||||
- Units_2_19
|
|
||||||
- Units_2_18
|
- Units_2_18
|
||||||
- Units_2_17
|
- Units_2_17
|
||||||
|
- Units_2_16
|
||||||
- Remote_devel_extra_vms
|
- Remote_devel_extra_vms
|
||||||
- Remote_devel
|
- Remote_devel
|
||||||
- Remote_2_19
|
|
||||||
- Remote_2_18
|
- Remote_2_18
|
||||||
- Remote_2_17
|
- Remote_2_17
|
||||||
|
- Remote_2_16
|
||||||
- Docker_devel
|
- Docker_devel
|
||||||
- Docker_2_19
|
|
||||||
- Docker_2_18
|
- Docker_2_18
|
||||||
- Docker_2_17
|
- Docker_2_17
|
||||||
|
- Docker_2_16
|
||||||
- Docker_community_devel
|
- Docker_community_devel
|
||||||
# Right now all generic tests are disabled. Uncomment when at least one of them is re-enabled.
|
# Right now all generic tests are disabled. Uncomment when at least one of them is re-enabled.
|
||||||
# - Generic_devel
|
# - Generic_devel
|
||||||
# - Generic_2_19
|
|
||||||
# - Generic_2_18
|
# - Generic_2_18
|
||||||
# - Generic_2_17
|
# - Generic_2_17
|
||||||
|
# - Generic_2_16
|
||||||
jobs:
|
jobs:
|
||||||
- template: templates/coverage.yml
|
- template: templates/coverage.yml
|
||||||
|
|
|
@ -28,6 +28,16 @@ jobs:
|
||||||
- bash: .azure-pipelines/scripts/report-coverage.sh
|
- bash: .azure-pipelines/scripts/report-coverage.sh
|
||||||
displayName: Generate Coverage Report
|
displayName: Generate Coverage Report
|
||||||
condition: gt(variables.coverageFileCount, 0)
|
condition: gt(variables.coverageFileCount, 0)
|
||||||
|
- task: PublishCodeCoverageResults@1
|
||||||
|
inputs:
|
||||||
|
codeCoverageTool: Cobertura
|
||||||
|
# Azure Pipelines only accepts a single coverage data file.
|
||||||
|
# That means only Python or PowerShell coverage can be uploaded, but not both.
|
||||||
|
# Set the "pipelinesCoverage" variable to determine which type is uploaded.
|
||||||
|
# Use "coverage" for Python and "coverage-powershell" for PowerShell.
|
||||||
|
summaryFileLocation: "$(outputPath)/reports/$(pipelinesCoverage).xml"
|
||||||
|
displayName: Publish to Azure Pipelines
|
||||||
|
condition: gt(variables.coverageFileCount, 0)
|
||||||
- bash: .azure-pipelines/scripts/publish-codecov.py "$(outputPath)"
|
- bash: .azure-pipelines/scripts/publish-codecov.py "$(outputPath)"
|
||||||
displayName: Publish to codecov.io
|
displayName: Publish to codecov.io
|
||||||
condition: gt(variables.coverageFileCount, 0)
|
condition: gt(variables.coverageFileCount, 0)
|
||||||
|
|
|
@ -50,11 +50,11 @@ jobs:
|
||||||
parameters:
|
parameters:
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ if eq(length(parameters.groups), 0) }}:
|
- ${{ if eq(length(parameters.groups), 0) }}:
|
||||||
- ${{ each target in parameters.targets }}:
|
- ${{ each target in parameters.targets }}:
|
||||||
- name: ${{ format(parameters.nameFormat, coalesce(target.name, target.test)) }}
|
- name: ${{ format(parameters.nameFormat, coalesce(target.name, target.test)) }}
|
||||||
test: ${{ format(parameters.testFormat, coalesce(target.test, target.name)) }}
|
test: ${{ format(parameters.testFormat, coalesce(target.test, target.name)) }}
|
||||||
- ${{ if not(eq(length(parameters.groups), 0)) }}:
|
- ${{ if not(eq(length(parameters.groups), 0)) }}:
|
||||||
- ${{ each group in parameters.groups }}:
|
- ${{ each group in parameters.groups }}:
|
||||||
- ${{ each target in parameters.targets }}:
|
- ${{ each target in parameters.targets }}:
|
||||||
- name: ${{ format(format(parameters.nameGroupFormat, parameters.nameFormat), coalesce(target.name, target.test), group) }}
|
- name: ${{ format(format(parameters.nameGroupFormat, parameters.nameFormat), coalesce(target.name, target.test), group) }}
|
||||||
test: ${{ format(format(parameters.testGroupFormat, parameters.testFormat), coalesce(target.test, target.name), group) }}
|
test: ${{ format(format(parameters.testGroupFormat, parameters.testFormat), coalesce(target.test, target.name), group) }}
|
||||||
|
|
|
@ -14,37 +14,37 @@ parameters:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ each job in parameters.jobs }}:
|
- ${{ each job in parameters.jobs }}:
|
||||||
- job: test_${{ replace(replace(replace(job.test, '/', '_'), '.', '_'), '-', '_') }}
|
- job: test_${{ replace(replace(replace(job.test, '/', '_'), '.', '_'), '-', '_') }}
|
||||||
displayName: ${{ job.name }}
|
displayName: ${{ job.name }}
|
||||||
container: default
|
container: default
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
steps:
|
steps:
|
||||||
- checkout: self
|
- checkout: self
|
||||||
fetchDepth: $(fetchDepth)
|
fetchDepth: $(fetchDepth)
|
||||||
path: $(checkoutPath)
|
path: $(checkoutPath)
|
||||||
- bash: .azure-pipelines/scripts/run-tests.sh "$(entryPoint)" "${{ job.test }}" "$(coverageBranches)"
|
- bash: .azure-pipelines/scripts/run-tests.sh "$(entryPoint)" "${{ job.test }}" "$(coverageBranches)"
|
||||||
displayName: Run Tests
|
displayName: Run Tests
|
||||||
- bash: .azure-pipelines/scripts/process-results.sh
|
- bash: .azure-pipelines/scripts/process-results.sh
|
||||||
condition: succeededOrFailed()
|
condition: succeededOrFailed()
|
||||||
displayName: Process Results
|
displayName: Process Results
|
||||||
- bash: .azure-pipelines/scripts/aggregate-coverage.sh "$(Agent.TempDirectory)"
|
- bash: .azure-pipelines/scripts/aggregate-coverage.sh "$(Agent.TempDirectory)"
|
||||||
condition: eq(variables.haveCoverageData, 'true')
|
condition: eq(variables.haveCoverageData, 'true')
|
||||||
displayName: Aggregate Coverage Data
|
displayName: Aggregate Coverage Data
|
||||||
- task: PublishTestResults@2
|
- task: PublishTestResults@2
|
||||||
condition: eq(variables.haveTestResults, 'true')
|
condition: eq(variables.haveTestResults, 'true')
|
||||||
inputs:
|
inputs:
|
||||||
testResultsFiles: "$(outputPath)/junit/*.xml"
|
testResultsFiles: "$(outputPath)/junit/*.xml"
|
||||||
displayName: Publish Test Results
|
displayName: Publish Test Results
|
||||||
- task: PublishPipelineArtifact@1
|
- task: PublishPipelineArtifact@1
|
||||||
condition: eq(variables.haveBotResults, 'true')
|
condition: eq(variables.haveBotResults, 'true')
|
||||||
displayName: Publish Bot Results
|
displayName: Publish Bot Results
|
||||||
inputs:
|
inputs:
|
||||||
targetPath: "$(outputPath)/bot/"
|
targetPath: "$(outputPath)/bot/"
|
||||||
artifactName: "Bot $(System.JobAttempt) $(System.StageDisplayName) $(System.JobDisplayName)"
|
artifactName: "Bot $(System.JobAttempt) $(System.StageDisplayName) $(System.JobDisplayName)"
|
||||||
- task: PublishPipelineArtifact@1
|
- task: PublishPipelineArtifact@1
|
||||||
condition: eq(variables.haveCoverageData, 'true')
|
condition: eq(variables.haveCoverageData, 'true')
|
||||||
displayName: Publish Coverage Data
|
displayName: Publish Coverage Data
|
||||||
inputs:
|
inputs:
|
||||||
targetPath: "$(Agent.TempDirectory)/coverage/"
|
targetPath: "$(Agent.TempDirectory)/coverage/"
|
||||||
artifactName: "Coverage $(System.JobAttempt) $(System.StageDisplayName) $(System.JobDisplayName)"
|
artifactName: "Coverage $(System.JobAttempt) $(System.StageDisplayName) $(System.JobDisplayName)"
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
# 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
|
|
||||||
|
|
||||||
# YAML reformatting
|
|
||||||
d032de3b16eed11ea3a31cd3d96d78f7c46a2ee0
|
|
||||||
e8f965fbf8154ea177c6622da149f2ae8533bd3c
|
|
||||||
e938ca5f20651abc160ee6aba10014013d04dcc1
|
|
||||||
eaa5e07b2866e05b6c7b5628ca92e9cb1142d008
|
|
138
.github/BOTMETA.yml
vendored
138
.github/BOTMETA.yml
vendored
|
@ -61,6 +61,7 @@ files:
|
||||||
$callbacks/elastic.py:
|
$callbacks/elastic.py:
|
||||||
keywords: apm observability
|
keywords: apm observability
|
||||||
maintainers: v1v
|
maintainers: v1v
|
||||||
|
$callbacks/hipchat.py: {}
|
||||||
$callbacks/jabber.py: {}
|
$callbacks/jabber.py: {}
|
||||||
$callbacks/log_plays.py: {}
|
$callbacks/log_plays.py: {}
|
||||||
$callbacks/loganalytics.py:
|
$callbacks/loganalytics.py:
|
||||||
|
@ -77,8 +78,6 @@ files:
|
||||||
$callbacks/opentelemetry.py:
|
$callbacks/opentelemetry.py:
|
||||||
keywords: opentelemetry observability
|
keywords: opentelemetry observability
|
||||||
maintainers: v1v
|
maintainers: v1v
|
||||||
$callbacks/print_task.py:
|
|
||||||
maintainers: demonpig
|
|
||||||
$callbacks/say.py:
|
$callbacks/say.py:
|
||||||
keywords: brew cask darwin homebrew macosx macports osx
|
keywords: brew cask darwin homebrew macosx macports osx
|
||||||
labels: macos say
|
labels: macos say
|
||||||
|
@ -92,8 +91,6 @@ files:
|
||||||
maintainers: ryancurrah
|
maintainers: ryancurrah
|
||||||
$callbacks/syslog_json.py:
|
$callbacks/syslog_json.py:
|
||||||
maintainers: imjoseangel
|
maintainers: imjoseangel
|
||||||
$callbacks/tasks_only.py:
|
|
||||||
maintainers: felixfontein
|
|
||||||
$callbacks/timestamp.py:
|
$callbacks/timestamp.py:
|
||||||
maintainers: kurokobo
|
maintainers: kurokobo
|
||||||
$callbacks/unixy.py:
|
$callbacks/unixy.py:
|
||||||
|
@ -120,8 +117,6 @@ files:
|
||||||
$connections/saltstack.py:
|
$connections/saltstack.py:
|
||||||
labels: saltstack
|
labels: saltstack
|
||||||
maintainers: mscherer
|
maintainers: mscherer
|
||||||
$connections/wsl.py:
|
|
||||||
maintainers: rgl
|
|
||||||
$connections/zone.py:
|
$connections/zone.py:
|
||||||
maintainers: $team_ansible_core
|
maintainers: $team_ansible_core
|
||||||
$doc_fragments/:
|
$doc_fragments/:
|
||||||
|
@ -141,8 +136,6 @@ files:
|
||||||
$doc_fragments/xenserver.py:
|
$doc_fragments/xenserver.py:
|
||||||
labels: xenserver
|
labels: xenserver
|
||||||
maintainers: bvitnik
|
maintainers: bvitnik
|
||||||
$filters/accumulate.py:
|
|
||||||
maintainers: VannTen
|
|
||||||
$filters/counter.py:
|
$filters/counter.py:
|
||||||
maintainers: keilr
|
maintainers: keilr
|
||||||
$filters/crc32.py:
|
$filters/crc32.py:
|
||||||
|
@ -165,14 +158,6 @@ files:
|
||||||
maintainers: Ajpantuso
|
maintainers: Ajpantuso
|
||||||
$filters/jc.py:
|
$filters/jc.py:
|
||||||
maintainers: kellyjonbrazil
|
maintainers: kellyjonbrazil
|
||||||
$filters/json_diff.yml:
|
|
||||||
maintainers: numo68
|
|
||||||
$filters/json_patch.py:
|
|
||||||
maintainers: numo68
|
|
||||||
$filters/json_patch.yml:
|
|
||||||
maintainers: numo68
|
|
||||||
$filters/json_patch_recipe.yml:
|
|
||||||
maintainers: numo68
|
|
||||||
$filters/json_query.py: {}
|
$filters/json_query.py: {}
|
||||||
$filters/keep_keys.py:
|
$filters/keep_keys.py:
|
||||||
maintainers: vbotka
|
maintainers: vbotka
|
||||||
|
@ -209,8 +194,6 @@ files:
|
||||||
maintainers: resmo
|
maintainers: resmo
|
||||||
$filters/to_months.yml:
|
$filters/to_months.yml:
|
||||||
maintainers: resmo
|
maintainers: resmo
|
||||||
$filters/to_prettytable.py:
|
|
||||||
maintainers: tgadiev
|
|
||||||
$filters/to_seconds.yml:
|
$filters/to_seconds.yml:
|
||||||
maintainers: resmo
|
maintainers: resmo
|
||||||
$filters/to_time_unit.yml:
|
$filters/to_time_unit.yml:
|
||||||
|
@ -229,8 +212,6 @@ files:
|
||||||
maintainers: opoplawski
|
maintainers: opoplawski
|
||||||
$inventories/gitlab_runners.py:
|
$inventories/gitlab_runners.py:
|
||||||
maintainers: morph027
|
maintainers: morph027
|
||||||
$inventories/iocage.py:
|
|
||||||
maintainers: vbotka
|
|
||||||
$inventories/icinga2.py:
|
$inventories/icinga2.py:
|
||||||
maintainers: BongoEADGC6
|
maintainers: BongoEADGC6
|
||||||
$inventories/linode.py:
|
$inventories/linode.py:
|
||||||
|
@ -246,9 +227,13 @@ files:
|
||||||
keywords: opennebula dynamic inventory script
|
keywords: opennebula dynamic inventory script
|
||||||
labels: cloud opennebula
|
labels: cloud opennebula
|
||||||
maintainers: feldsam
|
maintainers: feldsam
|
||||||
|
$inventories/proxmox.py:
|
||||||
|
maintainers: $team_virt ilijamt krauthosting
|
||||||
$inventories/scaleway.py:
|
$inventories/scaleway.py:
|
||||||
labels: cloud scaleway
|
labels: cloud scaleway
|
||||||
maintainers: $team_scaleway
|
maintainers: $team_scaleway
|
||||||
|
$inventories/stackpath_compute.py:
|
||||||
|
maintainers: shayrybak
|
||||||
$inventories/virtualbox.py: {}
|
$inventories/virtualbox.py: {}
|
||||||
$inventories/xen_orchestra.py:
|
$inventories/xen_orchestra.py:
|
||||||
maintainers: ddelnano shinuza
|
maintainers: ddelnano shinuza
|
||||||
|
@ -292,6 +277,9 @@ files:
|
||||||
$lookups/lastpass.py: {}
|
$lookups/lastpass.py: {}
|
||||||
$lookups/lmdb_kv.py:
|
$lookups/lmdb_kv.py:
|
||||||
maintainers: jpmens
|
maintainers: jpmens
|
||||||
|
$lookups/manifold.py:
|
||||||
|
labels: manifold
|
||||||
|
maintainers: galanoff
|
||||||
$lookups/merge_variables.py:
|
$lookups/merge_variables.py:
|
||||||
maintainers: rlenferink m-a-r-k-e alpex8
|
maintainers: rlenferink m-a-r-k-e alpex8
|
||||||
$lookups/onepass:
|
$lookups/onepass:
|
||||||
|
@ -303,8 +291,6 @@ files:
|
||||||
$lookups/onepassword_raw.py:
|
$lookups/onepassword_raw.py:
|
||||||
ignore: scottsb
|
ignore: scottsb
|
||||||
maintainers: azenk
|
maintainers: azenk
|
||||||
$lookups/onepassword_ssh_key.py:
|
|
||||||
maintainers: mohammedbabelly20
|
|
||||||
$lookups/passwordstore.py: {}
|
$lookups/passwordstore.py: {}
|
||||||
$lookups/random_pet.py:
|
$lookups/random_pet.py:
|
||||||
maintainers: Akasurde
|
maintainers: Akasurde
|
||||||
|
@ -322,12 +308,8 @@ files:
|
||||||
maintainers: delineaKrehl tylerezimmerman
|
maintainers: delineaKrehl tylerezimmerman
|
||||||
$module_utils/:
|
$module_utils/:
|
||||||
labels: module_utils
|
labels: module_utils
|
||||||
$module_utils/android_sdkmanager.py:
|
|
||||||
maintainers: shamilovstas
|
|
||||||
$module_utils/btrfs.py:
|
$module_utils/btrfs.py:
|
||||||
maintainers: gnfzdz
|
maintainers: gnfzdz
|
||||||
$module_utils/cmd_runner_fmt.py:
|
|
||||||
maintainers: russoz
|
|
||||||
$module_utils/cmd_runner.py:
|
$module_utils/cmd_runner.py:
|
||||||
maintainers: russoz
|
maintainers: russoz
|
||||||
$module_utils/deps.py:
|
$module_utils/deps.py:
|
||||||
|
@ -374,13 +356,9 @@ files:
|
||||||
$module_utils/oracle/oci_utils.py:
|
$module_utils/oracle/oci_utils.py:
|
||||||
labels: cloud
|
labels: cloud
|
||||||
maintainers: $team_oracle
|
maintainers: $team_oracle
|
||||||
$module_utils/pacemaker.py:
|
|
||||||
maintainers: munchtoast
|
|
||||||
$module_utils/pipx.py:
|
$module_utils/pipx.py:
|
||||||
labels: pipx
|
labels: pipx
|
||||||
maintainers: russoz
|
maintainers: russoz
|
||||||
$module_utils/pkg_req.py:
|
|
||||||
maintainers: russoz
|
|
||||||
$module_utils/python_runner.py:
|
$module_utils/python_runner.py:
|
||||||
maintainers: russoz
|
maintainers: russoz
|
||||||
$module_utils/puppet.py:
|
$module_utils/puppet.py:
|
||||||
|
@ -402,8 +380,6 @@ files:
|
||||||
maintainers: russoz
|
maintainers: russoz
|
||||||
$module_utils/ssh.py:
|
$module_utils/ssh.py:
|
||||||
maintainers: russoz
|
maintainers: russoz
|
||||||
$module_utils/systemd.py:
|
|
||||||
maintainers: NomakCooper
|
|
||||||
$module_utils/storage/hpe3par/hpe3par.py:
|
$module_utils/storage/hpe3par/hpe3par.py:
|
||||||
maintainers: farhan7500 gautamphegde
|
maintainers: farhan7500 gautamphegde
|
||||||
$module_utils/utm_utils.py:
|
$module_utils/utm_utils.py:
|
||||||
|
@ -415,8 +391,6 @@ files:
|
||||||
$module_utils/wdc_redfish_utils.py:
|
$module_utils/wdc_redfish_utils.py:
|
||||||
labels: wdc_redfish_utils
|
labels: wdc_redfish_utils
|
||||||
maintainers: $team_wdc
|
maintainers: $team_wdc
|
||||||
$module_utils/xdg_mime.py:
|
|
||||||
maintainers: mhalano
|
|
||||||
$module_utils/xenserver.py:
|
$module_utils/xenserver.py:
|
||||||
labels: xenserver
|
labels: xenserver
|
||||||
maintainers: bvitnik
|
maintainers: bvitnik
|
||||||
|
@ -443,8 +417,6 @@ files:
|
||||||
ignore: DavidWittman jiuka
|
ignore: DavidWittman jiuka
|
||||||
labels: alternatives
|
labels: alternatives
|
||||||
maintainers: mulby
|
maintainers: mulby
|
||||||
$modules/android_sdk.py:
|
|
||||||
maintainers: shamilovstas
|
|
||||||
$modules/ansible_galaxy_install.py:
|
$modules/ansible_galaxy_install.py:
|
||||||
maintainers: russoz
|
maintainers: russoz
|
||||||
$modules/apache2_mod_proxy.py:
|
$modules/apache2_mod_proxy.py:
|
||||||
|
@ -500,6 +472,8 @@ files:
|
||||||
maintainers: NickatEpic
|
maintainers: NickatEpic
|
||||||
$modules/cisco_webex.py:
|
$modules/cisco_webex.py:
|
||||||
maintainers: drew-russell
|
maintainers: drew-russell
|
||||||
|
$modules/clc_:
|
||||||
|
maintainers: clc-runner
|
||||||
$modules/cloud_init_data_facts.py:
|
$modules/cloud_init_data_facts.py:
|
||||||
maintainers: resmo
|
maintainers: resmo
|
||||||
$modules/cloudflare_dns.py:
|
$modules/cloudflare_dns.py:
|
||||||
|
@ -531,8 +505,6 @@ files:
|
||||||
ignore: skornehl
|
ignore: skornehl
|
||||||
$modules/dconf.py:
|
$modules/dconf.py:
|
||||||
maintainers: azaghal
|
maintainers: azaghal
|
||||||
$modules/decompress.py:
|
|
||||||
maintainers: shamilovstas
|
|
||||||
$modules/deploy_helper.py:
|
$modules/deploy_helper.py:
|
||||||
maintainers: ramondelafuente
|
maintainers: ramondelafuente
|
||||||
$modules/dimensiondata_network.py:
|
$modules/dimensiondata_network.py:
|
||||||
|
@ -658,6 +630,8 @@ files:
|
||||||
maintainers: marns93
|
maintainers: marns93
|
||||||
$modules/hg.py:
|
$modules/hg.py:
|
||||||
maintainers: yeukhon
|
maintainers: yeukhon
|
||||||
|
$modules/hipchat.py:
|
||||||
|
maintainers: pb8226 shirou
|
||||||
$modules/homebrew.py:
|
$modules/homebrew.py:
|
||||||
ignore: ryansb
|
ignore: ryansb
|
||||||
keywords: brew cask darwin homebrew macosx macports osx
|
keywords: brew cask darwin homebrew macosx macports osx
|
||||||
|
@ -783,14 +757,10 @@ files:
|
||||||
maintainers: brettmilford unnecessary-username juanmcasanova
|
maintainers: brettmilford unnecessary-username juanmcasanova
|
||||||
$modules/jenkins_build_info.py:
|
$modules/jenkins_build_info.py:
|
||||||
maintainers: juanmcasanova
|
maintainers: juanmcasanova
|
||||||
$modules/jenkins_credential.py:
|
|
||||||
maintainers: YoussefKhalidAli
|
|
||||||
$modules/jenkins_job.py:
|
$modules/jenkins_job.py:
|
||||||
maintainers: sermilrod
|
maintainers: sermilrod
|
||||||
$modules/jenkins_job_info.py:
|
$modules/jenkins_job_info.py:
|
||||||
maintainers: stpierre
|
maintainers: stpierre
|
||||||
$modules/jenkins_node.py:
|
|
||||||
maintainers: phyrwork
|
|
||||||
$modules/jenkins_plugin.py:
|
$modules/jenkins_plugin.py:
|
||||||
maintainers: jtyr
|
maintainers: jtyr
|
||||||
$modules/jenkins_script.py:
|
$modules/jenkins_script.py:
|
||||||
|
@ -827,8 +797,6 @@ files:
|
||||||
maintainers: fynncfchen johncant
|
maintainers: fynncfchen johncant
|
||||||
$modules/keycloak_clientsecret_regenerate.py:
|
$modules/keycloak_clientsecret_regenerate.py:
|
||||||
maintainers: fynncfchen johncant
|
maintainers: fynncfchen johncant
|
||||||
$modules/keycloak_component.py:
|
|
||||||
maintainers: fivetide
|
|
||||||
$modules/keycloak_group.py:
|
$modules/keycloak_group.py:
|
||||||
maintainers: adamgoossens
|
maintainers: adamgoossens
|
||||||
$modules/keycloak_identity_provider.py:
|
$modules/keycloak_identity_provider.py:
|
||||||
|
@ -861,8 +829,6 @@ files:
|
||||||
maintainers: ahussey-redhat
|
maintainers: ahussey-redhat
|
||||||
$modules/kibana_plugin.py:
|
$modules/kibana_plugin.py:
|
||||||
maintainers: barryib
|
maintainers: barryib
|
||||||
$modules/krb_ticket.py:
|
|
||||||
maintainers: abakanovskii
|
|
||||||
$modules/launchd.py:
|
$modules/launchd.py:
|
||||||
maintainers: martinm82
|
maintainers: martinm82
|
||||||
$modules/layman.py:
|
$modules/layman.py:
|
||||||
|
@ -873,8 +839,6 @@ files:
|
||||||
maintainers: drybjed jtyr noles
|
maintainers: drybjed jtyr noles
|
||||||
$modules/ldap_entry.py:
|
$modules/ldap_entry.py:
|
||||||
maintainers: jtyr
|
maintainers: jtyr
|
||||||
$modules/ldap_inc.py:
|
|
||||||
maintainers: pduveau
|
|
||||||
$modules/ldap_passwd.py:
|
$modules/ldap_passwd.py:
|
||||||
maintainers: KellerFuchs jtyr
|
maintainers: KellerFuchs jtyr
|
||||||
$modules/ldap_search.py:
|
$modules/ldap_search.py:
|
||||||
|
@ -901,10 +865,6 @@ files:
|
||||||
maintainers: nerzhul
|
maintainers: nerzhul
|
||||||
$modules/lvg.py:
|
$modules/lvg.py:
|
||||||
maintainers: abulimov
|
maintainers: abulimov
|
||||||
$modules/lvm_pv.py:
|
|
||||||
maintainers: klention
|
|
||||||
$modules/lvm_pv_move_data.py:
|
|
||||||
maintainers: klention
|
|
||||||
$modules/lvg_rename.py:
|
$modules/lvg_rename.py:
|
||||||
maintainers: lszomor
|
maintainers: lszomor
|
||||||
$modules/lvol.py:
|
$modules/lvol.py:
|
||||||
|
@ -1059,11 +1019,7 @@ files:
|
||||||
$modules/ovh_monthly_billing.py:
|
$modules/ovh_monthly_billing.py:
|
||||||
maintainers: fraff
|
maintainers: fraff
|
||||||
$modules/pacemaker_cluster.py:
|
$modules/pacemaker_cluster.py:
|
||||||
maintainers: matbu munchtoast
|
maintainers: matbu
|
||||||
$modules/pacemaker_info.py:
|
|
||||||
maintainers: munchtoast
|
|
||||||
$modules/pacemaker_resource.py:
|
|
||||||
maintainers: munchtoast
|
|
||||||
$modules/packet_:
|
$modules/packet_:
|
||||||
maintainers: nurfet-becirevic t0mk
|
maintainers: nurfet-becirevic t0mk
|
||||||
$modules/packet_device.py:
|
$modules/packet_device.py:
|
||||||
|
@ -1139,6 +1095,32 @@ files:
|
||||||
maintainers: $team_bsd berenddeboer
|
maintainers: $team_bsd berenddeboer
|
||||||
$modules/pritunl_:
|
$modules/pritunl_:
|
||||||
maintainers: Lowess
|
maintainers: Lowess
|
||||||
|
$modules/profitbricks:
|
||||||
|
maintainers: baldwinSPC
|
||||||
|
$modules/proxmox:
|
||||||
|
keywords: kvm libvirt proxmox qemu
|
||||||
|
labels: proxmox virt
|
||||||
|
maintainers: $team_virt UnderGreen krauthosting
|
||||||
|
ignore: tleguern
|
||||||
|
$modules/proxmox.py:
|
||||||
|
ignore: skvidal
|
||||||
|
maintainers: UnderGreen krauthosting
|
||||||
|
$modules/proxmox_disk.py:
|
||||||
|
maintainers: castorsky krauthosting
|
||||||
|
$modules/proxmox_kvm.py:
|
||||||
|
ignore: skvidal
|
||||||
|
maintainers: helldorado krauthosting
|
||||||
|
$modules/proxmox_nic.py:
|
||||||
|
maintainers: Kogelvis krauthosting
|
||||||
|
$modules/proxmox_node_info.py:
|
||||||
|
maintainers: jwbernin krauthosting
|
||||||
|
$modules/proxmox_storage_contents_info.py:
|
||||||
|
maintainers: l00ptr krauthosting
|
||||||
|
$modules/proxmox_tasks_info:
|
||||||
|
maintainers: paginabianca krauthosting
|
||||||
|
$modules/proxmox_template.py:
|
||||||
|
ignore: skvidal
|
||||||
|
maintainers: UnderGreen krauthosting
|
||||||
$modules/pubnub_blocks.py:
|
$modules/pubnub_blocks.py:
|
||||||
maintainers: parfeon pubnub
|
maintainers: parfeon pubnub
|
||||||
$modules/pulp_repo.py:
|
$modules/pulp_repo.py:
|
||||||
|
@ -1177,6 +1159,12 @@ files:
|
||||||
keywords: kvm libvirt proxmox qemu
|
keywords: kvm libvirt proxmox qemu
|
||||||
labels: rhevm virt
|
labels: rhevm virt
|
||||||
maintainers: $team_virt TimothyVandenbrande
|
maintainers: $team_virt TimothyVandenbrande
|
||||||
|
$modules/rhn_channel.py:
|
||||||
|
labels: rhn_channel
|
||||||
|
maintainers: vincentvdk alikins $team_rhn
|
||||||
|
$modules/rhn_register.py:
|
||||||
|
labels: rhn_register
|
||||||
|
maintainers: jlaska $team_rhn
|
||||||
$modules/rhsm_release.py:
|
$modules/rhsm_release.py:
|
||||||
maintainers: seandst $team_rhsm
|
maintainers: seandst $team_rhsm
|
||||||
$modules/rhsm_repository.py:
|
$modules/rhsm_repository.py:
|
||||||
|
@ -1209,9 +1197,9 @@ files:
|
||||||
$modules/scaleway_compute_private_network.py:
|
$modules/scaleway_compute_private_network.py:
|
||||||
maintainers: pastral
|
maintainers: pastral
|
||||||
$modules/scaleway_container.py:
|
$modules/scaleway_container.py:
|
||||||
maintainers: Lunik
|
maintainers: Lunik
|
||||||
$modules/scaleway_container_info.py:
|
$modules/scaleway_container_info.py:
|
||||||
maintainers: Lunik
|
maintainers: Lunik
|
||||||
$modules/scaleway_container_namespace.py:
|
$modules/scaleway_container_namespace.py:
|
||||||
maintainers: Lunik
|
maintainers: Lunik
|
||||||
$modules/scaleway_container_namespace_info.py:
|
$modules/scaleway_container_namespace_info.py:
|
||||||
|
@ -1340,12 +1328,6 @@ files:
|
||||||
maintainers: precurse
|
maintainers: precurse
|
||||||
$modules/sysrc.py:
|
$modules/sysrc.py:
|
||||||
maintainers: dlundgren
|
maintainers: dlundgren
|
||||||
$modules/systemd_creds_decrypt.py:
|
|
||||||
maintainers: konstruktoid
|
|
||||||
$modules/systemd_creds_encrypt.py:
|
|
||||||
maintainers: konstruktoid
|
|
||||||
$modules/systemd_info.py:
|
|
||||||
maintainers: NomakCooper
|
|
||||||
$modules/sysupgrade.py:
|
$modules/sysupgrade.py:
|
||||||
maintainers: precurse
|
maintainers: precurse
|
||||||
$modules/taiga_issue.py:
|
$modules/taiga_issue.py:
|
||||||
|
@ -1419,8 +1401,6 @@ files:
|
||||||
maintainers: dinoocch the-maldridge
|
maintainers: dinoocch the-maldridge
|
||||||
$modules/xcc_:
|
$modules/xcc_:
|
||||||
maintainers: panyy3 renxulei
|
maintainers: panyy3 renxulei
|
||||||
$modules/xdg_mime.py:
|
|
||||||
maintainers: mhalano
|
|
||||||
$modules/xenserver_:
|
$modules/xenserver_:
|
||||||
maintainers: bvitnik
|
maintainers: bvitnik
|
||||||
$modules/xenserver_facts.py:
|
$modules/xenserver_facts.py:
|
||||||
|
@ -1453,8 +1433,6 @@ files:
|
||||||
maintainers: natefoo
|
maintainers: natefoo
|
||||||
$modules/znode.py:
|
$modules/znode.py:
|
||||||
maintainers: treyperry
|
maintainers: treyperry
|
||||||
$modules/zpool.py:
|
|
||||||
maintainers: tomhesse
|
|
||||||
$modules/zpool_facts:
|
$modules/zpool_facts:
|
||||||
keywords: beadm dladm illumos ipadm nexenta omnios openindiana pfexec smartos solaris sunos zfs zpool
|
keywords: beadm dladm illumos ipadm nexenta omnios openindiana pfexec smartos solaris sunos zfs zpool
|
||||||
labels: solaris
|
labels: solaris
|
||||||
|
@ -1469,9 +1447,6 @@ files:
|
||||||
maintainers: $team_suse
|
maintainers: $team_suse
|
||||||
$plugin_utils/ansible_type.py:
|
$plugin_utils/ansible_type.py:
|
||||||
maintainers: vbotka
|
maintainers: vbotka
|
||||||
$modules/zypper_repository_info.py:
|
|
||||||
labels: zypper
|
|
||||||
maintainers: $team_suse TobiasZeuch181
|
|
||||||
$plugin_utils/keys_filter.py:
|
$plugin_utils/keys_filter.py:
|
||||||
maintainers: vbotka
|
maintainers: vbotka
|
||||||
$plugin_utils/unsafe.py:
|
$plugin_utils/unsafe.py:
|
||||||
|
@ -1521,22 +1496,6 @@ files:
|
||||||
maintainers: russoz
|
maintainers: russoz
|
||||||
docs/docsite/rst/guide_deps.rst:
|
docs/docsite/rst/guide_deps.rst:
|
||||||
maintainers: russoz
|
maintainers: russoz
|
||||||
docs/docsite/rst/guide_iocage.rst:
|
|
||||||
maintainers: russoz felixfontein
|
|
||||||
docs/docsite/rst/guide_iocage_inventory.rst:
|
|
||||||
maintainers: vbotka
|
|
||||||
docs/docsite/rst/guide_iocage_inventory_aliases.rst:
|
|
||||||
maintainers: vbotka
|
|
||||||
docs/docsite/rst/guide_iocage_inventory_basics.rst:
|
|
||||||
maintainers: vbotka
|
|
||||||
docs/docsite/rst/guide_iocage_inventory_dhcp.rst:
|
|
||||||
maintainers: vbotka
|
|
||||||
docs/docsite/rst/guide_iocage_inventory_hooks.rst:
|
|
||||||
maintainers: vbotka
|
|
||||||
docs/docsite/rst/guide_iocage_inventory_properties.rst:
|
|
||||||
maintainers: vbotka
|
|
||||||
docs/docsite/rst/guide_iocage_inventory_tags.rst:
|
|
||||||
maintainers: vbotka
|
|
||||||
docs/docsite/rst/guide_modulehelper.rst:
|
docs/docsite/rst/guide_modulehelper.rst:
|
||||||
maintainers: russoz
|
maintainers: russoz
|
||||||
docs/docsite/rst/guide_online.rst:
|
docs/docsite/rst/guide_online.rst:
|
||||||
|
@ -1545,8 +1504,6 @@ files:
|
||||||
maintainers: baldwinSPC nurfet-becirevic t0mk teebes
|
maintainers: baldwinSPC nurfet-becirevic t0mk teebes
|
||||||
docs/docsite/rst/guide_scaleway.rst:
|
docs/docsite/rst/guide_scaleway.rst:
|
||||||
maintainers: $team_scaleway
|
maintainers: $team_scaleway
|
||||||
docs/docsite/rst/guide_uthelper.rst:
|
|
||||||
maintainers: russoz
|
|
||||||
docs/docsite/rst/guide_vardict.rst:
|
docs/docsite/rst/guide_vardict.rst:
|
||||||
maintainers: russoz
|
maintainers: russoz
|
||||||
docs/docsite/rst/test_guide.rst:
|
docs/docsite/rst/test_guide.rst:
|
||||||
|
@ -1598,6 +1555,7 @@ macros:
|
||||||
team_oracle: manojmeda mross22 nalsaber
|
team_oracle: manojmeda mross22 nalsaber
|
||||||
team_purestorage: bannaych dnix101 genegr lionmax opslounge raekins sdodsley sile16
|
team_purestorage: bannaych dnix101 genegr lionmax opslounge raekins sdodsley sile16
|
||||||
team_redfish: mraineri tomasg2012 xmadsen renxulei rajeevkallur bhavya06 jyundt
|
team_redfish: mraineri tomasg2012 xmadsen renxulei rajeevkallur bhavya06 jyundt
|
||||||
|
team_rhn: FlossWare alikins barnabycourt vritant
|
||||||
team_rhsm: cnsnyder ptoscano
|
team_rhsm: cnsnyder ptoscano
|
||||||
team_scaleway: remyleone abarbare
|
team_scaleway: remyleone abarbare
|
||||||
team_solaris: bcoca fishman jasperla jpdasma mator scathatheworm troy2914 xen0l
|
team_solaris: bcoca fishman jasperla jpdasma mator scathatheworm troy2914 xen0l
|
||||||
|
|
278
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
278
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
|
@ -7,147 +7,147 @@ name: Bug report
|
||||||
description: Create a report to help us improve
|
description: Create a report to help us improve
|
||||||
|
|
||||||
body:
|
body:
|
||||||
- type: markdown
|
- type: markdown
|
||||||
attributes:
|
attributes:
|
||||||
value: |
|
value: |
|
||||||
⚠
|
⚠
|
||||||
Verify first that your issue is not [already reported on GitHub][issue search].
|
Verify first that your issue is not [already reported on GitHub][issue search].
|
||||||
Also test if the latest release and devel branch are affected too.
|
Also test if the latest release and devel branch are affected too.
|
||||||
*Complete **all** sections as described, this form is processed automatically.*
|
*Complete **all** sections as described, this form is processed automatically.*
|
||||||
|
|
||||||
[issue search]: https://github.com/ansible-collections/community.general/search?q=is%3Aissue&type=issues
|
[issue search]: https://github.com/ansible-collections/community.general/search?q=is%3Aissue&type=issues
|
||||||
|
|
||||||
|
|
||||||
- type: textarea
|
- type: textarea
|
||||||
attributes:
|
attributes:
|
||||||
label: Summary
|
label: Summary
|
||||||
description: Explain the problem briefly below.
|
description: Explain the problem briefly below.
|
||||||
placeholder: >-
|
placeholder: >-
|
||||||
When I try to do X with the collection from the main branch on GitHub, Y
|
When I try to do X with the collection from the main branch on GitHub, Y
|
||||||
breaks in a way Z under the env E. Here are all the details I know
|
breaks in a way Z under the env E. Here are all the details I know
|
||||||
about this problem...
|
about this problem...
|
||||||
validations:
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: dropdown
|
||||||
|
attributes:
|
||||||
|
label: Issue Type
|
||||||
|
# FIXME: Once GitHub allows defining the default choice, update this
|
||||||
|
options:
|
||||||
|
- Bug Report
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
# For smaller collections we could use a multi-select and hardcode the list
|
||||||
|
# May generate this list via GitHub action and walking files under https://github.com/ansible-collections/community.general/tree/main/plugins
|
||||||
|
# Select from list, filter as you type (`mysql` would only show the 3 mysql components)
|
||||||
|
# OR freeform - doesn't seem to be supported in adaptivecards
|
||||||
|
label: Component Name
|
||||||
|
description: >-
|
||||||
|
Write the short name of the module, plugin, task or feature below,
|
||||||
|
*use your best guess if unsure*. Do not include `community.general.`!
|
||||||
|
placeholder: dnf, apt, yum, pip, user etc.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: Ansible Version
|
||||||
|
description: >-
|
||||||
|
Paste verbatim output from `ansible --version` between
|
||||||
|
tripple backticks.
|
||||||
|
value: |
|
||||||
|
```console (paste below)
|
||||||
|
$ ansible --version
|
||||||
|
|
||||||
|
```
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: Community.general Version
|
||||||
|
description: >-
|
||||||
|
Paste verbatim output from "ansible-galaxy collection list community.general"
|
||||||
|
between tripple backticks.
|
||||||
|
value: |
|
||||||
|
```console (paste below)
|
||||||
|
$ ansible-galaxy collection list community.general
|
||||||
|
|
||||||
|
```
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: Configuration
|
||||||
|
description: >-
|
||||||
|
If this issue has an example piece of YAML that can help to reproduce this problem, please provide it.
|
||||||
|
This can be a piece of YAML from, e.g., an automation, script, scene or configuration.
|
||||||
|
Paste verbatim output from `ansible-config dump --only-changed` between quotes
|
||||||
|
value: |
|
||||||
|
```console (paste below)
|
||||||
|
$ ansible-config dump --only-changed
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: OS / Environment
|
||||||
|
description: >-
|
||||||
|
Provide all relevant information below, e.g. target OS versions,
|
||||||
|
network device firmware, etc.
|
||||||
|
placeholder: RHEL 8, CentOS Stream etc.
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: Steps to Reproduce
|
||||||
|
description: |
|
||||||
|
Describe exactly how to reproduce the problem, using a minimal test-case. It would *really* help us understand your problem if you could also passed any playbooks, configs and commands you used.
|
||||||
|
|
||||||
|
**HINT:** You can paste https://gist.github.com links for larger files.
|
||||||
|
value: |
|
||||||
|
<!--- Paste example playbooks or commands between quotes below -->
|
||||||
|
```yaml (paste below)
|
||||||
|
|
||||||
|
```
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: Expected Results
|
||||||
|
description: >-
|
||||||
|
Describe what you expected to happen when running the steps above.
|
||||||
|
placeholder: >-
|
||||||
|
I expected X to happen because I assumed Y.
|
||||||
|
that it did not.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: Actual Results
|
||||||
|
description: |
|
||||||
|
Describe what actually happened. If possible run with extra verbosity (`-vvvv`).
|
||||||
|
|
||||||
|
Paste verbatim command output between quotes.
|
||||||
|
value: |
|
||||||
|
```console (paste below)
|
||||||
|
|
||||||
|
```
|
||||||
|
- type: checkboxes
|
||||||
|
attributes:
|
||||||
|
label: Code of Conduct
|
||||||
|
description: |
|
||||||
|
Read the [Ansible Code of Conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html?utm_medium=github&utm_source=issue_form--ansible-collections) first.
|
||||||
|
options:
|
||||||
|
- label: I agree to follow the Ansible Code of Conduct
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
- type: dropdown
|
|
||||||
attributes:
|
|
||||||
label: Issue Type
|
|
||||||
# FIXME: Once GitHub allows defining the default choice, update this
|
|
||||||
options:
|
|
||||||
- Bug Report
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
attributes:
|
|
||||||
# For smaller collections we could use a multi-select and hardcode the list
|
|
||||||
# May generate this list via GitHub action and walking files under https://github.com/ansible-collections/community.general/tree/main/plugins
|
|
||||||
# Select from list, filter as you type (`mysql` would only show the 3 mysql components)
|
|
||||||
# OR freeform - doesn't seem to be supported in adaptivecards
|
|
||||||
label: Component Name
|
|
||||||
description: >-
|
|
||||||
Write the short name of the module, plugin, task or feature below,
|
|
||||||
*use your best guess if unsure*. Do not include `community.general.`!
|
|
||||||
placeholder: dnf, apt, yum, pip, user etc.
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
attributes:
|
|
||||||
label: Ansible Version
|
|
||||||
description: >-
|
|
||||||
Paste verbatim output from `ansible --version` between
|
|
||||||
tripple backticks.
|
|
||||||
value: |
|
|
||||||
```console (paste below)
|
|
||||||
$ ansible --version
|
|
||||||
|
|
||||||
```
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
attributes:
|
|
||||||
label: Community.general Version
|
|
||||||
description: >-
|
|
||||||
Paste verbatim output from "ansible-galaxy collection list community.general"
|
|
||||||
between tripple backticks.
|
|
||||||
value: |
|
|
||||||
```console (paste below)
|
|
||||||
$ ansible-galaxy collection list community.general
|
|
||||||
|
|
||||||
```
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
attributes:
|
|
||||||
label: Configuration
|
|
||||||
description: >-
|
|
||||||
If this issue has an example piece of YAML that can help to reproduce this problem, please provide it.
|
|
||||||
This can be a piece of YAML from, e.g., an automation, script, scene or configuration.
|
|
||||||
Paste verbatim output from `ansible-config dump --only-changed` between quotes
|
|
||||||
value: |
|
|
||||||
```console (paste below)
|
|
||||||
$ ansible-config dump --only-changed
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
attributes:
|
|
||||||
label: OS / Environment
|
|
||||||
description: >-
|
|
||||||
Provide all relevant information below, e.g. target OS versions,
|
|
||||||
network device firmware, etc.
|
|
||||||
placeholder: RHEL 8, CentOS Stream etc.
|
|
||||||
validations:
|
|
||||||
required: false
|
|
||||||
|
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
attributes:
|
|
||||||
label: Steps to Reproduce
|
|
||||||
description: |
|
|
||||||
Describe exactly how to reproduce the problem, using a minimal test-case. It would *really* help us understand your problem if you could also passed any playbooks, configs and commands you used.
|
|
||||||
|
|
||||||
**HINT:** You can paste https://gist.github.com links for larger files.
|
|
||||||
value: |
|
|
||||||
<!--- Paste example playbooks or commands between quotes below -->
|
|
||||||
```yaml (paste below)
|
|
||||||
|
|
||||||
```
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
attributes:
|
|
||||||
label: Expected Results
|
|
||||||
description: >-
|
|
||||||
Describe what you expected to happen when running the steps above.
|
|
||||||
placeholder: >-
|
|
||||||
I expected X to happen because I assumed Y.
|
|
||||||
that it did not.
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
attributes:
|
|
||||||
label: Actual Results
|
|
||||||
description: |
|
|
||||||
Describe what actually happened. If possible run with extra verbosity (`-vvvv`).
|
|
||||||
|
|
||||||
Paste verbatim command output between quotes.
|
|
||||||
value: |
|
|
||||||
```console (paste below)
|
|
||||||
|
|
||||||
```
|
|
||||||
- type: checkboxes
|
|
||||||
attributes:
|
|
||||||
label: Code of Conduct
|
|
||||||
description: |
|
|
||||||
Read the [Ansible Code of Conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html?utm_medium=github&utm_source=issue_form--ansible-collections) first.
|
|
||||||
options:
|
|
||||||
- label: I agree to follow the Ansible Code of Conduct
|
|
||||||
required: true
|
|
||||||
...
|
...
|
||||||
|
|
42
.github/ISSUE_TEMPLATE/config.yml
vendored
42
.github/ISSUE_TEMPLATE/config.yml
vendored
|
@ -6,26 +6,26 @@
|
||||||
# Ref: https://help.github.com/en/github/building-a-strong-community/configuring-issue-templates-for-your-repository#configuring-the-template-chooser
|
# Ref: https://help.github.com/en/github/building-a-strong-community/configuring-issue-templates-for-your-repository#configuring-the-template-chooser
|
||||||
blank_issues_enabled: false # default: true
|
blank_issues_enabled: false # default: true
|
||||||
contact_links:
|
contact_links:
|
||||||
- name: Security bug report
|
- name: Security bug report
|
||||||
url: https://docs.ansible.com/ansible-core/devel/community/reporting_bugs_and_features.html?utm_medium=github&utm_source=issue_template_chooser_ansible_collections
|
url: https://docs.ansible.com/ansible-core/devel/community/reporting_bugs_and_features.html?utm_medium=github&utm_source=issue_template_chooser_ansible_collections
|
||||||
about: |
|
about: |
|
||||||
Please learn how to report security vulnerabilities here.
|
Please learn how to report security vulnerabilities here.
|
||||||
|
|
||||||
For all security related bugs, email security@ansible.com
|
For all security related bugs, email security@ansible.com
|
||||||
instead of using this issue tracker and you will receive
|
instead of using this issue tracker and you will receive
|
||||||
a prompt response.
|
a prompt response.
|
||||||
|
|
||||||
For more information, see
|
For more information, see
|
||||||
https://docs.ansible.com/ansible/latest/community/reporting_bugs_and_features.html
|
https://docs.ansible.com/ansible/latest/community/reporting_bugs_and_features.html
|
||||||
- name: Ansible Code of Conduct
|
- name: Ansible Code of Conduct
|
||||||
url: https://docs.ansible.com/ansible/latest/community/code_of_conduct.html?utm_medium=github&utm_source=issue_template_chooser_ansible_collections
|
url: https://docs.ansible.com/ansible/latest/community/code_of_conduct.html?utm_medium=github&utm_source=issue_template_chooser_ansible_collections
|
||||||
about: Be nice to other members of the community.
|
about: Be nice to other members of the community.
|
||||||
- name: Talks to the community
|
- name: Talks to the community
|
||||||
url: https://docs.ansible.com/ansible/latest/community/communication.html?utm_medium=github&utm_source=issue_template_chooser#mailing-list-information
|
url: https://docs.ansible.com/ansible/latest/community/communication.html?utm_medium=github&utm_source=issue_template_chooser#mailing-list-information
|
||||||
about: Please ask and answer usage questions here
|
about: Please ask and answer usage questions here
|
||||||
- name: Working groups
|
- name: Working groups
|
||||||
url: https://github.com/ansible/community/wiki
|
url: https://github.com/ansible/community/wiki
|
||||||
about: Interested in improving a specific area? Become a part of a working group!
|
about: Interested in improving a specific area? Become a part of a working group!
|
||||||
- name: For Enterprise
|
- name: For Enterprise
|
||||||
url: https://www.ansible.com/products/engine?utm_medium=github&utm_source=issue_template_chooser_ansible_collections
|
url: https://www.ansible.com/products/engine?utm_medium=github&utm_source=issue_template_chooser_ansible_collections
|
||||||
about: Red Hat offers support for the Ansible Automation Platform
|
about: Red Hat offers support for the Ansible Automation Platform
|
||||||
|
|
226
.github/ISSUE_TEMPLATE/documentation_report.yml
vendored
226
.github/ISSUE_TEMPLATE/documentation_report.yml
vendored
|
@ -8,122 +8,122 @@ description: Ask us about docs
|
||||||
# NOTE: issue body is enabled to allow screenshots
|
# NOTE: issue body is enabled to allow screenshots
|
||||||
|
|
||||||
body:
|
body:
|
||||||
- type: markdown
|
- type: markdown
|
||||||
attributes:
|
attributes:
|
||||||
value: |
|
value: |
|
||||||
⚠
|
⚠
|
||||||
Verify first that your issue is not [already reported on GitHub][issue search].
|
Verify first that your issue is not [already reported on GitHub][issue search].
|
||||||
Also test if the latest release and devel branch are affected too.
|
Also test if the latest release and devel branch are affected too.
|
||||||
*Complete **all** sections as described, this form is processed automatically.*
|
*Complete **all** sections as described, this form is processed automatically.*
|
||||||
|
|
||||||
[issue search]: https://github.com/ansible-collections/community.general/search?q=is%3Aissue&type=issues
|
[issue search]: https://github.com/ansible-collections/community.general/search?q=is%3Aissue&type=issues
|
||||||
|
|
||||||
|
|
||||||
- type: textarea
|
- type: textarea
|
||||||
attributes:
|
attributes:
|
||||||
label: Summary
|
label: Summary
|
||||||
description: |
|
description: |
|
||||||
Explain the problem briefly below, add suggestions to wording or structure.
|
Explain the problem briefly below, add suggestions to wording or structure.
|
||||||
|
|
||||||
**HINT:** Did you know the documentation has an `Edit on GitHub` link on every page?
|
**HINT:** Did you know the documentation has an `Edit on GitHub` link on every page?
|
||||||
placeholder: >-
|
placeholder: >-
|
||||||
I was reading the Collection documentation of version X and I'm having
|
I was reading the Collection documentation of version X and I'm having
|
||||||
problems understanding Y. It would be very helpful if that got
|
problems understanding Y. It would be very helpful if that got
|
||||||
rephrased as Z.
|
rephrased as Z.
|
||||||
validations:
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: dropdown
|
||||||
|
attributes:
|
||||||
|
label: Issue Type
|
||||||
|
# FIXME: Once GitHub allows defining the default choice, update this
|
||||||
|
options:
|
||||||
|
- Documentation Report
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: input
|
||||||
|
attributes:
|
||||||
|
label: Component Name
|
||||||
|
description: >-
|
||||||
|
Write the short name of the file, module, plugin, task or feature below,
|
||||||
|
*use your best guess if unsure*. Do not include `community.general.`!
|
||||||
|
placeholder: mysql_user
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: Ansible Version
|
||||||
|
description: >-
|
||||||
|
Paste verbatim output from `ansible --version` between
|
||||||
|
tripple backticks.
|
||||||
|
value: |
|
||||||
|
```console (paste below)
|
||||||
|
$ ansible --version
|
||||||
|
|
||||||
|
```
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: Community.general Version
|
||||||
|
description: >-
|
||||||
|
Paste verbatim output from "ansible-galaxy collection list community.general"
|
||||||
|
between tripple backticks.
|
||||||
|
value: |
|
||||||
|
```console (paste below)
|
||||||
|
$ ansible-galaxy collection list community.general
|
||||||
|
|
||||||
|
```
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: Configuration
|
||||||
|
description: >-
|
||||||
|
Paste verbatim output from `ansible-config dump --only-changed` between quotes.
|
||||||
|
value: |
|
||||||
|
```console (paste below)
|
||||||
|
$ ansible-config dump --only-changed
|
||||||
|
|
||||||
|
```
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: OS / Environment
|
||||||
|
description: >-
|
||||||
|
Provide all relevant information below, e.g. OS version,
|
||||||
|
browser, etc.
|
||||||
|
placeholder: Fedora 33, Firefox etc.
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: Additional Information
|
||||||
|
description: |
|
||||||
|
Describe how this improves the documentation, e.g. before/after situation or screenshots.
|
||||||
|
|
||||||
|
**Tip:** It's not possible to upload the screenshot via this field directly but you can use the last textarea in this form to attach them.
|
||||||
|
|
||||||
|
**HINT:** You can paste https://gist.github.com links for larger files.
|
||||||
|
placeholder: >-
|
||||||
|
When the improvement is applied, it makes it more straightforward
|
||||||
|
to understand X.
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
|
||||||
|
- type: checkboxes
|
||||||
|
attributes:
|
||||||
|
label: Code of Conduct
|
||||||
|
description: |
|
||||||
|
Read the [Ansible Code of Conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html?utm_medium=github&utm_source=issue_form--ansible-collections) first.
|
||||||
|
options:
|
||||||
|
- label: I agree to follow the Ansible Code of Conduct
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
- type: dropdown
|
|
||||||
attributes:
|
|
||||||
label: Issue Type
|
|
||||||
# FIXME: Once GitHub allows defining the default choice, update this
|
|
||||||
options:
|
|
||||||
- Documentation Report
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
|
|
||||||
- type: input
|
|
||||||
attributes:
|
|
||||||
label: Component Name
|
|
||||||
description: >-
|
|
||||||
Write the short name of the file, module, plugin, task or feature below,
|
|
||||||
*use your best guess if unsure*. Do not include `community.general.`!
|
|
||||||
placeholder: mysql_user
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
attributes:
|
|
||||||
label: Ansible Version
|
|
||||||
description: >-
|
|
||||||
Paste verbatim output from `ansible --version` between
|
|
||||||
tripple backticks.
|
|
||||||
value: |
|
|
||||||
```console (paste below)
|
|
||||||
$ ansible --version
|
|
||||||
|
|
||||||
```
|
|
||||||
validations:
|
|
||||||
required: false
|
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
attributes:
|
|
||||||
label: Community.general Version
|
|
||||||
description: >-
|
|
||||||
Paste verbatim output from "ansible-galaxy collection list community.general"
|
|
||||||
between tripple backticks.
|
|
||||||
value: |
|
|
||||||
```console (paste below)
|
|
||||||
$ ansible-galaxy collection list community.general
|
|
||||||
|
|
||||||
```
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
attributes:
|
|
||||||
label: Configuration
|
|
||||||
description: >-
|
|
||||||
Paste verbatim output from `ansible-config dump --only-changed` between quotes.
|
|
||||||
value: |
|
|
||||||
```console (paste below)
|
|
||||||
$ ansible-config dump --only-changed
|
|
||||||
|
|
||||||
```
|
|
||||||
validations:
|
|
||||||
required: false
|
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
attributes:
|
|
||||||
label: OS / Environment
|
|
||||||
description: >-
|
|
||||||
Provide all relevant information below, e.g. OS version,
|
|
||||||
browser, etc.
|
|
||||||
placeholder: Fedora 33, Firefox etc.
|
|
||||||
validations:
|
|
||||||
required: false
|
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
attributes:
|
|
||||||
label: Additional Information
|
|
||||||
description: |
|
|
||||||
Describe how this improves the documentation, e.g. before/after situation or screenshots.
|
|
||||||
|
|
||||||
**Tip:** It's not possible to upload the screenshot via this field directly but you can use the last textarea in this form to attach them.
|
|
||||||
|
|
||||||
**HINT:** You can paste https://gist.github.com links for larger files.
|
|
||||||
placeholder: >-
|
|
||||||
When the improvement is applied, it makes it more straightforward
|
|
||||||
to understand X.
|
|
||||||
validations:
|
|
||||||
required: false
|
|
||||||
|
|
||||||
- type: checkboxes
|
|
||||||
attributes:
|
|
||||||
label: Code of Conduct
|
|
||||||
description: |
|
|
||||||
Read the [Ansible Code of Conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html?utm_medium=github&utm_source=issue_form--ansible-collections) first.
|
|
||||||
options:
|
|
||||||
- label: I agree to follow the Ansible Code of Conduct
|
|
||||||
required: true
|
|
||||||
...
|
...
|
||||||
|
|
118
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
118
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
|
@ -7,67 +7,67 @@ name: Feature request
|
||||||
description: Suggest an idea for this project
|
description: Suggest an idea for this project
|
||||||
|
|
||||||
body:
|
body:
|
||||||
- type: markdown
|
- type: markdown
|
||||||
attributes:
|
attributes:
|
||||||
value: |
|
value: |
|
||||||
⚠
|
⚠
|
||||||
Verify first that your issue is not [already reported on GitHub][issue search].
|
Verify first that your issue is not [already reported on GitHub][issue search].
|
||||||
Also test if the latest release and devel branch are affected too.
|
Also test if the latest release and devel branch are affected too.
|
||||||
*Complete **all** sections as described, this form is processed automatically.*
|
*Complete **all** sections as described, this form is processed automatically.*
|
||||||
|
|
||||||
[issue search]: https://github.com/ansible-collections/community.general/search?q=is%3Aissue&type=issues
|
[issue search]: https://github.com/ansible-collections/community.general/search?q=is%3Aissue&type=issues
|
||||||
|
|
||||||
|
|
||||||
- type: textarea
|
- type: textarea
|
||||||
attributes:
|
attributes:
|
||||||
label: Summary
|
label: Summary
|
||||||
description: Describe the new feature/improvement briefly below.
|
description: Describe the new feature/improvement briefly below.
|
||||||
placeholder: >-
|
placeholder: >-
|
||||||
I am trying to do X with the collection from the main branch on GitHub and
|
I am trying to do X with the collection from the main branch on GitHub and
|
||||||
I think that implementing a feature Y would be very helpful for me and
|
I think that implementing a feature Y would be very helpful for me and
|
||||||
every other user of community.general because of Z.
|
every other user of community.general because of Z.
|
||||||
validations:
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: dropdown
|
||||||
|
attributes:
|
||||||
|
label: Issue Type
|
||||||
|
# FIXME: Once GitHub allows defining the default choice, update this
|
||||||
|
options:
|
||||||
|
- Feature Idea
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: input
|
||||||
|
attributes:
|
||||||
|
label: Component Name
|
||||||
|
description: >-
|
||||||
|
Write the short name of the module or plugin, or which other part(s) of the collection this feature affects.
|
||||||
|
*use your best guess if unsure*. Do not include `community.general.`!
|
||||||
|
placeholder: dnf, apt, yum, pip, user etc.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: Additional Information
|
||||||
|
description: |
|
||||||
|
Describe how the feature would be used, why it is needed and what it would solve.
|
||||||
|
|
||||||
|
**HINT:** You can paste https://gist.github.com links for larger files.
|
||||||
|
value: |
|
||||||
|
<!--- Paste example playbooks or commands between quotes below -->
|
||||||
|
```yaml (paste below)
|
||||||
|
|
||||||
|
```
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
- type: checkboxes
|
||||||
|
attributes:
|
||||||
|
label: Code of Conduct
|
||||||
|
description: |
|
||||||
|
Read the [Ansible Code of Conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html?utm_medium=github&utm_source=issue_form--ansible-collections) first.
|
||||||
|
options:
|
||||||
|
- label: I agree to follow the Ansible Code of Conduct
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
- type: dropdown
|
|
||||||
attributes:
|
|
||||||
label: Issue Type
|
|
||||||
# FIXME: Once GitHub allows defining the default choice, update this
|
|
||||||
options:
|
|
||||||
- Feature Idea
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
|
|
||||||
- type: input
|
|
||||||
attributes:
|
|
||||||
label: Component Name
|
|
||||||
description: >-
|
|
||||||
Write the short name of the module or plugin, or which other part(s) of the collection this feature affects.
|
|
||||||
*use your best guess if unsure*. Do not include `community.general.`!
|
|
||||||
placeholder: dnf, apt, yum, pip, user etc.
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
attributes:
|
|
||||||
label: Additional Information
|
|
||||||
description: |
|
|
||||||
Describe how the feature would be used, why it is needed and what it would solve.
|
|
||||||
|
|
||||||
**HINT:** You can paste https://gist.github.com links for larger files.
|
|
||||||
value: |
|
|
||||||
<!--- Paste example playbooks or commands between quotes below -->
|
|
||||||
```yaml (paste below)
|
|
||||||
|
|
||||||
```
|
|
||||||
validations:
|
|
||||||
required: false
|
|
||||||
- type: checkboxes
|
|
||||||
attributes:
|
|
||||||
label: Code of Conduct
|
|
||||||
description: |
|
|
||||||
Read the [Ansible Code of Conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html?utm_medium=github&utm_source=issue_form--ansible-collections) first.
|
|
||||||
options:
|
|
||||||
- label: I agree to follow the Ansible Code of Conduct
|
|
||||||
required: true
|
|
||||||
...
|
...
|
||||||
|
|
4
.github/dependabot.yml
vendored
4
.github/dependabot.yml
vendored
|
@ -9,7 +9,3 @@ updates:
|
||||||
directory: "/"
|
directory: "/"
|
||||||
schedule:
|
schedule:
|
||||||
interval: "weekly"
|
interval: "weekly"
|
||||||
groups:
|
|
||||||
ci:
|
|
||||||
patterns:
|
|
||||||
- "*"
|
|
||||||
|
|
117
.github/workflows/ansible-test.yml
vendored
117
.github/workflows/ansible-test.yml
vendored
|
@ -7,7 +7,7 @@
|
||||||
# https://github.com/marketplace/actions/ansible-test
|
# https://github.com/marketplace/actions/ansible-test
|
||||||
|
|
||||||
name: EOL CI
|
name: EOL CI
|
||||||
"on":
|
on:
|
||||||
# Run EOL CI against all pushes (direct commits, also merged PRs), Pull Requests
|
# Run EOL CI against all pushes (direct commits, also merged PRs), Pull Requests
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
|
@ -29,7 +29,14 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
ansible:
|
ansible:
|
||||||
- '2.16'
|
- '2.13'
|
||||||
|
- '2.14'
|
||||||
|
- '2.15'
|
||||||
|
# Ansible-test on various stable branches does not yet work well with cgroups v2.
|
||||||
|
# Since ubuntu-latest now uses Ubuntu 22.04, we need to fall back to the ubuntu-20.04
|
||||||
|
# image for these stable branches. The list of branches where this is necessary will
|
||||||
|
# shrink over time, check out https://github.com/ansible-collections/news-for-maintainers/issues/28
|
||||||
|
# for the latest list.
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Perform sanity testing
|
- name: Perform sanity testing
|
||||||
|
@ -40,10 +47,13 @@ jobs:
|
||||||
coverage: ${{ github.event_name == 'schedule' && 'always' || 'never' }}
|
coverage: ${{ github.event_name == 'schedule' && 'always' || 'never' }}
|
||||||
pull-request-change-detection: 'true'
|
pull-request-change-detection: 'true'
|
||||||
testing-type: sanity
|
testing-type: sanity
|
||||||
pre-test-cmd: >-
|
|
||||||
git clone --depth=1 --single-branch https://github.com/ansible-collections/community.internal_test_tools.git ../../community/internal_test_tools
|
|
||||||
|
|
||||||
units:
|
units:
|
||||||
|
# Ansible-test on various stable branches does not yet work well with cgroups v2.
|
||||||
|
# Since ubuntu-latest now uses Ubuntu 22.04, we need to fall back to the ubuntu-20.04
|
||||||
|
# image for these stable branches. The list of branches where this is necessary will
|
||||||
|
# shrink over time, check out https://github.com/ansible-collections/news-for-maintainers/issues/28
|
||||||
|
# for the latest list.
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
name: EOL Units (Ⓐ${{ matrix.ansible }}+py${{ matrix.python }})
|
name: EOL Units (Ⓐ${{ matrix.ansible }}+py${{ matrix.python }})
|
||||||
strategy:
|
strategy:
|
||||||
|
@ -57,12 +67,20 @@ jobs:
|
||||||
exclude:
|
exclude:
|
||||||
- ansible: ''
|
- ansible: ''
|
||||||
include:
|
include:
|
||||||
- ansible: '2.16'
|
- ansible: '2.13'
|
||||||
python: '2.7'
|
python: '2.7'
|
||||||
- ansible: '2.16'
|
- ansible: '2.13'
|
||||||
python: '3.6'
|
python: '3.8'
|
||||||
- ansible: '2.16'
|
- ansible: '2.13'
|
||||||
python: '3.11'
|
python: '2.7'
|
||||||
|
- ansible: '2.13'
|
||||||
|
python: '3.8'
|
||||||
|
- ansible: '2.14'
|
||||||
|
python: '3.9'
|
||||||
|
- ansible: '2.15'
|
||||||
|
python: '3.5'
|
||||||
|
- ansible: '2.15'
|
||||||
|
python: '3.10'
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: >-
|
- name: >-
|
||||||
|
@ -82,6 +100,11 @@ jobs:
|
||||||
testing-type: units
|
testing-type: units
|
||||||
|
|
||||||
integration:
|
integration:
|
||||||
|
# Ansible-test on various stable branches does not yet work well with cgroups v2.
|
||||||
|
# Since ubuntu-latest now uses Ubuntu 22.04, we need to fall back to the ubuntu-20.04
|
||||||
|
# image for these stable branches. The list of branches where this is necessary will
|
||||||
|
# shrink over time, check out https://github.com/ansible-collections/news-for-maintainers/issues/28
|
||||||
|
# for the latest list.
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
name: EOL I (Ⓐ${{ matrix.ansible }}+${{ matrix.docker }}+py${{ matrix.python }}:${{ matrix.target }})
|
name: EOL I (Ⓐ${{ matrix.ansible }}+${{ matrix.docker }}+py${{ matrix.python }}:${{ matrix.target }})
|
||||||
strategy:
|
strategy:
|
||||||
|
@ -98,56 +121,81 @@ jobs:
|
||||||
exclude:
|
exclude:
|
||||||
- ansible: ''
|
- ansible: ''
|
||||||
include:
|
include:
|
||||||
# 2.16
|
# 2.13
|
||||||
# CentOS 7 does not work in GHA, that's why it's not listed here.
|
- ansible: '2.13'
|
||||||
- ansible: '2.16'
|
docker: fedora35
|
||||||
docker: fedora38
|
|
||||||
python: ''
|
python: ''
|
||||||
target: azp/posix/1/
|
target: azp/posix/1/
|
||||||
- ansible: '2.16'
|
- ansible: '2.13'
|
||||||
docker: fedora38
|
docker: fedora35
|
||||||
python: ''
|
python: ''
|
||||||
target: azp/posix/2/
|
target: azp/posix/2/
|
||||||
- ansible: '2.16'
|
- ansible: '2.13'
|
||||||
docker: fedora38
|
docker: fedora35
|
||||||
python: ''
|
python: ''
|
||||||
target: azp/posix/3/
|
target: azp/posix/3/
|
||||||
- ansible: '2.16'
|
- ansible: '2.13'
|
||||||
docker: opensuse15
|
docker: opensuse15py2
|
||||||
python: ''
|
python: ''
|
||||||
target: azp/posix/1/
|
target: azp/posix/1/
|
||||||
- ansible: '2.16'
|
- ansible: '2.13'
|
||||||
docker: opensuse15
|
docker: opensuse15py2
|
||||||
python: ''
|
python: ''
|
||||||
target: azp/posix/2/
|
target: azp/posix/2/
|
||||||
- ansible: '2.16'
|
- ansible: '2.13'
|
||||||
docker: opensuse15
|
docker: opensuse15py2
|
||||||
python: ''
|
python: ''
|
||||||
target: azp/posix/3/
|
target: azp/posix/3/
|
||||||
- ansible: '2.16'
|
- ansible: '2.13'
|
||||||
docker: alpine3
|
docker: alpine3
|
||||||
python: ''
|
python: ''
|
||||||
target: azp/posix/1/
|
target: azp/posix/1/
|
||||||
- ansible: '2.16'
|
- ansible: '2.13'
|
||||||
docker: alpine3
|
docker: alpine3
|
||||||
python: ''
|
python: ''
|
||||||
target: azp/posix/2/
|
target: azp/posix/2/
|
||||||
- ansible: '2.16'
|
- ansible: '2.13'
|
||||||
docker: alpine3
|
docker: alpine3
|
||||||
python: ''
|
python: ''
|
||||||
target: azp/posix/3/
|
target: azp/posix/3/
|
||||||
|
# 2.14
|
||||||
|
- ansible: '2.14'
|
||||||
|
docker: alpine3
|
||||||
|
python: ''
|
||||||
|
target: azp/posix/1/
|
||||||
|
- ansible: '2.14'
|
||||||
|
docker: alpine3
|
||||||
|
python: ''
|
||||||
|
target: azp/posix/2/
|
||||||
|
- ansible: '2.14'
|
||||||
|
docker: alpine3
|
||||||
|
python: ''
|
||||||
|
target: azp/posix/3/
|
||||||
|
# 2.15
|
||||||
|
- ansible: '2.15'
|
||||||
|
docker: fedora37
|
||||||
|
python: ''
|
||||||
|
target: azp/posix/1/
|
||||||
|
- ansible: '2.15'
|
||||||
|
docker: fedora37
|
||||||
|
python: ''
|
||||||
|
target: azp/posix/2/
|
||||||
|
- ansible: '2.15'
|
||||||
|
docker: fedora37
|
||||||
|
python: ''
|
||||||
|
target: azp/posix/3/
|
||||||
# Right now all generic tests are disabled. Uncomment when at least one of them is re-enabled.
|
# Right now all generic tests are disabled. Uncomment when at least one of them is re-enabled.
|
||||||
# - ansible: '2.16'
|
# - ansible: '2.13'
|
||||||
# docker: default
|
# docker: default
|
||||||
# python: '2.7'
|
# python: '3.9'
|
||||||
# target: azp/generic/1/
|
# target: azp/generic/1/
|
||||||
# - ansible: '2.16'
|
# - ansible: '2.14'
|
||||||
# docker: default
|
# docker: default
|
||||||
# python: '3.6'
|
# python: '3.10'
|
||||||
# target: azp/generic/1/
|
# target: azp/generic/1/
|
||||||
# - ansible: '2.16'
|
# - ansible: '2.15'
|
||||||
# docker: default
|
# docker: default
|
||||||
# python: '3.11'
|
# python: '3.9'
|
||||||
# target: azp/generic/1/
|
# target: azp/generic/1/
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
@ -164,15 +212,12 @@ jobs:
|
||||||
integration-continue-on-error: 'false'
|
integration-continue-on-error: 'false'
|
||||||
integration-diff: 'false'
|
integration-diff: 'false'
|
||||||
integration-retry-on-error: 'true'
|
integration-retry-on-error: 'true'
|
||||||
# TODO: remove "--branch stable-2" from community.crypto install once we're only using ansible-core 2.17 or newer!
|
|
||||||
pre-test-cmd: >-
|
pre-test-cmd: >-
|
||||||
mkdir -p ../../ansible
|
mkdir -p ../../ansible
|
||||||
;
|
;
|
||||||
git clone --depth=1 --single-branch https://github.com/ansible-collections/ansible.posix.git ../../ansible/posix
|
git clone --depth=1 --single-branch https://github.com/ansible-collections/ansible.posix.git ../../ansible/posix
|
||||||
;
|
;
|
||||||
git clone --depth=1 --single-branch --branch stable-2 https://github.com/ansible-collections/community.crypto.git ../../community/crypto
|
git clone --depth=1 --single-branch https://github.com/ansible-collections/community.crypto.git ../../community/crypto
|
||||||
;
|
|
||||||
git clone --depth=1 --single-branch https://github.com/ansible-collections/community.docker.git ../../community/docker
|
|
||||||
;
|
;
|
||||||
git clone --depth=1 --single-branch https://github.com/ansible-collections/community.internal_test_tools.git ../../community/internal_test_tools
|
git clone --depth=1 --single-branch https://github.com/ansible-collections/community.internal_test_tools.git ../../community/internal_test_tools
|
||||||
pull-request-change-detection: 'true'
|
pull-request-change-detection: 'true'
|
||||||
|
|
24
.github/workflows/codeql-analysis.yml
vendored
24
.github/workflows/codeql-analysis.yml
vendored
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
name: "Code scanning - action"
|
name: "Code scanning - action"
|
||||||
|
|
||||||
"on":
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '26 19 * * 1'
|
- cron: '26 19 * * 1'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
@ -23,16 +23,16 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
# Initializes the CodeQL tools for scanning.
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
uses: github/codeql-action/init@v3
|
uses: github/codeql-action/init@v3
|
||||||
with:
|
with:
|
||||||
languages: python
|
languages: python
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
- name: Perform CodeQL Analysis
|
||||||
uses: github/codeql-action/analyze@v3
|
uses: github/codeql-action/analyze@v3
|
||||||
|
|
20
.github/workflows/import-galaxy.yml
vendored
Normal file
20
.github/workflows/import-galaxy.yml
vendored
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
# 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
|
||||||
|
|
||||||
|
name: import-galaxy
|
||||||
|
'on':
|
||||||
|
# Run CI against all pushes (direct commits, also merged PRs) to main, and all Pull Requests
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- stable-*
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
import-galaxy:
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
name: Test to import built collection artifact with Galaxy importer
|
||||||
|
uses: ansible-community/github-action-test-galaxy-import/.github/workflows/test-galaxy-import.yml@main
|
28
.github/workflows/nox.yml
vendored
28
.github/workflows/nox.yml
vendored
|
@ -1,28 +0,0 @@
|
||||||
---
|
|
||||||
# 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
|
|
||||||
|
|
||||||
name: nox
|
|
||||||
'on':
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
- stable-*
|
|
||||||
pull_request:
|
|
||||||
# Run CI once per day (at 08:00 UTC)
|
|
||||||
schedule:
|
|
||||||
- cron: '0 8 * * *'
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
nox:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
name: "Run extra sanity tests"
|
|
||||||
steps:
|
|
||||||
- name: Check out collection
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
persist-credentials: false
|
|
||||||
- name: Run nox
|
|
||||||
uses: ansible-community/antsibull-nox@main
|
|
35
.github/workflows/reuse.yml
vendored
Normal file
35
.github/workflows/reuse.yml
vendored
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
---
|
||||||
|
# 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
|
||||||
|
|
||||||
|
name: Verify REUSE
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- stable-*
|
||||||
|
pull_request:
|
||||||
|
types: [opened, synchronize, reopened]
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- stable-*
|
||||||
|
# Run CI once per day (at 07:30 UTC)
|
||||||
|
schedule:
|
||||||
|
- cron: '30 7 * * *'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
check:
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
ref: ${{ github.event.pull_request.head.sha || '' }}
|
||||||
|
|
||||||
|
- name: REUSE Compliance Check
|
||||||
|
uses: fsfe/reuse-action@v5
|
15
.gitignore
vendored
15
.gitignore
vendored
|
@ -383,16 +383,6 @@ cython_debug/
|
||||||
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
||||||
#.idea/
|
#.idea/
|
||||||
|
|
||||||
### Python Patch ###
|
|
||||||
# Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration
|
|
||||||
poetry.toml
|
|
||||||
|
|
||||||
# ruff
|
|
||||||
.ruff_cache/
|
|
||||||
|
|
||||||
# LSP config files
|
|
||||||
pyrightconfig.json
|
|
||||||
|
|
||||||
### Vim ###
|
### Vim ###
|
||||||
# Swap
|
# Swap
|
||||||
[._]*.s[a-v][a-z]
|
[._]*.s[a-v][a-z]
|
||||||
|
@ -492,10 +482,6 @@ tags
|
||||||
# https://plugins.jetbrains.com/plugin/12206-codestream
|
# https://plugins.jetbrains.com/plugin/12206-codestream
|
||||||
.idea/codestream.xml
|
.idea/codestream.xml
|
||||||
|
|
||||||
# Azure Toolkit for IntelliJ plugin
|
|
||||||
# https://plugins.jetbrains.com/plugin/8053-azure-toolkit-for-intellij
|
|
||||||
.idea/**/azureSettings.xml
|
|
||||||
|
|
||||||
### Windows ###
|
### Windows ###
|
||||||
# Windows thumbnail cache files
|
# Windows thumbnail cache files
|
||||||
Thumbs.db
|
Thumbs.db
|
||||||
|
@ -530,4 +516,3 @@ tests/integration/cloud-config-*.ini
|
||||||
|
|
||||||
# VSCode specific extensions
|
# VSCode specific extensions
|
||||||
.vscode/settings.json
|
.vscode/settings.json
|
||||||
.ansible
|
|
||||||
|
|
5
.reuse/dep5
Normal file
5
.reuse/dep5
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||||
|
|
||||||
|
Files: changelogs/fragments/*
|
||||||
|
Copyright: Ansible Project
|
||||||
|
License: GPL-3.0-or-later
|
52
.yamllint
52
.yamllint
|
@ -1,52 +0,0 @@
|
||||||
---
|
|
||||||
# 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
|
|
||||||
|
|
||||||
extends: default
|
|
||||||
|
|
||||||
ignore: |
|
|
||||||
/changelogs/
|
|
||||||
|
|
||||||
rules:
|
|
||||||
line-length:
|
|
||||||
max: 1000
|
|
||||||
level: error
|
|
||||||
document-start: disable
|
|
||||||
document-end: disable
|
|
||||||
truthy:
|
|
||||||
level: error
|
|
||||||
allowed-values:
|
|
||||||
- 'true'
|
|
||||||
- 'false'
|
|
||||||
indentation:
|
|
||||||
spaces: 2
|
|
||||||
indent-sequences: true
|
|
||||||
key-duplicates: enable
|
|
||||||
trailing-spaces: enable
|
|
||||||
new-line-at-end-of-file: disable
|
|
||||||
hyphens:
|
|
||||||
max-spaces-after: 1
|
|
||||||
empty-lines:
|
|
||||||
max: 2
|
|
||||||
max-start: 0
|
|
||||||
max-end: 0
|
|
||||||
commas:
|
|
||||||
max-spaces-before: 0
|
|
||||||
min-spaces-after: 1
|
|
||||||
max-spaces-after: 1
|
|
||||||
colons:
|
|
||||||
max-spaces-before: 0
|
|
||||||
max-spaces-after: 1
|
|
||||||
brackets:
|
|
||||||
min-spaces-inside: 0
|
|
||||||
max-spaces-inside: 0
|
|
||||||
braces:
|
|
||||||
min-spaces-inside: 0
|
|
||||||
max-spaces-inside: 1
|
|
||||||
octal-values:
|
|
||||||
forbid-implicit-octal: true
|
|
||||||
forbid-explicit-octal: true
|
|
||||||
comments:
|
|
||||||
min-spaces-from-content: 1
|
|
||||||
comments-indentation: false
|
|
893
CHANGELOG.md
893
CHANGELOG.md
|
@ -1,5 +1,890 @@
|
||||||
# Placeholder changelog
|
# Community General Release Notes
|
||||||
|
|
||||||
This file is a placeholder; a version-specific `CHANGELOG-vX.md` will be generated during releases from fragments
|
**Topics**
|
||||||
under `changelogs/fragments`. On release branches once a release has been created, consult the branch's version-specific
|
|
||||||
file for changes that have occurred in that branch.
|
- <a href="#v9-5-4">v9\.5\.4</a>
|
||||||
|
- <a href="#security-fixes">Security Fixes</a>
|
||||||
|
- <a href="#bugfixes">Bugfixes</a>
|
||||||
|
- <a href="#v9-5-3">v9\.5\.3</a>
|
||||||
|
- <a href="#release-summary">Release Summary</a>
|
||||||
|
- <a href="#minor-changes">Minor Changes</a>
|
||||||
|
- <a href="#security-fixes-1">Security Fixes</a>
|
||||||
|
- <a href="#bugfixes-1">Bugfixes</a>
|
||||||
|
- <a href="#v9-5-2">v9\.5\.2</a>
|
||||||
|
- <a href="#release-summary-1">Release Summary</a>
|
||||||
|
- <a href="#minor-changes-1">Minor Changes</a>
|
||||||
|
- <a href="#bugfixes-2">Bugfixes</a>
|
||||||
|
- <a href="#v9-5-1">v9\.5\.1</a>
|
||||||
|
- <a href="#release-summary-2">Release Summary</a>
|
||||||
|
- <a href="#minor-changes-2">Minor Changes</a>
|
||||||
|
- <a href="#bugfixes-3">Bugfixes</a>
|
||||||
|
- <a href="#v9-5-0">v9\.5\.0</a>
|
||||||
|
- <a href="#release-summary-3">Release Summary</a>
|
||||||
|
- <a href="#minor-changes-3">Minor Changes</a>
|
||||||
|
- <a href="#deprecated-features">Deprecated Features</a>
|
||||||
|
- <a href="#bugfixes-4">Bugfixes</a>
|
||||||
|
- <a href="#new-modules">New Modules</a>
|
||||||
|
- <a href="#v9-4-0">v9\.4\.0</a>
|
||||||
|
- <a href="#release-summary-4">Release Summary</a>
|
||||||
|
- <a href="#minor-changes-4">Minor Changes</a>
|
||||||
|
- <a href="#deprecated-features-1">Deprecated Features</a>
|
||||||
|
- <a href="#bugfixes-5">Bugfixes</a>
|
||||||
|
- <a href="#new-modules-1">New Modules</a>
|
||||||
|
- <a href="#v9-3-0">v9\.3\.0</a>
|
||||||
|
- <a href="#release-summary-5">Release Summary</a>
|
||||||
|
- <a href="#minor-changes-5">Minor Changes</a>
|
||||||
|
- <a href="#bugfixes-6">Bugfixes</a>
|
||||||
|
- <a href="#new-modules-2">New Modules</a>
|
||||||
|
- <a href="#v9-2-0">v9\.2\.0</a>
|
||||||
|
- <a href="#release-summary-6">Release Summary</a>
|
||||||
|
- <a href="#minor-changes-6">Minor Changes</a>
|
||||||
|
- <a href="#bugfixes-7">Bugfixes</a>
|
||||||
|
- <a href="#new-plugins">New Plugins</a>
|
||||||
|
- <a href="#filter">Filter</a>
|
||||||
|
- <a href="#test">Test</a>
|
||||||
|
- <a href="#v9-1-0">v9\.1\.0</a>
|
||||||
|
- <a href="#release-summary-7">Release Summary</a>
|
||||||
|
- <a href="#minor-changes-7">Minor Changes</a>
|
||||||
|
- <a href="#deprecated-features-2">Deprecated Features</a>
|
||||||
|
- <a href="#bugfixes-8">Bugfixes</a>
|
||||||
|
- <a href="#known-issues">Known Issues</a>
|
||||||
|
- <a href="#new-plugins-1">New Plugins</a>
|
||||||
|
- <a href="#filter-1">Filter</a>
|
||||||
|
- <a href="#new-modules-3">New Modules</a>
|
||||||
|
- <a href="#v9-0-1">v9\.0\.1</a>
|
||||||
|
- <a href="#release-summary-8">Release Summary</a>
|
||||||
|
- <a href="#minor-changes-8">Minor Changes</a>
|
||||||
|
- <a href="#bugfixes-9">Bugfixes</a>
|
||||||
|
- <a href="#v9-0-0">v9\.0\.0</a>
|
||||||
|
- <a href="#release-summary-9">Release Summary</a>
|
||||||
|
- <a href="#minor-changes-9">Minor Changes</a>
|
||||||
|
- <a href="#breaking-changes--porting-guide">Breaking Changes / Porting Guide</a>
|
||||||
|
- <a href="#deprecated-features-3">Deprecated Features</a>
|
||||||
|
- <a href="#removed-features-previously-deprecated">Removed Features \(previously deprecated\)</a>
|
||||||
|
- <a href="#security-fixes-2">Security Fixes</a>
|
||||||
|
- <a href="#bugfixes-10">Bugfixes</a>
|
||||||
|
- <a href="#new-plugins-2">New Plugins</a>
|
||||||
|
- <a href="#become">Become</a>
|
||||||
|
- <a href="#callback">Callback</a>
|
||||||
|
- <a href="#connection">Connection</a>
|
||||||
|
- <a href="#filter-2">Filter</a>
|
||||||
|
- <a href="#lookup">Lookup</a>
|
||||||
|
- <a href="#test-1">Test</a>
|
||||||
|
- <a href="#new-modules-4">New Modules</a>
|
||||||
|
This changelog describes changes after version 8\.0\.0\.
|
||||||
|
|
||||||
|
<a id="v9-5-4"></a>
|
||||||
|
## v9\.5\.4
|
||||||
|
|
||||||
|
<a id="security-fixes"></a>
|
||||||
|
### Security Fixes
|
||||||
|
|
||||||
|
* 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"></a>
|
||||||
|
### Bugfixes
|
||||||
|
|
||||||
|
* redhat\_subscription \- do not try to unsubscribe \(i\.e\. remove subscriptions\)
|
||||||
|
when unregistering a system\: newer versions of subscription\-manager\, as
|
||||||
|
available in EL 10 and Fedora 41\+\, do not support entitlements anymore\, and
|
||||||
|
thus unsubscribing will fail
|
||||||
|
\([https\://github\.com/ansible\-collections/community\.general/pull/9578](https\://github\.com/ansible\-collections/community\.general/pull/9578)\)\.
|
||||||
|
|
||||||
|
<a id="v9-5-3"></a>
|
||||||
|
## v9\.5\.3
|
||||||
|
|
||||||
|
<a id="release-summary"></a>
|
||||||
|
### Release Summary
|
||||||
|
|
||||||
|
Regular bugfix release\.
|
||||||
|
|
||||||
|
<a id="minor-changes"></a>
|
||||||
|
### Minor Changes
|
||||||
|
|
||||||
|
* proxmox module utils \- add method <code>api\_task\_complete</code> that can wait for task completion and return error message \([https\://github\.com/ansible\-collections/community\.general/pull/9256](https\://github\.com/ansible\-collections/community\.general/pull/9256)\)\.
|
||||||
|
|
||||||
|
<a id="security-fixes-1"></a>
|
||||||
|
### Security Fixes
|
||||||
|
|
||||||
|
* 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)\)\.
|
||||||
|
|
||||||
|
<a id="bugfixes-1"></a>
|
||||||
|
### Bugfixes
|
||||||
|
|
||||||
|
* dig lookup plugin \- correctly handle <code>NoNameserver</code> exception \([https\://github\.com/ansible\-collections/community\.general/pull/9363](https\://github\.com/ansible\-collections/community\.general/pull/9363)\, [https\://github\.com/ansible\-collections/community\.general/issues/9362](https\://github\.com/ansible\-collections/community\.general/issues/9362)\)\.
|
||||||
|
* htpasswd \- report changes when file permissions are adjusted \([https\://github\.com/ansible\-collections/community\.general/issues/9485](https\://github\.com/ansible\-collections/community\.general/issues/9485)\, [https\://github\.com/ansible\-collections/community\.general/pull/9490](https\://github\.com/ansible\-collections/community\.general/pull/9490)\)\.
|
||||||
|
* proxmox\_disk \- fix async method and make <code>resize\_disk</code> method handle errors correctly \([https\://github\.com/ansible\-collections/community\.general/pull/9256](https\://github\.com/ansible\-collections/community\.general/pull/9256)\)\.
|
||||||
|
* proxmox\_template \- fix the wrong path called on <code>proxmox\_template\.task\_status</code> \([https\://github\.com/ansible\-collections/community\.general/issues/9276](https\://github\.com/ansible\-collections/community\.general/issues/9276)\, [https\://github\.com/ansible\-collections/community\.general/pull/9277](https\://github\.com/ansible\-collections/community\.general/pull/9277)\)\.
|
||||||
|
* qubes connection plugin \- fix the printing of debug information \([https\://github\.com/ansible\-collections/community\.general/pull/9334](https\://github\.com/ansible\-collections/community\.general/pull/9334)\)\.
|
||||||
|
* redfish\_utils module utils \- Fix <code>VerifyBiosAttributes</code> command on multi system resource nodes \([https\://github\.com/ansible\-collections/community\.general/pull/9234](https\://github\.com/ansible\-collections/community\.general/pull/9234)\)\.
|
||||||
|
|
||||||
|
<a id="v9-5-2"></a>
|
||||||
|
## v9\.5\.2
|
||||||
|
|
||||||
|
<a id="release-summary-1"></a>
|
||||||
|
### Release Summary
|
||||||
|
|
||||||
|
Regular bugfix release\.
|
||||||
|
|
||||||
|
<a id="minor-changes-1"></a>
|
||||||
|
### Minor Changes
|
||||||
|
|
||||||
|
* proxmox inventory plugin \- fix urllib3 <code>InsecureRequestWarnings</code> not being suppressed when a token is used \([https\://github\.com/ansible\-collections/community\.general/pull/9099](https\://github\.com/ansible\-collections/community\.general/pull/9099)\)\.
|
||||||
|
|
||||||
|
<a id="bugfixes-2"></a>
|
||||||
|
### Bugfixes
|
||||||
|
|
||||||
|
* dnf\_config\_manager \- fix hanging when prompting to import GPG keys \([https\://github\.com/ansible\-collections/community\.general/pull/9124](https\://github\.com/ansible\-collections/community\.general/pull/9124)\, [https\://github\.com/ansible\-collections/community\.general/issues/8830](https\://github\.com/ansible\-collections/community\.general/issues/8830)\)\.
|
||||||
|
* dnf\_config\_manager \- forces locale to <code>C</code> before module starts\. If the locale was set to non\-English\, the output of the <code>dnf config\-manager</code> could not be parsed \([https\://github\.com/ansible\-collections/community\.general/pull/9157](https\://github\.com/ansible\-collections/community\.general/pull/9157)\, [https\://github\.com/ansible\-collections/community\.general/issues/9046](https\://github\.com/ansible\-collections/community\.general/issues/9046)\)\.
|
||||||
|
* flatpak \- force the locale language to <code>C</code> when running the flatpak command \([https\://github\.com/ansible\-collections/community\.general/pull/9187](https\://github\.com/ansible\-collections/community\.general/pull/9187)\, [https\://github\.com/ansible\-collections/community\.general/issues/8883](https\://github\.com/ansible\-collections/community\.general/issues/8883)\)\.
|
||||||
|
* github\_key \- in check mode\, a faulty call to <code>\`datetime\.strftime\(\.\.\.\)\`</code> was being made which generated an exception \([https\://github\.com/ansible\-collections/community\.general/issues/9185](https\://github\.com/ansible\-collections/community\.general/issues/9185)\)\.
|
||||||
|
* homebrew\_cask \- allow <code>\+</code> symbol in Homebrew cask name validation regex \([https\://github\.com/ansible\-collections/community\.general/pull/9128](https\://github\.com/ansible\-collections/community\.general/pull/9128)\)\.
|
||||||
|
* keycloak\_client \- fix diff by removing code that turns the attributes dict which contains additional settings into a list \([https\://github\.com/ansible\-collections/community\.general/pull/9077](https\://github\.com/ansible\-collections/community\.general/pull/9077)\)\.
|
||||||
|
* keycloak\_clientscope \- fix diff and <code>end\_state</code> by removing the code that turns the attributes dict\, which contains additional config items\, into a list \([https\://github\.com/ansible\-collections/community\.general/pull/9082](https\://github\.com/ansible\-collections/community\.general/pull/9082)\)\.
|
||||||
|
* keycloak\_clientscope\_type \- sort the default and optional clientscope lists to improve the diff \([https\://github\.com/ansible\-collections/community\.general/pull/9202](https\://github\.com/ansible\-collections/community\.general/pull/9202)\)\.
|
||||||
|
* redfish\_utils module utils \- remove undocumented default applytime \([https\://github\.com/ansible\-collections/community\.general/pull/9114](https\://github\.com/ansible\-collections/community\.general/pull/9114)\)\.
|
||||||
|
* slack \- fail if Slack API response is not OK with error message \([https\://github\.com/ansible\-collections/community\.general/pull/9198](https\://github\.com/ansible\-collections/community\.general/pull/9198)\)\.
|
||||||
|
|
||||||
|
<a id="v9-5-1"></a>
|
||||||
|
## v9\.5\.1
|
||||||
|
|
||||||
|
<a id="release-summary-2"></a>
|
||||||
|
### Release Summary
|
||||||
|
|
||||||
|
Regular bugfix release\.
|
||||||
|
|
||||||
|
<a id="minor-changes-2"></a>
|
||||||
|
### Minor Changes
|
||||||
|
|
||||||
|
* redfish\_utils module utils \- schedule a BIOS configuration job at next reboot when the BIOS config is changed \([https\://github\.com/ansible\-collections/community\.general/pull/9012](https\://github\.com/ansible\-collections/community\.general/pull/9012)\)\.
|
||||||
|
|
||||||
|
<a id="bugfixes-3"></a>
|
||||||
|
### Bugfixes
|
||||||
|
|
||||||
|
* bitwarden lookup plugin \- support BWS v0\.3\.0 syntax breaking change \([https\://github\.com/ansible\-collections/community\.general/pull/9028](https\://github\.com/ansible\-collections/community\.general/pull/9028)\)\.
|
||||||
|
* collection\_version lookup plugin \- use <code>importlib</code> directly instead of the deprecated and in ansible\-core 2\.19 removed <code>ansible\.module\_utils\.compat\.importlib</code> \([https\://github\.com/ansible\-collections/community\.general/pull/9084](https\://github\.com/ansible\-collections/community\.general/pull/9084)\)\.
|
||||||
|
* gitlab\_label \- update label\'s color \([https\://github\.com/ansible\-collections/community\.general/pull/9010](https\://github\.com/ansible\-collections/community\.general/pull/9010)\)\.
|
||||||
|
* keycloak\_clientscope\_type \- fix detect changes in check mode \([https\://github\.com/ansible\-collections/community\.general/issues/9092](https\://github\.com/ansible\-collections/community\.general/issues/9092)\, [https\://github\.com/ansible\-collections/community\.general/pull/9093](https\://github\.com/ansible\-collections/community\.general/pull/9093)\)\.
|
||||||
|
* keycloak\_group \- fix crash caused in subgroup creation\. The crash was caused by a missing or empty <code>subGroups</code> property in Keycloak ≥23 \([https\://github\.com/ansible\-collections/community\.general/issues/8788](https\://github\.com/ansible\-collections/community\.general/issues/8788)\, [https\://github\.com/ansible\-collections/community\.general/pull/8979](https\://github\.com/ansible\-collections/community\.general/pull/8979)\)\.
|
||||||
|
* modprobe \- fix check mode not being honored for <code>persistent</code> option \([https\://github\.com/ansible\-collections/community\.general/issues/9051](https\://github\.com/ansible\-collections/community\.general/issues/9051)\, [https\://github\.com/ansible\-collections/community\.general/pull/9052](https\://github\.com/ansible\-collections/community\.general/pull/9052)\)\.
|
||||||
|
* one\_host \- fix if statements for cases when <code>ID\=0</code> \([https\://github\.com/ansible\-collections/community\.general/issues/1199](https\://github\.com/ansible\-collections/community\.general/issues/1199)\, [https\://github\.com/ansible\-collections/community\.general/pull/8907](https\://github\.com/ansible\-collections/community\.general/pull/8907)\)\.
|
||||||
|
* one\_image \- fix module failing due to a class method typo \([https\://github\.com/ansible\-collections/community\.general/pull/9056](https\://github\.com/ansible\-collections/community\.general/pull/9056)\)\.
|
||||||
|
* one\_image\_info \- fix module failing due to a class method typo \([https\://github\.com/ansible\-collections/community\.general/pull/9056](https\://github\.com/ansible\-collections/community\.general/pull/9056)\)\.
|
||||||
|
* one\_vnet \- fix module failing due to a variable typo \([https\://github\.com/ansible\-collections/community\.general/pull/9019](https\://github\.com/ansible\-collections/community\.general/pull/9019)\)\.
|
||||||
|
* redfish\_utils module utils \- fix issue with URI parsing to gracefully handling trailing slashes when extracting member identifiers \([https\://github\.com/ansible\-collections/community\.general/issues/9047](https\://github\.com/ansible\-collections/community\.general/issues/9047)\, [https\://github\.com/ansible\-collections/community\.general/pull/9057](https\://github\.com/ansible\-collections/community\.general/pull/9057)\)\.
|
||||||
|
|
||||||
|
<a id="v9-5-0"></a>
|
||||||
|
## v9\.5\.0
|
||||||
|
|
||||||
|
<a id="release-summary-3"></a>
|
||||||
|
### Release Summary
|
||||||
|
|
||||||
|
Regular bugfix and feature release\.
|
||||||
|
|
||||||
|
Please note that this is the last feature release for community\.general 9\.x\.y\.
|
||||||
|
From now on\, new features will only go into community\.general 10\.x\.y\.
|
||||||
|
|
||||||
|
<a id="minor-changes-3"></a>
|
||||||
|
### Minor Changes
|
||||||
|
|
||||||
|
* dig lookup plugin \- add <code>port</code> option to specify DNS server port \([https\://github\.com/ansible\-collections/community\.general/pull/8966](https\://github\.com/ansible\-collections/community\.general/pull/8966)\)\.
|
||||||
|
* flatpak \- improve the parsing of Flatpak application IDs based on official guidelines \([https\://github\.com/ansible\-collections/community\.general/pull/8909](https\://github\.com/ansible\-collections/community\.general/pull/8909)\)\.
|
||||||
|
* gio\_mime \- adjust code ahead of the old <code>VardDict</code> deprecation \([https\://github\.com/ansible\-collections/community\.general/pull/8855](https\://github\.com/ansible\-collections/community\.general/pull/8855)\)\.
|
||||||
|
* gitlab\_deploy\_key \- better construct when using <code>dict\.items\(\)</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
|
||||||
|
* gitlab\_group \- add many new parameters \([https\://github\.com/ansible\-collections/community\.general/pull/8908](https\://github\.com/ansible\-collections/community\.general/pull/8908)\)\.
|
||||||
|
* gitlab\_group \- better construct when using <code>dict\.items\(\)</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
|
||||||
|
* gitlab\_issue \- better construct when using <code>dict\.items\(\)</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
|
||||||
|
* gitlab\_merge\_request \- better construct when using <code>dict\.items\(\)</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
|
||||||
|
* gitlab\_runner \- better construct when using <code>dict\.items\(\)</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
|
||||||
|
* icinga2\_host \- replace loop with dict comprehension \([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
|
||||||
|
* jira \- adjust code ahead of the old <code>VardDict</code> deprecation \([https\://github\.com/ansible\-collections/community\.general/pull/8856](https\://github\.com/ansible\-collections/community\.general/pull/8856)\)\.
|
||||||
|
* keycloak\_client \- add <code>client\-x509</code> choice to <code>client\_authenticator\_type</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8973](https\://github\.com/ansible\-collections/community\.general/pull/8973)\)\.
|
||||||
|
* keycloak\_user\_federation \- add the user federation config parameter <code>referral</code> to the module arguments \([https\://github\.com/ansible\-collections/community\.general/pull/8954](https\://github\.com/ansible\-collections/community\.general/pull/8954)\)\.
|
||||||
|
* memset\_dns\_reload \- replace loop with <code>dict\(\)</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
|
||||||
|
* memset\_memstore\_info \- replace loop with <code>dict\(\)</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
|
||||||
|
* memset\_server\_info \- replace loop with <code>dict\(\)</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
|
||||||
|
* memset\_zone \- replace loop with <code>dict\(\)</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
|
||||||
|
* memset\_zone\_domain \- replace loop with <code>dict\(\)</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
|
||||||
|
* memset\_zone\_record \- replace loop with <code>dict\(\)</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
|
||||||
|
* nmcli \- add <code>conn\_enable</code> param to reload connection \([https\://github\.com/ansible\-collections/community\.general/issues/3752](https\://github\.com/ansible\-collections/community\.general/issues/3752)\, [https\://github\.com/ansible\-collections/community\.general/issues/8704](https\://github\.com/ansible\-collections/community\.general/issues/8704)\, [https\://github\.com/ansible\-collections/community\.general/pull/8897](https\://github\.com/ansible\-collections/community\.general/pull/8897)\)\.
|
||||||
|
* nmcli \- add <code>state\=up</code> and <code>state\=down</code> to enable/disable connections \([https\://github\.com/ansible\-collections/community\.general/issues/3752](https\://github\.com/ansible\-collections/community\.general/issues/3752)\, [https\://github\.com/ansible\-collections/community\.general/issues/8704](https\://github\.com/ansible\-collections/community\.general/issues/8704)\, [https\://github\.com/ansible\-collections/community\.general/issues/7152](https\://github\.com/ansible\-collections/community\.general/issues/7152)\, [https\://github\.com/ansible\-collections/community\.general/pull/8897](https\://github\.com/ansible\-collections/community\.general/pull/8897)\)\.
|
||||||
|
* nmcli \- better construct when using <code>dict\.items\(\)</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
|
||||||
|
* npm \- add <code>force</code> parameter to allow <code>\-\-force</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8885](https\://github\.com/ansible\-collections/community\.general/pull/8885)\)\.
|
||||||
|
* one\_image \- add option <code>persistent</code> to manage image persistence \([https\://github\.com/ansible\-collections/community\.general/issues/3578](https\://github\.com/ansible\-collections/community\.general/issues/3578)\, [https\://github\.com/ansible\-collections/community\.general/pull/8889](https\://github\.com/ansible\-collections/community\.general/pull/8889)\)\.
|
||||||
|
* one\_image \- extend xsd scheme to make it return a lot more info about image \([https\://github\.com/ansible\-collections/community\.general/pull/8889](https\://github\.com/ansible\-collections/community\.general/pull/8889)\)\.
|
||||||
|
* one\_image \- refactor code to make it more similar to <code>one\_template</code> and <code>one\_vnet</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8889](https\://github\.com/ansible\-collections/community\.general/pull/8889)\)\.
|
||||||
|
* one\_image\_info \- extend xsd scheme to make it return a lot more info about image \([https\://github\.com/ansible\-collections/community\.general/pull/8889](https\://github\.com/ansible\-collections/community\.general/pull/8889)\)\.
|
||||||
|
* one\_image\_info \- refactor code to make it more similar to <code>one\_template</code> and <code>one\_vnet</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8889](https\://github\.com/ansible\-collections/community\.general/pull/8889)\)\.
|
||||||
|
* open\_iscsi \- allow login to a portal with multiple targets without specifying any of them \([https\://github\.com/ansible\-collections/community\.general/pull/8719](https\://github\.com/ansible\-collections/community\.general/pull/8719)\)\.
|
||||||
|
* opennebula\.py \- add VM <code>id</code> and VM <code>host</code> to inventory host data \([https\://github\.com/ansible\-collections/community\.general/pull/8532](https\://github\.com/ansible\-collections/community\.general/pull/8532)\)\.
|
||||||
|
* passwordstore lookup plugin \- add subkey creation/update support \([https\://github\.com/ansible\-collections/community\.general/pull/8952](https\://github\.com/ansible\-collections/community\.general/pull/8952)\)\.
|
||||||
|
* proxmox inventory plugin \- clean up authentication code \([https\://github\.com/ansible\-collections/community\.general/pull/8917](https\://github\.com/ansible\-collections/community\.general/pull/8917)\)\.
|
||||||
|
* redfish\_command \- add handling of the <code>PasswordChangeRequired</code> message from services in the <code>UpdateUserPassword</code> command to directly modify the user\'s password if the requested user is the one invoking the operation \([https\://github\.com/ansible\-collections/community\.general/issues/8652](https\://github\.com/ansible\-collections/community\.general/issues/8652)\, [https\://github\.com/ansible\-collections/community\.general/pull/8653](https\://github\.com/ansible\-collections/community\.general/pull/8653)\)\.
|
||||||
|
* redfish\_confg \- remove <code>CapacityBytes</code> from required paramaters of the <code>CreateVolume</code> command \([https\://github\.com/ansible\-collections/community\.general/pull/8956](https\://github\.com/ansible\-collections/community\.general/pull/8956)\)\.
|
||||||
|
* redfish\_config \- add parameter <code>storage\_none\_volume\_deletion</code> to <code>CreateVolume</code> command in order to control the automatic deletion of non\-RAID volumes \([https\://github\.com/ansible\-collections/community\.general/pull/8990](https\://github\.com/ansible\-collections/community\.general/pull/8990)\)\.
|
||||||
|
* redfish\_info \- adds <code>RedfishURI</code> and <code>StorageId</code> to Disk inventory \([https\://github\.com/ansible\-collections/community\.general/pull/8937](https\://github\.com/ansible\-collections/community\.general/pull/8937)\)\.
|
||||||
|
* scaleway\_container \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8858](https\://github\.com/ansible\-collections/community\.general/pull/8858)\)\.
|
||||||
|
* scaleway\_container\_info \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8858](https\://github\.com/ansible\-collections/community\.general/pull/8858)\)\.
|
||||||
|
* scaleway\_container\_namespace \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8858](https\://github\.com/ansible\-collections/community\.general/pull/8858)\)\.
|
||||||
|
* scaleway\_container\_namespace\_info \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8858](https\://github\.com/ansible\-collections/community\.general/pull/8858)\)\.
|
||||||
|
* scaleway\_container\_registry \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8858](https\://github\.com/ansible\-collections/community\.general/pull/8858)\)\.
|
||||||
|
* scaleway\_container\_registry\_info \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8858](https\://github\.com/ansible\-collections/community\.general/pull/8858)\)\.
|
||||||
|
* scaleway\_function \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8858](https\://github\.com/ansible\-collections/community\.general/pull/8858)\)\.
|
||||||
|
* scaleway\_function\_info \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8858](https\://github\.com/ansible\-collections/community\.general/pull/8858)\)\.
|
||||||
|
* scaleway\_function\_namespace \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8858](https\://github\.com/ansible\-collections/community\.general/pull/8858)\)\.
|
||||||
|
* scaleway\_function\_namespace\_info \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8858](https\://github\.com/ansible\-collections/community\.general/pull/8858)\)\.
|
||||||
|
* scaleway\_user\_data \- better construct when using <code>dict\.items\(\)</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
|
||||||
|
* udm\_dns\_record \- replace loop with <code>dict\.update\(\)</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
|
||||||
|
|
||||||
|
<a id="deprecated-features"></a>
|
||||||
|
### Deprecated Features
|
||||||
|
|
||||||
|
* hipchat \- the hipchat service has been discontinued and the self\-hosted variant has been End of Life since 2020\. The module is therefore deprecated and will be removed from community\.general 11\.0\.0 if nobody provides compelling reasons to still keep it \([https\://github\.com/ansible\-collections/community\.general/pull/8919](https\://github\.com/ansible\-collections/community\.general/pull/8919)\)\.
|
||||||
|
|
||||||
|
<a id="bugfixes-4"></a>
|
||||||
|
### Bugfixes
|
||||||
|
|
||||||
|
* cloudflare\_dns \- fix changing Cloudflare SRV records \([https\://github\.com/ansible\-collections/community\.general/issues/8679](https\://github\.com/ansible\-collections/community\.general/issues/8679)\, [https\://github\.com/ansible\-collections/community\.general/pull/8948](https\://github\.com/ansible\-collections/community\.general/pull/8948)\)\.
|
||||||
|
* cmd\_runner module utils \- call to <code>get\_best\_parsable\_locales\(\)</code> was missing parameter \([https\://github\.com/ansible\-collections/community\.general/pull/8929](https\://github\.com/ansible\-collections/community\.general/pull/8929)\)\.
|
||||||
|
* dig lookup plugin \- fix using only the last nameserver specified \([https\://github\.com/ansible\-collections/community\.general/pull/8970](https\://github\.com/ansible\-collections/community\.general/pull/8970)\)\.
|
||||||
|
* django\_command \- option <code>command</code> is now split lexically before passed to underlying PythonRunner \([https\://github\.com/ansible\-collections/community\.general/pull/8944](https\://github\.com/ansible\-collections/community\.general/pull/8944)\)\.
|
||||||
|
* homectl \- the module now tries to use <code>legacycrypt</code> on Python 3\.13\+ \([https\://github\.com/ansible\-collections/community\.general/issues/4691](https\://github\.com/ansible\-collections/community\.general/issues/4691)\, [https\://github\.com/ansible\-collections/community\.general/pull/8987](https\://github\.com/ansible\-collections/community\.general/pull/8987)\)\.
|
||||||
|
* ini\_file \- pass absolute paths to <code>module\.atomic\_move\(\)</code> \([https\://github\.com/ansible/ansible/issues/83950](https\://github\.com/ansible/ansible/issues/83950)\, [https\://github\.com/ansible\-collections/community\.general/pull/8925](https\://github\.com/ansible\-collections/community\.general/pull/8925)\)\.
|
||||||
|
* ipa\_host \- add <code>force\_create</code>\, fix <code>enabled</code> and <code>disabled</code> states \([https\://github\.com/ansible\-collections/community\.general/issues/1094](https\://github\.com/ansible\-collections/community\.general/issues/1094)\, [https\://github\.com/ansible\-collections/community\.general/pull/8920](https\://github\.com/ansible\-collections/community\.general/pull/8920)\)\.
|
||||||
|
* ipa\_hostgroup \- fix <code>enabled \`\` and \`\`disabled</code> states \([https\://github\.com/ansible\-collections/community\.general/issues/8408](https\://github\.com/ansible\-collections/community\.general/issues/8408)\, [https\://github\.com/ansible\-collections/community\.general/pull/8900](https\://github\.com/ansible\-collections/community\.general/pull/8900)\)\.
|
||||||
|
* java\_keystore \- pass absolute paths to <code>module\.atomic\_move\(\)</code> \([https\://github\.com/ansible/ansible/issues/83950](https\://github\.com/ansible/ansible/issues/83950)\, [https\://github\.com/ansible\-collections/community\.general/pull/8925](https\://github\.com/ansible\-collections/community\.general/pull/8925)\)\.
|
||||||
|
* jenkins\_plugin \- pass absolute paths to <code>module\.atomic\_move\(\)</code> \([https\://github\.com/ansible/ansible/issues/83950](https\://github\.com/ansible/ansible/issues/83950)\, [https\://github\.com/ansible\-collections/community\.general/pull/8925](https\://github\.com/ansible\-collections/community\.general/pull/8925)\)\.
|
||||||
|
* kdeconfig \- pass absolute paths to <code>module\.atomic\_move\(\)</code> \([https\://github\.com/ansible/ansible/issues/83950](https\://github\.com/ansible/ansible/issues/83950)\, [https\://github\.com/ansible\-collections/community\.general/pull/8925](https\://github\.com/ansible\-collections/community\.general/pull/8925)\)\.
|
||||||
|
* keycloak\_realm \- fix change detection in check mode by sorting the lists in the realms beforehand \([https\://github\.com/ansible\-collections/community\.general/pull/8877](https\://github\.com/ansible\-collections/community\.general/pull/8877)\)\.
|
||||||
|
* keycloak\_user\_federation \- add module argument allowing users to configure the update mode for the parameter <code>bindCredential</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8898](https\://github\.com/ansible\-collections/community\.general/pull/8898)\)\.
|
||||||
|
* keycloak\_user\_federation \- minimize change detection by setting <code>krbPrincipalAttribute</code> to <code>\'\'</code> in Keycloak responses if missing \([https\://github\.com/ansible\-collections/community\.general/pull/8785](https\://github\.com/ansible\-collections/community\.general/pull/8785)\)\.
|
||||||
|
* keycloak\_user\_federation \- remove <code>lastSync</code> parameter from Keycloak responses to minimize diff/changes \([https\://github\.com/ansible\-collections/community\.general/pull/8812](https\://github\.com/ansible\-collections/community\.general/pull/8812)\)\.
|
||||||
|
* keycloak\_userprofile \- fix empty response when fetching userprofile component by removing <code>parent\=parent\_id</code> filter \([https\://github\.com/ansible\-collections/community\.general/pull/8923](https\://github\.com/ansible\-collections/community\.general/pull/8923)\)\.
|
||||||
|
* keycloak\_userprofile \- improve diff by deserializing the fetched <code>kc\.user\.profile\.config</code> and serialize it only when sending back \([https\://github\.com/ansible\-collections/community\.general/pull/8940](https\://github\.com/ansible\-collections/community\.general/pull/8940)\)\.
|
||||||
|
* lxd\_container \- fix bug introduced in previous commit \([https\://github\.com/ansible\-collections/community\.general/pull/8895](https\://github\.com/ansible\-collections/community\.general/pull/8895)\, [https\://github\.com/ansible\-collections/community\.general/issues/8888](https\://github\.com/ansible\-collections/community\.general/issues/8888)\)\.
|
||||||
|
* one\_service \- fix service creation after it was deleted with <code>unique</code> parameter \([https\://github\.com/ansible\-collections/community\.general/issues/3137](https\://github\.com/ansible\-collections/community\.general/issues/3137)\, [https\://github\.com/ansible\-collections/community\.general/pull/8887](https\://github\.com/ansible\-collections/community\.general/pull/8887)\)\.
|
||||||
|
* pam\_limits \- pass absolute paths to <code>module\.atomic\_move\(\)</code> \([https\://github\.com/ansible/ansible/issues/83950](https\://github\.com/ansible/ansible/issues/83950)\, [https\://github\.com/ansible\-collections/community\.general/pull/8925](https\://github\.com/ansible\-collections/community\.general/pull/8925)\)\.
|
||||||
|
* python\_runner module utils \- parameter <code>path\_prefix</code> was being handled as string when it should be a list \([https\://github\.com/ansible\-collections/community\.general/pull/8944](https\://github\.com/ansible\-collections/community\.general/pull/8944)\)\.
|
||||||
|
* udm\_user \- the module now tries to use <code>legacycrypt</code> on Python 3\.13\+ \([https\://github\.com/ansible\-collections/community\.general/issues/4690](https\://github\.com/ansible\-collections/community\.general/issues/4690)\, [https\://github\.com/ansible\-collections/community\.general/pull/8987](https\://github\.com/ansible\-collections/community\.general/pull/8987)\)\.
|
||||||
|
|
||||||
|
<a id="new-modules"></a>
|
||||||
|
### New Modules
|
||||||
|
|
||||||
|
* community\.general\.ipa\_getkeytab \- Manage keytab file in FreeIPA\.
|
||||||
|
|
||||||
|
<a id="v9-4-0"></a>
|
||||||
|
## v9\.4\.0
|
||||||
|
|
||||||
|
<a id="release-summary-4"></a>
|
||||||
|
### Release Summary
|
||||||
|
|
||||||
|
Bugfix and feature release\.
|
||||||
|
|
||||||
|
<a id="minor-changes-4"></a>
|
||||||
|
### Minor Changes
|
||||||
|
|
||||||
|
* MH module utils \- add parameter <code>when</code> to <code>cause\_changes</code> decorator \([https\://github\.com/ansible\-collections/community\.general/pull/8766](https\://github\.com/ansible\-collections/community\.general/pull/8766)\)\.
|
||||||
|
* MH module utils \- minor refactor in decorators \([https\://github\.com/ansible\-collections/community\.general/pull/8766](https\://github\.com/ansible\-collections/community\.general/pull/8766)\)\.
|
||||||
|
* alternatives \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
|
||||||
|
* apache2\_mod\_proxy \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
|
||||||
|
* apache2\_mod\_proxy \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
|
||||||
|
* consul\_acl \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
|
||||||
|
* copr \- Added <code>includepkgs</code> and <code>excludepkgs</code> parameters to limit the list of packages fetched or excluded from the repository\([https\://github\.com/ansible\-collections/community\.general/pull/8779](https\://github\.com/ansible\-collections/community\.general/pull/8779)\)\.
|
||||||
|
* credstash lookup plugin \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
|
||||||
|
* csv module utils \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
|
||||||
|
* deco MH module utils \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
|
||||||
|
* etcd3 \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
|
||||||
|
* gio\_mime \- mute the old <code>VarDict</code> deprecation \([https\://github\.com/ansible\-collections/community\.general/pull/8776](https\://github\.com/ansible\-collections/community\.general/pull/8776)\)\.
|
||||||
|
* gitlab\_group \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
|
||||||
|
* gitlab\_project \- add option <code>issues\_access\_level</code> to enable/disable project issues \([https\://github\.com/ansible\-collections/community\.general/pull/8760](https\://github\.com/ansible\-collections/community\.general/pull/8760)\)\.
|
||||||
|
* gitlab\_project \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
|
||||||
|
* gitlab\_project \- sorted parameters in order to avoid future merge conflicts \([https\://github\.com/ansible\-collections/community\.general/pull/8759](https\://github\.com/ansible\-collections/community\.general/pull/8759)\)\.
|
||||||
|
* hashids filter plugin \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
|
||||||
|
* hwc\_ecs\_instance \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
|
||||||
|
* hwc\_evs\_disk \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
|
||||||
|
* hwc\_vpc\_eip \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
|
||||||
|
* hwc\_vpc\_peering\_connect \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
|
||||||
|
* hwc\_vpc\_port \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
|
||||||
|
* hwc\_vpc\_subnet \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
|
||||||
|
* imc\_rest \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
|
||||||
|
* ipa\_otptoken \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
|
||||||
|
* jira \- mute the old <code>VarDict</code> deprecation \([https\://github\.com/ansible\-collections/community\.general/pull/8776](https\://github\.com/ansible\-collections/community\.general/pull/8776)\)\.
|
||||||
|
* jira \- replace deprecated params when using decorator <code>cause\_changes</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8791](https\://github\.com/ansible\-collections/community\.general/pull/8791)\)\.
|
||||||
|
* keep\_keys filter plugin \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
|
||||||
|
* keycloak module utils \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
|
||||||
|
* keycloak\_client \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
|
||||||
|
* keycloak\_clientscope \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
|
||||||
|
* keycloak\_identity\_provider \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
|
||||||
|
* keycloak\_user\_federation \- add module argument allowing users to optout of the removal of unspecified mappers\, for example to keep the keycloak default mappers \([https\://github\.com/ansible\-collections/community\.general/pull/8764](https\://github\.com/ansible\-collections/community\.general/pull/8764)\)\.
|
||||||
|
* keycloak\_user\_federation \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
|
||||||
|
* keycloak\_user\_federation \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
|
||||||
|
* keycloak\_user\_federation \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
|
||||||
|
* linode \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
|
||||||
|
* lxc\_container \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
|
||||||
|
* lxd\_container \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
|
||||||
|
* manageiq\_provider \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
|
||||||
|
* ocapi\_utils \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
|
||||||
|
* one\_service \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
|
||||||
|
* one\_vm \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
|
||||||
|
* onepassword lookup plugin \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
|
||||||
|
* pids \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
|
||||||
|
* pipx \- added new states <code>install\_all</code>\, <code>uninject</code>\, <code>upgrade\_shared</code>\, <code>pin</code>\, and <code>unpin</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8809](https\://github\.com/ansible\-collections/community\.general/pull/8809)\)\.
|
||||||
|
* pipx \- added parameter <code>global</code> to module \([https\://github\.com/ansible\-collections/community\.general/pull/8793](https\://github\.com/ansible\-collections/community\.general/pull/8793)\)\.
|
||||||
|
* pipx \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
|
||||||
|
* pipx\_info \- added parameter <code>global</code> to module \([https\://github\.com/ansible\-collections/community\.general/pull/8793](https\://github\.com/ansible\-collections/community\.general/pull/8793)\)\.
|
||||||
|
* pipx\_info \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
|
||||||
|
* pkg5\_publisher \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
|
||||||
|
* proxmox \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
|
||||||
|
* proxmox\_disk \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
|
||||||
|
* proxmox\_kvm \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
|
||||||
|
* proxmox\_kvm \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
|
||||||
|
* redfish\_utils \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
|
||||||
|
* redfish\_utils module utils \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
|
||||||
|
* redis cache plugin \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
|
||||||
|
* remove\_keys filter plugin \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
|
||||||
|
* replace\_keys filter plugin \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
|
||||||
|
* scaleway \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
|
||||||
|
* scaleway module utils \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
|
||||||
|
* scaleway\_compute \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
|
||||||
|
* scaleway\_ip \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
|
||||||
|
* scaleway\_lb \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
|
||||||
|
* scaleway\_security\_group \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
|
||||||
|
* scaleway\_security\_group \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
|
||||||
|
* scaleway\_user\_data \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
|
||||||
|
* sensu\_silence \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
|
||||||
|
* snmp\_facts \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
|
||||||
|
* sorcery \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
|
||||||
|
* ufw \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
|
||||||
|
* unsafe plugin utils \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
|
||||||
|
* vardict module utils \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
|
||||||
|
* vars MH module utils \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
|
||||||
|
* vmadm \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
|
||||||
|
|
||||||
|
<a id="deprecated-features-1"></a>
|
||||||
|
### Deprecated Features
|
||||||
|
|
||||||
|
* MH decorator cause\_changes module utils \- deprecate parameters <code>on\_success</code> and <code>on\_failure</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8791](https\://github\.com/ansible\-collections/community\.general/pull/8791)\)\.
|
||||||
|
* pipx \- support for versions of the command line tool <code>pipx</code> older than <code>1\.7\.0</code> is deprecated and will be removed in community\.general 11\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/8793](https\://github\.com/ansible\-collections/community\.general/pull/8793)\)\.
|
||||||
|
* pipx\_info \- support for versions of the command line tool <code>pipx</code> older than <code>1\.7\.0</code> is deprecated and will be removed in community\.general 11\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/8793](https\://github\.com/ansible\-collections/community\.general/pull/8793)\)\.
|
||||||
|
|
||||||
|
<a id="bugfixes-5"></a>
|
||||||
|
### Bugfixes
|
||||||
|
|
||||||
|
* gitlab\_group\_access\_token \- fix crash in check mode caused by attempted access to a newly created access token \([https\://github\.com/ansible\-collections/community\.general/pull/8796](https\://github\.com/ansible\-collections/community\.general/pull/8796)\)\.
|
||||||
|
* gitlab\_project \- fix <code>container\_expiration\_policy</code> not being applied when creating a new project \([https\://github\.com/ansible\-collections/community\.general/pull/8790](https\://github\.com/ansible\-collections/community\.general/pull/8790)\)\.
|
||||||
|
* gitlab\_project \- fix crash caused by old Gitlab projects not having a <code>container\_expiration\_policy</code> attribute \([https\://github\.com/ansible\-collections/community\.general/pull/8790](https\://github\.com/ansible\-collections/community\.general/pull/8790)\)\.
|
||||||
|
* gitlab\_project\_access\_token \- fix crash in check mode caused by attempted access to a newly created access token \([https\://github\.com/ansible\-collections/community\.general/pull/8796](https\://github\.com/ansible\-collections/community\.general/pull/8796)\)\.
|
||||||
|
* keycloak\_realm\_key \- fix invalid usage of <code>parent\_id</code> \([https\://github\.com/ansible\-collections/community\.general/issues/7850](https\://github\.com/ansible\-collections/community\.general/issues/7850)\, [https\://github\.com/ansible\-collections/community\.general/pull/8823](https\://github\.com/ansible\-collections/community\.general/pull/8823)\)\.
|
||||||
|
* keycloak\_user\_federation \- fix key error when removing mappers during an update and new mappers are specified in the module args \([https\://github\.com/ansible\-collections/community\.general/pull/8762](https\://github\.com/ansible\-collections/community\.general/pull/8762)\)\.
|
||||||
|
* keycloak\_user\_federation \- fix the <code>UnboundLocalError</code> that occurs when an ID is provided for a user federation mapper \([https\://github\.com/ansible\-collections/community\.general/pull/8831](https\://github\.com/ansible\-collections/community\.general/pull/8831)\)\.
|
||||||
|
* keycloak\_user\_federation \- sort desired and after mapper list by name \(analog to before mapper list\) to minimize diff and make change detection more accurate \([https\://github\.com/ansible\-collections/community\.general/pull/8761](https\://github\.com/ansible\-collections/community\.general/pull/8761)\)\.
|
||||||
|
* proxmox inventory plugin \- fixed a possible error on concatenating responses from proxmox\. In case an API call unexpectedly returned an empty result\, the inventory failed with a fatal error\. Added check for empty response \([https\://github\.com/ansible\-collections/community\.general/issues/8798](https\://github\.com/ansible\-collections/community\.general/issues/8798)\, [https\://github\.com/ansible\-collections/community\.general/pull/8794](https\://github\.com/ansible\-collections/community\.general/pull/8794)\)\.
|
||||||
|
|
||||||
|
<a id="new-modules-1"></a>
|
||||||
|
### New Modules
|
||||||
|
|
||||||
|
* community\.general\.keycloak\_userprofile \- Allows managing Keycloak User Profiles\.
|
||||||
|
* community\.general\.one\_vnet \- Manages OpenNebula virtual networks\.
|
||||||
|
|
||||||
|
<a id="v9-3-0"></a>
|
||||||
|
## v9\.3\.0
|
||||||
|
|
||||||
|
<a id="release-summary-5"></a>
|
||||||
|
### Release Summary
|
||||||
|
|
||||||
|
Regular bugfix and feature release\.
|
||||||
|
|
||||||
|
<a id="minor-changes-5"></a>
|
||||||
|
### Minor Changes
|
||||||
|
|
||||||
|
* cgroup\_memory\_recap\, hipchat\, jabber\, log\_plays\, loganalytics\, logentries\, logstash\, slack\, splunk\, sumologic\, syslog\_json callback plugins \- make sure that all options are typed \([https\://github\.com/ansible\-collections/community\.general/pull/8628](https\://github\.com/ansible\-collections/community\.general/pull/8628)\)\.
|
||||||
|
* chef\_databag\, consul\_kv\, cyberarkpassword\, dsv\, etcd\, filetree\, hiera\, onepassword\, onepassword\_doc\, onepassword\_raw\, passwordstore\, redis\, shelvefile\, tss lookup plugins \- make sure that all options are typed \([https\://github\.com/ansible\-collections/community\.general/pull/8626](https\://github\.com/ansible\-collections/community\.general/pull/8626)\)\.
|
||||||
|
* chroot\, funcd\, incus\, iocage\, jail\, lxc\, lxd\, qubes\, zone connection plugins \- make sure that all options are typed \([https\://github\.com/ansible\-collections/community\.general/pull/8627](https\://github\.com/ansible\-collections/community\.general/pull/8627)\)\.
|
||||||
|
* cobbler\, linode\, lxd\, nmap\, online\, scaleway\, stackpath\_compute\, virtualbox inventory plugins \- make sure that all options are typed \([https\://github\.com/ansible\-collections/community\.general/pull/8625](https\://github\.com/ansible\-collections/community\.general/pull/8625)\)\.
|
||||||
|
* doas\, dzdo\, ksu\, machinectl\, pbrun\, pfexec\, pmrun\, sesu\, sudosu become plugins \- make sure that all options are typed \([https\://github\.com/ansible\-collections/community\.general/pull/8623](https\://github\.com/ansible\-collections/community\.general/pull/8623)\)\.
|
||||||
|
* gconftool2 \- make use of <code>ModuleHelper</code> features to simplify code \([https\://github\.com/ansible\-collections/community\.general/pull/8711](https\://github\.com/ansible\-collections/community\.general/pull/8711)\)\.
|
||||||
|
* gitlab\_project \- add option <code>container\_expiration\_policy</code> to schedule container registry cleanup \([https\://github\.com/ansible\-collections/community\.general/pull/8674](https\://github\.com/ansible\-collections/community\.general/pull/8674)\)\.
|
||||||
|
* gitlab\_project \- add option <code>model\_registry\_access\_level</code> to disable model registry \([https\://github\.com/ansible\-collections/community\.general/pull/8688](https\://github\.com/ansible\-collections/community\.general/pull/8688)\)\.
|
||||||
|
* gitlab\_project \- add option <code>pages\_access\_level</code> to disable project pages \([https\://github\.com/ansible\-collections/community\.general/pull/8688](https\://github\.com/ansible\-collections/community\.general/pull/8688)\)\.
|
||||||
|
* gitlab\_project \- add option <code>repository\_access\_level</code> to disable project repository \([https\://github\.com/ansible\-collections/community\.general/pull/8674](https\://github\.com/ansible\-collections/community\.general/pull/8674)\)\.
|
||||||
|
* gitlab\_project \- add option <code>service\_desk\_enabled</code> to disable service desk \([https\://github\.com/ansible\-collections/community\.general/pull/8688](https\://github\.com/ansible\-collections/community\.general/pull/8688)\)\.
|
||||||
|
* locale\_gen \- add support for multiple locales \([https\://github\.com/ansible\-collections/community\.general/issues/8677](https\://github\.com/ansible\-collections/community\.general/issues/8677)\, [https\://github\.com/ansible\-collections/community\.general/pull/8682](https\://github\.com/ansible\-collections/community\.general/pull/8682)\)\.
|
||||||
|
* memcached\, pickle\, redis\, yaml cache plugins \- make sure that all options are typed \([https\://github\.com/ansible\-collections/community\.general/pull/8624](https\://github\.com/ansible\-collections/community\.general/pull/8624)\)\.
|
||||||
|
* opentelemetry callback plugin \- fix default value for <code>store\_spans\_in\_file</code> causing traces to be produced to a file named <code>None</code> \([https\://github\.com/ansible\-collections/community\.general/issues/8566](https\://github\.com/ansible\-collections/community\.general/issues/8566)\, [https\://github\.com/ansible\-collections/community\.general/pull/8741](https\://github\.com/ansible\-collections/community\.general/pull/8741)\)\.
|
||||||
|
* passwordstore lookup plugin \- add the current user to the lockfile file name to address issues on multi\-user systems \([https\://github\.com/ansible\-collections/community\.general/pull/8689](https\://github\.com/ansible\-collections/community\.general/pull/8689)\)\.
|
||||||
|
* pipx \- add parameter <code>suffix</code> to module \([https\://github\.com/ansible\-collections/community\.general/pull/8675](https\://github\.com/ansible\-collections/community\.general/pull/8675)\, [https\://github\.com/ansible\-collections/community\.general/issues/8656](https\://github\.com/ansible\-collections/community\.general/issues/8656)\)\.
|
||||||
|
* pkgng \- add option <code>use\_globs</code> \(default <code>true</code>\) to optionally disable glob patterns \([https\://github\.com/ansible\-collections/community\.general/issues/8632](https\://github\.com/ansible\-collections/community\.general/issues/8632)\, [https\://github\.com/ansible\-collections/community\.general/pull/8633](https\://github\.com/ansible\-collections/community\.general/pull/8633)\)\.
|
||||||
|
* proxmox inventory plugin \- add new fact for LXC interface details \([https\://github\.com/ansible\-collections/community\.general/pull/8713](https\://github\.com/ansible\-collections/community\.general/pull/8713)\)\.
|
||||||
|
* redis\, redis\_info \- add <code>client\_cert</code> and <code>client\_key</code> options to specify path to certificate for Redis authentication \([https\://github\.com/ansible\-collections/community\.general/pull/8654](https\://github\.com/ansible\-collections/community\.general/pull/8654)\)\.
|
||||||
|
|
||||||
|
<a id="bugfixes-6"></a>
|
||||||
|
### Bugfixes
|
||||||
|
|
||||||
|
* gitlab\_runner \- fix <code>paused</code> parameter being ignored \([https\://github\.com/ansible\-collections/community\.general/pull/8648](https\://github\.com/ansible\-collections/community\.general/pull/8648)\)\.
|
||||||
|
* homebrew\_cask \- fix <code>upgrade\_all</code> returns <code>changed</code> when nothing upgraded \([https\://github\.com/ansible\-collections/community\.general/issues/8707](https\://github\.com/ansible\-collections/community\.general/issues/8707)\, [https\://github\.com/ansible\-collections/community\.general/pull/8708](https\://github\.com/ansible\-collections/community\.general/pull/8708)\)\.
|
||||||
|
* keycloak\_user\_federation \- get cleartext IDP <code>clientSecret</code> from full realm info to detect changes to it \([https\://github\.com/ansible\-collections/community\.general/issues/8294](https\://github\.com/ansible\-collections/community\.general/issues/8294)\, [https\://github\.com/ansible\-collections/community\.general/pull/8735](https\://github\.com/ansible\-collections/community\.general/pull/8735)\)\.
|
||||||
|
* keycloak\_user\_federation \- remove existing user federation mappers if they are not present in the federation configuration and will not be updated \([https\://github\.com/ansible\-collections/community\.general/issues/7169](https\://github\.com/ansible\-collections/community\.general/issues/7169)\, [https\://github\.com/ansible\-collections/community\.general/pull/8695](https\://github\.com/ansible\-collections/community\.general/pull/8695)\)\.
|
||||||
|
* proxmox \- fixed an issue where the new volume handling incorrectly converted <code>null</code> values into <code>\"None\"</code> strings \([https\://github\.com/ansible\-collections/community\.general/pull/8646](https\://github\.com/ansible\-collections/community\.general/pull/8646)\)\.
|
||||||
|
* proxmox \- fixed an issue where volume strings where overwritten instead of appended to in the new <code>build\_volume\(\)</code> method \([https\://github\.com/ansible\-collections/community\.general/pull/8646](https\://github\.com/ansible\-collections/community\.general/pull/8646)\)\.
|
||||||
|
* proxmox \- removed the forced conversion of non\-string values to strings to be consistent with the module documentation \([https\://github\.com/ansible\-collections/community\.general/pull/8646](https\://github\.com/ansible\-collections/community\.general/pull/8646)\)\.
|
||||||
|
|
||||||
|
<a id="new-modules-2"></a>
|
||||||
|
### New Modules
|
||||||
|
|
||||||
|
* community\.general\.bootc\_manage \- Bootc Switch and Upgrade\.
|
||||||
|
* community\.general\.homebrew\_services \- Services manager for Homebrew\.
|
||||||
|
* community\.general\.keycloak\_realm\_keys\_metadata\_info \- Allows obtaining Keycloak realm keys metadata via Keycloak API\.
|
||||||
|
|
||||||
|
<a id="v9-2-0"></a>
|
||||||
|
## v9\.2\.0
|
||||||
|
|
||||||
|
<a id="release-summary-6"></a>
|
||||||
|
### Release Summary
|
||||||
|
|
||||||
|
Regular bugfix and feature release\.
|
||||||
|
|
||||||
|
<a id="minor-changes-6"></a>
|
||||||
|
### Minor Changes
|
||||||
|
|
||||||
|
* CmdRunner module utils \- the parameter <code>force\_lang</code> now supports the special value <code>auto</code> which will automatically try and determine the best parsable locale in the system \([https\://github\.com/ansible\-collections/community\.general/pull/8517](https\://github\.com/ansible\-collections/community\.general/pull/8517)\)\.
|
||||||
|
* proxmox \- add <code>disk\_volume</code> and <code>mount\_volumes</code> keys for better readability \([https\://github\.com/ansible\-collections/community\.general/pull/8542](https\://github\.com/ansible\-collections/community\.general/pull/8542)\)\.
|
||||||
|
* proxmox \- translate the old <code>disk</code> and <code>mounts</code> keys to the new handling internally \([https\://github\.com/ansible\-collections/community\.general/pull/8542](https\://github\.com/ansible\-collections/community\.general/pull/8542)\)\.
|
||||||
|
* proxmox\_template \- small refactor in logic for determining whether a template exists or not \([https\://github\.com/ansible\-collections/community\.general/pull/8516](https\://github\.com/ansible\-collections/community\.general/pull/8516)\)\.
|
||||||
|
* redfish\_\* modules \- adds <code>ciphers</code> option for custom cipher selection \([https\://github\.com/ansible\-collections/community\.general/pull/8533](https\://github\.com/ansible\-collections/community\.general/pull/8533)\)\.
|
||||||
|
* sudosu become plugin \- added an option \(<code>alt\_method</code>\) to enhance compatibility with more versions of <code>su</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8214](https\://github\.com/ansible\-collections/community\.general/pull/8214)\)\.
|
||||||
|
* virtualbox inventory plugin \- expose a new parameter <code>enable\_advanced\_group\_parsing</code> to change how the VirtualBox dynamic inventory parses VM groups \([https\://github\.com/ansible\-collections/community\.general/issues/8508](https\://github\.com/ansible\-collections/community\.general/issues/8508)\, [https\://github\.com/ansible\-collections/community\.general/pull/8510](https\://github\.com/ansible\-collections/community\.general/pull/8510)\)\.
|
||||||
|
* wdc\_redfish\_command \- minor change to handle upgrade file for Redfish WD platforms \([https\://github\.com/ansible\-collections/community\.general/pull/8444](https\://github\.com/ansible\-collections/community\.general/pull/8444)\)\.
|
||||||
|
|
||||||
|
<a id="bugfixes-7"></a>
|
||||||
|
### Bugfixes
|
||||||
|
|
||||||
|
* bitwarden lookup plugin \- fix <code>KeyError</code> in <code>search\_field</code> \([https\://github\.com/ansible\-collections/community\.general/issues/8549](https\://github\.com/ansible\-collections/community\.general/issues/8549)\, [https\://github\.com/ansible\-collections/community\.general/pull/8557](https\://github\.com/ansible\-collections/community\.general/pull/8557)\)\.
|
||||||
|
* keycloak\_clientscope \- remove IDs from clientscope and its protocol mappers on comparison for changed check \([https\://github\.com/ansible\-collections/community\.general/pull/8545](https\://github\.com/ansible\-collections/community\.general/pull/8545)\)\.
|
||||||
|
* nsupdate \- fix \'index out of range\' error when changing NS records by falling back to authority section of the response \([https\://github\.com/ansible\-collections/community\.general/issues/8612](https\://github\.com/ansible\-collections/community\.general/issues/8612)\, [https\://github\.com/ansible\-collections/community\.general/pull/8614](https\://github\.com/ansible\-collections/community\.general/pull/8614)\)\.
|
||||||
|
* proxmox \- fix idempotency on creation of mount volumes using Proxmox\' special <code>\<storage\>\:\<size\></code> syntax \([https\://github\.com/ansible\-collections/community\.general/issues/8407](https\://github\.com/ansible\-collections/community\.general/issues/8407)\, [https\://github\.com/ansible\-collections/community\.general/pull/8542](https\://github\.com/ansible\-collections/community\.general/pull/8542)\)\.
|
||||||
|
* redfish\_utils module utils \- do not fail when language is not exactly \"en\" \([https\://github\.com/ansible\-collections/community\.general/pull/8613](https\://github\.com/ansible\-collections/community\.general/pull/8613)\)\.
|
||||||
|
|
||||||
|
<a id="new-plugins"></a>
|
||||||
|
### New Plugins
|
||||||
|
|
||||||
|
<a id="filter"></a>
|
||||||
|
#### Filter
|
||||||
|
|
||||||
|
* community\.general\.reveal\_ansible\_type \- Return input type\.
|
||||||
|
|
||||||
|
<a id="test"></a>
|
||||||
|
#### Test
|
||||||
|
|
||||||
|
* community\.general\.ansible\_type \- Validate input type\.
|
||||||
|
|
||||||
|
<a id="v9-1-0"></a>
|
||||||
|
## v9\.1\.0
|
||||||
|
|
||||||
|
<a id="release-summary-7"></a>
|
||||||
|
### Release Summary
|
||||||
|
|
||||||
|
Regular feature and bugfix release\.
|
||||||
|
|
||||||
|
<a id="minor-changes-7"></a>
|
||||||
|
### Minor Changes
|
||||||
|
|
||||||
|
* CmdRunner module util \- argument formats can be specified as plain functions without calling <code>cmd\_runner\_fmt\.as\_func\(\)</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8479](https\://github\.com/ansible\-collections/community\.general/pull/8479)\)\.
|
||||||
|
* ansible\_galaxy\_install \- add upgrade feature \([https\://github\.com/ansible\-collections/community\.general/pull/8431](https\://github\.com/ansible\-collections/community\.general/pull/8431)\, [https\://github\.com/ansible\-collections/community\.general/issues/8351](https\://github\.com/ansible\-collections/community\.general/issues/8351)\)\.
|
||||||
|
* cargo \- add option <code>directory</code>\, which allows source directory to be specified \([https\://github\.com/ansible\-collections/community\.general/pull/8480](https\://github\.com/ansible\-collections/community\.general/pull/8480)\)\.
|
||||||
|
* cmd\_runner module utils \- add decorator <code>cmd\_runner\_fmt\.stack</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8415](https\://github\.com/ansible\-collections/community\.general/pull/8415)\)\.
|
||||||
|
* cmd\_runner\_fmt module utils \- simplify implementation of <code>cmd\_runner\_fmt\.as\_bool\_not\(\)</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8512](https\://github\.com/ansible\-collections/community\.general/pull/8512)\)\.
|
||||||
|
* ipa\_dnsrecord \- adds <code>SSHFP</code> record type for managing SSH fingerprints in FreeIPA DNS \([https\://github\.com/ansible\-collections/community\.general/pull/8404](https\://github\.com/ansible\-collections/community\.general/pull/8404)\)\.
|
||||||
|
* keycloak\_client \- assign auth flow by name \([https\://github\.com/ansible\-collections/community\.general/pull/8428](https\://github\.com/ansible\-collections/community\.general/pull/8428)\)\.
|
||||||
|
* openbsd\_pkg \- adds diff support to show changes in installed package list\. This does not yet work for check mode \([https\://github\.com/ansible\-collections/community\.general/pull/8402](https\://github\.com/ansible\-collections/community\.general/pull/8402)\)\.
|
||||||
|
* proxmox \- allow specification of the API port when using proxmox\_\* \([https\://github\.com/ansible\-collections/community\.general/issues/8440](https\://github\.com/ansible\-collections/community\.general/issues/8440)\, [https\://github\.com/ansible\-collections/community\.general/pull/8441](https\://github\.com/ansible\-collections/community\.general/pull/8441)\)\.
|
||||||
|
* proxmox\_vm\_info \- add <code>network</code> option to retrieve current network information \([https\://github\.com/ansible\-collections/community\.general/pull/8471](https\://github\.com/ansible\-collections/community\.general/pull/8471)\)\.
|
||||||
|
* redfish\_command \- add <code>wait</code> and <code>wait\_timeout</code> options to allow a user to block a command until a service is accessible after performing the requested command \([https\://github\.com/ansible\-collections/community\.general/issues/8051](https\://github\.com/ansible\-collections/community\.general/issues/8051)\, [https\://github\.com/ansible\-collections/community\.general/pull/8434](https\://github\.com/ansible\-collections/community\.general/pull/8434)\)\.
|
||||||
|
* redfish\_info \- add command <code>CheckAvailability</code> to check if a service is accessible \([https\://github\.com/ansible\-collections/community\.general/issues/8051](https\://github\.com/ansible\-collections/community\.general/issues/8051)\, [https\://github\.com/ansible\-collections/community\.general/pull/8434](https\://github\.com/ansible\-collections/community\.general/pull/8434)\)\.
|
||||||
|
* redis\_info \- adds support for getting cluster info \([https\://github\.com/ansible\-collections/community\.general/pull/8464](https\://github\.com/ansible\-collections/community\.general/pull/8464)\)\.
|
||||||
|
|
||||||
|
<a id="deprecated-features-2"></a>
|
||||||
|
### Deprecated Features
|
||||||
|
|
||||||
|
* CmdRunner module util \- setting the value of the <code>ignore\_none</code> parameter within a <code>CmdRunner</code> context is deprecated and that feature should be removed in community\.general 12\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/8479](https\://github\.com/ansible\-collections/community\.general/pull/8479)\)\.
|
||||||
|
* git\_config \- the <code>list\_all</code> option has been deprecated and will be removed in community\.general 11\.0\.0\. Use the <code>community\.general\.git\_config\_info</code> module instead \([https\://github\.com/ansible\-collections/community\.general/pull/8453](https\://github\.com/ansible\-collections/community\.general/pull/8453)\)\.
|
||||||
|
* git\_config \- using <code>state\=present</code> without providing <code>value</code> is deprecated and will be disallowed in community\.general 11\.0\.0\. Use the <code>community\.general\.git\_config\_info</code> module instead to read a value \([https\://github\.com/ansible\-collections/community\.general/pull/8453](https\://github\.com/ansible\-collections/community\.general/pull/8453)\)\.
|
||||||
|
|
||||||
|
<a id="bugfixes-8"></a>
|
||||||
|
### Bugfixes
|
||||||
|
|
||||||
|
* git\_config \- fix behavior of <code>state\=absent</code> if <code>value</code> is present \([https\://github\.com/ansible\-collections/community\.general/issues/8436](https\://github\.com/ansible\-collections/community\.general/issues/8436)\, [https\://github\.com/ansible\-collections/community\.general/pull/8452](https\://github\.com/ansible\-collections/community\.general/pull/8452)\)\.
|
||||||
|
* keycloak\_realm \- add normalizations for <code>attributes</code> and <code>protocol\_mappers</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8496](https\://github\.com/ansible\-collections/community\.general/pull/8496)\)\.
|
||||||
|
* launched \- correctly report changed status in check mode \([https\://github\.com/ansible\-collections/community\.general/pull/8406](https\://github\.com/ansible\-collections/community\.general/pull/8406)\)\.
|
||||||
|
* opennebula inventory plugin \- fix invalid reference to IP when inventory runs against NICs with no IPv4 address \([https\://github\.com/ansible\-collections/community\.general/pull/8489](https\://github\.com/ansible\-collections/community\.general/pull/8489)\)\.
|
||||||
|
* opentelemetry callback \- do not save the JSON response when using the <code>ansible\.builtin\.uri</code> module \([https\://github\.com/ansible\-collections/community\.general/pull/8430](https\://github\.com/ansible\-collections/community\.general/pull/8430)\)\.
|
||||||
|
* opentelemetry callback \- do not save the content response when using the <code>ansible\.builtin\.slurp</code> module \([https\://github\.com/ansible\-collections/community\.general/pull/8430](https\://github\.com/ansible\-collections/community\.general/pull/8430)\)\.
|
||||||
|
* paman \- do not fail if an empty list of packages has been provided and there is nothing to do \([https\://github\.com/ansible\-collections/community\.general/pull/8514](https\://github\.com/ansible\-collections/community\.general/pull/8514)\)\.
|
||||||
|
|
||||||
|
<a id="known-issues"></a>
|
||||||
|
### Known Issues
|
||||||
|
|
||||||
|
* homectl \- the module does not work under Python 3\.13 or newer\, since it relies on the removed <code>crypt</code> standard library module \([https\://github\.com/ansible\-collections/community\.general/issues/4691](https\://github\.com/ansible\-collections/community\.general/issues/4691)\, [https\://github\.com/ansible\-collections/community\.general/pull/8497](https\://github\.com/ansible\-collections/community\.general/pull/8497)\)\.
|
||||||
|
* udm\_user \- the module does not work under Python 3\.13 or newer\, since it relies on the removed <code>crypt</code> standard library module \([https\://github\.com/ansible\-collections/community\.general/issues/4690](https\://github\.com/ansible\-collections/community\.general/issues/4690)\, [https\://github\.com/ansible\-collections/community\.general/pull/8497](https\://github\.com/ansible\-collections/community\.general/pull/8497)\)\.
|
||||||
|
|
||||||
|
<a id="new-plugins-1"></a>
|
||||||
|
### New Plugins
|
||||||
|
|
||||||
|
<a id="filter-1"></a>
|
||||||
|
#### Filter
|
||||||
|
|
||||||
|
* community\.general\.keep\_keys \- Keep specific keys from dictionaries in a list\.
|
||||||
|
* community\.general\.remove\_keys \- Remove specific keys from dictionaries in a list\.
|
||||||
|
* community\.general\.replace\_keys \- Replace specific keys in a list of dictionaries\.
|
||||||
|
|
||||||
|
<a id="new-modules-3"></a>
|
||||||
|
### New Modules
|
||||||
|
|
||||||
|
* community\.general\.consul\_agent\_check \- Add\, modify\, and delete checks within a consul cluster\.
|
||||||
|
* community\.general\.consul\_agent\_service \- Add\, modify and delete services within a consul cluster\.
|
||||||
|
* community\.general\.django\_check \- Wrapper for C\(django\-admin check\)\.
|
||||||
|
* community\.general\.django\_createcachetable \- Wrapper for C\(django\-admin createcachetable\)\.
|
||||||
|
|
||||||
|
<a id="v9-0-1"></a>
|
||||||
|
## v9\.0\.1
|
||||||
|
|
||||||
|
<a id="release-summary-8"></a>
|
||||||
|
### Release Summary
|
||||||
|
|
||||||
|
Bugfix release for inclusion in Ansible 10\.0\.0rc1\.
|
||||||
|
|
||||||
|
<a id="minor-changes-8"></a>
|
||||||
|
### Minor Changes
|
||||||
|
|
||||||
|
* ansible\_galaxy\_install \- minor refactor in the module \([https\://github\.com/ansible\-collections/community\.general/pull/8413](https\://github\.com/ansible\-collections/community\.general/pull/8413)\)\.
|
||||||
|
|
||||||
|
<a id="bugfixes-9"></a>
|
||||||
|
### Bugfixes
|
||||||
|
|
||||||
|
* cpanm \- use new <code>VarDict</code> to prevent deprecation warning \([https\://github\.com/ansible\-collections/community\.general/issues/8410](https\://github\.com/ansible\-collections/community\.general/issues/8410)\, [https\://github\.com/ansible\-collections/community\.general/pull/8411](https\://github\.com/ansible\-collections/community\.general/pull/8411)\)\.
|
||||||
|
* django module utils \- use new <code>VarDict</code> to prevent deprecation warning \([https\://github\.com/ansible\-collections/community\.general/issues/8410](https\://github\.com/ansible\-collections/community\.general/issues/8410)\, [https\://github\.com/ansible\-collections/community\.general/pull/8411](https\://github\.com/ansible\-collections/community\.general/pull/8411)\)\.
|
||||||
|
* gconftool2\_info \- use new <code>VarDict</code> to prevent deprecation warning \([https\://github\.com/ansible\-collections/community\.general/issues/8410](https\://github\.com/ansible\-collections/community\.general/issues/8410)\, [https\://github\.com/ansible\-collections/community\.general/pull/8411](https\://github\.com/ansible\-collections/community\.general/pull/8411)\)\.
|
||||||
|
* homebrew \- do not fail when brew prints warnings \([https\://github\.com/ansible\-collections/community\.general/pull/8406](https\://github\.com/ansible\-collections/community\.general/pull/8406)\, [https\://github\.com/ansible\-collections/community\.general/issues/7044](https\://github\.com/ansible\-collections/community\.general/issues/7044)\)\.
|
||||||
|
* hponcfg \- use new <code>VarDict</code> to prevent deprecation warning \([https\://github\.com/ansible\-collections/community\.general/issues/8410](https\://github\.com/ansible\-collections/community\.general/issues/8410)\, [https\://github\.com/ansible\-collections/community\.general/pull/8411](https\://github\.com/ansible\-collections/community\.general/pull/8411)\)\.
|
||||||
|
* kernel\_blacklist \- use new <code>VarDict</code> to prevent deprecation warning \([https\://github\.com/ansible\-collections/community\.general/issues/8410](https\://github\.com/ansible\-collections/community\.general/issues/8410)\, [https\://github\.com/ansible\-collections/community\.general/pull/8411](https\://github\.com/ansible\-collections/community\.general/pull/8411)\)\.
|
||||||
|
* keycloak\_client \- fix TypeError when sanitizing the <code>saml\.signing\.private\.key</code> attribute in the module\'s diff or state output\. The <code>sanitize\_cr</code> function expected a dict where in some cases a list might occur \([https\://github\.com/ansible\-collections/community\.general/pull/8403](https\://github\.com/ansible\-collections/community\.general/pull/8403)\)\.
|
||||||
|
* locale\_gen \- use new <code>VarDict</code> to prevent deprecation warning \([https\://github\.com/ansible\-collections/community\.general/issues/8410](https\://github\.com/ansible\-collections/community\.general/issues/8410)\, [https\://github\.com/ansible\-collections/community\.general/pull/8411](https\://github\.com/ansible\-collections/community\.general/pull/8411)\)\.
|
||||||
|
* mksysb \- use new <code>VarDict</code> to prevent deprecation warning \([https\://github\.com/ansible\-collections/community\.general/issues/8410](https\://github\.com/ansible\-collections/community\.general/issues/8410)\, [https\://github\.com/ansible\-collections/community\.general/pull/8411](https\://github\.com/ansible\-collections/community\.general/pull/8411)\)\.
|
||||||
|
* pipx\_info \- use new <code>VarDict</code> to prevent deprecation warning \([https\://github\.com/ansible\-collections/community\.general/issues/8410](https\://github\.com/ansible\-collections/community\.general/issues/8410)\, [https\://github\.com/ansible\-collections/community\.general/pull/8411](https\://github\.com/ansible\-collections/community\.general/pull/8411)\)\.
|
||||||
|
* snap \- use new <code>VarDict</code> to prevent deprecation warning \([https\://github\.com/ansible\-collections/community\.general/issues/8410](https\://github\.com/ansible\-collections/community\.general/issues/8410)\, [https\://github\.com/ansible\-collections/community\.general/pull/8411](https\://github\.com/ansible\-collections/community\.general/pull/8411)\)\.
|
||||||
|
* snap\_alias \- use new <code>VarDict</code> to prevent deprecation warning \([https\://github\.com/ansible\-collections/community\.general/issues/8410](https\://github\.com/ansible\-collections/community\.general/issues/8410)\, [https\://github\.com/ansible\-collections/community\.general/pull/8411](https\://github\.com/ansible\-collections/community\.general/pull/8411)\)\.
|
||||||
|
|
||||||
|
<a id="v9-0-0"></a>
|
||||||
|
## v9\.0\.0
|
||||||
|
|
||||||
|
<a id="release-summary-9"></a>
|
||||||
|
### Release Summary
|
||||||
|
|
||||||
|
This is release 9\.0\.0 of <code>community\.general</code>\, released on 2024\-05\-20\.
|
||||||
|
|
||||||
|
<a id="minor-changes-9"></a>
|
||||||
|
### Minor Changes
|
||||||
|
|
||||||
|
* PythonRunner module utils \- specialisation of <code>CmdRunner</code> to execute Python scripts \([https\://github\.com/ansible\-collections/community\.general/pull/8289](https\://github\.com/ansible\-collections/community\.general/pull/8289)\)\.
|
||||||
|
* Use offset\-aware <code>datetime\.datetime</code> objects \(with timezone UTC\) instead of offset\-naive UTC timestamps\, which are deprecated in Python 3\.12 \([https\://github\.com/ansible\-collections/community\.general/pull/8222](https\://github\.com/ansible\-collections/community\.general/pull/8222)\)\.
|
||||||
|
* aix\_lvol \- refactor module to pass list of arguments to <code>module\.run\_command\(\)</code> instead of relying on interpretation by a shell \([https\://github\.com/ansible\-collections/community\.general/pull/8264](https\://github\.com/ansible\-collections/community\.general/pull/8264)\)\.
|
||||||
|
* apt\_rpm \- add new states <code>latest</code> and <code>present\_not\_latest</code>\. The value <code>latest</code> is equivalent to the current behavior of <code>present</code>\, which will upgrade a package if a newer version exists\. <code>present\_not\_latest</code> does what most users would expect <code>present</code> to do\: it does not upgrade if the package is already installed\. The current behavior of <code>present</code> will be deprecated in a later version\, and eventually changed to that of <code>present\_not\_latest</code> \([https\://github\.com/ansible\-collections/community\.general/issues/8217](https\://github\.com/ansible\-collections/community\.general/issues/8217)\, [https\://github\.com/ansible\-collections/community\.general/pull/8247](https\://github\.com/ansible\-collections/community\.general/pull/8247)\)\.
|
||||||
|
* apt\_rpm \- refactor module to pass list of arguments to <code>module\.run\_command\(\)</code> instead of relying on interpretation by a shell \([https\://github\.com/ansible\-collections/community\.general/pull/8264](https\://github\.com/ansible\-collections/community\.general/pull/8264)\)\.
|
||||||
|
* bitwarden lookup plugin \- add <code>bw\_session</code> option\, to pass session key instead of reading from env \([https\://github\.com/ansible\-collections/community\.general/pull/7994](https\://github\.com/ansible\-collections/community\.general/pull/7994)\)\.
|
||||||
|
* bitwarden lookup plugin \- add support to filter by organization ID \([https\://github\.com/ansible\-collections/community\.general/pull/8188](https\://github\.com/ansible\-collections/community\.general/pull/8188)\)\.
|
||||||
|
* bitwarden lookup plugin \- allows to fetch all records of a given collection ID\, by allowing to pass an empty value for <code>search\_value</code> when <code>collection\_id</code> is provided \([https\://github\.com/ansible\-collections/community\.general/pull/8013](https\://github\.com/ansible\-collections/community\.general/pull/8013)\)\.
|
||||||
|
* bitwarden lookup plugin \- when looking for items using an item ID\, the item is now accessed directly with <code>bw get item</code> instead of searching through all items\. This doubles the lookup speed \([https\://github\.com/ansible\-collections/community\.general/pull/7468](https\://github\.com/ansible\-collections/community\.general/pull/7468)\)\.
|
||||||
|
* btrfs\_subvolume \- refactor module to pass list of arguments to <code>module\.run\_command\(\)</code> instead of relying on interpretation by a shell \([https\://github\.com/ansible\-collections/community\.general/pull/8264](https\://github\.com/ansible\-collections/community\.general/pull/8264)\)\.
|
||||||
|
* cmd\_runner module\_utils \- add validation for minimum and maximum length in the value passed to <code>cmd\_runner\_fmt\.as\_list\(\)</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8288](https\://github\.com/ansible\-collections/community\.general/pull/8288)\)\.
|
||||||
|
* consul\_auth\_method\, consul\_binding\_rule\, consul\_policy\, consul\_role\, consul\_session\, consul\_token \- added action group <code>community\.general\.consul</code> \([https\://github\.com/ansible\-collections/community\.general/pull/7897](https\://github\.com/ansible\-collections/community\.general/pull/7897)\)\.
|
||||||
|
* consul\_policy \- added support for diff and check mode \([https\://github\.com/ansible\-collections/community\.general/pull/7878](https\://github\.com/ansible\-collections/community\.general/pull/7878)\)\.
|
||||||
|
* consul\_policy\, consul\_role\, consul\_session \- removed dependency on <code>requests</code> and factored out common parts \([https\://github\.com/ansible\-collections/community\.general/pull/7826](https\://github\.com/ansible\-collections/community\.general/pull/7826)\, [https\://github\.com/ansible\-collections/community\.general/pull/7878](https\://github\.com/ansible\-collections/community\.general/pull/7878)\)\.
|
||||||
|
* consul\_role \- <code>node\_identities</code> now expects a <code>node\_name</code> option to match the Consul API\, the old <code>name</code> is still supported as alias \([https\://github\.com/ansible\-collections/community\.general/pull/7878](https\://github\.com/ansible\-collections/community\.general/pull/7878)\)\.
|
||||||
|
* consul\_role \- <code>service\_identities</code> now expects a <code>service\_name</code> option to match the Consul API\, the old <code>name</code> is still supported as alias \([https\://github\.com/ansible\-collections/community\.general/pull/7878](https\://github\.com/ansible\-collections/community\.general/pull/7878)\)\.
|
||||||
|
* consul\_role \- added support for diff mode \([https\://github\.com/ansible\-collections/community\.general/pull/7878](https\://github\.com/ansible\-collections/community\.general/pull/7878)\)\.
|
||||||
|
* consul\_role \- added support for templated policies \([https\://github\.com/ansible\-collections/community\.general/pull/7878](https\://github\.com/ansible\-collections/community\.general/pull/7878)\)\.
|
||||||
|
* elastic callback plugin \- close elastic client to not leak resources \([https\://github\.com/ansible\-collections/community\.general/pull/7517](https\://github\.com/ansible\-collections/community\.general/pull/7517)\)\.
|
||||||
|
* filesystem \- add bcachefs support \([https\://github\.com/ansible\-collections/community\.general/pull/8126](https\://github\.com/ansible\-collections/community\.general/pull/8126)\)\.
|
||||||
|
* gandi\_livedns \- adds support for personal access tokens \([https\://github\.com/ansible\-collections/community\.general/issues/7639](https\://github\.com/ansible\-collections/community\.general/issues/7639)\, [https\://github\.com/ansible\-collections/community\.general/pull/8337](https\://github\.com/ansible\-collections/community\.general/pull/8337)\)\.
|
||||||
|
* gconftool2 \- use <code>ModuleHelper</code> with <code>VarDict</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8226](https\://github\.com/ansible\-collections/community\.general/pull/8226)\)\.
|
||||||
|
* git\_config \- allow multiple git configs for the same name with the new <code>add\_mode</code> option \([https\://github\.com/ansible\-collections/community\.general/pull/7260](https\://github\.com/ansible\-collections/community\.general/pull/7260)\)\.
|
||||||
|
* git\_config \- the <code>after</code> and <code>before</code> fields in the <code>diff</code> of the return value can be a list instead of a string in case more configs with the same key are affected \([https\://github\.com/ansible\-collections/community\.general/pull/7260](https\://github\.com/ansible\-collections/community\.general/pull/7260)\)\.
|
||||||
|
* git\_config \- when a value is unset\, all configs with the same key are unset \([https\://github\.com/ansible\-collections/community\.general/pull/7260](https\://github\.com/ansible\-collections/community\.general/pull/7260)\)\.
|
||||||
|
* gitlab modules \- add <code>ca\_path</code> option \([https\://github\.com/ansible\-collections/community\.general/pull/7472](https\://github\.com/ansible\-collections/community\.general/pull/7472)\)\.
|
||||||
|
* gitlab modules \- remove duplicate <code>gitlab</code> package check \([https\://github\.com/ansible\-collections/community\.general/pull/7486](https\://github\.com/ansible\-collections/community\.general/pull/7486)\)\.
|
||||||
|
* gitlab\_deploy\_key\, gitlab\_group\_members\, gitlab\_group\_variable\, gitlab\_hook\, gitlab\_instance\_variable\, gitlab\_project\_badge\, gitlab\_project\_variable\, gitlab\_user \- improve API pagination and compatibility with different versions of <code>python\-gitlab</code> \([https\://github\.com/ansible\-collections/community\.general/pull/7790](https\://github\.com/ansible\-collections/community\.general/pull/7790)\)\.
|
||||||
|
* gitlab\_hook \- adds <code>releases\_events</code> parameter for supporting Releases events triggers on GitLab hooks \([https\://github\.com/ansible\-collections/community\.general/pull/7956](https\://github\.com/ansible\-collections/community\.general/pull/7956)\)\.
|
||||||
|
* gitlab\_runner \- add support for new runner creation workflow \([https\://github\.com/ansible\-collections/community\.general/pull/7199](https\://github\.com/ansible\-collections/community\.general/pull/7199)\)\.
|
||||||
|
* homebrew \- adds <code>force\_formula</code> parameter to disambiguate a formula from a cask of the same name \([https\://github\.com/ansible\-collections/community\.general/issues/8274](https\://github\.com/ansible\-collections/community\.general/issues/8274)\)\.
|
||||||
|
* homebrew\, homebrew\_cask \- refactor common argument validation logic into a dedicated <code>homebrew</code> module utils \([https\://github\.com/ansible\-collections/community\.general/issues/8323](https\://github\.com/ansible\-collections/community\.general/issues/8323)\, [https\://github\.com/ansible\-collections/community\.general/pull/8324](https\://github\.com/ansible\-collections/community\.general/pull/8324)\)\.
|
||||||
|
* icinga2 inventory plugin \- add Jinja2 templating support to <code>url</code>\, <code>user</code>\, and <code>password</code> paramenters \([https\://github\.com/ansible\-collections/community\.general/issues/7074](https\://github\.com/ansible\-collections/community\.general/issues/7074)\, [https\://github\.com/ansible\-collections/community\.general/pull/7996](https\://github\.com/ansible\-collections/community\.general/pull/7996)\)\.
|
||||||
|
* icinga2 inventory plugin \- adds new parameter <code>group\_by\_hostgroups</code> in order to make grouping by Icinga2 hostgroups optional \([https\://github\.com/ansible\-collections/community\.general/pull/7998](https\://github\.com/ansible\-collections/community\.general/pull/7998)\)\.
|
||||||
|
* ini\_file \- add an optional parameter <code>section\_has\_values</code>\. If the target ini file contains more than one <code>section</code>\, use <code>section\_has\_values</code> to specify which one should be updated \([https\://github\.com/ansible\-collections/community\.general/pull/7505](https\://github\.com/ansible\-collections/community\.general/pull/7505)\)\.
|
||||||
|
* ini\_file \- support optional spaces between section names and their surrounding brackets \([https\://github\.com/ansible\-collections/community\.general/pull/8075](https\://github\.com/ansible\-collections/community\.general/pull/8075)\)\.
|
||||||
|
* installp \- refactor module to pass list of arguments to <code>module\.run\_command\(\)</code> instead of relying on interpretation by a shell \([https\://github\.com/ansible\-collections/community\.general/pull/8264](https\://github\.com/ansible\-collections/community\.general/pull/8264)\)\.
|
||||||
|
* ipa\_config \- adds <code>passkey</code> choice to <code>ipauserauthtype</code> parameter\'s choices \([https\://github\.com/ansible\-collections/community\.general/pull/7588](https\://github\.com/ansible\-collections/community\.general/pull/7588)\)\.
|
||||||
|
* ipa\_dnsrecord \- adds ability to manage NS record types \([https\://github\.com/ansible\-collections/community\.general/pull/7737](https\://github\.com/ansible\-collections/community\.general/pull/7737)\)\.
|
||||||
|
* ipa\_pwpolicy \- refactor module and exchange a sequence <code>if</code> statements with a <code>for</code> loop \([https\://github\.com/ansible\-collections/community\.general/pull/7723](https\://github\.com/ansible\-collections/community\.general/pull/7723)\)\.
|
||||||
|
* ipa\_pwpolicy \- update module to support <code>maxrepeat</code>\, <code>maxsequence</code>\, <code>dictcheck</code>\, <code>usercheck</code>\, <code>gracelimit</code> parameters in FreeIPA password policies \([https\://github\.com/ansible\-collections/community\.general/pull/7723](https\://github\.com/ansible\-collections/community\.general/pull/7723)\)\.
|
||||||
|
* ipa\_sudorule \- adds options to include denied commands or command groups \([https\://github\.com/ansible\-collections/community\.general/pull/7415](https\://github\.com/ansible\-collections/community\.general/pull/7415)\)\.
|
||||||
|
* ipa\_user \- adds <code>idp</code> and <code>passkey</code> choice to <code>ipauserauthtype</code> parameter\'s choices \([https\://github\.com/ansible\-collections/community\.general/pull/7589](https\://github\.com/ansible\-collections/community\.general/pull/7589)\)\.
|
||||||
|
* irc \- add <code>validate\_certs</code> option\, and rename <code>use\_ssl</code> to <code>use\_tls</code>\, while keeping <code>use\_ssl</code> as an alias\. The default value for <code>validate\_certs</code> is <code>false</code> for backwards compatibility\. We recommend to every user of this module to explicitly set <code>use\_tls\=true</code> and <em class="title-reference">validate\_certs\=true\`</em> whenever possible\, especially when communicating to IRC servers over the internet \([https\://github\.com/ansible\-collections/community\.general/pull/7550](https\://github\.com/ansible\-collections/community\.general/pull/7550)\)\.
|
||||||
|
* java\_cert \- add <code>cert\_content</code> argument \([https\://github\.com/ansible\-collections/community\.general/pull/8153](https\://github\.com/ansible\-collections/community\.general/pull/8153)\)\.
|
||||||
|
* java\_cert \- enable <code>owner</code>\, <code>group</code>\, <code>mode</code>\, and other generic file arguments \([https\://github\.com/ansible\-collections/community\.general/pull/8116](https\://github\.com/ansible\-collections/community\.general/pull/8116)\)\.
|
||||||
|
* kernel\_blacklist \- use <code>ModuleHelper</code> with <code>VarDict</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8226](https\://github\.com/ansible\-collections/community\.general/pull/8226)\)\.
|
||||||
|
* keycloak module utils \- expose error message from Keycloak server for HTTP errors in some specific situations \([https\://github\.com/ansible\-collections/community\.general/pull/7645](https\://github\.com/ansible\-collections/community\.general/pull/7645)\)\.
|
||||||
|
* keycloak\_client\, keycloak\_clientscope\, keycloak\_clienttemplate \- added <code>docker\-v2</code> protocol support\, enhancing alignment with Keycloak\'s protocol options \([https\://github\.com/ansible\-collections/community\.general/issues/8215](https\://github\.com/ansible\-collections/community\.general/issues/8215)\, [https\://github\.com/ansible\-collections/community\.general/pull/8216](https\://github\.com/ansible\-collections/community\.general/pull/8216)\)\.
|
||||||
|
* keycloak\_realm\_key \- the <code>config\.algorithm</code> option now supports 8 additional key algorithms \([https\://github\.com/ansible\-collections/community\.general/pull/7698](https\://github\.com/ansible\-collections/community\.general/pull/7698)\)\.
|
||||||
|
* keycloak\_realm\_key \- the <code>config\.certificate</code> option value is no longer defined with <code>no\_log\=True</code> \([https\://github\.com/ansible\-collections/community\.general/pull/7698](https\://github\.com/ansible\-collections/community\.general/pull/7698)\)\.
|
||||||
|
* keycloak\_realm\_key \- the <code>provider\_id</code> option now supports RSA encryption key usage \(value <code>rsa\-enc</code>\) \([https\://github\.com/ansible\-collections/community\.general/pull/7698](https\://github\.com/ansible\-collections/community\.general/pull/7698)\)\.
|
||||||
|
* keycloak\_user\_federation \- add option for <code>krbPrincipalAttribute</code> \([https\://github\.com/ansible\-collections/community\.general/pull/7538](https\://github\.com/ansible\-collections/community\.general/pull/7538)\)\.
|
||||||
|
* keycloak\_user\_federation \- allow custom user storage providers to be set through <code>provider\_id</code> \([https\://github\.com/ansible\-collections/community\.general/pull/7789](https\://github\.com/ansible\-collections/community\.general/pull/7789)\)\.
|
||||||
|
* ldap\_attrs \- module now supports diff mode\, showing which attributes are changed within an operation \([https\://github\.com/ansible\-collections/community\.general/pull/8073](https\://github\.com/ansible\-collections/community\.general/pull/8073)\)\.
|
||||||
|
* lvg \- refactor module to pass list of arguments to <code>module\.run\_command\(\)</code> instead of relying on interpretation by a shell \([https\://github\.com/ansible\-collections/community\.general/pull/8264](https\://github\.com/ansible\-collections/community\.general/pull/8264)\)\.
|
||||||
|
* lvol \- change <code>pvs</code> argument type to list of strings \([https\://github\.com/ansible\-collections/community\.general/pull/7676](https\://github\.com/ansible\-collections/community\.general/pull/7676)\, [https\://github\.com/ansible\-collections/community\.general/issues/7504](https\://github\.com/ansible\-collections/community\.general/issues/7504)\)\.
|
||||||
|
* lvol \- refactor module to pass list of arguments to <code>module\.run\_command\(\)</code> instead of relying on interpretation by a shell \([https\://github\.com/ansible\-collections/community\.general/pull/8264](https\://github\.com/ansible\-collections/community\.general/pull/8264)\)\.
|
||||||
|
* lxd connection plugin \- tighten the detection logic for lxd <code>Instance not found</code> errors\, to avoid false detection on unrelated errors such as <code>/usr/bin/python3\: not found</code> \([https\://github\.com/ansible\-collections/community\.general/pull/7521](https\://github\.com/ansible\-collections/community\.general/pull/7521)\)\.
|
||||||
|
* lxd\_container \- uses <code>/1\.0/instances</code> API endpoint\, if available\. Falls back to <code>/1\.0/containers</code> or <code>/1\.0/virtual\-machines</code>\. Fixes issue when using Incus or LXD 5\.19 due to migrating to <code>/1\.0/instances</code> endpoint \([https\://github\.com/ansible\-collections/community\.general/pull/7980](https\://github\.com/ansible\-collections/community\.general/pull/7980)\)\.
|
||||||
|
* macports \- refactor module to pass list of arguments to <code>module\.run\_command\(\)</code> instead of relying on interpretation by a shell \([https\://github\.com/ansible\-collections/community\.general/pull/8264](https\://github\.com/ansible\-collections/community\.general/pull/8264)\)\.
|
||||||
|
* mail \- add <code>Message\-ID</code> header\; which is required by some mail servers \([https\://github\.com/ansible\-collections/community\.general/pull/7740](https\://github\.com/ansible\-collections/community\.general/pull/7740)\)\.
|
||||||
|
* mail module\, mail callback plugin \- allow to configure the domain name of the Message\-ID header with a new <code>message\_id\_domain</code> option \([https\://github\.com/ansible\-collections/community\.general/pull/7765](https\://github\.com/ansible\-collections/community\.general/pull/7765)\)\.
|
||||||
|
* mssql\_script \- adds transactional \(rollback/commit\) support via optional boolean param <code>transaction</code> \([https\://github\.com/ansible\-collections/community\.general/pull/7976](https\://github\.com/ansible\-collections/community\.general/pull/7976)\)\.
|
||||||
|
* netcup\_dns \- adds support for record types <code>OPENPGPKEY</code>\, <code>SMIMEA</code>\, and <code>SSHFP</code> \([https\://github\.com/ansible\-collections/community\.general/pull/7489](https\://github\.com/ansible\-collections/community\.general/pull/7489)\)\.
|
||||||
|
* nmcli \- add support for new connection type <code>loopback</code> \([https\://github\.com/ansible\-collections/community\.general/issues/6572](https\://github\.com/ansible\-collections/community\.general/issues/6572)\)\.
|
||||||
|
* nmcli \- adds OpenvSwitch support with new <code>type</code> values <code>ovs\-port</code>\, <code>ovs\-interface</code>\, and <code>ovs\-bridge</code>\, and new <code>slave\_type</code> value <code>ovs\-port</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8154](https\://github\.com/ansible\-collections/community\.general/pull/8154)\)\.
|
||||||
|
* nmcli \- allow for <code>infiniband</code> slaves of <code>bond</code> interface types \([https\://github\.com/ansible\-collections/community\.general/pull/7569](https\://github\.com/ansible\-collections/community\.general/pull/7569)\)\.
|
||||||
|
* nmcli \- allow for the setting of <code>MTU</code> for <code>infiniband</code> and <code>bond</code> interface types \([https\://github\.com/ansible\-collections/community\.general/pull/7499](https\://github\.com/ansible\-collections/community\.general/pull/7499)\)\.
|
||||||
|
* nmcli \- allow setting <code>MTU</code> for <code>bond\-slave</code> interface types \([https\://github\.com/ansible\-collections/community\.general/pull/8118](https\://github\.com/ansible\-collections/community\.general/pull/8118)\)\.
|
||||||
|
* onepassword lookup plugin \- support 1Password Connect with the opv2 client by setting the connect\_host and connect\_token parameters \([https\://github\.com/ansible\-collections/community\.general/pull/7116](https\://github\.com/ansible\-collections/community\.general/pull/7116)\)\.
|
||||||
|
* onepassword\_raw lookup plugin \- support 1Password Connect with the opv2 client by setting the connect\_host and connect\_token parameters \([https\://github\.com/ansible\-collections/community\.general/pull/7116](https\://github\.com/ansible\-collections/community\.general/pull/7116)\)
|
||||||
|
* opentelemetry \- add support for HTTP trace\_exporter and configures the behavior via <code>OTEL\_EXPORTER\_OTLP\_TRACES\_PROTOCOL</code> \([https\://github\.com/ansible\-collections/community\.general/issues/7888](https\://github\.com/ansible\-collections/community\.general/issues/7888)\, [https\://github\.com/ansible\-collections/community\.general/pull/8321](https\://github\.com/ansible\-collections/community\.general/pull/8321)\)\.
|
||||||
|
* opentelemetry \- add support for exporting spans in a file via <code>ANSIBLE\_OPENTELEMETRY\_STORE\_SPANS\_IN\_FILE</code> \([https\://github\.com/ansible\-collections/community\.general/issues/7888](https\://github\.com/ansible\-collections/community\.general/issues/7888)\, [https\://github\.com/ansible\-collections/community\.general/pull/8363](https\://github\.com/ansible\-collections/community\.general/pull/8363)\)\.
|
||||||
|
* opkg \- use <code>ModuleHelper</code> with <code>VarDict</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8226](https\://github\.com/ansible\-collections/community\.general/pull/8226)\)\.
|
||||||
|
* osx\_defaults \- add option <code>check\_types</code> to enable changing the type of existing defaults on the fly \([https\://github\.com/ansible\-collections/community\.general/pull/8173](https\://github\.com/ansible\-collections/community\.general/pull/8173)\)\.
|
||||||
|
* parted \- refactor module to pass list of arguments to <code>module\.run\_command\(\)</code> instead of relying on interpretation by a shell \([https\://github\.com/ansible\-collections/community\.general/pull/8264](https\://github\.com/ansible\-collections/community\.general/pull/8264)\)\.
|
||||||
|
* passwordstore \- adds <code>timestamp</code> and <code>preserve</code> parameters to modify the stored password format \([https\://github\.com/ansible\-collections/community\.general/pull/7426](https\://github\.com/ansible\-collections/community\.general/pull/7426)\)\.
|
||||||
|
* passwordstore lookup \- add <code>missing\_subkey</code> parameter defining the behavior of the lookup when a passwordstore subkey is missing \([https\://github\.com/ansible\-collections/community\.general/pull/8166](https\://github\.com/ansible\-collections/community\.general/pull/8166)\)\.
|
||||||
|
* pipx \- use <code>ModuleHelper</code> with <code>VarDict</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8226](https\://github\.com/ansible\-collections/community\.general/pull/8226)\)\.
|
||||||
|
* pkg5 \- add support for non\-silent execution \([https\://github\.com/ansible\-collections/community\.general/issues/8379](https\://github\.com/ansible\-collections/community\.general/issues/8379)\, [https\://github\.com/ansible\-collections/community\.general/pull/8382](https\://github\.com/ansible\-collections/community\.general/pull/8382)\)\.
|
||||||
|
* pkgin \- refactor module to pass list of arguments to <code>module\.run\_command\(\)</code> instead of relying on interpretation by a shell \([https\://github\.com/ansible\-collections/community\.general/pull/8264](https\://github\.com/ansible\-collections/community\.general/pull/8264)\)\.
|
||||||
|
* portage \- adds the possibility to explicitely tell portage to write packages to world file \([https\://github\.com/ansible\-collections/community\.general/issues/6226](https\://github\.com/ansible\-collections/community\.general/issues/6226)\, [https\://github\.com/ansible\-collections/community\.general/pull/8236](https\://github\.com/ansible\-collections/community\.general/pull/8236)\)\.
|
||||||
|
* portinstall \- refactor module to pass list of arguments to <code>module\.run\_command\(\)</code> instead of relying on interpretation by a shell \([https\://github\.com/ansible\-collections/community\.general/pull/8264](https\://github\.com/ansible\-collections/community\.general/pull/8264)\)\.
|
||||||
|
* proxmox \- adds <code>startup</code> parameters to configure startup order\, startup delay and shutdown delay \([https\://github\.com/ansible\-collections/community\.general/pull/8038](https\://github\.com/ansible\-collections/community\.general/pull/8038)\)\.
|
||||||
|
* proxmox \- adds <code>template</code> value to the <code>state</code> parameter\, allowing conversion of container to a template \([https\://github\.com/ansible\-collections/community\.general/pull/7143](https\://github\.com/ansible\-collections/community\.general/pull/7143)\)\.
|
||||||
|
* proxmox \- adds <code>update</code> parameter\, allowing update of an already existing containers configuration \([https\://github\.com/ansible\-collections/community\.general/pull/7540](https\://github\.com/ansible\-collections/community\.general/pull/7540)\)\.
|
||||||
|
* proxmox inventory plugin \- adds an option to exclude nodes from the dynamic inventory generation\. The new setting is optional\, not using this option will behave as usual \([https\://github\.com/ansible\-collections/community\.general/issues/6714](https\://github\.com/ansible\-collections/community\.general/issues/6714)\, [https\://github\.com/ansible\-collections/community\.general/pull/7461](https\://github\.com/ansible\-collections/community\.general/pull/7461)\)\.
|
||||||
|
* proxmox\* modules \- there is now a <code>community\.general\.proxmox</code> module defaults group that can be used to set default options for all Proxmox modules \([https\://github\.com/ansible\-collections/community\.general/pull/8334](https\://github\.com/ansible\-collections/community\.general/pull/8334)\)\.
|
||||||
|
* proxmox\_disk \- add ability to manipulate CD\-ROM drive \([https\://github\.com/ansible\-collections/community\.general/pull/7495](https\://github\.com/ansible\-collections/community\.general/pull/7495)\)\.
|
||||||
|
* proxmox\_kvm \- add parameter <code>update\_unsafe</code> to avoid limitations when updating dangerous values \([https\://github\.com/ansible\-collections/community\.general/pull/7843](https\://github\.com/ansible\-collections/community\.general/pull/7843)\)\.
|
||||||
|
* proxmox\_kvm \- adds <code>template</code> value to the <code>state</code> parameter\, allowing conversion of a VM to a template \([https\://github\.com/ansible\-collections/community\.general/pull/7143](https\://github\.com/ansible\-collections/community\.general/pull/7143)\)\.
|
||||||
|
* proxmox\_kvm \- adds\`\`usb\`\` parameter for setting USB devices on proxmox KVM VMs \([https\://github\.com/ansible\-collections/community\.general/pull/8199](https\://github\.com/ansible\-collections/community\.general/pull/8199)\)\.
|
||||||
|
* proxmox\_kvm \- support the <code>hookscript</code> parameter \([https\://github\.com/ansible\-collections/community\.general/issues/7600](https\://github\.com/ansible\-collections/community\.general/issues/7600)\)\.
|
||||||
|
* proxmox\_ostype \- it is now possible to specify the <code>ostype</code> when creating an LXC container \([https\://github\.com/ansible\-collections/community\.general/pull/7462](https\://github\.com/ansible\-collections/community\.general/pull/7462)\)\.
|
||||||
|
* proxmox\_vm\_info \- add ability to retrieve configuration info \([https\://github\.com/ansible\-collections/community\.general/pull/7485](https\://github\.com/ansible\-collections/community\.general/pull/7485)\)\.
|
||||||
|
* puppet \- new feature to set <code>\-\-waitforlock</code> option \([https\://github\.com/ansible\-collections/community\.general/pull/8282](https\://github\.com/ansible\-collections/community\.general/pull/8282)\)\.
|
||||||
|
* redfish\_command \- add command <code>ResetToDefaults</code> to reset manager to default state \([https\://github\.com/ansible\-collections/community\.general/issues/8163](https\://github\.com/ansible\-collections/community\.general/issues/8163)\)\.
|
||||||
|
* redfish\_config \- add command <code>SetServiceIdentification</code> to set service identification \([https\://github\.com/ansible\-collections/community\.general/issues/7916](https\://github\.com/ansible\-collections/community\.general/issues/7916)\)\.
|
||||||
|
* redfish\_info \- add boolean return value <code>MultipartHttpPush</code> to <code>GetFirmwareUpdateCapabilities</code> \([https\://github\.com/ansible\-collections/community\.general/issues/8194](https\://github\.com/ansible\-collections/community\.general/issues/8194)\, [https\://github\.com/ansible\-collections/community\.general/pull/8195](https\://github\.com/ansible\-collections/community\.general/pull/8195)\)\.
|
||||||
|
* redfish\_info \- add command <code>GetServiceIdentification</code> to get service identification \([https\://github\.com/ansible\-collections/community\.general/issues/7882](https\://github\.com/ansible\-collections/community\.general/issues/7882)\)\.
|
||||||
|
* redfish\_info \- adding the <code>BootProgress</code> property when getting <code>Systems</code> info \([https\://github\.com/ansible\-collections/community\.general/pull/7626](https\://github\.com/ansible\-collections/community\.general/pull/7626)\)\.
|
||||||
|
* revbitspss lookup plugin \- removed a redundant unicode prefix\. The prefix was not necessary for Python 3 and has been cleaned up to streamline the code \([https\://github\.com/ansible\-collections/community\.general/pull/8087](https\://github\.com/ansible\-collections/community\.general/pull/8087)\)\.
|
||||||
|
* rundeck module utils \- allow to pass <code>Content\-Type</code> to API requests \([https\://github\.com/ansible\-collections/community\.general/pull/7684](https\://github\.com/ansible\-collections/community\.general/pull/7684)\)\.
|
||||||
|
* slackpkg \- refactor module to pass list of arguments to <code>module\.run\_command\(\)</code> instead of relying on interpretation by a shell \([https\://github\.com/ansible\-collections/community\.general/pull/8264](https\://github\.com/ansible\-collections/community\.general/pull/8264)\)\.
|
||||||
|
* ssh\_config \- adds <code>controlmaster</code>\, <code>controlpath</code> and <code>controlpersist</code> parameters \([https\://github\.com/ansible\-collections/community\.general/pull/7456](https\://github\.com/ansible\-collections/community\.general/pull/7456)\)\.
|
||||||
|
* ssh\_config \- allow <code>accept\-new</code> as valid value for <code>strict\_host\_key\_checking</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8257](https\://github\.com/ansible\-collections/community\.general/pull/8257)\)\.
|
||||||
|
* ssh\_config \- new feature to set <code>AddKeysToAgent</code> option to <code>yes</code> or <code>no</code> \([https\://github\.com/ansible\-collections/community\.general/pull/7703](https\://github\.com/ansible\-collections/community\.general/pull/7703)\)\.
|
||||||
|
* ssh\_config \- new feature to set <code>IdentitiesOnly</code> option to <code>yes</code> or <code>no</code> \([https\://github\.com/ansible\-collections/community\.general/pull/7704](https\://github\.com/ansible\-collections/community\.general/pull/7704)\)\.
|
||||||
|
* sudoers \- add support for the <code>NOEXEC</code> tag in sudoers rules \([https\://github\.com/ansible\-collections/community\.general/pull/7983](https\://github\.com/ansible\-collections/community\.general/pull/7983)\)\.
|
||||||
|
* svr4pkg \- refactor module to pass list of arguments to <code>module\.run\_command\(\)</code> instead of relying on interpretation by a shell \([https\://github\.com/ansible\-collections/community\.general/pull/8264](https\://github\.com/ansible\-collections/community\.general/pull/8264)\)\.
|
||||||
|
* swdepot \- refactor module to pass list of arguments to <code>module\.run\_command\(\)</code> instead of relying on interpretation by a shell \([https\://github\.com/ansible\-collections/community\.general/pull/8264](https\://github\.com/ansible\-collections/community\.general/pull/8264)\)\.
|
||||||
|
* terraform \- add support for <code>diff\_mode</code> for terraform resource\_changes \([https\://github\.com/ansible\-collections/community\.general/pull/7896](https\://github\.com/ansible\-collections/community\.general/pull/7896)\)\.
|
||||||
|
* terraform \- fix <code>diff\_mode</code> in state <code>absent</code> and when terraform <code>resource\_changes</code> does not exist \([https\://github\.com/ansible\-collections/community\.general/pull/7963](https\://github\.com/ansible\-collections/community\.general/pull/7963)\)\.
|
||||||
|
* xcc\_redfish\_command \- added support for raw POSTs \(<code>command\=PostResource</code> in <code>category\=Raw</code>\) without a specific action info \([https\://github\.com/ansible\-collections/community\.general/pull/7746](https\://github\.com/ansible\-collections/community\.general/pull/7746)\)\.
|
||||||
|
* xfconf \- use <code>ModuleHelper</code> with <code>VarDict</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8226](https\://github\.com/ansible\-collections/community\.general/pull/8226)\)\.
|
||||||
|
* xfconf\_info \- use <code>ModuleHelper</code> with <code>VarDict</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8226](https\://github\.com/ansible\-collections/community\.general/pull/8226)\)\.
|
||||||
|
|
||||||
|
<a id="breaking-changes--porting-guide"></a>
|
||||||
|
### Breaking Changes / Porting Guide
|
||||||
|
|
||||||
|
* cpanm \- the default of the <code>mode</code> option changed from <code>compatibility</code> to <code>new</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8198](https\://github\.com/ansible\-collections/community\.general/pull/8198)\)\.
|
||||||
|
* django\_manage \- the module now requires Django \>\= 4\.1 \([https\://github\.com/ansible\-collections/community\.general/pull/8198](https\://github\.com/ansible\-collections/community\.general/pull/8198)\)\.
|
||||||
|
* django\_manage \- the module will now fail if <code>virtualenv</code> is specified but no virtual environment exists at that location \([https\://github\.com/ansible\-collections/community\.general/pull/8198](https\://github\.com/ansible\-collections/community\.general/pull/8198)\)\.
|
||||||
|
* redfish\_command\, redfish\_config\, redfish\_info \- change the default for <code>timeout</code> from 10 to 60 \([https\://github\.com/ansible\-collections/community\.general/pull/8198](https\://github\.com/ansible\-collections/community\.general/pull/8198)\)\.
|
||||||
|
|
||||||
|
<a id="deprecated-features-3"></a>
|
||||||
|
### Deprecated Features
|
||||||
|
|
||||||
|
* MH DependencyCtxMgr module\_utils \- deprecate <code>module\_utils\.mh\.mixin\.deps\.DependencyCtxMgr</code> in favour of <code>module\_utils\.deps</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8280](https\://github\.com/ansible\-collections/community\.general/pull/8280)\)\.
|
||||||
|
* ModuleHelper module\_utils \- deprecate <code>plugins\.module\_utils\.module\_helper\.AnsibleModule</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8280](https\://github\.com/ansible\-collections/community\.general/pull/8280)\)\.
|
||||||
|
* ModuleHelper module\_utils \- deprecate <code>plugins\.module\_utils\.module\_helper\.DependencyCtxMgr</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8280](https\://github\.com/ansible\-collections/community\.general/pull/8280)\)\.
|
||||||
|
* ModuleHelper module\_utils \- deprecate <code>plugins\.module\_utils\.module\_helper\.StateMixin</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8280](https\://github\.com/ansible\-collections/community\.general/pull/8280)\)\.
|
||||||
|
* ModuleHelper module\_utils \- deprecate <code>plugins\.module\_utils\.module\_helper\.VarDict\,</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8280](https\://github\.com/ansible\-collections/community\.general/pull/8280)\)\.
|
||||||
|
* ModuleHelper module\_utils \- deprecate <code>plugins\.module\_utils\.module\_helper\.VarMeta</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8280](https\://github\.com/ansible\-collections/community\.general/pull/8280)\)\.
|
||||||
|
* ModuleHelper module\_utils \- deprecate <code>plugins\.module\_utils\.module\_helper\.VarsMixin</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8280](https\://github\.com/ansible\-collections/community\.general/pull/8280)\)\.
|
||||||
|
* ModuleHelper module\_utils \- deprecate use of <code>VarsMixin</code> in favor of using the <code>VardDict</code> module\_utils \([https\://github\.com/ansible\-collections/community\.general/pull/8226](https\://github\.com/ansible\-collections/community\.general/pull/8226)\)\.
|
||||||
|
* ModuleHelper vars module\_utils \- bump deprecation of <code>VarMeta</code>\, <code>VarDict</code> and <code>VarsMixin</code> to version 11\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/8226](https\://github\.com/ansible\-collections/community\.general/pull/8226)\)\.
|
||||||
|
* apt\_rpm \- the behavior of <code>state\=present</code> and <code>state\=installed</code> is deprecated and will change in community\.general 11\.0\.0\. Right now the module will upgrade a package to the latest version if one of these two states is used\. You should explicitly use <code>state\=latest</code> if you want this behavior\, and switch to <code>state\=present\_not\_latest</code> if you do not want to upgrade the package if it is already installed\. In community\.general 11\.0\.0 the behavior of <code>state\=present</code> and <code>state\=installed</code> will change to that of <code>state\=present\_not\_latest</code> \([https\://github\.com/ansible\-collections/community\.general/issues/8217](https\://github\.com/ansible\-collections/community\.general/issues/8217)\, [https\://github\.com/ansible\-collections/community\.general/pull/8285](https\://github\.com/ansible\-collections/community\.general/pull/8285)\)\.
|
||||||
|
* consul\_acl \- the module has been deprecated and will be removed in community\.general 10\.0\.0\. <code>consul\_token</code> and <code>consul\_policy</code> can be used instead \([https\://github\.com/ansible\-collections/community\.general/pull/7901](https\://github\.com/ansible\-collections/community\.general/pull/7901)\)\.
|
||||||
|
* django\_manage \- the <code>ack\_venv\_creation\_deprecation</code> option has no more effect and will be removed from community\.general 11\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/8198](https\://github\.com/ansible\-collections/community\.general/pull/8198)\)\.
|
||||||
|
* gitlab modules \- the basic auth method on GitLab API have been deprecated and will be removed in community\.general 10\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/8383](https\://github\.com/ansible\-collections/community\.general/pull/8383)\)\.
|
||||||
|
* hipchat callback plugin \- the hipchat service has been discontinued and the self\-hosted variant has been End of Life since 2020\. The callback plugin is therefore deprecated and will be removed from community\.general 10\.0\.0 if nobody provides compelling reasons to still keep it \([https\://github\.com/ansible\-collections/community\.general/issues/8184](https\://github\.com/ansible\-collections/community\.general/issues/8184)\, [https\://github\.com/ansible\-collections/community\.general/pull/8189](https\://github\.com/ansible\-collections/community\.general/pull/8189)\)\.
|
||||||
|
* irc \- the defaults <code>false</code> for <code>use\_tls</code> and <code>validate\_certs</code> have been deprecated and will change to <code>true</code> in community\.general 10\.0\.0 to improve security\. You can already improve security now by explicitly setting them to <code>true</code>\. Specifying values now disables the deprecation warning \([https\://github\.com/ansible\-collections/community\.general/pull/7578](https\://github\.com/ansible\-collections/community\.general/pull/7578)\)\.
|
||||||
|
|
||||||
|
<a id="removed-features-previously-deprecated"></a>
|
||||||
|
### Removed Features \(previously deprecated\)
|
||||||
|
|
||||||
|
* The deprecated redirects for internal module names have been removed\. These internal redirects were extra\-long FQCNs like <code>community\.general\.packaging\.os\.apt\_rpm</code> that redirect to the short FQCN <code>community\.general\.apt\_rpm</code>\. They were originally needed to implement flatmapping\; as various tooling started to recommend users to use the long names flatmapping was removed from the collection and redirects were added for users who already followed these incorrect recommendations \([https\://github\.com/ansible\-collections/community\.general/pull/7835](https\://github\.com/ansible\-collections/community\.general/pull/7835)\)\.
|
||||||
|
* ansible\_galaxy\_install \- the <code>ack\_ansible29</code> and <code>ack\_min\_ansiblecore211</code> options have been removed\. They no longer had any effect \([https\://github\.com/ansible\-collections/community\.general/pull/8198](https\://github\.com/ansible\-collections/community\.general/pull/8198)\)\.
|
||||||
|
* cloudflare\_dns \- remove support for SPF records\. These are no longer supported by CloudFlare \([https\://github\.com/ansible\-collections/community\.general/pull/7782](https\://github\.com/ansible\-collections/community\.general/pull/7782)\)\.
|
||||||
|
* django\_manage \- support for the <code>command</code> values <code>cleanup</code>\, <code>syncdb</code>\, and <code>validate</code> were removed\. Use <code>clearsessions</code>\, <code>migrate</code>\, and <code>check</code> instead\, respectively \([https\://github\.com/ansible\-collections/community\.general/pull/8198](https\://github\.com/ansible\-collections/community\.general/pull/8198)\)\.
|
||||||
|
* flowdock \- this module relied on HTTPS APIs that do not exist anymore and was thus removed \([https\://github\.com/ansible\-collections/community\.general/pull/8198](https\://github\.com/ansible\-collections/community\.general/pull/8198)\)\.
|
||||||
|
* mh\.mixins\.deps module utils \- the <code>DependencyMixin</code> has been removed\. Use the <code>deps</code> module utils instead \([https\://github\.com/ansible\-collections/community\.general/pull/8198](https\://github\.com/ansible\-collections/community\.general/pull/8198)\)\.
|
||||||
|
* proxmox \- the <code>proxmox\_default\_behavior</code> option has been removed \([https\://github\.com/ansible\-collections/community\.general/pull/8198](https\://github\.com/ansible\-collections/community\.general/pull/8198)\)\.
|
||||||
|
* rax\* modules\, rax module utils\, rax docs fragment \- the Rackspace modules relied on the deprecated package <code>pyrax</code> and were thus removed \([https\://github\.com/ansible\-collections/community\.general/pull/8198](https\://github\.com/ansible\-collections/community\.general/pull/8198)\)\.
|
||||||
|
* redhat module utils \- the classes <code>Rhsm</code>\, <code>RhsmPool</code>\, and <code>RhsmPools</code> have been removed \([https\://github\.com/ansible\-collections/community\.general/pull/8198](https\://github\.com/ansible\-collections/community\.general/pull/8198)\)\.
|
||||||
|
* redhat\_subscription \- the alias <code>autosubscribe</code> of the <code>auto\_attach</code> option was removed \([https\://github\.com/ansible\-collections/community\.general/pull/8198](https\://github\.com/ansible\-collections/community\.general/pull/8198)\)\.
|
||||||
|
* stackdriver \- this module relied on HTTPS APIs that do not exist anymore and was thus removed \([https\://github\.com/ansible\-collections/community\.general/pull/8198](https\://github\.com/ansible\-collections/community\.general/pull/8198)\)\.
|
||||||
|
* webfaction\_\* modules \- these modules relied on HTTPS APIs that do not exist anymore and were thus removed \([https\://github\.com/ansible\-collections/community\.general/pull/8198](https\://github\.com/ansible\-collections/community\.general/pull/8198)\)\.
|
||||||
|
|
||||||
|
<a id="security-fixes-2"></a>
|
||||||
|
### Security Fixes
|
||||||
|
|
||||||
|
* cobbler\, gitlab\_runners\, icinga2\, linode\, lxd\, nmap\, online\, opennebula\, proxmox\, scaleway\, stackpath\_compute\, virtualbox\, and xen\_orchestra inventory plugin \- make sure all data received from the remote servers is marked as unsafe\, so remote code execution by obtaining texts that can be evaluated as templates is not possible \([https\://www\.die\-welt\.net/2024/03/remote\-code\-execution\-in\-ansible\-dynamic\-inventory\-plugins/](https\://www\.die\-welt\.net/2024/03/remote\-code\-execution\-in\-ansible\-dynamic\-inventory\-plugins/)\, [https\://github\.com/ansible\-collections/community\.general/pull/8098](https\://github\.com/ansible\-collections/community\.general/pull/8098)\)\.
|
||||||
|
* keycloak\_identity\_provider \- the client secret was not correctly sanitized by the module\. The return values <code>proposed</code>\, <code>existing</code>\, and <code>end\_state</code>\, as well as the diff\, did contain the client secret unmasked \([https\://github\.com/ansible\-collections/community\.general/pull/8355](https\://github\.com/ansible\-collections/community\.general/pull/8355)\)\.
|
||||||
|
|
||||||
|
<a id="bugfixes-10"></a>
|
||||||
|
### Bugfixes
|
||||||
|
|
||||||
|
* aix\_filesystem \- fix <code>\_validate\_vg</code> not passing VG name to <code>lsvg\_cmd</code> \([https\://github\.com/ansible\-collections/community\.general/issues/8151](https\://github\.com/ansible\-collections/community\.general/issues/8151)\)\.
|
||||||
|
* aix\_filesystem \- fix issue with empty list items in crfs logic and option order \([https\://github\.com/ansible\-collections/community\.general/pull/8052](https\://github\.com/ansible\-collections/community\.general/pull/8052)\)\.
|
||||||
|
* apt\-rpm \- the module did not upgrade packages if a newer version exists\. Now the package will be reinstalled if the candidate is newer than the installed version \([https\://github\.com/ansible\-collections/community\.general/issues/7414](https\://github\.com/ansible\-collections/community\.general/issues/7414)\)\.
|
||||||
|
* apt\_rpm \- when checking whether packages were installed after running <code>apt\-get \-y install \<packages\></code>\, only the last package name was checked \([https\://github\.com/ansible\-collections/community\.general/pull/8263](https\://github\.com/ansible\-collections/community\.general/pull/8263)\)\.
|
||||||
|
* bitwarden\_secrets\_manager lookup plugin \- implements retry with exponential backoff to avoid lookup errors when Bitwardn\'s API rate limiting is encountered \([https\://github\.com/ansible\-collections/community\.general/issues/8230](https\://github\.com/ansible\-collections/community\.general/issues/8230)\, [https\://github\.com/ansible\-collections/community\.general/pull/8238](https\://github\.com/ansible\-collections/community\.general/pull/8238)\)\.
|
||||||
|
* cargo \- fix idempotency issues when using a custom installation path for packages \(using the <code>\-\-path</code> parameter\)\. The initial installation runs fine\, but subsequent runs use the <code>get\_installed\(\)</code> function which did not check the given installation location\, before running <code>cargo install</code>\. This resulted in a false <code>changed</code> state\. Also the removal of packeges using <code>state\: absent</code> failed\, as the installation check did not use the given parameter \([https\://github\.com/ansible\-collections/community\.general/pull/7970](https\://github\.com/ansible\-collections/community\.general/pull/7970)\)\.
|
||||||
|
* cloudflare\_dns \- fix Cloudflare lookup of SHFP records \([https\://github\.com/ansible\-collections/community\.general/issues/7652](https\://github\.com/ansible\-collections/community\.general/issues/7652)\)\.
|
||||||
|
* consul\_token \- fix token creation without <code>accessor\_id</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8091](https\://github\.com/ansible\-collections/community\.general/pull/8091)\)\.
|
||||||
|
* from\_ini filter plugin \- disabling interpolation of <code>ConfigParser</code> to allow converting values with a <code>\%</code> sign \([https\://github\.com/ansible\-collections/community\.general/issues/8183](https\://github\.com/ansible\-collections/community\.general/issues/8183)\, [https\://github\.com/ansible\-collections/community\.general/pull/8185](https\://github\.com/ansible\-collections/community\.general/pull/8185)\)\.
|
||||||
|
* gitlab\_group\_members \- fix gitlab constants call in <code>gitlab\_group\_members</code> module \([https\://github\.com/ansible\-collections/community\.general/issues/7467](https\://github\.com/ansible\-collections/community\.general/issues/7467)\)\.
|
||||||
|
* gitlab\_issue \- fix behavior to search GitLab issue\, using <code>search</code> keyword instead of <code>title</code> \([https\://github\.com/ansible\-collections/community\.general/issues/7846](https\://github\.com/ansible\-collections/community\.general/issues/7846)\)\.
|
||||||
|
* gitlab\_issue\, gitlab\_label\, gitlab\_milestone \- avoid crash during version comparison when the python\-gitlab Python module is not installed \([https\://github\.com/ansible\-collections/community\.general/pull/8158](https\://github\.com/ansible\-collections/community\.general/pull/8158)\)\.
|
||||||
|
* gitlab\_project\_members \- fix gitlab constants call in <code>gitlab\_project\_members</code> module \([https\://github\.com/ansible\-collections/community\.general/issues/7467](https\://github\.com/ansible\-collections/community\.general/issues/7467)\)\.
|
||||||
|
* gitlab\_protected\_branches \- fix gitlab constants call in <code>gitlab\_protected\_branches</code> module \([https\://github\.com/ansible\-collections/community\.general/issues/7467](https\://github\.com/ansible\-collections/community\.general/issues/7467)\)\.
|
||||||
|
* gitlab\_runner \- fix pagination when checking for existing runners \([https\://github\.com/ansible\-collections/community\.general/pull/7790](https\://github\.com/ansible\-collections/community\.general/pull/7790)\)\.
|
||||||
|
* gitlab\_user \- fix gitlab constants call in <code>gitlab\_user</code> module \([https\://github\.com/ansible\-collections/community\.general/issues/7467](https\://github\.com/ansible\-collections/community\.general/issues/7467)\)\.
|
||||||
|
* haproxy \- fix an issue where HAProxy could get stuck in DRAIN mode when the backend was unreachable \([https\://github\.com/ansible\-collections/community\.general/issues/8092](https\://github\.com/ansible\-collections/community\.general/issues/8092)\)\.
|
||||||
|
* homebrew \- detect already installed formulae and casks using JSON output from <code>brew info</code> \([https\://github\.com/ansible\-collections/community\.general/issues/864](https\://github\.com/ansible\-collections/community\.general/issues/864)\)\.
|
||||||
|
* homebrew \- error returned from brew command was ignored and tried to parse empty JSON\. Fix now checks for an error and raises it to give accurate error message to users \([https\://github\.com/ansible\-collections/community\.general/issues/8047](https\://github\.com/ansible\-collections/community\.general/issues/8047)\)\.
|
||||||
|
* incus connection plugin \- treats <code>inventory\_hostname</code> as a variable instead of a literal in remote connections \([https\://github\.com/ansible\-collections/community\.general/issues/7874](https\://github\.com/ansible\-collections/community\.general/issues/7874)\)\.
|
||||||
|
* interface\_files \- also consider <code>address\_family</code> when changing <code>option\=method</code> \([https\://github\.com/ansible\-collections/community\.general/issues/7610](https\://github\.com/ansible\-collections/community\.general/issues/7610)\, [https\://github\.com/ansible\-collections/community\.general/pull/7612](https\://github\.com/ansible\-collections/community\.general/pull/7612)\)\.
|
||||||
|
* inventory plugins \- add unsafe wrapper to avoid marking strings that do not contain <code>\{</code> or <code>\}</code> as unsafe\, to work around a bug in AWX \(\([https\://github\.com/ansible\-collections/community\.general/issues/8212](https\://github\.com/ansible\-collections/community\.general/issues/8212)\, [https\://github\.com/ansible\-collections/community\.general/pull/8225](https\://github\.com/ansible\-collections/community\.general/pull/8225)\)\.
|
||||||
|
* ipa \- fix get version regex in IPA module\_utils \([https\://github\.com/ansible\-collections/community\.general/pull/8175](https\://github\.com/ansible\-collections/community\.general/pull/8175)\)\.
|
||||||
|
* ipa\_hbacrule \- the module uses a string for <code>ipaenabledflag</code> for new FreeIPA versions while the returned value is a boolean \([https\://github\.com/ansible\-collections/community\.general/pull/7880](https\://github\.com/ansible\-collections/community\.general/pull/7880)\)\.
|
||||||
|
* ipa\_otptoken \- the module expect <code>ipatokendisabled</code> as string but the <code>ipatokendisabled</code> value is returned as a boolean \([https\://github\.com/ansible\-collections/community\.general/pull/7795](https\://github\.com/ansible\-collections/community\.general/pull/7795)\)\.
|
||||||
|
* ipa\_sudorule \- the module uses a string for <code>ipaenabledflag</code> for new FreeIPA versions while the returned value is a boolean \([https\://github\.com/ansible\-collections/community\.general/pull/7880](https\://github\.com/ansible\-collections/community\.general/pull/7880)\)\.
|
||||||
|
* iptables\_state \- fix idempotency issues when restoring incomplete iptables dumps \([https\://github\.com/ansible\-collections/community\.general/issues/8029](https\://github\.com/ansible\-collections/community\.general/issues/8029)\)\.
|
||||||
|
* irc \- replace <code>ssl\.wrap\_socket</code> that was removed from Python 3\.12 with code for creating a proper SSL context \([https\://github\.com/ansible\-collections/community\.general/pull/7542](https\://github\.com/ansible\-collections/community\.general/pull/7542)\)\.
|
||||||
|
* keycloak\_\* \- fix Keycloak API client to quote <code>/</code> properly \([https\://github\.com/ansible\-collections/community\.general/pull/7641](https\://github\.com/ansible\-collections/community\.general/pull/7641)\)\.
|
||||||
|
* keycloak\_authz\_permission \- resource payload variable for scope\-based permission was constructed as a string\, when it needs to be a list\, even for a single item \([https\://github\.com/ansible\-collections/community\.general/issues/7151](https\://github\.com/ansible\-collections/community\.general/issues/7151)\)\.
|
||||||
|
* keycloak\_client \- add sorted <code>defaultClientScopes</code> and <code>optionalClientScopes</code> to normalizations \([https\://github\.com/ansible\-collections/community\.general/pull/8223](https\://github\.com/ansible\-collections/community\.general/pull/8223)\)\.
|
||||||
|
* keycloak\_client \- fixes issue when metadata is provided in desired state when task is in check mode \([https\://github\.com/ansible\-collections/community\.general/issues/1226](https\://github\.com/ansible\-collections/community\.general/issues/1226)\, [https\://github\.com/ansible\-collections/community\.general/pull/7881](https\://github\.com/ansible\-collections/community\.general/pull/7881)\)\.
|
||||||
|
* keycloak\_identity\_provider \- <code>mappers</code> processing was not idempotent if the mappers configuration list had not been sorted by name \(in ascending order\)\. Fix resolves the issue by sorting mappers in the desired state using the same key which is used for obtaining existing state \([https\://github\.com/ansible\-collections/community\.general/pull/7418](https\://github\.com/ansible\-collections/community\.general/pull/7418)\)\.
|
||||||
|
* keycloak\_identity\_provider \- it was not possible to reconfigure \(add\, remove\) <code>mappers</code> once they were created initially\. Removal was ignored\, adding new ones resulted in dropping the pre\-existing unmodified mappers\. Fix resolves the issue by supplying correct input to the internal update call \([https\://github\.com/ansible\-collections/community\.general/pull/7418](https\://github\.com/ansible\-collections/community\.general/pull/7418)\)\.
|
||||||
|
* keycloak\_realm \- add normalizations for <code>enabledEventTypes</code> and <code>supportedLocales</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8224](https\://github\.com/ansible\-collections/community\.general/pull/8224)\)\.
|
||||||
|
* keycloak\_user \- when <code>force</code> is set\, but user does not exist\, do not try to delete it \([https\://github\.com/ansible\-collections/community\.general/pull/7696](https\://github\.com/ansible\-collections/community\.general/pull/7696)\)\.
|
||||||
|
* keycloak\_user\_federation \- fix diff of empty <code>krbPrincipalAttribute</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8320](https\://github\.com/ansible\-collections/community\.general/pull/8320)\)\.
|
||||||
|
* ldap \- previously the order number \(if present\) was expected to follow an equals sign in the DN\. This makes it so the order number string is identified correctly anywhere within the DN \([https\://github\.com/ansible\-collections/community\.general/issues/7646](https\://github\.com/ansible\-collections/community\.general/issues/7646)\)\.
|
||||||
|
* linode inventory plugin \- add descriptive error message for linode inventory plugin \([https\://github\.com/ansible\-collections/community\.general/pull/8133](https\://github\.com/ansible\-collections/community\.general/pull/8133)\)\.
|
||||||
|
* log\_entries callback plugin \- replace <code>ssl\.wrap\_socket</code> that was removed from Python 3\.12 with code for creating a proper SSL context \([https\://github\.com/ansible\-collections/community\.general/pull/7542](https\://github\.com/ansible\-collections/community\.general/pull/7542)\)\.
|
||||||
|
* lvol \- test for output messages in both <code>stdout</code> and <code>stderr</code> \([https\://github\.com/ansible\-collections/community\.general/pull/7601](https\://github\.com/ansible\-collections/community\.general/pull/7601)\, [https\://github\.com/ansible\-collections/community\.general/issues/7182](https\://github\.com/ansible\-collections/community\.general/issues/7182)\)\.
|
||||||
|
* merge\_variables lookup plugin \- fixing cross host merge\: providing access to foreign hosts variables to the perspective of the host that is performing the merge \([https\://github\.com/ansible\-collections/community\.general/pull/8303](https\://github\.com/ansible\-collections/community\.general/pull/8303)\)\.
|
||||||
|
* modprobe \- listing modules files or modprobe files could trigger a FileNotFoundError if <code>/etc/modprobe\.d</code> or <code>/etc/modules\-load\.d</code> did not exist\. Relevant functions now return empty lists if the directories do not exist to avoid crashing the module \([https\://github\.com/ansible\-collections/community\.general/issues/7717](https\://github\.com/ansible\-collections/community\.general/issues/7717)\)\.
|
||||||
|
* mssql\_script \- make the module work with Python 2 \([https\://github\.com/ansible\-collections/community\.general/issues/7818](https\://github\.com/ansible\-collections/community\.general/issues/7818)\, [https\://github\.com/ansible\-collections/community\.general/pull/7821](https\://github\.com/ansible\-collections/community\.general/pull/7821)\)\.
|
||||||
|
* nmcli \- fix <code>connection\.slave\-type</code> wired to <code>bond</code> and not with parameter <code>slave\_type</code> in case of connection type <code>wifi</code> \([https\://github\.com/ansible\-collections/community\.general/issues/7389](https\://github\.com/ansible\-collections/community\.general/issues/7389)\)\.
|
||||||
|
* ocapi\_utils\, oci\_utils\, redfish\_utils module utils \- replace <code>type\(\)</code> calls with <code>isinstance\(\)</code> calls \([https\://github\.com/ansible\-collections/community\.general/pull/7501](https\://github\.com/ansible\-collections/community\.general/pull/7501)\)\.
|
||||||
|
* onepassword lookup plugin \- failed for fields that were in sections and had uppercase letters in the label/ID\. Field lookups are now case insensitive in all cases \([https\://github\.com/ansible\-collections/community\.general/pull/7919](https\://github\.com/ansible\-collections/community\.general/pull/7919)\)\.
|
||||||
|
* onepassword lookup plugin \- field and section titles are now case insensitive when using op CLI version two or later\. This matches the behavior of version one \([https\://github\.com/ansible\-collections/community\.general/pull/7564](https\://github\.com/ansible\-collections/community\.general/pull/7564)\)\.
|
||||||
|
* opentelemetry callback plugin \- close spans always \([https\://github\.com/ansible\-collections/community\.general/pull/8367](https\://github\.com/ansible\-collections/community\.general/pull/8367)\)\.
|
||||||
|
* opentelemetry callback plugin \- honour the <code>disable\_logs</code> option to avoid storing task results since they are not used regardless \([https\://github\.com/ansible\-collections/community\.general/pull/8373](https\://github\.com/ansible\-collections/community\.general/pull/8373)\)\.
|
||||||
|
* pacemaker\_cluster \- actually implement check mode\, which the module claims to support\. This means that until now the module also did changes in check mode \([https\://github\.com/ansible\-collections/community\.general/pull/8081](https\://github\.com/ansible\-collections/community\.general/pull/8081)\)\.
|
||||||
|
* pam\_limits \- when the file does not exist\, do not create it in check mode \([https\://github\.com/ansible\-collections/community\.general/issues/8050](https\://github\.com/ansible\-collections/community\.general/issues/8050)\, [https\://github\.com/ansible\-collections/community\.general/pull/8057](https\://github\.com/ansible\-collections/community\.general/pull/8057)\)\.
|
||||||
|
* pipx module utils \- change the CLI argument formatter for the <code>pip\_args</code> parameter \([https\://github\.com/ansible\-collections/community\.general/issues/7497](https\://github\.com/ansible\-collections/community\.general/issues/7497)\, [https\://github\.com/ansible\-collections/community\.general/pull/7506](https\://github\.com/ansible\-collections/community\.general/pull/7506)\)\.
|
||||||
|
* pkgin \- pkgin \(pkgsrc package manager used by SmartOS\) raises erratic exceptions and spurious <code>changed\=true</code> \([https\://github\.com/ansible\-collections/community\.general/pull/7971](https\://github\.com/ansible\-collections/community\.general/pull/7971)\)\.
|
||||||
|
* proxmox \- fix updating a container config if the setting does not already exist \([https\://github\.com/ansible\-collections/community\.general/pull/7872](https\://github\.com/ansible\-collections/community\.general/pull/7872)\)\.
|
||||||
|
* proxmox\_kvm \- fixed status check getting from node\-specific API endpoint \([https\://github\.com/ansible\-collections/community\.general/issues/7817](https\://github\.com/ansible\-collections/community\.general/issues/7817)\)\.
|
||||||
|
* proxmox\_kvm \- running <code>state\=template</code> will first check whether VM is already a template \([https\://github\.com/ansible\-collections/community\.general/pull/7792](https\://github\.com/ansible\-collections/community\.general/pull/7792)\)\.
|
||||||
|
* proxmox\_pool\_member \- absent state for type VM did not delete VMs from the pools \([https\://github\.com/ansible\-collections/community\.general/pull/7464](https\://github\.com/ansible\-collections/community\.general/pull/7464)\)\.
|
||||||
|
* puppet \- add option <code>environment\_lang</code> to set the environment language encoding\. Defaults to lang <code>C</code>\. It is recommended to set it to <code>C\.UTF\-8</code> or <code>en\_US\.UTF\-8</code> depending on what is available on your system\. \([https\://github\.com/ansible\-collections/community\.general/issues/8000](https\://github\.com/ansible\-collections/community\.general/issues/8000)\)
|
||||||
|
* redfish\_command \- fix usage of message parsing in <code>SimpleUpdate</code> and <code>MultipartHTTPPushUpdate</code> commands to treat the lack of a <code>MessageId</code> as no message \([https\://github\.com/ansible\-collections/community\.general/issues/7465](https\://github\.com/ansible\-collections/community\.general/issues/7465)\, [https\://github\.com/ansible\-collections/community\.general/pull/7471](https\://github\.com/ansible\-collections/community\.general/pull/7471)\)\.
|
||||||
|
* redfish\_info \- allow for a GET operation invoked by <code>GetUpdateStatus</code> to allow for an empty response body for cases where a service returns 204 No Content \([https\://github\.com/ansible\-collections/community\.general/issues/8003](https\://github\.com/ansible\-collections/community\.general/issues/8003)\)\.
|
||||||
|
* redfish\_info \- correct uncaught exception when attempting to retrieve <code>Chassis</code> information \([https\://github\.com/ansible\-collections/community\.general/pull/7952](https\://github\.com/ansible\-collections/community\.general/pull/7952)\)\.
|
||||||
|
* redhat\_subscription \- use the D\-Bus registration on RHEL 7 only on 7\.4 and
|
||||||
|
greater\; older versions of RHEL 7 do not have it
|
||||||
|
\([https\://github\.com/ansible\-collections/community\.general/issues/7622](https\://github\.com/ansible\-collections/community\.general/issues/7622)\,
|
||||||
|
[https\://github\.com/ansible\-collections/community\.general/pull/7624](https\://github\.com/ansible\-collections/community\.general/pull/7624)\)\.
|
||||||
|
* riak \- support <code>riak admin</code> sub\-command in newer Riak KV versions beside the legacy <code>riak\-admin</code> main command \([https\://github\.com/ansible\-collections/community\.general/pull/8211](https\://github\.com/ansible\-collections/community\.general/pull/8211)\)\.
|
||||||
|
* statusio\_maintenance \- fix error caused by incorrectly formed API data payload\. Was raising \"Failed to create maintenance HTTP Error 400 Bad Request\" caused by bad data type for date/time and deprecated dict keys \([https\://github\.com/ansible\-collections/community\.general/pull/7754](https\://github\.com/ansible\-collections/community\.general/pull/7754)\)\.
|
||||||
|
* terraform \- fix multiline string handling in complex variables \([https\://github\.com/ansible\-collections/community\.general/pull/7535](https\://github\.com/ansible\-collections/community\.general/pull/7535)\)\.
|
||||||
|
* to\_ini filter plugin \- disabling interpolation of <code>ConfigParser</code> to allow converting values with a <code>\%</code> sign \([https\://github\.com/ansible\-collections/community\.general/issues/8183](https\://github\.com/ansible\-collections/community\.general/issues/8183)\, [https\://github\.com/ansible\-collections/community\.general/pull/8185](https\://github\.com/ansible\-collections/community\.general/pull/8185)\)\.
|
||||||
|
* xml \- make module work with lxml 5\.1\.1\, which removed some internals that the module was relying on \([https\://github\.com/ansible\-collections/community\.general/pull/8169](https\://github\.com/ansible\-collections/community\.general/pull/8169)\)\.
|
||||||
|
|
||||||
|
<a id="new-plugins-2"></a>
|
||||||
|
### New Plugins
|
||||||
|
|
||||||
|
<a id="become"></a>
|
||||||
|
#### Become
|
||||||
|
|
||||||
|
* community\.general\.run0 \- Systemd\'s run0\.
|
||||||
|
|
||||||
|
<a id="callback"></a>
|
||||||
|
#### Callback
|
||||||
|
|
||||||
|
* community\.general\.default\_without\_diff \- The default ansible callback without diff output\.
|
||||||
|
* community\.general\.timestamp \- Adds simple timestamp for each header\.
|
||||||
|
|
||||||
|
<a id="connection"></a>
|
||||||
|
#### Connection
|
||||||
|
|
||||||
|
* community\.general\.incus \- Run tasks in Incus instances via the Incus CLI\.
|
||||||
|
|
||||||
|
<a id="filter-2"></a>
|
||||||
|
#### Filter
|
||||||
|
|
||||||
|
* community\.general\.from\_ini \- Converts INI text input into a dictionary\.
|
||||||
|
* community\.general\.lists\_difference \- Difference of lists with a predictive order\.
|
||||||
|
* community\.general\.lists\_intersect \- Intersection of lists with a predictive order\.
|
||||||
|
* community\.general\.lists\_symmetric\_difference \- Symmetric Difference of lists with a predictive order\.
|
||||||
|
* community\.general\.lists\_union \- Union of lists with a predictive order\.
|
||||||
|
* community\.general\.to\_ini \- Converts a dictionary to the INI file format\.
|
||||||
|
|
||||||
|
<a id="lookup"></a>
|
||||||
|
#### Lookup
|
||||||
|
|
||||||
|
* community\.general\.github\_app\_access\_token \- Obtain short\-lived Github App Access tokens\.
|
||||||
|
* community\.general\.onepassword\_doc \- Fetch documents stored in 1Password\.
|
||||||
|
|
||||||
|
<a id="test-1"></a>
|
||||||
|
#### Test
|
||||||
|
|
||||||
|
* community\.general\.fqdn\_valid \- Validates fully\-qualified domain names against RFC 1123\.
|
||||||
|
|
||||||
|
<a id="new-modules-4"></a>
|
||||||
|
### New Modules
|
||||||
|
|
||||||
|
* community\.general\.consul\_acl\_bootstrap \- Bootstrap ACLs in Consul\.
|
||||||
|
* community\.general\.consul\_auth\_method \- Manipulate Consul auth methods\.
|
||||||
|
* community\.general\.consul\_binding\_rule \- Manipulate Consul binding rules\.
|
||||||
|
* community\.general\.consul\_token \- Manipulate Consul tokens\.
|
||||||
|
* community\.general\.django\_command \- Run Django admin commands\.
|
||||||
|
* community\.general\.dnf\_config\_manager \- Enable or disable dnf repositories using config\-manager\.
|
||||||
|
* community\.general\.git\_config\_info \- Read git configuration\.
|
||||||
|
* community\.general\.gitlab\_group\_access\_token \- Manages GitLab group access tokens\.
|
||||||
|
* community\.general\.gitlab\_issue \- Create\, update\, or delete GitLab issues\.
|
||||||
|
* community\.general\.gitlab\_label \- Creates/updates/deletes GitLab Labels belonging to project or group\.
|
||||||
|
* community\.general\.gitlab\_milestone \- Creates/updates/deletes GitLab Milestones belonging to project or group\.
|
||||||
|
* community\.general\.gitlab\_project\_access\_token \- Manages GitLab project access tokens\.
|
||||||
|
* community\.general\.keycloak\_client\_rolescope \- Allows administration of Keycloak client roles scope to restrict the usage of certain roles to a other specific client applications\.
|
||||||
|
* community\.general\.keycloak\_component\_info \- Retrive component info in Keycloak\.
|
||||||
|
* community\.general\.keycloak\_realm\_rolemapping \- Allows administration of Keycloak realm role mappings into groups with the Keycloak API\.
|
||||||
|
* community\.general\.nomad\_token \- Manage Nomad ACL tokens\.
|
||||||
|
* community\.general\.proxmox\_node\_info \- Retrieve information about one or more Proxmox VE nodes\.
|
||||||
|
* community\.general\.proxmox\_storage\_contents\_info \- List content from a Proxmox VE storage\.
|
||||||
|
* community\.general\.usb\_facts \- Allows listing information about USB devices\.
|
||||||
|
|
827
CHANGELOG.rst
827
CHANGELOG.rst
|
@ -1,6 +1,823 @@
|
||||||
Placeholder changelog
|
===============================
|
||||||
=====================
|
Community General Release Notes
|
||||||
|
===============================
|
||||||
|
|
||||||
This file is a placeholder; a version-specific ``CHANGELOG-vX.rst`` will be generated during releases from fragments
|
.. contents:: Topics
|
||||||
under ``changelogs/fragments``. On release branches once a release has been created, consult the branch's version-specific
|
|
||||||
file for changes that have occurred in that branch.
|
This changelog describes changes after version 8.0.0.
|
||||||
|
|
||||||
|
v9.5.4
|
||||||
|
======
|
||||||
|
|
||||||
|
Security Fixes
|
||||||
|
--------------
|
||||||
|
|
||||||
|
- keycloak_client - Sanitize ``saml.encryption.private.key`` so it does not show in the logs (https://github.com/ansible-collections/community.general/pull/9621).
|
||||||
|
|
||||||
|
Bugfixes
|
||||||
|
--------
|
||||||
|
|
||||||
|
- redhat_subscription - do not try to unsubscribe (i.e. remove subscriptions)
|
||||||
|
when unregistering a system: newer versions of subscription-manager, as
|
||||||
|
available in EL 10 and Fedora 41+, do not support entitlements anymore, and
|
||||||
|
thus unsubscribing will fail
|
||||||
|
(https://github.com/ansible-collections/community.general/pull/9578).
|
||||||
|
|
||||||
|
v9.5.3
|
||||||
|
======
|
||||||
|
|
||||||
|
Release Summary
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Regular bugfix release.
|
||||||
|
|
||||||
|
Minor Changes
|
||||||
|
-------------
|
||||||
|
|
||||||
|
- proxmox module utils - add method ``api_task_complete`` that can wait for task completion and return error message (https://github.com/ansible-collections/community.general/pull/9256).
|
||||||
|
|
||||||
|
Security Fixes
|
||||||
|
--------------
|
||||||
|
|
||||||
|
- keycloak_authentication - API calls did not properly set the ``priority`` 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).
|
||||||
|
|
||||||
|
Bugfixes
|
||||||
|
--------
|
||||||
|
|
||||||
|
- dig lookup plugin - correctly handle ``NoNameserver`` exception (https://github.com/ansible-collections/community.general/pull/9363, https://github.com/ansible-collections/community.general/issues/9362).
|
||||||
|
- htpasswd - report changes when file permissions are adjusted (https://github.com/ansible-collections/community.general/issues/9485, https://github.com/ansible-collections/community.general/pull/9490).
|
||||||
|
- proxmox_disk - fix async method and make ``resize_disk`` method handle errors correctly (https://github.com/ansible-collections/community.general/pull/9256).
|
||||||
|
- proxmox_template - fix the wrong path called on ``proxmox_template.task_status`` (https://github.com/ansible-collections/community.general/issues/9276, https://github.com/ansible-collections/community.general/pull/9277).
|
||||||
|
- qubes connection plugin - fix the printing of debug information (https://github.com/ansible-collections/community.general/pull/9334).
|
||||||
|
- redfish_utils module utils - Fix ``VerifyBiosAttributes`` command on multi system resource nodes (https://github.com/ansible-collections/community.general/pull/9234).
|
||||||
|
|
||||||
|
v9.5.2
|
||||||
|
======
|
||||||
|
|
||||||
|
Release Summary
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Regular bugfix release.
|
||||||
|
|
||||||
|
Minor Changes
|
||||||
|
-------------
|
||||||
|
|
||||||
|
- proxmox inventory plugin - fix urllib3 ``InsecureRequestWarnings`` not being suppressed when a token is used (https://github.com/ansible-collections/community.general/pull/9099).
|
||||||
|
|
||||||
|
Bugfixes
|
||||||
|
--------
|
||||||
|
|
||||||
|
- dnf_config_manager - fix hanging when prompting to import GPG keys (https://github.com/ansible-collections/community.general/pull/9124, https://github.com/ansible-collections/community.general/issues/8830).
|
||||||
|
- dnf_config_manager - forces locale to ``C`` before module starts. If the locale was set to non-English, the output of the ``dnf config-manager`` could not be parsed (https://github.com/ansible-collections/community.general/pull/9157, https://github.com/ansible-collections/community.general/issues/9046).
|
||||||
|
- flatpak - force the locale language to ``C`` when running the flatpak command (https://github.com/ansible-collections/community.general/pull/9187, https://github.com/ansible-collections/community.general/issues/8883).
|
||||||
|
- github_key - in check mode, a faulty call to ```datetime.strftime(...)``` was being made which generated an exception (https://github.com/ansible-collections/community.general/issues/9185).
|
||||||
|
- homebrew_cask - allow ``+`` symbol in Homebrew cask name validation regex (https://github.com/ansible-collections/community.general/pull/9128).
|
||||||
|
- keycloak_client - fix diff by removing code that turns the attributes dict which contains additional settings into a list (https://github.com/ansible-collections/community.general/pull/9077).
|
||||||
|
- keycloak_clientscope - fix diff and ``end_state`` by removing the code that turns the attributes dict, which contains additional config items, into a list (https://github.com/ansible-collections/community.general/pull/9082).
|
||||||
|
- keycloak_clientscope_type - sort the default and optional clientscope lists to improve the diff (https://github.com/ansible-collections/community.general/pull/9202).
|
||||||
|
- redfish_utils module utils - remove undocumented default applytime (https://github.com/ansible-collections/community.general/pull/9114).
|
||||||
|
- slack - fail if Slack API response is not OK with error message (https://github.com/ansible-collections/community.general/pull/9198).
|
||||||
|
|
||||||
|
v9.5.1
|
||||||
|
======
|
||||||
|
|
||||||
|
Release Summary
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Regular bugfix release.
|
||||||
|
|
||||||
|
Minor Changes
|
||||||
|
-------------
|
||||||
|
|
||||||
|
- redfish_utils module utils - schedule a BIOS configuration job at next reboot when the BIOS config is changed (https://github.com/ansible-collections/community.general/pull/9012).
|
||||||
|
|
||||||
|
Bugfixes
|
||||||
|
--------
|
||||||
|
|
||||||
|
- bitwarden lookup plugin - support BWS v0.3.0 syntax breaking change (https://github.com/ansible-collections/community.general/pull/9028).
|
||||||
|
- collection_version lookup plugin - use ``importlib`` directly instead of the deprecated and in ansible-core 2.19 removed ``ansible.module_utils.compat.importlib`` (https://github.com/ansible-collections/community.general/pull/9084).
|
||||||
|
- gitlab_label - update label's color (https://github.com/ansible-collections/community.general/pull/9010).
|
||||||
|
- keycloak_clientscope_type - fix detect changes in check mode (https://github.com/ansible-collections/community.general/issues/9092, https://github.com/ansible-collections/community.general/pull/9093).
|
||||||
|
- keycloak_group - fix crash caused in subgroup creation. The crash was caused by a missing or empty ``subGroups`` property in Keycloak ≥23 (https://github.com/ansible-collections/community.general/issues/8788, https://github.com/ansible-collections/community.general/pull/8979).
|
||||||
|
- modprobe - fix check mode not being honored for ``persistent`` option (https://github.com/ansible-collections/community.general/issues/9051, https://github.com/ansible-collections/community.general/pull/9052).
|
||||||
|
- one_host - fix if statements for cases when ``ID=0`` (https://github.com/ansible-collections/community.general/issues/1199, https://github.com/ansible-collections/community.general/pull/8907).
|
||||||
|
- one_image - fix module failing due to a class method typo (https://github.com/ansible-collections/community.general/pull/9056).
|
||||||
|
- one_image_info - fix module failing due to a class method typo (https://github.com/ansible-collections/community.general/pull/9056).
|
||||||
|
- one_vnet - fix module failing due to a variable typo (https://github.com/ansible-collections/community.general/pull/9019).
|
||||||
|
- redfish_utils module utils - fix issue with URI parsing to gracefully handling trailing slashes when extracting member identifiers (https://github.com/ansible-collections/community.general/issues/9047, https://github.com/ansible-collections/community.general/pull/9057).
|
||||||
|
|
||||||
|
v9.5.0
|
||||||
|
======
|
||||||
|
|
||||||
|
Release Summary
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Regular bugfix and feature release.
|
||||||
|
|
||||||
|
Please note that this is the last feature release for community.general 9.x.y.
|
||||||
|
From now on, new features will only go into community.general 10.x.y.
|
||||||
|
|
||||||
|
Minor Changes
|
||||||
|
-------------
|
||||||
|
|
||||||
|
- dig lookup plugin - add ``port`` option to specify DNS server port (https://github.com/ansible-collections/community.general/pull/8966).
|
||||||
|
- flatpak - improve the parsing of Flatpak application IDs based on official guidelines (https://github.com/ansible-collections/community.general/pull/8909).
|
||||||
|
- gio_mime - adjust code ahead of the old ``VardDict`` deprecation (https://github.com/ansible-collections/community.general/pull/8855).
|
||||||
|
- gitlab_deploy_key - better construct when using ``dict.items()`` (https://github.com/ansible-collections/community.general/pull/8876).
|
||||||
|
- gitlab_group - add many new parameters (https://github.com/ansible-collections/community.general/pull/8908).
|
||||||
|
- gitlab_group - better construct when using ``dict.items()`` (https://github.com/ansible-collections/community.general/pull/8876).
|
||||||
|
- gitlab_issue - better construct when using ``dict.items()`` (https://github.com/ansible-collections/community.general/pull/8876).
|
||||||
|
- gitlab_merge_request - better construct when using ``dict.items()`` (https://github.com/ansible-collections/community.general/pull/8876).
|
||||||
|
- gitlab_runner - better construct when using ``dict.items()`` (https://github.com/ansible-collections/community.general/pull/8876).
|
||||||
|
- icinga2_host - replace loop with dict comprehension (https://github.com/ansible-collections/community.general/pull/8876).
|
||||||
|
- jira - adjust code ahead of the old ``VardDict`` deprecation (https://github.com/ansible-collections/community.general/pull/8856).
|
||||||
|
- keycloak_client - add ``client-x509`` choice to ``client_authenticator_type`` (https://github.com/ansible-collections/community.general/pull/8973).
|
||||||
|
- keycloak_user_federation - add the user federation config parameter ``referral`` to the module arguments (https://github.com/ansible-collections/community.general/pull/8954).
|
||||||
|
- memset_dns_reload - replace loop with ``dict()`` (https://github.com/ansible-collections/community.general/pull/8876).
|
||||||
|
- memset_memstore_info - replace loop with ``dict()`` (https://github.com/ansible-collections/community.general/pull/8876).
|
||||||
|
- memset_server_info - replace loop with ``dict()`` (https://github.com/ansible-collections/community.general/pull/8876).
|
||||||
|
- memset_zone - replace loop with ``dict()`` (https://github.com/ansible-collections/community.general/pull/8876).
|
||||||
|
- memset_zone_domain - replace loop with ``dict()`` (https://github.com/ansible-collections/community.general/pull/8876).
|
||||||
|
- memset_zone_record - replace loop with ``dict()`` (https://github.com/ansible-collections/community.general/pull/8876).
|
||||||
|
- nmcli - add ``conn_enable`` param to reload connection (https://github.com/ansible-collections/community.general/issues/3752, https://github.com/ansible-collections/community.general/issues/8704, https://github.com/ansible-collections/community.general/pull/8897).
|
||||||
|
- nmcli - add ``state=up`` and ``state=down`` to enable/disable connections (https://github.com/ansible-collections/community.general/issues/3752, https://github.com/ansible-collections/community.general/issues/8704, https://github.com/ansible-collections/community.general/issues/7152, https://github.com/ansible-collections/community.general/pull/8897).
|
||||||
|
- nmcli - better construct when using ``dict.items()`` (https://github.com/ansible-collections/community.general/pull/8876).
|
||||||
|
- npm - add ``force`` parameter to allow ``--force`` (https://github.com/ansible-collections/community.general/pull/8885).
|
||||||
|
- one_image - add option ``persistent`` to manage image persistence (https://github.com/ansible-collections/community.general/issues/3578, https://github.com/ansible-collections/community.general/pull/8889).
|
||||||
|
- one_image - extend xsd scheme to make it return a lot more info about image (https://github.com/ansible-collections/community.general/pull/8889).
|
||||||
|
- one_image - refactor code to make it more similar to ``one_template`` and ``one_vnet`` (https://github.com/ansible-collections/community.general/pull/8889).
|
||||||
|
- one_image_info - extend xsd scheme to make it return a lot more info about image (https://github.com/ansible-collections/community.general/pull/8889).
|
||||||
|
- one_image_info - refactor code to make it more similar to ``one_template`` and ``one_vnet`` (https://github.com/ansible-collections/community.general/pull/8889).
|
||||||
|
- open_iscsi - allow login to a portal with multiple targets without specifying any of them (https://github.com/ansible-collections/community.general/pull/8719).
|
||||||
|
- opennebula.py - add VM ``id`` and VM ``host`` to inventory host data (https://github.com/ansible-collections/community.general/pull/8532).
|
||||||
|
- passwordstore lookup plugin - add subkey creation/update support (https://github.com/ansible-collections/community.general/pull/8952).
|
||||||
|
- proxmox inventory plugin - clean up authentication code (https://github.com/ansible-collections/community.general/pull/8917).
|
||||||
|
- redfish_command - add handling of the ``PasswordChangeRequired`` message from services in the ``UpdateUserPassword`` command to directly modify the user's password if the requested user is the one invoking the operation (https://github.com/ansible-collections/community.general/issues/8652, https://github.com/ansible-collections/community.general/pull/8653).
|
||||||
|
- redfish_confg - remove ``CapacityBytes`` from required paramaters of the ``CreateVolume`` command (https://github.com/ansible-collections/community.general/pull/8956).
|
||||||
|
- redfish_config - add parameter ``storage_none_volume_deletion`` to ``CreateVolume`` command in order to control the automatic deletion of non-RAID volumes (https://github.com/ansible-collections/community.general/pull/8990).
|
||||||
|
- redfish_info - adds ``RedfishURI`` and ``StorageId`` to Disk inventory (https://github.com/ansible-collections/community.general/pull/8937).
|
||||||
|
- scaleway_container - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8858).
|
||||||
|
- scaleway_container_info - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8858).
|
||||||
|
- scaleway_container_namespace - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8858).
|
||||||
|
- scaleway_container_namespace_info - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8858).
|
||||||
|
- scaleway_container_registry - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8858).
|
||||||
|
- scaleway_container_registry_info - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8858).
|
||||||
|
- scaleway_function - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8858).
|
||||||
|
- scaleway_function_info - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8858).
|
||||||
|
- scaleway_function_namespace - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8858).
|
||||||
|
- scaleway_function_namespace_info - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8858).
|
||||||
|
- scaleway_user_data - better construct when using ``dict.items()`` (https://github.com/ansible-collections/community.general/pull/8876).
|
||||||
|
- udm_dns_record - replace loop with ``dict.update()`` (https://github.com/ansible-collections/community.general/pull/8876).
|
||||||
|
|
||||||
|
Deprecated Features
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
- hipchat - the hipchat service has been discontinued and the self-hosted variant has been End of Life since 2020. The module is therefore deprecated and will be removed from community.general 11.0.0 if nobody provides compelling reasons to still keep it (https://github.com/ansible-collections/community.general/pull/8919).
|
||||||
|
|
||||||
|
Bugfixes
|
||||||
|
--------
|
||||||
|
|
||||||
|
- cloudflare_dns - fix changing Cloudflare SRV records (https://github.com/ansible-collections/community.general/issues/8679, https://github.com/ansible-collections/community.general/pull/8948).
|
||||||
|
- cmd_runner module utils - call to ``get_best_parsable_locales()`` was missing parameter (https://github.com/ansible-collections/community.general/pull/8929).
|
||||||
|
- dig lookup plugin - fix using only the last nameserver specified (https://github.com/ansible-collections/community.general/pull/8970).
|
||||||
|
- django_command - option ``command`` is now split lexically before passed to underlying PythonRunner (https://github.com/ansible-collections/community.general/pull/8944).
|
||||||
|
- homectl - the module now tries to use ``legacycrypt`` on Python 3.13+ (https://github.com/ansible-collections/community.general/issues/4691, https://github.com/ansible-collections/community.general/pull/8987).
|
||||||
|
- ini_file - pass absolute paths to ``module.atomic_move()`` (https://github.com/ansible/ansible/issues/83950, https://github.com/ansible-collections/community.general/pull/8925).
|
||||||
|
- ipa_host - add ``force_create``, fix ``enabled`` and ``disabled`` states (https://github.com/ansible-collections/community.general/issues/1094, https://github.com/ansible-collections/community.general/pull/8920).
|
||||||
|
- ipa_hostgroup - fix ``enabled `` and ``disabled`` states (https://github.com/ansible-collections/community.general/issues/8408, https://github.com/ansible-collections/community.general/pull/8900).
|
||||||
|
- java_keystore - pass absolute paths to ``module.atomic_move()`` (https://github.com/ansible/ansible/issues/83950, https://github.com/ansible-collections/community.general/pull/8925).
|
||||||
|
- jenkins_plugin - pass absolute paths to ``module.atomic_move()`` (https://github.com/ansible/ansible/issues/83950, https://github.com/ansible-collections/community.general/pull/8925).
|
||||||
|
- kdeconfig - pass absolute paths to ``module.atomic_move()`` (https://github.com/ansible/ansible/issues/83950, https://github.com/ansible-collections/community.general/pull/8925).
|
||||||
|
- keycloak_realm - fix change detection in check mode by sorting the lists in the realms beforehand (https://github.com/ansible-collections/community.general/pull/8877).
|
||||||
|
- keycloak_user_federation - add module argument allowing users to configure the update mode for the parameter ``bindCredential`` (https://github.com/ansible-collections/community.general/pull/8898).
|
||||||
|
- keycloak_user_federation - minimize change detection by setting ``krbPrincipalAttribute`` to ``''`` in Keycloak responses if missing (https://github.com/ansible-collections/community.general/pull/8785).
|
||||||
|
- keycloak_user_federation - remove ``lastSync`` parameter from Keycloak responses to minimize diff/changes (https://github.com/ansible-collections/community.general/pull/8812).
|
||||||
|
- keycloak_userprofile - fix empty response when fetching userprofile component by removing ``parent=parent_id`` filter (https://github.com/ansible-collections/community.general/pull/8923).
|
||||||
|
- keycloak_userprofile - improve diff by deserializing the fetched ``kc.user.profile.config`` and serialize it only when sending back (https://github.com/ansible-collections/community.general/pull/8940).
|
||||||
|
- lxd_container - fix bug introduced in previous commit (https://github.com/ansible-collections/community.general/pull/8895, https://github.com/ansible-collections/community.general/issues/8888).
|
||||||
|
- one_service - fix service creation after it was deleted with ``unique`` parameter (https://github.com/ansible-collections/community.general/issues/3137, https://github.com/ansible-collections/community.general/pull/8887).
|
||||||
|
- pam_limits - pass absolute paths to ``module.atomic_move()`` (https://github.com/ansible/ansible/issues/83950, https://github.com/ansible-collections/community.general/pull/8925).
|
||||||
|
- python_runner module utils - parameter ``path_prefix`` was being handled as string when it should be a list (https://github.com/ansible-collections/community.general/pull/8944).
|
||||||
|
- udm_user - the module now tries to use ``legacycrypt`` on Python 3.13+ (https://github.com/ansible-collections/community.general/issues/4690, https://github.com/ansible-collections/community.general/pull/8987).
|
||||||
|
|
||||||
|
New Modules
|
||||||
|
-----------
|
||||||
|
|
||||||
|
- community.general.ipa_getkeytab - Manage keytab file in FreeIPA.
|
||||||
|
|
||||||
|
v9.4.0
|
||||||
|
======
|
||||||
|
|
||||||
|
Release Summary
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Bugfix and feature release.
|
||||||
|
|
||||||
|
Minor Changes
|
||||||
|
-------------
|
||||||
|
|
||||||
|
- MH module utils - add parameter ``when`` to ``cause_changes`` decorator (https://github.com/ansible-collections/community.general/pull/8766).
|
||||||
|
- MH module utils - minor refactor in decorators (https://github.com/ansible-collections/community.general/pull/8766).
|
||||||
|
- alternatives - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
|
||||||
|
- apache2_mod_proxy - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
|
||||||
|
- apache2_mod_proxy - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
|
||||||
|
- consul_acl - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
|
||||||
|
- copr - Added ``includepkgs`` and ``excludepkgs`` parameters to limit the list of packages fetched or excluded from the repository(https://github.com/ansible-collections/community.general/pull/8779).
|
||||||
|
- credstash lookup plugin - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
|
||||||
|
- csv module utils - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
|
||||||
|
- deco MH module utils - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
|
||||||
|
- etcd3 - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
|
||||||
|
- gio_mime - mute the old ``VarDict`` deprecation (https://github.com/ansible-collections/community.general/pull/8776).
|
||||||
|
- gitlab_group - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
|
||||||
|
- gitlab_project - add option ``issues_access_level`` to enable/disable project issues (https://github.com/ansible-collections/community.general/pull/8760).
|
||||||
|
- gitlab_project - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
|
||||||
|
- gitlab_project - sorted parameters in order to avoid future merge conflicts (https://github.com/ansible-collections/community.general/pull/8759).
|
||||||
|
- hashids filter plugin - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
|
||||||
|
- hwc_ecs_instance - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
|
||||||
|
- hwc_evs_disk - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
|
||||||
|
- hwc_vpc_eip - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
|
||||||
|
- hwc_vpc_peering_connect - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
|
||||||
|
- hwc_vpc_port - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
|
||||||
|
- hwc_vpc_subnet - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
|
||||||
|
- imc_rest - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
|
||||||
|
- ipa_otptoken - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
|
||||||
|
- jira - mute the old ``VarDict`` deprecation (https://github.com/ansible-collections/community.general/pull/8776).
|
||||||
|
- jira - replace deprecated params when using decorator ``cause_changes`` (https://github.com/ansible-collections/community.general/pull/8791).
|
||||||
|
- keep_keys filter plugin - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
|
||||||
|
- keycloak module utils - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
|
||||||
|
- keycloak_client - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
|
||||||
|
- keycloak_clientscope - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
|
||||||
|
- keycloak_identity_provider - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
|
||||||
|
- keycloak_user_federation - add module argument allowing users to optout of the removal of unspecified mappers, for example to keep the keycloak default mappers (https://github.com/ansible-collections/community.general/pull/8764).
|
||||||
|
- keycloak_user_federation - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
|
||||||
|
- keycloak_user_federation - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
|
||||||
|
- keycloak_user_federation - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
|
||||||
|
- linode - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
|
||||||
|
- lxc_container - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
|
||||||
|
- lxd_container - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
|
||||||
|
- manageiq_provider - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
|
||||||
|
- ocapi_utils - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
|
||||||
|
- one_service - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
|
||||||
|
- one_vm - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
|
||||||
|
- onepassword lookup plugin - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
|
||||||
|
- pids - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
|
||||||
|
- pipx - added new states ``install_all``, ``uninject``, ``upgrade_shared``, ``pin``, and ``unpin`` (https://github.com/ansible-collections/community.general/pull/8809).
|
||||||
|
- pipx - added parameter ``global`` to module (https://github.com/ansible-collections/community.general/pull/8793).
|
||||||
|
- pipx - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
|
||||||
|
- pipx_info - added parameter ``global`` to module (https://github.com/ansible-collections/community.general/pull/8793).
|
||||||
|
- pipx_info - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
|
||||||
|
- pkg5_publisher - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
|
||||||
|
- proxmox - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
|
||||||
|
- proxmox_disk - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
|
||||||
|
- proxmox_kvm - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
|
||||||
|
- proxmox_kvm - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
|
||||||
|
- redfish_utils - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
|
||||||
|
- redfish_utils module utils - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
|
||||||
|
- redis cache plugin - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
|
||||||
|
- remove_keys filter plugin - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
|
||||||
|
- replace_keys filter plugin - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
|
||||||
|
- scaleway - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
|
||||||
|
- scaleway module utils - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
|
||||||
|
- scaleway_compute - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
|
||||||
|
- scaleway_ip - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
|
||||||
|
- scaleway_lb - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
|
||||||
|
- scaleway_security_group - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
|
||||||
|
- scaleway_security_group - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
|
||||||
|
- scaleway_user_data - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
|
||||||
|
- sensu_silence - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
|
||||||
|
- snmp_facts - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
|
||||||
|
- sorcery - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
|
||||||
|
- ufw - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
|
||||||
|
- unsafe plugin utils - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
|
||||||
|
- vardict module utils - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
|
||||||
|
- vars MH module utils - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
|
||||||
|
- vmadm - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
|
||||||
|
|
||||||
|
Deprecated Features
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
- MH decorator cause_changes module utils - deprecate parameters ``on_success`` and ``on_failure`` (https://github.com/ansible-collections/community.general/pull/8791).
|
||||||
|
- pipx - support for versions of the command line tool ``pipx`` older than ``1.7.0`` is deprecated and will be removed in community.general 11.0.0 (https://github.com/ansible-collections/community.general/pull/8793).
|
||||||
|
- pipx_info - support for versions of the command line tool ``pipx`` older than ``1.7.0`` is deprecated and will be removed in community.general 11.0.0 (https://github.com/ansible-collections/community.general/pull/8793).
|
||||||
|
|
||||||
|
Bugfixes
|
||||||
|
--------
|
||||||
|
|
||||||
|
- gitlab_group_access_token - fix crash in check mode caused by attempted access to a newly created access token (https://github.com/ansible-collections/community.general/pull/8796).
|
||||||
|
- gitlab_project - fix ``container_expiration_policy`` not being applied when creating a new project (https://github.com/ansible-collections/community.general/pull/8790).
|
||||||
|
- gitlab_project - fix crash caused by old Gitlab projects not having a ``container_expiration_policy`` attribute (https://github.com/ansible-collections/community.general/pull/8790).
|
||||||
|
- gitlab_project_access_token - fix crash in check mode caused by attempted access to a newly created access token (https://github.com/ansible-collections/community.general/pull/8796).
|
||||||
|
- keycloak_realm_key - fix invalid usage of ``parent_id`` (https://github.com/ansible-collections/community.general/issues/7850, https://github.com/ansible-collections/community.general/pull/8823).
|
||||||
|
- keycloak_user_federation - fix key error when removing mappers during an update and new mappers are specified in the module args (https://github.com/ansible-collections/community.general/pull/8762).
|
||||||
|
- keycloak_user_federation - fix the ``UnboundLocalError`` that occurs when an ID is provided for a user federation mapper (https://github.com/ansible-collections/community.general/pull/8831).
|
||||||
|
- keycloak_user_federation - sort desired and after mapper list by name (analog to before mapper list) to minimize diff and make change detection more accurate (https://github.com/ansible-collections/community.general/pull/8761).
|
||||||
|
- proxmox inventory plugin - fixed a possible error on concatenating responses from proxmox. In case an API call unexpectedly returned an empty result, the inventory failed with a fatal error. Added check for empty response (https://github.com/ansible-collections/community.general/issues/8798, https://github.com/ansible-collections/community.general/pull/8794).
|
||||||
|
|
||||||
|
New Modules
|
||||||
|
-----------
|
||||||
|
|
||||||
|
- community.general.keycloak_userprofile - Allows managing Keycloak User Profiles.
|
||||||
|
- community.general.one_vnet - Manages OpenNebula virtual networks.
|
||||||
|
|
||||||
|
v9.3.0
|
||||||
|
======
|
||||||
|
|
||||||
|
Release Summary
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Regular bugfix and feature release.
|
||||||
|
|
||||||
|
Minor Changes
|
||||||
|
-------------
|
||||||
|
|
||||||
|
- cgroup_memory_recap, hipchat, jabber, log_plays, loganalytics, logentries, logstash, slack, splunk, sumologic, syslog_json callback plugins - make sure that all options are typed (https://github.com/ansible-collections/community.general/pull/8628).
|
||||||
|
- chef_databag, consul_kv, cyberarkpassword, dsv, etcd, filetree, hiera, onepassword, onepassword_doc, onepassword_raw, passwordstore, redis, shelvefile, tss lookup plugins - make sure that all options are typed (https://github.com/ansible-collections/community.general/pull/8626).
|
||||||
|
- chroot, funcd, incus, iocage, jail, lxc, lxd, qubes, zone connection plugins - make sure that all options are typed (https://github.com/ansible-collections/community.general/pull/8627).
|
||||||
|
- cobbler, linode, lxd, nmap, online, scaleway, stackpath_compute, virtualbox inventory plugins - make sure that all options are typed (https://github.com/ansible-collections/community.general/pull/8625).
|
||||||
|
- doas, dzdo, ksu, machinectl, pbrun, pfexec, pmrun, sesu, sudosu become plugins - make sure that all options are typed (https://github.com/ansible-collections/community.general/pull/8623).
|
||||||
|
- gconftool2 - make use of ``ModuleHelper`` features to simplify code (https://github.com/ansible-collections/community.general/pull/8711).
|
||||||
|
- gitlab_project - add option ``container_expiration_policy`` to schedule container registry cleanup (https://github.com/ansible-collections/community.general/pull/8674).
|
||||||
|
- gitlab_project - add option ``model_registry_access_level`` to disable model registry (https://github.com/ansible-collections/community.general/pull/8688).
|
||||||
|
- gitlab_project - add option ``pages_access_level`` to disable project pages (https://github.com/ansible-collections/community.general/pull/8688).
|
||||||
|
- gitlab_project - add option ``repository_access_level`` to disable project repository (https://github.com/ansible-collections/community.general/pull/8674).
|
||||||
|
- gitlab_project - add option ``service_desk_enabled`` to disable service desk (https://github.com/ansible-collections/community.general/pull/8688).
|
||||||
|
- locale_gen - add support for multiple locales (https://github.com/ansible-collections/community.general/issues/8677, https://github.com/ansible-collections/community.general/pull/8682).
|
||||||
|
- memcached, pickle, redis, yaml cache plugins - make sure that all options are typed (https://github.com/ansible-collections/community.general/pull/8624).
|
||||||
|
- opentelemetry callback plugin - fix default value for ``store_spans_in_file`` causing traces to be produced to a file named ``None`` (https://github.com/ansible-collections/community.general/issues/8566, https://github.com/ansible-collections/community.general/pull/8741).
|
||||||
|
- passwordstore lookup plugin - add the current user to the lockfile file name to address issues on multi-user systems (https://github.com/ansible-collections/community.general/pull/8689).
|
||||||
|
- pipx - add parameter ``suffix`` to module (https://github.com/ansible-collections/community.general/pull/8675, https://github.com/ansible-collections/community.general/issues/8656).
|
||||||
|
- pkgng - add option ``use_globs`` (default ``true``) to optionally disable glob patterns (https://github.com/ansible-collections/community.general/issues/8632, https://github.com/ansible-collections/community.general/pull/8633).
|
||||||
|
- proxmox inventory plugin - add new fact for LXC interface details (https://github.com/ansible-collections/community.general/pull/8713).
|
||||||
|
- redis, redis_info - add ``client_cert`` and ``client_key`` options to specify path to certificate for Redis authentication (https://github.com/ansible-collections/community.general/pull/8654).
|
||||||
|
|
||||||
|
Bugfixes
|
||||||
|
--------
|
||||||
|
|
||||||
|
- gitlab_runner - fix ``paused`` parameter being ignored (https://github.com/ansible-collections/community.general/pull/8648).
|
||||||
|
- homebrew_cask - fix ``upgrade_all`` returns ``changed`` when nothing upgraded (https://github.com/ansible-collections/community.general/issues/8707, https://github.com/ansible-collections/community.general/pull/8708).
|
||||||
|
- keycloak_user_federation - get cleartext IDP ``clientSecret`` from full realm info to detect changes to it (https://github.com/ansible-collections/community.general/issues/8294, https://github.com/ansible-collections/community.general/pull/8735).
|
||||||
|
- keycloak_user_federation - remove existing user federation mappers if they are not present in the federation configuration and will not be updated (https://github.com/ansible-collections/community.general/issues/7169, https://github.com/ansible-collections/community.general/pull/8695).
|
||||||
|
- proxmox - fixed an issue where the new volume handling incorrectly converted ``null`` values into ``"None"`` strings (https://github.com/ansible-collections/community.general/pull/8646).
|
||||||
|
- proxmox - fixed an issue where volume strings where overwritten instead of appended to in the new ``build_volume()`` method (https://github.com/ansible-collections/community.general/pull/8646).
|
||||||
|
- proxmox - removed the forced conversion of non-string values to strings to be consistent with the module documentation (https://github.com/ansible-collections/community.general/pull/8646).
|
||||||
|
|
||||||
|
New Modules
|
||||||
|
-----------
|
||||||
|
|
||||||
|
- community.general.bootc_manage - Bootc Switch and Upgrade.
|
||||||
|
- community.general.homebrew_services - Services manager for Homebrew.
|
||||||
|
- community.general.keycloak_realm_keys_metadata_info - Allows obtaining Keycloak realm keys metadata via Keycloak API.
|
||||||
|
|
||||||
|
v9.2.0
|
||||||
|
======
|
||||||
|
|
||||||
|
Release Summary
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Regular bugfix and feature release.
|
||||||
|
|
||||||
|
Minor Changes
|
||||||
|
-------------
|
||||||
|
|
||||||
|
- CmdRunner module utils - the parameter ``force_lang`` now supports the special value ``auto`` which will automatically try and determine the best parsable locale in the system (https://github.com/ansible-collections/community.general/pull/8517).
|
||||||
|
- proxmox - add ``disk_volume`` and ``mount_volumes`` keys for better readability (https://github.com/ansible-collections/community.general/pull/8542).
|
||||||
|
- proxmox - translate the old ``disk`` and ``mounts`` keys to the new handling internally (https://github.com/ansible-collections/community.general/pull/8542).
|
||||||
|
- proxmox_template - small refactor in logic for determining whether a template exists or not (https://github.com/ansible-collections/community.general/pull/8516).
|
||||||
|
- redfish_* modules - adds ``ciphers`` option for custom cipher selection (https://github.com/ansible-collections/community.general/pull/8533).
|
||||||
|
- sudosu become plugin - added an option (``alt_method``) to enhance compatibility with more versions of ``su`` (https://github.com/ansible-collections/community.general/pull/8214).
|
||||||
|
- virtualbox inventory plugin - expose a new parameter ``enable_advanced_group_parsing`` to change how the VirtualBox dynamic inventory parses VM groups (https://github.com/ansible-collections/community.general/issues/8508, https://github.com/ansible-collections/community.general/pull/8510).
|
||||||
|
- wdc_redfish_command - minor change to handle upgrade file for Redfish WD platforms (https://github.com/ansible-collections/community.general/pull/8444).
|
||||||
|
|
||||||
|
Bugfixes
|
||||||
|
--------
|
||||||
|
|
||||||
|
- bitwarden lookup plugin - fix ``KeyError`` in ``search_field`` (https://github.com/ansible-collections/community.general/issues/8549, https://github.com/ansible-collections/community.general/pull/8557).
|
||||||
|
- keycloak_clientscope - remove IDs from clientscope and its protocol mappers on comparison for changed check (https://github.com/ansible-collections/community.general/pull/8545).
|
||||||
|
- nsupdate - fix 'index out of range' error when changing NS records by falling back to authority section of the response (https://github.com/ansible-collections/community.general/issues/8612, https://github.com/ansible-collections/community.general/pull/8614).
|
||||||
|
- proxmox - fix idempotency on creation of mount volumes using Proxmox' special ``<storage>:<size>`` syntax (https://github.com/ansible-collections/community.general/issues/8407, https://github.com/ansible-collections/community.general/pull/8542).
|
||||||
|
- redfish_utils module utils - do not fail when language is not exactly "en" (https://github.com/ansible-collections/community.general/pull/8613).
|
||||||
|
|
||||||
|
New Plugins
|
||||||
|
-----------
|
||||||
|
|
||||||
|
Filter
|
||||||
|
~~~~~~
|
||||||
|
|
||||||
|
- community.general.reveal_ansible_type - Return input type.
|
||||||
|
|
||||||
|
Test
|
||||||
|
~~~~
|
||||||
|
|
||||||
|
- community.general.ansible_type - Validate input type.
|
||||||
|
|
||||||
|
v9.1.0
|
||||||
|
======
|
||||||
|
|
||||||
|
Release Summary
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Regular feature and bugfix release.
|
||||||
|
|
||||||
|
Minor Changes
|
||||||
|
-------------
|
||||||
|
|
||||||
|
- CmdRunner module util - argument formats can be specified as plain functions without calling ``cmd_runner_fmt.as_func()`` (https://github.com/ansible-collections/community.general/pull/8479).
|
||||||
|
- ansible_galaxy_install - add upgrade feature (https://github.com/ansible-collections/community.general/pull/8431, https://github.com/ansible-collections/community.general/issues/8351).
|
||||||
|
- cargo - add option ``directory``, which allows source directory to be specified (https://github.com/ansible-collections/community.general/pull/8480).
|
||||||
|
- cmd_runner module utils - add decorator ``cmd_runner_fmt.stack`` (https://github.com/ansible-collections/community.general/pull/8415).
|
||||||
|
- cmd_runner_fmt module utils - simplify implementation of ``cmd_runner_fmt.as_bool_not()`` (https://github.com/ansible-collections/community.general/pull/8512).
|
||||||
|
- ipa_dnsrecord - adds ``SSHFP`` record type for managing SSH fingerprints in FreeIPA DNS (https://github.com/ansible-collections/community.general/pull/8404).
|
||||||
|
- keycloak_client - assign auth flow by name (https://github.com/ansible-collections/community.general/pull/8428).
|
||||||
|
- openbsd_pkg - adds diff support to show changes in installed package list. This does not yet work for check mode (https://github.com/ansible-collections/community.general/pull/8402).
|
||||||
|
- proxmox - allow specification of the API port when using proxmox_* (https://github.com/ansible-collections/community.general/issues/8440, https://github.com/ansible-collections/community.general/pull/8441).
|
||||||
|
- proxmox_vm_info - add ``network`` option to retrieve current network information (https://github.com/ansible-collections/community.general/pull/8471).
|
||||||
|
- redfish_command - add ``wait`` and ``wait_timeout`` options to allow a user to block a command until a service is accessible after performing the requested command (https://github.com/ansible-collections/community.general/issues/8051, https://github.com/ansible-collections/community.general/pull/8434).
|
||||||
|
- redfish_info - add command ``CheckAvailability`` to check if a service is accessible (https://github.com/ansible-collections/community.general/issues/8051, https://github.com/ansible-collections/community.general/pull/8434).
|
||||||
|
- redis_info - adds support for getting cluster info (https://github.com/ansible-collections/community.general/pull/8464).
|
||||||
|
|
||||||
|
Deprecated Features
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
- CmdRunner module util - setting the value of the ``ignore_none`` parameter within a ``CmdRunner`` context is deprecated and that feature should be removed in community.general 12.0.0 (https://github.com/ansible-collections/community.general/pull/8479).
|
||||||
|
- git_config - the ``list_all`` option has been deprecated and will be removed in community.general 11.0.0. Use the ``community.general.git_config_info`` module instead (https://github.com/ansible-collections/community.general/pull/8453).
|
||||||
|
- git_config - using ``state=present`` without providing ``value`` is deprecated and will be disallowed in community.general 11.0.0. Use the ``community.general.git_config_info`` module instead to read a value (https://github.com/ansible-collections/community.general/pull/8453).
|
||||||
|
|
||||||
|
Bugfixes
|
||||||
|
--------
|
||||||
|
|
||||||
|
- git_config - fix behavior of ``state=absent`` if ``value`` is present (https://github.com/ansible-collections/community.general/issues/8436, https://github.com/ansible-collections/community.general/pull/8452).
|
||||||
|
- keycloak_realm - add normalizations for ``attributes`` and ``protocol_mappers`` (https://github.com/ansible-collections/community.general/pull/8496).
|
||||||
|
- launched - correctly report changed status in check mode (https://github.com/ansible-collections/community.general/pull/8406).
|
||||||
|
- opennebula inventory plugin - fix invalid reference to IP when inventory runs against NICs with no IPv4 address (https://github.com/ansible-collections/community.general/pull/8489).
|
||||||
|
- opentelemetry callback - do not save the JSON response when using the ``ansible.builtin.uri`` module (https://github.com/ansible-collections/community.general/pull/8430).
|
||||||
|
- opentelemetry callback - do not save the content response when using the ``ansible.builtin.slurp`` module (https://github.com/ansible-collections/community.general/pull/8430).
|
||||||
|
- paman - do not fail if an empty list of packages has been provided and there is nothing to do (https://github.com/ansible-collections/community.general/pull/8514).
|
||||||
|
|
||||||
|
Known Issues
|
||||||
|
------------
|
||||||
|
|
||||||
|
- homectl - the module does not work under Python 3.13 or newer, since it relies on the removed ``crypt`` standard library module (https://github.com/ansible-collections/community.general/issues/4691, https://github.com/ansible-collections/community.general/pull/8497).
|
||||||
|
- udm_user - the module does not work under Python 3.13 or newer, since it relies on the removed ``crypt`` standard library module (https://github.com/ansible-collections/community.general/issues/4690, https://github.com/ansible-collections/community.general/pull/8497).
|
||||||
|
|
||||||
|
New Plugins
|
||||||
|
-----------
|
||||||
|
|
||||||
|
Filter
|
||||||
|
~~~~~~
|
||||||
|
|
||||||
|
- community.general.keep_keys - Keep specific keys from dictionaries in a list.
|
||||||
|
- community.general.remove_keys - Remove specific keys from dictionaries in a list.
|
||||||
|
- community.general.replace_keys - Replace specific keys in a list of dictionaries.
|
||||||
|
|
||||||
|
New Modules
|
||||||
|
-----------
|
||||||
|
|
||||||
|
- community.general.consul_agent_check - Add, modify, and delete checks within a consul cluster.
|
||||||
|
- community.general.consul_agent_service - Add, modify and delete services within a consul cluster.
|
||||||
|
- community.general.django_check - Wrapper for C(django-admin check).
|
||||||
|
- community.general.django_createcachetable - Wrapper for C(django-admin createcachetable).
|
||||||
|
|
||||||
|
v9.0.1
|
||||||
|
======
|
||||||
|
|
||||||
|
Release Summary
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Bugfix release for inclusion in Ansible 10.0.0rc1.
|
||||||
|
|
||||||
|
Minor Changes
|
||||||
|
-------------
|
||||||
|
|
||||||
|
- ansible_galaxy_install - minor refactor in the module (https://github.com/ansible-collections/community.general/pull/8413).
|
||||||
|
|
||||||
|
Bugfixes
|
||||||
|
--------
|
||||||
|
|
||||||
|
- cpanm - use new ``VarDict`` to prevent deprecation warning (https://github.com/ansible-collections/community.general/issues/8410, https://github.com/ansible-collections/community.general/pull/8411).
|
||||||
|
- django module utils - use new ``VarDict`` to prevent deprecation warning (https://github.com/ansible-collections/community.general/issues/8410, https://github.com/ansible-collections/community.general/pull/8411).
|
||||||
|
- gconftool2_info - use new ``VarDict`` to prevent deprecation warning (https://github.com/ansible-collections/community.general/issues/8410, https://github.com/ansible-collections/community.general/pull/8411).
|
||||||
|
- homebrew - do not fail when brew prints warnings (https://github.com/ansible-collections/community.general/pull/8406, https://github.com/ansible-collections/community.general/issues/7044).
|
||||||
|
- hponcfg - use new ``VarDict`` to prevent deprecation warning (https://github.com/ansible-collections/community.general/issues/8410, https://github.com/ansible-collections/community.general/pull/8411).
|
||||||
|
- kernel_blacklist - use new ``VarDict`` to prevent deprecation warning (https://github.com/ansible-collections/community.general/issues/8410, https://github.com/ansible-collections/community.general/pull/8411).
|
||||||
|
- keycloak_client - fix TypeError when sanitizing the ``saml.signing.private.key`` attribute in the module's diff or state output. The ``sanitize_cr`` function expected a dict where in some cases a list might occur (https://github.com/ansible-collections/community.general/pull/8403).
|
||||||
|
- locale_gen - use new ``VarDict`` to prevent deprecation warning (https://github.com/ansible-collections/community.general/issues/8410, https://github.com/ansible-collections/community.general/pull/8411).
|
||||||
|
- mksysb - use new ``VarDict`` to prevent deprecation warning (https://github.com/ansible-collections/community.general/issues/8410, https://github.com/ansible-collections/community.general/pull/8411).
|
||||||
|
- pipx_info - use new ``VarDict`` to prevent deprecation warning (https://github.com/ansible-collections/community.general/issues/8410, https://github.com/ansible-collections/community.general/pull/8411).
|
||||||
|
- snap - use new ``VarDict`` to prevent deprecation warning (https://github.com/ansible-collections/community.general/issues/8410, https://github.com/ansible-collections/community.general/pull/8411).
|
||||||
|
- snap_alias - use new ``VarDict`` to prevent deprecation warning (https://github.com/ansible-collections/community.general/issues/8410, https://github.com/ansible-collections/community.general/pull/8411).
|
||||||
|
|
||||||
|
v9.0.0
|
||||||
|
======
|
||||||
|
|
||||||
|
Release Summary
|
||||||
|
---------------
|
||||||
|
|
||||||
|
This is release 9.0.0 of ``community.general``, released on 2024-05-20.
|
||||||
|
|
||||||
|
Minor Changes
|
||||||
|
-------------
|
||||||
|
|
||||||
|
- PythonRunner module utils - specialisation of ``CmdRunner`` to execute Python scripts (https://github.com/ansible-collections/community.general/pull/8289).
|
||||||
|
- Use offset-aware ``datetime.datetime`` objects (with timezone UTC) instead of offset-naive UTC timestamps, which are deprecated in Python 3.12 (https://github.com/ansible-collections/community.general/pull/8222).
|
||||||
|
- aix_lvol - refactor module to pass list of arguments to ``module.run_command()`` instead of relying on interpretation by a shell (https://github.com/ansible-collections/community.general/pull/8264).
|
||||||
|
- apt_rpm - add new states ``latest`` and ``present_not_latest``. The value ``latest`` is equivalent to the current behavior of ``present``, which will upgrade a package if a newer version exists. ``present_not_latest`` does what most users would expect ``present`` to do: it does not upgrade if the package is already installed. The current behavior of ``present`` will be deprecated in a later version, and eventually changed to that of ``present_not_latest`` (https://github.com/ansible-collections/community.general/issues/8217, https://github.com/ansible-collections/community.general/pull/8247).
|
||||||
|
- apt_rpm - refactor module to pass list of arguments to ``module.run_command()`` instead of relying on interpretation by a shell (https://github.com/ansible-collections/community.general/pull/8264).
|
||||||
|
- bitwarden lookup plugin - add ``bw_session`` option, to pass session key instead of reading from env (https://github.com/ansible-collections/community.general/pull/7994).
|
||||||
|
- bitwarden lookup plugin - add support to filter by organization ID (https://github.com/ansible-collections/community.general/pull/8188).
|
||||||
|
- bitwarden lookup plugin - allows to fetch all records of a given collection ID, by allowing to pass an empty value for ``search_value`` when ``collection_id`` is provided (https://github.com/ansible-collections/community.general/pull/8013).
|
||||||
|
- bitwarden lookup plugin - when looking for items using an item ID, the item is now accessed directly with ``bw get item`` instead of searching through all items. This doubles the lookup speed (https://github.com/ansible-collections/community.general/pull/7468).
|
||||||
|
- btrfs_subvolume - refactor module to pass list of arguments to ``module.run_command()`` instead of relying on interpretation by a shell (https://github.com/ansible-collections/community.general/pull/8264).
|
||||||
|
- cmd_runner module_utils - add validation for minimum and maximum length in the value passed to ``cmd_runner_fmt.as_list()`` (https://github.com/ansible-collections/community.general/pull/8288).
|
||||||
|
- consul_auth_method, consul_binding_rule, consul_policy, consul_role, consul_session, consul_token - added action group ``community.general.consul`` (https://github.com/ansible-collections/community.general/pull/7897).
|
||||||
|
- consul_policy - added support for diff and check mode (https://github.com/ansible-collections/community.general/pull/7878).
|
||||||
|
- consul_policy, consul_role, consul_session - removed dependency on ``requests`` and factored out common parts (https://github.com/ansible-collections/community.general/pull/7826, https://github.com/ansible-collections/community.general/pull/7878).
|
||||||
|
- consul_role - ``node_identities`` now expects a ``node_name`` option to match the Consul API, the old ``name`` is still supported as alias (https://github.com/ansible-collections/community.general/pull/7878).
|
||||||
|
- consul_role - ``service_identities`` now expects a ``service_name`` option to match the Consul API, the old ``name`` is still supported as alias (https://github.com/ansible-collections/community.general/pull/7878).
|
||||||
|
- consul_role - added support for diff mode (https://github.com/ansible-collections/community.general/pull/7878).
|
||||||
|
- consul_role - added support for templated policies (https://github.com/ansible-collections/community.general/pull/7878).
|
||||||
|
- elastic callback plugin - close elastic client to not leak resources (https://github.com/ansible-collections/community.general/pull/7517).
|
||||||
|
- filesystem - add bcachefs support (https://github.com/ansible-collections/community.general/pull/8126).
|
||||||
|
- gandi_livedns - adds support for personal access tokens (https://github.com/ansible-collections/community.general/issues/7639, https://github.com/ansible-collections/community.general/pull/8337).
|
||||||
|
- gconftool2 - use ``ModuleHelper`` with ``VarDict`` (https://github.com/ansible-collections/community.general/pull/8226).
|
||||||
|
- git_config - allow multiple git configs for the same name with the new ``add_mode`` option (https://github.com/ansible-collections/community.general/pull/7260).
|
||||||
|
- git_config - the ``after`` and ``before`` fields in the ``diff`` of the return value can be a list instead of a string in case more configs with the same key are affected (https://github.com/ansible-collections/community.general/pull/7260).
|
||||||
|
- git_config - when a value is unset, all configs with the same key are unset (https://github.com/ansible-collections/community.general/pull/7260).
|
||||||
|
- gitlab modules - add ``ca_path`` option (https://github.com/ansible-collections/community.general/pull/7472).
|
||||||
|
- gitlab modules - remove duplicate ``gitlab`` package check (https://github.com/ansible-collections/community.general/pull/7486).
|
||||||
|
- gitlab_deploy_key, gitlab_group_members, gitlab_group_variable, gitlab_hook, gitlab_instance_variable, gitlab_project_badge, gitlab_project_variable, gitlab_user - improve API pagination and compatibility with different versions of ``python-gitlab`` (https://github.com/ansible-collections/community.general/pull/7790).
|
||||||
|
- gitlab_hook - adds ``releases_events`` parameter for supporting Releases events triggers on GitLab hooks (https://github.com/ansible-collections/community.general/pull/7956).
|
||||||
|
- gitlab_runner - add support for new runner creation workflow (https://github.com/ansible-collections/community.general/pull/7199).
|
||||||
|
- homebrew - adds ``force_formula`` parameter to disambiguate a formula from a cask of the same name (https://github.com/ansible-collections/community.general/issues/8274).
|
||||||
|
- homebrew, homebrew_cask - refactor common argument validation logic into a dedicated ``homebrew`` module utils (https://github.com/ansible-collections/community.general/issues/8323, https://github.com/ansible-collections/community.general/pull/8324).
|
||||||
|
- icinga2 inventory plugin - add Jinja2 templating support to ``url``, ``user``, and ``password`` paramenters (https://github.com/ansible-collections/community.general/issues/7074, https://github.com/ansible-collections/community.general/pull/7996).
|
||||||
|
- icinga2 inventory plugin - adds new parameter ``group_by_hostgroups`` in order to make grouping by Icinga2 hostgroups optional (https://github.com/ansible-collections/community.general/pull/7998).
|
||||||
|
- ini_file - add an optional parameter ``section_has_values``. If the target ini file contains more than one ``section``, use ``section_has_values`` to specify which one should be updated (https://github.com/ansible-collections/community.general/pull/7505).
|
||||||
|
- ini_file - support optional spaces between section names and their surrounding brackets (https://github.com/ansible-collections/community.general/pull/8075).
|
||||||
|
- installp - refactor module to pass list of arguments to ``module.run_command()`` instead of relying on interpretation by a shell (https://github.com/ansible-collections/community.general/pull/8264).
|
||||||
|
- ipa_config - adds ``passkey`` choice to ``ipauserauthtype`` parameter's choices (https://github.com/ansible-collections/community.general/pull/7588).
|
||||||
|
- ipa_dnsrecord - adds ability to manage NS record types (https://github.com/ansible-collections/community.general/pull/7737).
|
||||||
|
- ipa_pwpolicy - refactor module and exchange a sequence ``if`` statements with a ``for`` loop (https://github.com/ansible-collections/community.general/pull/7723).
|
||||||
|
- ipa_pwpolicy - update module to support ``maxrepeat``, ``maxsequence``, ``dictcheck``, ``usercheck``, ``gracelimit`` parameters in FreeIPA password policies (https://github.com/ansible-collections/community.general/pull/7723).
|
||||||
|
- ipa_sudorule - adds options to include denied commands or command groups (https://github.com/ansible-collections/community.general/pull/7415).
|
||||||
|
- ipa_user - adds ``idp`` and ``passkey`` choice to ``ipauserauthtype`` parameter's choices (https://github.com/ansible-collections/community.general/pull/7589).
|
||||||
|
- irc - add ``validate_certs`` option, and rename ``use_ssl`` to ``use_tls``, while keeping ``use_ssl`` as an alias. The default value for ``validate_certs`` is ``false`` for backwards compatibility. We recommend to every user of this module to explicitly set ``use_tls=true`` and `validate_certs=true`` whenever possible, especially when communicating to IRC servers over the internet (https://github.com/ansible-collections/community.general/pull/7550).
|
||||||
|
- java_cert - add ``cert_content`` argument (https://github.com/ansible-collections/community.general/pull/8153).
|
||||||
|
- java_cert - enable ``owner``, ``group``, ``mode``, and other generic file arguments (https://github.com/ansible-collections/community.general/pull/8116).
|
||||||
|
- kernel_blacklist - use ``ModuleHelper`` with ``VarDict`` (https://github.com/ansible-collections/community.general/pull/8226).
|
||||||
|
- keycloak module utils - expose error message from Keycloak server for HTTP errors in some specific situations (https://github.com/ansible-collections/community.general/pull/7645).
|
||||||
|
- keycloak_client, keycloak_clientscope, keycloak_clienttemplate - added ``docker-v2`` protocol support, enhancing alignment with Keycloak's protocol options (https://github.com/ansible-collections/community.general/issues/8215, https://github.com/ansible-collections/community.general/pull/8216).
|
||||||
|
- keycloak_realm_key - the ``config.algorithm`` option now supports 8 additional key algorithms (https://github.com/ansible-collections/community.general/pull/7698).
|
||||||
|
- keycloak_realm_key - the ``config.certificate`` option value is no longer defined with ``no_log=True`` (https://github.com/ansible-collections/community.general/pull/7698).
|
||||||
|
- keycloak_realm_key - the ``provider_id`` option now supports RSA encryption key usage (value ``rsa-enc``) (https://github.com/ansible-collections/community.general/pull/7698).
|
||||||
|
- keycloak_user_federation - add option for ``krbPrincipalAttribute`` (https://github.com/ansible-collections/community.general/pull/7538).
|
||||||
|
- keycloak_user_federation - allow custom user storage providers to be set through ``provider_id`` (https://github.com/ansible-collections/community.general/pull/7789).
|
||||||
|
- ldap_attrs - module now supports diff mode, showing which attributes are changed within an operation (https://github.com/ansible-collections/community.general/pull/8073).
|
||||||
|
- lvg - refactor module to pass list of arguments to ``module.run_command()`` instead of relying on interpretation by a shell (https://github.com/ansible-collections/community.general/pull/8264).
|
||||||
|
- lvol - change ``pvs`` argument type to list of strings (https://github.com/ansible-collections/community.general/pull/7676, https://github.com/ansible-collections/community.general/issues/7504).
|
||||||
|
- lvol - refactor module to pass list of arguments to ``module.run_command()`` instead of relying on interpretation by a shell (https://github.com/ansible-collections/community.general/pull/8264).
|
||||||
|
- lxd connection plugin - tighten the detection logic for lxd ``Instance not found`` errors, to avoid false detection on unrelated errors such as ``/usr/bin/python3: not found`` (https://github.com/ansible-collections/community.general/pull/7521).
|
||||||
|
- lxd_container - uses ``/1.0/instances`` API endpoint, if available. Falls back to ``/1.0/containers`` or ``/1.0/virtual-machines``. Fixes issue when using Incus or LXD 5.19 due to migrating to ``/1.0/instances`` endpoint (https://github.com/ansible-collections/community.general/pull/7980).
|
||||||
|
- macports - refactor module to pass list of arguments to ``module.run_command()`` instead of relying on interpretation by a shell (https://github.com/ansible-collections/community.general/pull/8264).
|
||||||
|
- mail - add ``Message-ID`` header; which is required by some mail servers (https://github.com/ansible-collections/community.general/pull/7740).
|
||||||
|
- mail module, mail callback plugin - allow to configure the domain name of the Message-ID header with a new ``message_id_domain`` option (https://github.com/ansible-collections/community.general/pull/7765).
|
||||||
|
- mssql_script - adds transactional (rollback/commit) support via optional boolean param ``transaction`` (https://github.com/ansible-collections/community.general/pull/7976).
|
||||||
|
- netcup_dns - adds support for record types ``OPENPGPKEY``, ``SMIMEA``, and ``SSHFP`` (https://github.com/ansible-collections/community.general/pull/7489).
|
||||||
|
- nmcli - add support for new connection type ``loopback`` (https://github.com/ansible-collections/community.general/issues/6572).
|
||||||
|
- nmcli - adds OpenvSwitch support with new ``type`` values ``ovs-port``, ``ovs-interface``, and ``ovs-bridge``, and new ``slave_type`` value ``ovs-port`` (https://github.com/ansible-collections/community.general/pull/8154).
|
||||||
|
- nmcli - allow for ``infiniband`` slaves of ``bond`` interface types (https://github.com/ansible-collections/community.general/pull/7569).
|
||||||
|
- nmcli - allow for the setting of ``MTU`` for ``infiniband`` and ``bond`` interface types (https://github.com/ansible-collections/community.general/pull/7499).
|
||||||
|
- nmcli - allow setting ``MTU`` for ``bond-slave`` interface types (https://github.com/ansible-collections/community.general/pull/8118).
|
||||||
|
- onepassword lookup plugin - support 1Password Connect with the opv2 client by setting the connect_host and connect_token parameters (https://github.com/ansible-collections/community.general/pull/7116).
|
||||||
|
- onepassword_raw lookup plugin - support 1Password Connect with the opv2 client by setting the connect_host and connect_token parameters (https://github.com/ansible-collections/community.general/pull/7116)
|
||||||
|
- opentelemetry - add support for HTTP trace_exporter and configures the behavior via ``OTEL_EXPORTER_OTLP_TRACES_PROTOCOL`` (https://github.com/ansible-collections/community.general/issues/7888, https://github.com/ansible-collections/community.general/pull/8321).
|
||||||
|
- opentelemetry - add support for exporting spans in a file via ``ANSIBLE_OPENTELEMETRY_STORE_SPANS_IN_FILE`` (https://github.com/ansible-collections/community.general/issues/7888, https://github.com/ansible-collections/community.general/pull/8363).
|
||||||
|
- opkg - use ``ModuleHelper`` with ``VarDict`` (https://github.com/ansible-collections/community.general/pull/8226).
|
||||||
|
- osx_defaults - add option ``check_types`` to enable changing the type of existing defaults on the fly (https://github.com/ansible-collections/community.general/pull/8173).
|
||||||
|
- parted - refactor module to pass list of arguments to ``module.run_command()`` instead of relying on interpretation by a shell (https://github.com/ansible-collections/community.general/pull/8264).
|
||||||
|
- passwordstore - adds ``timestamp`` and ``preserve`` parameters to modify the stored password format (https://github.com/ansible-collections/community.general/pull/7426).
|
||||||
|
- passwordstore lookup - add ``missing_subkey`` parameter defining the behavior of the lookup when a passwordstore subkey is missing (https://github.com/ansible-collections/community.general/pull/8166).
|
||||||
|
- pipx - use ``ModuleHelper`` with ``VarDict`` (https://github.com/ansible-collections/community.general/pull/8226).
|
||||||
|
- pkg5 - add support for non-silent execution (https://github.com/ansible-collections/community.general/issues/8379, https://github.com/ansible-collections/community.general/pull/8382).
|
||||||
|
- pkgin - refactor module to pass list of arguments to ``module.run_command()`` instead of relying on interpretation by a shell (https://github.com/ansible-collections/community.general/pull/8264).
|
||||||
|
- portage - adds the possibility to explicitely tell portage to write packages to world file (https://github.com/ansible-collections/community.general/issues/6226, https://github.com/ansible-collections/community.general/pull/8236).
|
||||||
|
- portinstall - refactor module to pass list of arguments to ``module.run_command()`` instead of relying on interpretation by a shell (https://github.com/ansible-collections/community.general/pull/8264).
|
||||||
|
- proxmox - adds ``startup`` parameters to configure startup order, startup delay and shutdown delay (https://github.com/ansible-collections/community.general/pull/8038).
|
||||||
|
- proxmox - adds ``template`` value to the ``state`` parameter, allowing conversion of container to a template (https://github.com/ansible-collections/community.general/pull/7143).
|
||||||
|
- proxmox - adds ``update`` parameter, allowing update of an already existing containers configuration (https://github.com/ansible-collections/community.general/pull/7540).
|
||||||
|
- proxmox inventory plugin - adds an option to exclude nodes from the dynamic inventory generation. The new setting is optional, not using this option will behave as usual (https://github.com/ansible-collections/community.general/issues/6714, https://github.com/ansible-collections/community.general/pull/7461).
|
||||||
|
- proxmox* modules - there is now a ``community.general.proxmox`` module defaults group that can be used to set default options for all Proxmox modules (https://github.com/ansible-collections/community.general/pull/8334).
|
||||||
|
- proxmox_disk - add ability to manipulate CD-ROM drive (https://github.com/ansible-collections/community.general/pull/7495).
|
||||||
|
- proxmox_kvm - add parameter ``update_unsafe`` to avoid limitations when updating dangerous values (https://github.com/ansible-collections/community.general/pull/7843).
|
||||||
|
- proxmox_kvm - adds ``template`` value to the ``state`` parameter, allowing conversion of a VM to a template (https://github.com/ansible-collections/community.general/pull/7143).
|
||||||
|
- proxmox_kvm - adds``usb`` parameter for setting USB devices on proxmox KVM VMs (https://github.com/ansible-collections/community.general/pull/8199).
|
||||||
|
- proxmox_kvm - support the ``hookscript`` parameter (https://github.com/ansible-collections/community.general/issues/7600).
|
||||||
|
- proxmox_ostype - it is now possible to specify the ``ostype`` when creating an LXC container (https://github.com/ansible-collections/community.general/pull/7462).
|
||||||
|
- proxmox_vm_info - add ability to retrieve configuration info (https://github.com/ansible-collections/community.general/pull/7485).
|
||||||
|
- puppet - new feature to set ``--waitforlock`` option (https://github.com/ansible-collections/community.general/pull/8282).
|
||||||
|
- redfish_command - add command ``ResetToDefaults`` to reset manager to default state (https://github.com/ansible-collections/community.general/issues/8163).
|
||||||
|
- redfish_config - add command ``SetServiceIdentification`` to set service identification (https://github.com/ansible-collections/community.general/issues/7916).
|
||||||
|
- redfish_info - add boolean return value ``MultipartHttpPush`` to ``GetFirmwareUpdateCapabilities`` (https://github.com/ansible-collections/community.general/issues/8194, https://github.com/ansible-collections/community.general/pull/8195).
|
||||||
|
- redfish_info - add command ``GetServiceIdentification`` to get service identification (https://github.com/ansible-collections/community.general/issues/7882).
|
||||||
|
- redfish_info - adding the ``BootProgress`` property when getting ``Systems`` info (https://github.com/ansible-collections/community.general/pull/7626).
|
||||||
|
- revbitspss lookup plugin - removed a redundant unicode prefix. The prefix was not necessary for Python 3 and has been cleaned up to streamline the code (https://github.com/ansible-collections/community.general/pull/8087).
|
||||||
|
- rundeck module utils - allow to pass ``Content-Type`` to API requests (https://github.com/ansible-collections/community.general/pull/7684).
|
||||||
|
- slackpkg - refactor module to pass list of arguments to ``module.run_command()`` instead of relying on interpretation by a shell (https://github.com/ansible-collections/community.general/pull/8264).
|
||||||
|
- ssh_config - adds ``controlmaster``, ``controlpath`` and ``controlpersist`` parameters (https://github.com/ansible-collections/community.general/pull/7456).
|
||||||
|
- ssh_config - allow ``accept-new`` as valid value for ``strict_host_key_checking`` (https://github.com/ansible-collections/community.general/pull/8257).
|
||||||
|
- ssh_config - new feature to set ``AddKeysToAgent`` option to ``yes`` or ``no`` (https://github.com/ansible-collections/community.general/pull/7703).
|
||||||
|
- ssh_config - new feature to set ``IdentitiesOnly`` option to ``yes`` or ``no`` (https://github.com/ansible-collections/community.general/pull/7704).
|
||||||
|
- sudoers - add support for the ``NOEXEC`` tag in sudoers rules (https://github.com/ansible-collections/community.general/pull/7983).
|
||||||
|
- svr4pkg - refactor module to pass list of arguments to ``module.run_command()`` instead of relying on interpretation by a shell (https://github.com/ansible-collections/community.general/pull/8264).
|
||||||
|
- swdepot - refactor module to pass list of arguments to ``module.run_command()`` instead of relying on interpretation by a shell (https://github.com/ansible-collections/community.general/pull/8264).
|
||||||
|
- terraform - add support for ``diff_mode`` for terraform resource_changes (https://github.com/ansible-collections/community.general/pull/7896).
|
||||||
|
- terraform - fix ``diff_mode`` in state ``absent`` and when terraform ``resource_changes`` does not exist (https://github.com/ansible-collections/community.general/pull/7963).
|
||||||
|
- xcc_redfish_command - added support for raw POSTs (``command=PostResource`` in ``category=Raw``) without a specific action info (https://github.com/ansible-collections/community.general/pull/7746).
|
||||||
|
- xfconf - use ``ModuleHelper`` with ``VarDict`` (https://github.com/ansible-collections/community.general/pull/8226).
|
||||||
|
- xfconf_info - use ``ModuleHelper`` with ``VarDict`` (https://github.com/ansible-collections/community.general/pull/8226).
|
||||||
|
|
||||||
|
Breaking Changes / Porting Guide
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
- cpanm - the default of the ``mode`` option changed from ``compatibility`` to ``new`` (https://github.com/ansible-collections/community.general/pull/8198).
|
||||||
|
- django_manage - the module now requires Django >= 4.1 (https://github.com/ansible-collections/community.general/pull/8198).
|
||||||
|
- django_manage - the module will now fail if ``virtualenv`` is specified but no virtual environment exists at that location (https://github.com/ansible-collections/community.general/pull/8198).
|
||||||
|
- redfish_command, redfish_config, redfish_info - change the default for ``timeout`` from 10 to 60 (https://github.com/ansible-collections/community.general/pull/8198).
|
||||||
|
|
||||||
|
Deprecated Features
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
- MH DependencyCtxMgr module_utils - deprecate ``module_utils.mh.mixin.deps.DependencyCtxMgr`` in favour of ``module_utils.deps`` (https://github.com/ansible-collections/community.general/pull/8280).
|
||||||
|
- ModuleHelper module_utils - deprecate ``plugins.module_utils.module_helper.AnsibleModule`` (https://github.com/ansible-collections/community.general/pull/8280).
|
||||||
|
- ModuleHelper module_utils - deprecate ``plugins.module_utils.module_helper.DependencyCtxMgr`` (https://github.com/ansible-collections/community.general/pull/8280).
|
||||||
|
- ModuleHelper module_utils - deprecate ``plugins.module_utils.module_helper.StateMixin`` (https://github.com/ansible-collections/community.general/pull/8280).
|
||||||
|
- ModuleHelper module_utils - deprecate ``plugins.module_utils.module_helper.VarDict,`` (https://github.com/ansible-collections/community.general/pull/8280).
|
||||||
|
- ModuleHelper module_utils - deprecate ``plugins.module_utils.module_helper.VarMeta`` (https://github.com/ansible-collections/community.general/pull/8280).
|
||||||
|
- ModuleHelper module_utils - deprecate ``plugins.module_utils.module_helper.VarsMixin`` (https://github.com/ansible-collections/community.general/pull/8280).
|
||||||
|
- ModuleHelper module_utils - deprecate use of ``VarsMixin`` in favor of using the ``VardDict`` module_utils (https://github.com/ansible-collections/community.general/pull/8226).
|
||||||
|
- ModuleHelper vars module_utils - bump deprecation of ``VarMeta``, ``VarDict`` and ``VarsMixin`` to version 11.0.0 (https://github.com/ansible-collections/community.general/pull/8226).
|
||||||
|
- apt_rpm - the behavior of ``state=present`` and ``state=installed`` is deprecated and will change in community.general 11.0.0. Right now the module will upgrade a package to the latest version if one of these two states is used. You should explicitly use ``state=latest`` if you want this behavior, and switch to ``state=present_not_latest`` if you do not want to upgrade the package if it is already installed. In community.general 11.0.0 the behavior of ``state=present`` and ``state=installed`` will change to that of ``state=present_not_latest`` (https://github.com/ansible-collections/community.general/issues/8217, https://github.com/ansible-collections/community.general/pull/8285).
|
||||||
|
- consul_acl - the module has been deprecated and will be removed in community.general 10.0.0. ``consul_token`` and ``consul_policy`` can be used instead (https://github.com/ansible-collections/community.general/pull/7901).
|
||||||
|
- django_manage - the ``ack_venv_creation_deprecation`` option has no more effect and will be removed from community.general 11.0.0 (https://github.com/ansible-collections/community.general/pull/8198).
|
||||||
|
- gitlab modules - the basic auth method on GitLab API have been deprecated and will be removed in community.general 10.0.0 (https://github.com/ansible-collections/community.general/pull/8383).
|
||||||
|
- hipchat callback plugin - the hipchat service has been discontinued and the self-hosted variant has been End of Life since 2020. The callback plugin is therefore deprecated and will be removed from community.general 10.0.0 if nobody provides compelling reasons to still keep it (https://github.com/ansible-collections/community.general/issues/8184, https://github.com/ansible-collections/community.general/pull/8189).
|
||||||
|
- irc - the defaults ``false`` for ``use_tls`` and ``validate_certs`` have been deprecated and will change to ``true`` in community.general 10.0.0 to improve security. You can already improve security now by explicitly setting them to ``true``. Specifying values now disables the deprecation warning (https://github.com/ansible-collections/community.general/pull/7578).
|
||||||
|
|
||||||
|
Removed Features (previously deprecated)
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
- The deprecated redirects for internal module names have been removed. These internal redirects were extra-long FQCNs like ``community.general.packaging.os.apt_rpm`` that redirect to the short FQCN ``community.general.apt_rpm``. They were originally needed to implement flatmapping; as various tooling started to recommend users to use the long names flatmapping was removed from the collection and redirects were added for users who already followed these incorrect recommendations (https://github.com/ansible-collections/community.general/pull/7835).
|
||||||
|
- ansible_galaxy_install - the ``ack_ansible29`` and ``ack_min_ansiblecore211`` options have been removed. They no longer had any effect (https://github.com/ansible-collections/community.general/pull/8198).
|
||||||
|
- cloudflare_dns - remove support for SPF records. These are no longer supported by CloudFlare (https://github.com/ansible-collections/community.general/pull/7782).
|
||||||
|
- django_manage - support for the ``command`` values ``cleanup``, ``syncdb``, and ``validate`` were removed. Use ``clearsessions``, ``migrate``, and ``check`` instead, respectively (https://github.com/ansible-collections/community.general/pull/8198).
|
||||||
|
- flowdock - this module relied on HTTPS APIs that do not exist anymore and was thus removed (https://github.com/ansible-collections/community.general/pull/8198).
|
||||||
|
- mh.mixins.deps module utils - the ``DependencyMixin`` has been removed. Use the ``deps`` module utils instead (https://github.com/ansible-collections/community.general/pull/8198).
|
||||||
|
- proxmox - the ``proxmox_default_behavior`` option has been removed (https://github.com/ansible-collections/community.general/pull/8198).
|
||||||
|
- rax* modules, rax module utils, rax docs fragment - the Rackspace modules relied on the deprecated package ``pyrax`` and were thus removed (https://github.com/ansible-collections/community.general/pull/8198).
|
||||||
|
- redhat module utils - the classes ``Rhsm``, ``RhsmPool``, and ``RhsmPools`` have been removed (https://github.com/ansible-collections/community.general/pull/8198).
|
||||||
|
- redhat_subscription - the alias ``autosubscribe`` of the ``auto_attach`` option was removed (https://github.com/ansible-collections/community.general/pull/8198).
|
||||||
|
- stackdriver - this module relied on HTTPS APIs that do not exist anymore and was thus removed (https://github.com/ansible-collections/community.general/pull/8198).
|
||||||
|
- webfaction_* modules - these modules relied on HTTPS APIs that do not exist anymore and were thus removed (https://github.com/ansible-collections/community.general/pull/8198).
|
||||||
|
|
||||||
|
Security Fixes
|
||||||
|
--------------
|
||||||
|
|
||||||
|
- cobbler, gitlab_runners, icinga2, linode, lxd, nmap, online, opennebula, proxmox, scaleway, stackpath_compute, virtualbox, and xen_orchestra inventory plugin - make sure all data received from the remote servers is marked as unsafe, so remote code execution by obtaining texts that can be evaluated as templates is not possible (https://www.die-welt.net/2024/03/remote-code-execution-in-ansible-dynamic-inventory-plugins/, https://github.com/ansible-collections/community.general/pull/8098).
|
||||||
|
- keycloak_identity_provider - the client secret was not correctly sanitized by the module. The return values ``proposed``, ``existing``, and ``end_state``, as well as the diff, did contain the client secret unmasked (https://github.com/ansible-collections/community.general/pull/8355).
|
||||||
|
|
||||||
|
Bugfixes
|
||||||
|
--------
|
||||||
|
|
||||||
|
- aix_filesystem - fix ``_validate_vg`` not passing VG name to ``lsvg_cmd`` (https://github.com/ansible-collections/community.general/issues/8151).
|
||||||
|
- aix_filesystem - fix issue with empty list items in crfs logic and option order (https://github.com/ansible-collections/community.general/pull/8052).
|
||||||
|
- apt-rpm - the module did not upgrade packages if a newer version exists. Now the package will be reinstalled if the candidate is newer than the installed version (https://github.com/ansible-collections/community.general/issues/7414).
|
||||||
|
- apt_rpm - when checking whether packages were installed after running ``apt-get -y install <packages>``, only the last package name was checked (https://github.com/ansible-collections/community.general/pull/8263).
|
||||||
|
- bitwarden_secrets_manager lookup plugin - implements retry with exponential backoff to avoid lookup errors when Bitwardn's API rate limiting is encountered (https://github.com/ansible-collections/community.general/issues/8230, https://github.com/ansible-collections/community.general/pull/8238).
|
||||||
|
- cargo - fix idempotency issues when using a custom installation path for packages (using the ``--path`` parameter). The initial installation runs fine, but subsequent runs use the ``get_installed()`` function which did not check the given installation location, before running ``cargo install``. This resulted in a false ``changed`` state. Also the removal of packeges using ``state: absent`` failed, as the installation check did not use the given parameter (https://github.com/ansible-collections/community.general/pull/7970).
|
||||||
|
- cloudflare_dns - fix Cloudflare lookup of SHFP records (https://github.com/ansible-collections/community.general/issues/7652).
|
||||||
|
- consul_token - fix token creation without ``accessor_id`` (https://github.com/ansible-collections/community.general/pull/8091).
|
||||||
|
- from_ini filter plugin - disabling interpolation of ``ConfigParser`` to allow converting values with a ``%`` sign (https://github.com/ansible-collections/community.general/issues/8183, https://github.com/ansible-collections/community.general/pull/8185).
|
||||||
|
- gitlab_group_members - fix gitlab constants call in ``gitlab_group_members`` module (https://github.com/ansible-collections/community.general/issues/7467).
|
||||||
|
- gitlab_issue - fix behavior to search GitLab issue, using ``search`` keyword instead of ``title`` (https://github.com/ansible-collections/community.general/issues/7846).
|
||||||
|
- gitlab_issue, gitlab_label, gitlab_milestone - avoid crash during version comparison when the python-gitlab Python module is not installed (https://github.com/ansible-collections/community.general/pull/8158).
|
||||||
|
- gitlab_project_members - fix gitlab constants call in ``gitlab_project_members`` module (https://github.com/ansible-collections/community.general/issues/7467).
|
||||||
|
- gitlab_protected_branches - fix gitlab constants call in ``gitlab_protected_branches`` module (https://github.com/ansible-collections/community.general/issues/7467).
|
||||||
|
- gitlab_runner - fix pagination when checking for existing runners (https://github.com/ansible-collections/community.general/pull/7790).
|
||||||
|
- gitlab_user - fix gitlab constants call in ``gitlab_user`` module (https://github.com/ansible-collections/community.general/issues/7467).
|
||||||
|
- haproxy - fix an issue where HAProxy could get stuck in DRAIN mode when the backend was unreachable (https://github.com/ansible-collections/community.general/issues/8092).
|
||||||
|
- homebrew - detect already installed formulae and casks using JSON output from ``brew info`` (https://github.com/ansible-collections/community.general/issues/864).
|
||||||
|
- homebrew - error returned from brew command was ignored and tried to parse empty JSON. Fix now checks for an error and raises it to give accurate error message to users (https://github.com/ansible-collections/community.general/issues/8047).
|
||||||
|
- incus connection plugin - treats ``inventory_hostname`` as a variable instead of a literal in remote connections (https://github.com/ansible-collections/community.general/issues/7874).
|
||||||
|
- interface_files - also consider ``address_family`` when changing ``option=method`` (https://github.com/ansible-collections/community.general/issues/7610, https://github.com/ansible-collections/community.general/pull/7612).
|
||||||
|
- inventory plugins - add unsafe wrapper to avoid marking strings that do not contain ``{`` or ``}`` as unsafe, to work around a bug in AWX ((https://github.com/ansible-collections/community.general/issues/8212, https://github.com/ansible-collections/community.general/pull/8225).
|
||||||
|
- ipa - fix get version regex in IPA module_utils (https://github.com/ansible-collections/community.general/pull/8175).
|
||||||
|
- ipa_hbacrule - the module uses a string for ``ipaenabledflag`` for new FreeIPA versions while the returned value is a boolean (https://github.com/ansible-collections/community.general/pull/7880).
|
||||||
|
- ipa_otptoken - the module expect ``ipatokendisabled`` as string but the ``ipatokendisabled`` value is returned as a boolean (https://github.com/ansible-collections/community.general/pull/7795).
|
||||||
|
- ipa_sudorule - the module uses a string for ``ipaenabledflag`` for new FreeIPA versions while the returned value is a boolean (https://github.com/ansible-collections/community.general/pull/7880).
|
||||||
|
- iptables_state - fix idempotency issues when restoring incomplete iptables dumps (https://github.com/ansible-collections/community.general/issues/8029).
|
||||||
|
- irc - replace ``ssl.wrap_socket`` that was removed from Python 3.12 with code for creating a proper SSL context (https://github.com/ansible-collections/community.general/pull/7542).
|
||||||
|
- keycloak_* - fix Keycloak API client to quote ``/`` properly (https://github.com/ansible-collections/community.general/pull/7641).
|
||||||
|
- keycloak_authz_permission - resource payload variable for scope-based permission was constructed as a string, when it needs to be a list, even for a single item (https://github.com/ansible-collections/community.general/issues/7151).
|
||||||
|
- keycloak_client - add sorted ``defaultClientScopes`` and ``optionalClientScopes`` to normalizations (https://github.com/ansible-collections/community.general/pull/8223).
|
||||||
|
- keycloak_client - fixes issue when metadata is provided in desired state when task is in check mode (https://github.com/ansible-collections/community.general/issues/1226, https://github.com/ansible-collections/community.general/pull/7881).
|
||||||
|
- keycloak_identity_provider - ``mappers`` processing was not idempotent if the mappers configuration list had not been sorted by name (in ascending order). Fix resolves the issue by sorting mappers in the desired state using the same key which is used for obtaining existing state (https://github.com/ansible-collections/community.general/pull/7418).
|
||||||
|
- keycloak_identity_provider - it was not possible to reconfigure (add, remove) ``mappers`` once they were created initially. Removal was ignored, adding new ones resulted in dropping the pre-existing unmodified mappers. Fix resolves the issue by supplying correct input to the internal update call (https://github.com/ansible-collections/community.general/pull/7418).
|
||||||
|
- keycloak_realm - add normalizations for ``enabledEventTypes`` and ``supportedLocales`` (https://github.com/ansible-collections/community.general/pull/8224).
|
||||||
|
- keycloak_user - when ``force`` is set, but user does not exist, do not try to delete it (https://github.com/ansible-collections/community.general/pull/7696).
|
||||||
|
- keycloak_user_federation - fix diff of empty ``krbPrincipalAttribute`` (https://github.com/ansible-collections/community.general/pull/8320).
|
||||||
|
- ldap - previously the order number (if present) was expected to follow an equals sign in the DN. This makes it so the order number string is identified correctly anywhere within the DN (https://github.com/ansible-collections/community.general/issues/7646).
|
||||||
|
- linode inventory plugin - add descriptive error message for linode inventory plugin (https://github.com/ansible-collections/community.general/pull/8133).
|
||||||
|
- log_entries callback plugin - replace ``ssl.wrap_socket`` that was removed from Python 3.12 with code for creating a proper SSL context (https://github.com/ansible-collections/community.general/pull/7542).
|
||||||
|
- lvol - test for output messages in both ``stdout`` and ``stderr`` (https://github.com/ansible-collections/community.general/pull/7601, https://github.com/ansible-collections/community.general/issues/7182).
|
||||||
|
- merge_variables lookup plugin - fixing cross host merge: providing access to foreign hosts variables to the perspective of the host that is performing the merge (https://github.com/ansible-collections/community.general/pull/8303).
|
||||||
|
- modprobe - listing modules files or modprobe files could trigger a FileNotFoundError if ``/etc/modprobe.d`` or ``/etc/modules-load.d`` did not exist. Relevant functions now return empty lists if the directories do not exist to avoid crashing the module (https://github.com/ansible-collections/community.general/issues/7717).
|
||||||
|
- mssql_script - make the module work with Python 2 (https://github.com/ansible-collections/community.general/issues/7818, https://github.com/ansible-collections/community.general/pull/7821).
|
||||||
|
- nmcli - fix ``connection.slave-type`` wired to ``bond`` and not with parameter ``slave_type`` in case of connection type ``wifi`` (https://github.com/ansible-collections/community.general/issues/7389).
|
||||||
|
- ocapi_utils, oci_utils, redfish_utils module utils - replace ``type()`` calls with ``isinstance()`` calls (https://github.com/ansible-collections/community.general/pull/7501).
|
||||||
|
- onepassword lookup plugin - failed for fields that were in sections and had uppercase letters in the label/ID. Field lookups are now case insensitive in all cases (https://github.com/ansible-collections/community.general/pull/7919).
|
||||||
|
- onepassword lookup plugin - field and section titles are now case insensitive when using op CLI version two or later. This matches the behavior of version one (https://github.com/ansible-collections/community.general/pull/7564).
|
||||||
|
- opentelemetry callback plugin - close spans always (https://github.com/ansible-collections/community.general/pull/8367).
|
||||||
|
- opentelemetry callback plugin - honour the ``disable_logs`` option to avoid storing task results since they are not used regardless (https://github.com/ansible-collections/community.general/pull/8373).
|
||||||
|
- pacemaker_cluster - actually implement check mode, which the module claims to support. This means that until now the module also did changes in check mode (https://github.com/ansible-collections/community.general/pull/8081).
|
||||||
|
- pam_limits - when the file does not exist, do not create it in check mode (https://github.com/ansible-collections/community.general/issues/8050, https://github.com/ansible-collections/community.general/pull/8057).
|
||||||
|
- pipx module utils - change the CLI argument formatter for the ``pip_args`` parameter (https://github.com/ansible-collections/community.general/issues/7497, https://github.com/ansible-collections/community.general/pull/7506).
|
||||||
|
- pkgin - pkgin (pkgsrc package manager used by SmartOS) raises erratic exceptions and spurious ``changed=true`` (https://github.com/ansible-collections/community.general/pull/7971).
|
||||||
|
- proxmox - fix updating a container config if the setting does not already exist (https://github.com/ansible-collections/community.general/pull/7872).
|
||||||
|
- proxmox_kvm - fixed status check getting from node-specific API endpoint (https://github.com/ansible-collections/community.general/issues/7817).
|
||||||
|
- proxmox_kvm - running ``state=template`` will first check whether VM is already a template (https://github.com/ansible-collections/community.general/pull/7792).
|
||||||
|
- proxmox_pool_member - absent state for type VM did not delete VMs from the pools (https://github.com/ansible-collections/community.general/pull/7464).
|
||||||
|
- puppet - add option ``environment_lang`` to set the environment language encoding. Defaults to lang ``C``. It is recommended to set it to ``C.UTF-8`` or ``en_US.UTF-8`` depending on what is available on your system. (https://github.com/ansible-collections/community.general/issues/8000)
|
||||||
|
- redfish_command - fix usage of message parsing in ``SimpleUpdate`` and ``MultipartHTTPPushUpdate`` commands to treat the lack of a ``MessageId`` as no message (https://github.com/ansible-collections/community.general/issues/7465, https://github.com/ansible-collections/community.general/pull/7471).
|
||||||
|
- redfish_info - allow for a GET operation invoked by ``GetUpdateStatus`` to allow for an empty response body for cases where a service returns 204 No Content (https://github.com/ansible-collections/community.general/issues/8003).
|
||||||
|
- redfish_info - correct uncaught exception when attempting to retrieve ``Chassis`` information (https://github.com/ansible-collections/community.general/pull/7952).
|
||||||
|
- redhat_subscription - use the D-Bus registration on RHEL 7 only on 7.4 and
|
||||||
|
greater; older versions of RHEL 7 do not have it
|
||||||
|
(https://github.com/ansible-collections/community.general/issues/7622,
|
||||||
|
https://github.com/ansible-collections/community.general/pull/7624).
|
||||||
|
- riak - support ``riak admin`` sub-command in newer Riak KV versions beside the legacy ``riak-admin`` main command (https://github.com/ansible-collections/community.general/pull/8211).
|
||||||
|
- statusio_maintenance - fix error caused by incorrectly formed API data payload. Was raising "Failed to create maintenance HTTP Error 400 Bad Request" caused by bad data type for date/time and deprecated dict keys (https://github.com/ansible-collections/community.general/pull/7754).
|
||||||
|
- terraform - fix multiline string handling in complex variables (https://github.com/ansible-collections/community.general/pull/7535).
|
||||||
|
- to_ini filter plugin - disabling interpolation of ``ConfigParser`` to allow converting values with a ``%`` sign (https://github.com/ansible-collections/community.general/issues/8183, https://github.com/ansible-collections/community.general/pull/8185).
|
||||||
|
- xml - make module work with lxml 5.1.1, which removed some internals that the module was relying on (https://github.com/ansible-collections/community.general/pull/8169).
|
||||||
|
|
||||||
|
New Plugins
|
||||||
|
-----------
|
||||||
|
|
||||||
|
Become
|
||||||
|
~~~~~~
|
||||||
|
|
||||||
|
- community.general.run0 - Systemd's run0.
|
||||||
|
|
||||||
|
Callback
|
||||||
|
~~~~~~~~
|
||||||
|
|
||||||
|
- community.general.default_without_diff - The default ansible callback without diff output.
|
||||||
|
- community.general.timestamp - Adds simple timestamp for each header.
|
||||||
|
|
||||||
|
Connection
|
||||||
|
~~~~~~~~~~
|
||||||
|
|
||||||
|
- community.general.incus - Run tasks in Incus instances via the Incus CLI.
|
||||||
|
|
||||||
|
Filter
|
||||||
|
~~~~~~
|
||||||
|
|
||||||
|
- community.general.from_ini - Converts INI text input into a dictionary.
|
||||||
|
- community.general.lists_difference - Difference of lists with a predictive order.
|
||||||
|
- community.general.lists_intersect - Intersection of lists with a predictive order.
|
||||||
|
- community.general.lists_symmetric_difference - Symmetric Difference of lists with a predictive order.
|
||||||
|
- community.general.lists_union - Union of lists with a predictive order.
|
||||||
|
- community.general.to_ini - Converts a dictionary to the INI file format.
|
||||||
|
|
||||||
|
Lookup
|
||||||
|
~~~~~~
|
||||||
|
|
||||||
|
- community.general.github_app_access_token - Obtain short-lived Github App Access tokens.
|
||||||
|
- community.general.onepassword_doc - Fetch documents stored in 1Password.
|
||||||
|
|
||||||
|
Test
|
||||||
|
~~~~
|
||||||
|
|
||||||
|
- community.general.fqdn_valid - Validates fully-qualified domain names against RFC 1123.
|
||||||
|
|
||||||
|
New Modules
|
||||||
|
-----------
|
||||||
|
|
||||||
|
- community.general.consul_acl_bootstrap - Bootstrap ACLs in Consul.
|
||||||
|
- community.general.consul_auth_method - Manipulate Consul auth methods.
|
||||||
|
- community.general.consul_binding_rule - Manipulate Consul binding rules.
|
||||||
|
- community.general.consul_token - Manipulate Consul tokens.
|
||||||
|
- community.general.django_command - Run Django admin commands.
|
||||||
|
- community.general.dnf_config_manager - Enable or disable dnf repositories using config-manager.
|
||||||
|
- community.general.git_config_info - Read git configuration.
|
||||||
|
- community.general.gitlab_group_access_token - Manages GitLab group access tokens.
|
||||||
|
- community.general.gitlab_issue - Create, update, or delete GitLab issues.
|
||||||
|
- community.general.gitlab_label - Creates/updates/deletes GitLab Labels belonging to project or group.
|
||||||
|
- community.general.gitlab_milestone - Creates/updates/deletes GitLab Milestones belonging to project or group.
|
||||||
|
- community.general.gitlab_project_access_token - Manages GitLab project access tokens.
|
||||||
|
- community.general.keycloak_client_rolescope - Allows administration of Keycloak client roles scope to restrict the usage of certain roles to a other specific client applications.
|
||||||
|
- community.general.keycloak_component_info - Retrive component info in Keycloak.
|
||||||
|
- community.general.keycloak_realm_rolemapping - Allows administration of Keycloak realm role mappings into groups with the Keycloak API.
|
||||||
|
- community.general.nomad_token - Manage Nomad ACL tokens.
|
||||||
|
- community.general.proxmox_node_info - Retrieve information about one or more Proxmox VE nodes.
|
||||||
|
- community.general.proxmox_storage_contents_info - List content from a Proxmox VE storage.
|
||||||
|
- community.general.usb_facts - Allows listing information about USB devices.
|
||||||
|
|
|
@ -44,49 +44,7 @@ If you want to test a PR locally, refer to [our testing guide](https://github.co
|
||||||
|
|
||||||
If you find any inconsistencies or places in this document which can be improved, feel free to raise an issue or pull request to fix it.
|
If you find any inconsistencies or places in this document which can be improved, feel free to raise an issue or pull request to fix it.
|
||||||
|
|
||||||
## Run sanity or unit locally (with antsibull-nox)
|
## Run sanity, unit or integration tests locally
|
||||||
|
|
||||||
The easiest way to run sanity and unit tests locally is to use [antsibull-nox](https://ansible.readthedocs.io/projects/antsibull-nox/).
|
|
||||||
(If you have [nox](https://nox.thea.codes/en/stable/) installed, it will automatically install antsibull-nox in a virtual environment for you.)
|
|
||||||
|
|
||||||
### Sanity tests
|
|
||||||
|
|
||||||
The following commands show how to run ansible-test sanity tests:
|
|
||||||
|
|
||||||
```.bash
|
|
||||||
# Run basic sanity tests for all files in the collection:
|
|
||||||
nox -Re ansible-test-sanity-devel
|
|
||||||
|
|
||||||
# Run basic sanity tests for the given files and directories:
|
|
||||||
nox -Re ansible-test-sanity-devel -- plugins/modules/system/pids.py tests/integration/targets/pids/
|
|
||||||
|
|
||||||
# Run all other sanity tests for all files in the collection:
|
|
||||||
nox -R
|
|
||||||
```
|
|
||||||
|
|
||||||
If you replace `-Re` with `-e`, respectively. If you leave `-R` away, then the virtual environments will be re-created. The `-R` re-uses them (if they already exist).
|
|
||||||
|
|
||||||
### Unit tests
|
|
||||||
|
|
||||||
The following commands show how to run unit tests:
|
|
||||||
|
|
||||||
```.bash
|
|
||||||
# Run all unit tests:
|
|
||||||
nox -Re ansible-test-units-devel
|
|
||||||
|
|
||||||
# Run all unit tests for one Python version (a lot faster):
|
|
||||||
nox -Re ansible-test-units-devel -- --python 3.13
|
|
||||||
|
|
||||||
# Run a specific unit test (for the nmcli module) for one Python version:
|
|
||||||
nox -Re ansible-test-units-devel -- --python 3.13 tests/unit/plugins/modules/net_tools/test_nmcli.py
|
|
||||||
```
|
|
||||||
|
|
||||||
If you replace `-Re` with `-e`, then the virtual environments will be re-created. The `-R` re-uses them (if they already exist).
|
|
||||||
|
|
||||||
## Run basic sanity, unit or integration tests locally (with ansible-test)
|
|
||||||
|
|
||||||
Instead of using antsibull-nox, you can also run sanity and unit tests with ansible-test directly.
|
|
||||||
This also allows you to run integration tests.
|
|
||||||
|
|
||||||
You have to check out the repository into a specific path structure to be able to run `ansible-test`. The path to the git checkout must end with `.../ansible_collections/community/general`. Please see [our testing guide](https://github.com/ansible/community-docs/blob/main/test_pr_locally_guide.rst) for instructions on how to check out the repository into a correct path structure. The short version of these instructions is:
|
You have to check out the repository into a specific path structure to be able to run `ansible-test`. The path to the git checkout must end with `.../ansible_collections/community/general`. Please see [our testing guide](https://github.com/ansible/community-docs/blob/main/test_pr_locally_guide.rst) for instructions on how to check out the repository into a correct path structure. The short version of these instructions is:
|
||||||
|
|
||||||
|
@ -98,27 +56,20 @@ cd ~/dev/ansible_collections/community/general
|
||||||
|
|
||||||
Then you can run `ansible-test` (which is a part of [ansible-core](https://pypi.org/project/ansible-core/)) inside the checkout. The following example commands expect that you have installed Docker or Podman. Note that Podman has only been supported by more recent ansible-core releases. If you are using Docker, the following will work with Ansible 2.9+.
|
Then you can run `ansible-test` (which is a part of [ansible-core](https://pypi.org/project/ansible-core/)) inside the checkout. The following example commands expect that you have installed Docker or Podman. Note that Podman has only been supported by more recent ansible-core releases. If you are using Docker, the following will work with Ansible 2.9+.
|
||||||
|
|
||||||
### Basic sanity tests
|
### Sanity tests
|
||||||
|
|
||||||
The following commands show how to run basic sanity tests:
|
The following commands show how to run sanity tests:
|
||||||
|
|
||||||
```.bash
|
```.bash
|
||||||
# Run basic sanity tests for all files in the collection:
|
# Run sanity tests for all files in the collection:
|
||||||
ansible-test sanity --docker -v
|
ansible-test sanity --docker -v
|
||||||
|
|
||||||
# Run basic sanity tests for the given files and directories:
|
# Run sanity tests for the given files and directories:
|
||||||
ansible-test sanity --docker -v plugins/modules/system/pids.py tests/integration/targets/pids/
|
ansible-test sanity --docker -v plugins/modules/system/pids.py tests/integration/targets/pids/
|
||||||
```
|
```
|
||||||
|
|
||||||
### Unit tests
|
### Unit tests
|
||||||
|
|
||||||
Note that for running unit tests, you need to install required collections in the same folder structure that `community.general` is checked out in.
|
|
||||||
Right now, you need to install [`community.internal_test_tools`](https://github.com/ansible-collections/community.internal_test_tools).
|
|
||||||
If you want to use the latest version from GitHub, you can run:
|
|
||||||
```
|
|
||||||
git clone https://github.com/ansible-collections/community.internal_test_tools.git ~/dev/ansible_collections/community/internal_test_tools
|
|
||||||
```
|
|
||||||
|
|
||||||
The following commands show how to run unit tests:
|
The following commands show how to run unit tests:
|
||||||
|
|
||||||
```.bash
|
```.bash
|
||||||
|
@ -134,16 +85,6 @@ ansible-test units --docker -v --python 3.8 tests/unit/plugins/modules/net_tools
|
||||||
|
|
||||||
### Integration tests
|
### Integration tests
|
||||||
|
|
||||||
Note that for running integration tests, you need to install required collections in the same folder structure that `community.general` is checked out in.
|
|
||||||
Right now, depending on the test, you need to install [`ansible.posix`](https://github.com/ansible-collections/ansible.posix), [`community.crypto`](https://github.com/ansible-collections/community.crypto), and [`community.docker`](https://github.com/ansible-collections/community.docker):
|
|
||||||
If you want to use the latest versions from GitHub, you can run:
|
|
||||||
```
|
|
||||||
mkdir -p ~/dev/ansible_collections/ansible
|
|
||||||
git clone https://github.com/ansible-collections/ansible.posix.git ~/dev/ansible_collections/ansible/posix
|
|
||||||
git clone https://github.com/ansible-collections/community.crypto.git ~/dev/ansible_collections/community/crypto
|
|
||||||
git clone https://github.com/ansible-collections/community.docker.git ~/dev/ansible_collections/community/docker
|
|
||||||
```
|
|
||||||
|
|
||||||
The following commands show how to run integration tests:
|
The following commands show how to run integration tests:
|
||||||
|
|
||||||
#### In Docker
|
#### In Docker
|
||||||
|
@ -151,8 +92,8 @@ The following commands show how to run integration tests:
|
||||||
Integration tests on Docker have the following parameters:
|
Integration tests on Docker have the following parameters:
|
||||||
- `image_name` (required): The name of the Docker image. To get the list of supported Docker images, run
|
- `image_name` (required): The name of the Docker image. To get the list of supported Docker images, run
|
||||||
`ansible-test integration --help` and look for _target docker images_.
|
`ansible-test integration --help` and look for _target docker images_.
|
||||||
- `test_name` (optional): The name of the integration test.
|
- `test_name` (optional): The name of the integration test.
|
||||||
For modules, this equals the short name of the module; for example, `pacman` in case of `community.general.pacman`.
|
For modules, this equals the short name of the module; for example, `pacman` in case of `community.general.pacman`.
|
||||||
For plugins, the plugin type is added before the plugin's short name, for example `callback_yaml` for the `community.general.yaml` callback.
|
For plugins, the plugin type is added before the plugin's short name, for example `callback_yaml` for the `community.general.yaml` callback.
|
||||||
```.bash
|
```.bash
|
||||||
# Test all plugins/modules on fedora40
|
# Test all plugins/modules on fedora40
|
||||||
|
|
17
README.md
17
README.md
|
@ -6,10 +6,9 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
# Community General Collection
|
# Community General Collection
|
||||||
|
|
||||||
[](https://docs.ansible.com/ansible/devel/collections/community/general/)
|
[](https://docs.ansible.com/ansible/latest/collections/community/general/)
|
||||||
[](https://dev.azure.com/ansible/community.general/_build?definitionId=31)
|
[](https://dev.azure.com/ansible/community.general/_build?definitionId=31)
|
||||||
[](https://github.com/ansible-collections/community.general/actions)
|
[](https://github.com/ansible-collections/community.general/actions)
|
||||||
[](https://github.com/ansible-collections/community.general/actions)
|
|
||||||
[](https://codecov.io/gh/ansible-collections/community.general)
|
[](https://codecov.io/gh/ansible-collections/community.general)
|
||||||
[](https://api.reuse.software/info/github.com/ansible-collections/community.general)
|
[](https://api.reuse.software/info/github.com/ansible-collections/community.general)
|
||||||
|
|
||||||
|
@ -39,7 +38,7 @@ For more information about communication, see the [Ansible communication guide](
|
||||||
|
|
||||||
## Tested with Ansible
|
## Tested with Ansible
|
||||||
|
|
||||||
Tested with the current ansible-core 2.16, ansible-core 2.17, ansible-core 2.18, ansible-core 2.19 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.13, ansible-core 2.14, ansible-core 2.15, ansible-core 2.16, ansible-core 2.17, ansible-core 2.18 releases and the current development version of ansible-core. Ansible-core versions before 2.13.0 are not supported. This includes all ansible-base 2.10 and Ansible 2.9 releases.
|
||||||
|
|
||||||
## External requirements
|
## External requirements
|
||||||
|
|
||||||
|
@ -118,7 +117,7 @@ See the [Releasing guidelines](https://github.com/ansible/community-docs/blob/ma
|
||||||
|
|
||||||
## Release notes
|
## Release notes
|
||||||
|
|
||||||
See the [changelog](https://github.com/ansible-collections/community.general/blob/main/CHANGELOG.md).
|
See the [changelog](https://github.com/ansible-collections/community.general/blob/stable-9/CHANGELOG.md).
|
||||||
|
|
||||||
## Roadmap
|
## Roadmap
|
||||||
|
|
||||||
|
@ -137,8 +136,8 @@ See [this issue](https://github.com/ansible-collections/community.general/issues
|
||||||
|
|
||||||
This collection is primarily licensed and distributed as a whole under the GNU General Public License v3.0 or later.
|
This collection is primarily licensed and distributed as a whole under the GNU General Public License v3.0 or later.
|
||||||
|
|
||||||
See [LICENSES/GPL-3.0-or-later.txt](https://github.com/ansible-collections/community.general/blob/main/COPYING) for the full text.
|
See [LICENSES/GPL-3.0-or-later.txt](https://github.com/ansible-collections/community.general/blob/stable-9/COPYING) for the full text.
|
||||||
|
|
||||||
Parts of the collection are licensed under the [BSD 2-Clause license](https://github.com/ansible-collections/community.general/blob/main/LICENSES/BSD-2-Clause.txt), the [MIT license](https://github.com/ansible-collections/community.general/blob/main/LICENSES/MIT.txt), and the [PSF 2.0 license](https://github.com/ansible-collections/community.general/blob/main/LICENSES/PSF-2.0.txt).
|
Parts of the collection are licensed under the [BSD 2-Clause license](https://github.com/ansible-collections/community.general/blob/stable-9/LICENSES/BSD-2-Clause.txt), the [MIT license](https://github.com/ansible-collections/community.general/blob/stable-9/LICENSES/MIT.txt), and the [PSF 2.0 license](https://github.com/ansible-collections/community.general/blob/stable-9/LICENSES/PSF-2.0.txt).
|
||||||
|
|
||||||
All files have a machine readable `SDPX-License-Identifier:` comment denoting its respective license(s) or an equivalent entry in an accompanying `.license` file. Only changelog fragments (which will not be part of a release) are covered by a blanket statement in `REUSE.toml`. This conforms to the [REUSE specification](https://reuse.software/spec/).
|
All files have a machine readable `SDPX-License-Identifier:` comment denoting its respective license(s) or an equivalent entry in an accompanying `.license` file. Only changelog fragments (which will not be part of a release) are covered by a blanket statement in `.reuse/dep5`. This conforms to the [REUSE specification](https://reuse.software/spec/).
|
||||||
|
|
11
REUSE.toml
11
REUSE.toml
|
@ -1,11 +0,0 @@
|
||||||
# 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
|
|
||||||
|
|
||||||
version = 1
|
|
||||||
|
|
||||||
[[annotations]]
|
|
||||||
path = "changelogs/fragments/**"
|
|
||||||
precedence = "aggregate"
|
|
||||||
SPDX-FileCopyrightText = "Ansible Project"
|
|
||||||
SPDX-License-Identifier = "GPL-3.0-or-later"
|
|
|
@ -1,89 +0,0 @@
|
||||||
# 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
|
|
||||||
# SPDX-FileCopyrightText: 2025 Felix Fontein <felix@fontein.de>
|
|
||||||
|
|
||||||
[collection_sources]
|
|
||||||
"ansible.posix" = "git+https://github.com/ansible-collections/ansible.posix.git,main"
|
|
||||||
"community.crypto" = "git+https://github.com/ansible-collections/community.crypto.git,main"
|
|
||||||
"community.docker" = "git+https://github.com/ansible-collections/community.docker.git,main"
|
|
||||||
"community.internal_test_tools" = "git+https://github.com/ansible-collections/community.internal_test_tools.git,main"
|
|
||||||
|
|
||||||
[collection_sources_per_ansible.'2.16']
|
|
||||||
# community.crypto's main branch needs ansible-core >= 2.17
|
|
||||||
"community.crypto" = "git+https://github.com/ansible-collections/community.crypto.git,stable-2"
|
|
||||||
|
|
||||||
[sessions]
|
|
||||||
|
|
||||||
[sessions.lint]
|
|
||||||
run_isort = false
|
|
||||||
run_black = false
|
|
||||||
run_flake8 = false
|
|
||||||
run_pylint = false
|
|
||||||
run_yamllint = true
|
|
||||||
yamllint_config = ".yamllint"
|
|
||||||
# yamllint_config_plugins = ".yamllint-docs"
|
|
||||||
# yamllint_config_plugins_examples = ".yamllint-examples"
|
|
||||||
run_mypy = false
|
|
||||||
|
|
||||||
[sessions.docs_check]
|
|
||||||
validate_collection_refs="all"
|
|
||||||
codeblocks_restrict_types = [
|
|
||||||
"ansible-output",
|
|
||||||
"console",
|
|
||||||
"ini",
|
|
||||||
"json",
|
|
||||||
"python",
|
|
||||||
"shell",
|
|
||||||
"yaml",
|
|
||||||
"yaml+jinja",
|
|
||||||
"text",
|
|
||||||
]
|
|
||||||
codeblocks_restrict_type_exact_case = true
|
|
||||||
codeblocks_allow_without_type = false
|
|
||||||
codeblocks_allow_literal_blocks = false
|
|
||||||
|
|
||||||
[sessions.license_check]
|
|
||||||
|
|
||||||
[sessions.extra_checks]
|
|
||||||
run_no_unwanted_files = true
|
|
||||||
no_unwanted_files_module_extensions = [".py"]
|
|
||||||
no_unwanted_files_yaml_extensions = [".yml"]
|
|
||||||
run_action_groups = true
|
|
||||||
run_no_trailing_whitespace = true
|
|
||||||
no_trailing_whitespace_skip_paths = [
|
|
||||||
"tests/integration/targets/iso_extract/files/test.iso",
|
|
||||||
"tests/integration/targets/java_cert/files/testpkcs.p12",
|
|
||||||
"tests/integration/targets/one_host/files/testhost/tmp/opennebula-fixtures.json.gz",
|
|
||||||
"tests/integration/targets/one_template/files/testhost/tmp/opennebula-fixtures.json.gz",
|
|
||||||
"tests/integration/targets/setup_flatpak_remote/files/repo.tar.xz",
|
|
||||||
]
|
|
||||||
no_trailing_whitespace_skip_directories = [
|
|
||||||
"tests/unit/plugins/modules/interfaces_file/interfaces_file_fixtures/golden_output/",
|
|
||||||
"tests/unit/plugins/modules/interfaces_file/interfaces_file_fixtures/input/",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[sessions.extra_checks.action_groups_config]]
|
|
||||||
name = "consul"
|
|
||||||
pattern = "^consul_.*$"
|
|
||||||
exclusions = [
|
|
||||||
"consul_acl_bootstrap",
|
|
||||||
"consul_kv",
|
|
||||||
]
|
|
||||||
doc_fragment = "community.general.consul.actiongroup_consul"
|
|
||||||
|
|
||||||
[[sessions.extra_checks.action_groups_config]]
|
|
||||||
name = "keycloak"
|
|
||||||
pattern = "^keycloak_.*$"
|
|
||||||
exclusions = [
|
|
||||||
"keycloak_realm_info",
|
|
||||||
]
|
|
||||||
doc_fragment = "community.general.keycloak.actiongroup_keycloak"
|
|
||||||
|
|
||||||
[sessions.build_import_check]
|
|
||||||
run_galaxy_importer = true
|
|
||||||
|
|
||||||
[sessions.ansible_test_sanity]
|
|
||||||
include_devel = true
|
|
||||||
|
|
||||||
[sessions.ansible_test_units]
|
|
||||||
include_devel = true
|
|
File diff suppressed because it is too large
Load diff
|
@ -7,9 +7,9 @@ changelog_filename_template: ../CHANGELOG.rst
|
||||||
changelog_filename_version_depth: 0
|
changelog_filename_version_depth: 0
|
||||||
changes_file: changelog.yaml
|
changes_file: changelog.yaml
|
||||||
changes_format: combined
|
changes_format: combined
|
||||||
ignore_other_fragment_extensions: true
|
|
||||||
keep_fragments: false
|
keep_fragments: false
|
||||||
mention_ancestor: true
|
mention_ancestor: true
|
||||||
|
flatmap: true
|
||||||
new_plugins_after_name: removed_features
|
new_plugins_after_name: removed_features
|
||||||
notesdir: fragments
|
notesdir: fragments
|
||||||
output_formats:
|
output_formats:
|
||||||
|
@ -40,4 +40,3 @@ use_fqcn: true
|
||||||
add_plugin_period: true
|
add_plugin_period: true
|
||||||
changelog_nice_yaml: true
|
changelog_nice_yaml: true
|
||||||
changelog_sort: version
|
changelog_sort: version
|
||||||
vcs: auto
|
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
deprecated_features:
|
|
||||||
- pacemaker_cluster - the parameter ``state`` will become a required parameter in community.general 12.0.0 (https://github.com/ansible-collections/community.general/pull/10227).
|
|
||||||
|
|
||||||
minor_changes:
|
|
||||||
- pacemaker_cluster - add ``state=maintenance`` for managing pacemaker maintenance mode (https://github.com/ansible-collections/community.general/issues/10200, https://github.com/ansible-collections/community.general/pull/10227).
|
|
||||||
- pacemaker_cluster - rename ``node`` to ``name`` and add ``node`` alias (https://github.com/ansible-collections/community.general/pull/10227).
|
|
||||||
- pacemaker_resource - enhance module by removing duplicative code (https://github.com/ansible-collections/community.general/pull/10227).
|
|
|
@ -1,2 +0,0 @@
|
||||||
minor_changes:
|
|
||||||
- keycloak - add support for ``grant_type=client_credentials`` to all keycloak modules, so that specifying ``auth_client_id`` and ``auth_client_secret`` is sufficient for authentication (https://github.com/ansible-collections/community.general/pull/10231).
|
|
|
@ -1,2 +0,0 @@
|
||||||
minor_changes:
|
|
||||||
- cloudflare_dns - adds support for PTR records (https://github.com/ansible-collections/community.general/pull/10267).
|
|
|
@ -1,2 +0,0 @@
|
||||||
minor_changes:
|
|
||||||
- cloudflare_dns - simplify validations and refactor some code, no functional changes (https://github.com/ansible-collections/community.general/pull/10269).
|
|
|
@ -1,3 +0,0 @@
|
||||||
bugfixes:
|
|
||||||
- "icinga2 inventory plugin - avoid using deprecated option when templating options (https://github.com/ansible-collections/community.general/pull/10271)."
|
|
||||||
- "linode inventory plugin - avoid using deprecated option when templating options (https://github.com/ansible-collections/community.general/pull/10271)."
|
|
|
@ -1,7 +0,0 @@
|
||||||
minor_changes:
|
|
||||||
- dense callback plugin - use f-strings instead of concatenation (https://github.com/ansible-collections/community.general/pull/10285).
|
|
||||||
- mail callback plugin - use f-strings instead of concatenation (https://github.com/ansible-collections/community.general/pull/10285).
|
|
||||||
- wsl connection plugin - use f-strings instead of concatenation (https://github.com/ansible-collections/community.general/pull/10285).
|
|
||||||
- jc filter plugin - use f-strings instead of concatenation (https://github.com/ansible-collections/community.general/pull/10285).
|
|
||||||
- iocage inventory plugin - use f-strings instead of concatenation (https://github.com/ansible-collections/community.general/pull/10285).
|
|
||||||
- xen_orchestra inventory plugin - use f-strings instead of concatenation (https://github.com/ansible-collections/community.general/pull/10285).
|
|
|
@ -1,2 +0,0 @@
|
||||||
minor_changes:
|
|
||||||
- xfconf - minor adjustments the the code (https://github.com/ansible-collections/community.general/pull/10311).
|
|
|
@ -1,2 +0,0 @@
|
||||||
minor_changes:
|
|
||||||
- nmcli - simplify validations and refactor some code, no functional changes (https://github.com/ansible-collections/community.general/pull/10323).
|
|
|
@ -1,32 +0,0 @@
|
||||||
minor_changes:
|
|
||||||
- logstash callback plugin - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- keycloak module utils - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- python_runner module utils - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- cloudflare_dns - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- crypttab - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- datadog_monitor - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- gitlab_deploy_key - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- gitlab_group_access_token - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- gitlab_hook - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- gitlab_project_access_token - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- gitlab_runner - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- ipa_group - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- jenkins_build - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- jenkins_build_info - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- nmcli - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- oneandone_firewall_policy - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- oneandone_load_balancer - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- oneandone_monitoring_policy - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- onepassword_info - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- osx_defaults - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- ovh_ip_loadbalancing_backend - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- packet_device - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- pagerduty - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- pingdom - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- rhevm - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- rocketchat - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- sensu_silence - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- sl_vm - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- urpmi - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- xattr - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
||||||
- xml - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
|
|
|
@ -1,2 +0,0 @@
|
||||||
deprecated_features:
|
|
||||||
- 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/pull/10329).
|
|
|
@ -1,2 +0,0 @@
|
||||||
bugfixes:
|
|
||||||
- github_release - support multiple types of GitHub tokens; no longer failing when ``ghs_`` token type is provided (https://github.com/ansible-collections/community.general/issues/10338, https://github.com/ansible-collections/community.general/pull/10339).
|
|
|
@ -1,6 +0,0 @@
|
||||||
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/pull/10346)."
|
|
||||||
- "jenkins_plugin - separate Jenkins and external URL credentials (https://github.com/ansible-collections/community.general/issues/4419, https://github.com/ansible-collections/community.general/pull/10346)."
|
|
||||||
|
|
||||||
minor_changes:
|
|
||||||
- "jenkins_plugin - install dependencies for specific version (https://github.com/ansible-collections/community.general/issue/4995, https://github.com/ansible-collections/community.general/pull/10346)."
|
|
|
@ -1,2 +0,0 @@
|
||||||
bugfixes:
|
|
||||||
- incus connection plugin - fix error handling to return more useful Ansible errors to the user (https://github.com/ansible-collections/community.general/issues/10344, https://github.com/ansible-collections/community.general/pull/10349).
|
|
|
@ -1,2 +0,0 @@
|
||||||
bugfixes:
|
|
||||||
- "dependent lookup plugin - avoid deprecated ansible-core 2.19 functionality (https://github.com/ansible-collections/community.general/pull/10359)."
|
|
|
@ -1,4 +0,0 @@
|
||||||
minor_changes:
|
|
||||||
- sysrc - adjustments to the code (https://github.com/ansible-collections/community.general/pull/10417).
|
|
||||||
bugfixes:
|
|
||||||
- sysrc - fixes parsing with multi-line variables (https://github.com/ansible-collections/community.general/issues/10394, https://github.com/ansible-collections/community.general/pull/10417).
|
|
|
@ -1,2 +0,0 @@
|
||||||
minor_changes:
|
|
||||||
- "tasks_only callback plugin - add ``result_format`` and ``pretty_results`` options similarly to the default callback (https://github.com/ansible-collections/community.general/pull/10422)."
|
|
|
@ -1,2 +0,0 @@
|
||||||
minor_changes:
|
|
||||||
- scaleway_* modules, scaleway inventory plugin - update available zones and API URLs (https://github.com/ansible-collections/community.general/issues/10383, https://github.com/ansible-collections/community.general/pull/10424).
|
|
|
@ -1,2 +0,0 @@
|
||||||
deprecated_features:
|
|
||||||
- cpanm - deprecate ``mode=compatibility``, ``mode=new`` should be used instead (https://github.com/ansible-collections/community.general/pull/10434).
|
|
|
@ -1,2 +0,0 @@
|
||||||
deprecated_features:
|
|
||||||
- github_repo - deprecate ``force_defaults=true`` (https://github.com/ansible-collections/community.general/pull/10435).
|
|
|
@ -1,3 +0,0 @@
|
||||||
bugfixes:
|
|
||||||
- apk - handle empty name strings properly
|
|
||||||
(https://github.com/ansible-collections/community.general/issues/10441, https://github.com/ansible-collections/community.general/pull/10442).
|
|
|
@ -1,2 +0,0 @@
|
||||||
bugfixes:
|
|
||||||
- "cronvar - handle empty strings on ``value`` properly (https://github.com/ansible-collections/community.general/issues/10439, https://github.com/ansible-collections/community.general/pull/10445)."
|
|
|
@ -1,2 +0,0 @@
|
||||||
bugfixes:
|
|
||||||
- capabilities - using invalid path (symlink/directory/...) returned unrelated and incoherent error messages (https://github.com/ansible-collections/community.general/issues/5649, https://github.com/ansible-collections/community.general/pull/10455).
|
|
|
@ -1,2 +0,0 @@
|
||||||
bugfixes:
|
|
||||||
- "listen_port_facts - avoid crash when required commands are missing (https://github.com/ansible-collections/community.general/issues/10457, https://github.com/ansible-collections/community.general/pull/10458)."
|
|
|
@ -1,6 +0,0 @@
|
||||||
bugfixes:
|
|
||||||
- "apache2_module - avoid ansible-core 2.19 deprecation (https://github.com/ansible-collections/community.general/pull/10459)."
|
|
||||||
- "htpasswd - avoid ansible-core 2.19 deprecation (https://github.com/ansible-collections/community.general/pull/10459)."
|
|
||||||
- "syspatch - avoid ansible-core 2.19 deprecation (https://github.com/ansible-collections/community.general/pull/10459)."
|
|
||||||
- "sysupgrade - avoid ansible-core 2.19 deprecation (https://github.com/ansible-collections/community.general/pull/10459)."
|
|
||||||
- "zypper_repository - avoid ansible-core 2.19 deprecation (https://github.com/ansible-collections/community.general/pull/10459)."
|
|
|
@ -1,2 +0,0 @@
|
||||||
bugfixes:
|
|
||||||
- "cronvar - fix crash on missing ``cron_file`` parent directories (https://github.com/ansible-collections/community.general/issues/10460, https://github.com/ansible-collections/community.general/pull/10461)."
|
|
|
@ -1,2 +0,0 @@
|
||||||
minor_changes:
|
|
||||||
- sensu_subscription - normalize quotes in the module output (https://github.com/ansible-collections/community.general/pull/10483).
|
|
|
@ -1,3 +0,0 @@
|
||||||
deprecated_features:
|
|
||||||
- "rocketchat - the default value for ``is_pre740``, currently ``true``, is deprecated and will change to ``false`` in community.general 13.0.0
|
|
||||||
(https://github.com/ansible-collections/community.general/pull/10490)."
|
|
|
@ -1,2 +0,0 @@
|
||||||
bugfixes:
|
|
||||||
- "irc - pass hostname to ``wrap_socket()`` if ``use_tls=true`` and ``validate_certs=true`` (https://github.com/ansible-collections/community.general/issues/10472, https://github.com/ansible-collections/community.general/pull/10491)."
|
|
|
@ -1,2 +0,0 @@
|
||||||
minor_changes:
|
|
||||||
- nagios - make parameter ``services`` a ``list`` instead of a ``str`` (https://github.com/ansible-collections/community.general/pull/10493).
|
|
|
@ -1,27 +0,0 @@
|
||||||
minor_changes:
|
|
||||||
- aerospike_migrations - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
|
|
||||||
- airbrake_deployment - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
|
|
||||||
- bigpanda - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
|
|
||||||
- bootc_manage - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
|
|
||||||
- bower - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
|
|
||||||
- btrfs_subvolume - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
|
|
||||||
- bundler - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
|
|
||||||
- campfire - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
|
|
||||||
- cargo - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
|
|
||||||
- catapult - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
|
|
||||||
- cisco_webex - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
|
|
||||||
- consul_kv - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
|
|
||||||
- consul_policy - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
|
|
||||||
- copr - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
|
|
||||||
- datadog_downtime - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
|
|
||||||
- datadog_monitor - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
|
|
||||||
- dconf - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
|
|
||||||
- dimensiondata_network - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
|
|
||||||
- dimensiondata_vlan - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
|
|
||||||
- dnf_config_manager - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
|
|
||||||
- dnsmadeeasy - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
|
|
||||||
- dpkg_divert - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
|
|
||||||
- easy_install - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
|
|
||||||
- elasticsearch_plugin - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
|
|
||||||
- facter - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
|
|
||||||
- filesystem - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
|
|
|
@ -1,39 +0,0 @@
|
||||||
minor_changes:
|
|
||||||
- gem - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- git_config_info - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- github_deploy_key - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- github_repo - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- github_webhook - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- github_webhook_info - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- gitlab_branch - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- gitlab_group_access_token - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- gitlab_group_variable - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- gitlab_hook - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- gitlab_instance_variable - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- gitlab_issue - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- gitlab_label - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- gitlab_merge_request - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- gitlab_milestone - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- gitlab_project - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- gitlab_project_access_token - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- gitlab_project_variable - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- grove - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- hg - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- homebrew - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- homebrew_cask - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- homebrew_tap - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- honeybadger_deployment - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- htpasswd - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- icinga2_host - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- influxdb_user - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- ini_file - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- ipa_dnsrecord - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- ipa_dnszone - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- ipa_service - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- ipbase_info - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- ipwcli_dns - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- irc - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- jabber - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- jenkins_credential - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- jenkins_job - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
||||||
- jenkins_script - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
|
|
|
@ -1,35 +0,0 @@
|
||||||
minor_changes:
|
|
||||||
- keycloak_authz_authorization_scope - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- keycloak_authz_permission - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- keycloak_role - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- keycloak_userprofile - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- keyring - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- kibana_plugin - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- layman - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- ldap_attrs - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- ldap_inc - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- librato_annotation - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- lldp - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- logentries - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- lxca_cmms - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- lxca_nodes - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- macports - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- mail - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- manageiq_alerts - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- manageiq_group - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- manageiq_policies - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- manageiq_policies_info - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- manageiq_tags - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- manageiq_tenant - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- matrix - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- mattermost - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- maven_artifact - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- memset_dns_reload - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- memset_zone - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- memset_zone_record - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- mqtt - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- mssql_db - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- mssql_script - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- netcup_dns - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- newrelic_deployment - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
||||||
- nsupdate - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
|
|
|
@ -1,42 +0,0 @@
|
||||||
minor_changes:
|
|
||||||
- oci_vcn - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- one_image_info - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- one_template - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- one_vnet - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- onepassword_info - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- oneview_fc_network_info - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- opendj_backendprop - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- ovh_monthly_billing - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- pagerduty - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- pagerduty_change - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- pagerduty_user - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- pam_limits - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- pear - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- pkgng - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- pnpm - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- portage - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- pritunl_org - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- pritunl_org_info - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- pritunl_user - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- pritunl_user_info - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- pubnub_blocks - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- pushbullet - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- pushover - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- redis_data - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- redis_data_incr - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- riak - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- rocketchat - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- rollbar_deployment - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- say - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- scaleway_database_backup - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- sendgrid - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- sensu_silence - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- sorcery - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- ssh_config - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- statusio_maintenance - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- svr4pkg - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- swdepot - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- syslogger - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- sysrc - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- systemd_creds_decrypt - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
||||||
- systemd_creds_encrypt - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
|
|
|
@ -1,18 +0,0 @@
|
||||||
minor_changes:
|
|
||||||
- taiga_issue - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
|
|
||||||
- twilio - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
|
|
||||||
- utm_aaa_group - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
|
|
||||||
- utm_ca_host_key_cert - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
|
|
||||||
- utm_dns_host - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
|
|
||||||
- utm_network_interface_address - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
|
|
||||||
- utm_proxy_auth_profile - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
|
|
||||||
- utm_proxy_exception - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
|
|
||||||
- utm_proxy_frontend - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
|
|
||||||
- utm_proxy_location - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
|
|
||||||
- vertica_configuration - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
|
|
||||||
- vertica_info - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
|
|
||||||
- vertica_role - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
|
|
||||||
- xbps - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
|
|
||||||
- yarn - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
|
|
||||||
- zypper - remove redundant constructs from argument specs (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).
|
|
|
@ -1,2 +0,0 @@
|
||||||
deprecated_features:
|
|
||||||
- bearychat - module is deprecated and will be removed in community.general 12.0.0 (https://github.com/ansible-collections/community.general/issues/10514).
|
|
|
@ -1,2 +0,0 @@
|
||||||
minor_changes:
|
|
||||||
- apk - using safer mechanism to run external command (https://github.com/ansible-collections/community.general/issues/10479, https://github.com/ansible-collections/community.general/pull/10520).
|
|
|
@ -1,2 +0,0 @@
|
||||||
minor_changes:
|
|
||||||
- bzr - using safer mechanism to run external command (https://github.com/ansible-collections/community.general/pull/10523).
|
|
|
@ -1,2 +0,0 @@
|
||||||
minor_changes:
|
|
||||||
- capabilities - using safer mechanism to run external command (https://github.com/ansible-collections/community.general/pull/10524).
|
|
|
@ -1,2 +0,0 @@
|
||||||
minor_changes:
|
|
||||||
- composer - using safer mechanism to run external command (https://github.com/ansible-collections/community.general/pull/10525).
|
|
|
@ -1,2 +0,0 @@
|
||||||
minor_changes:
|
|
||||||
- easy_install - using safer mechanism to run external command (https://github.com/ansible-collections/community.general/pull/10526).
|
|
|
@ -1,2 +0,0 @@
|
||||||
minor_changes:
|
|
||||||
- keycloak_identity_provider – add support for ``fromUrl`` to automatically fetch OIDC endpoints from the well-known discovery URL, simplifying identity provider configuration (https://github.com/ansible-collections/community.general/pull/10527).
|
|
|
@ -1,3 +0,0 @@
|
||||||
bugfixes:
|
|
||||||
- "wsl connection plugin - avoid deprecated ansible-core paramiko import helper, import paramiko directly instead
|
|
||||||
(https://github.com/ansible-collections/community.general/issues/10515, https://github.com/ansible-collections/community.general/pull/10531)."
|
|
|
@ -1,2 +0,0 @@
|
||||||
bugfixes:
|
|
||||||
- "apk - fix check for empty/whitespace-only package names (https://github.com/ansible-collections/community.general/pull/10532)."
|
|
|
@ -1,2 +0,0 @@
|
||||||
minor_changes:
|
|
||||||
- imgadm - using safer mechanism to run external command (https://github.com/ansible-collections/community.general/pull/10536).
|
|
|
@ -1,2 +0,0 @@
|
||||||
minor_changes:
|
|
||||||
- keycloak_realm - add support for client-related options and Oauth2 device (https://github.com/ansible-collections/community.general/pull/10538).
|
|
|
@ -1,2 +0,0 @@
|
||||||
bugfixes:
|
|
||||||
- "json_query filter plugin - make compatible with lazy evaluation list and dictionary types of ansible-core 2.19 (https://github.com/ansible-collections/community.general/pull/10539)."
|
|
|
@ -1,2 +0,0 @@
|
||||||
bugfixes:
|
|
||||||
- "merge_variables lookup plugin - avoid deprecated functionality from ansible-core 2.19 (https://github.com/ansible-collections/community.general/pull/10566)."
|
|
|
@ -1,2 +0,0 @@
|
||||||
minor_changes:
|
|
||||||
- logstash_plugin - using safer mechanism to run external command (https://github.com/ansible-collections/community.general/issues/10479, https://github.com/ansible-collections/community.general/pull/10520).
|
|
|
@ -1,2 +0,0 @@
|
||||||
minor_changes:
|
|
||||||
- django module utils - remove deprecated parameter ``_DjangoRunner`` call (https://github.com/ansible-collections/community.general/pull/10574).
|
|
|
@ -1,2 +0,0 @@
|
||||||
deprecated_features:
|
|
||||||
- typetalk - module is deprecated and will be removed in community.general 13.0.0 (https://github.com/ansible-collections/community.general/pull/9499).
|
|
|
@ -1,3 +0,0 @@
|
||||||
bugfixes:
|
|
||||||
- "doas become plugin - disable pipelining on ansible-core 2.19+. The plugin does not work with pipelining, and since ansible-core 2.19 become plugins can indicate that they do not work with pipelining (https://github.com/ansible-collections/community.general/issues/9977, https://github.com/ansible-collections/community.general/pull/10537)."
|
|
||||||
- "machinectl become plugin - disable pipelining on ansible-core 2.19+. The plugin does not work with pipelining, and since ansible-core 2.19 become plugins can indicate that they do not work with pipelining (https://github.com/ansible-collections/community.general/pull/10537)."
|
|
|
@ -1,3 +0,0 @@
|
||||||
---
|
|
||||||
bugfixes:
|
|
||||||
- logstash callback plugin - remove reference to Python 2 library (https://github.com/ansible-collections/community.general/pull/10345).
|
|
|
@ -8,10 +8,9 @@ sections:
|
||||||
toctree:
|
toctree:
|
||||||
- filter_guide
|
- filter_guide
|
||||||
- test_guide
|
- test_guide
|
||||||
- title: Technology Guides
|
- title: Cloud Guides
|
||||||
toctree:
|
toctree:
|
||||||
- guide_alicloud
|
- guide_alicloud
|
||||||
- guide_iocage
|
|
||||||
- guide_online
|
- guide_online
|
||||||
- guide_packet
|
- guide_packet
|
||||||
- guide_scaleway
|
- guide_scaleway
|
||||||
|
@ -21,4 +20,3 @@ sections:
|
||||||
- guide_vardict
|
- guide_vardict
|
||||||
- guide_cmdrunner
|
- guide_cmdrunner
|
||||||
- guide_modulehelper
|
- guide_modulehelper
|
||||||
- guide_uthelper
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ gives
|
||||||
|
|
||||||
result:
|
result:
|
||||||
{{ tests.0.result | to_yaml(indent=2) | indent(5) }}
|
{{ tests.0.result | to_yaml(indent=2) | indent(5) }}
|
||||||
|
|
||||||
.. versionadded:: 9.1.0
|
.. versionadded:: 9.1.0
|
||||||
|
|
||||||
* The results of the below examples 1-5 are all the same:
|
* The results of the below examples 1-5 are all the same:
|
||||||
|
|
|
@ -36,7 +36,7 @@ gives
|
||||||
|
|
||||||
result:
|
result:
|
||||||
{{ tests.0.result | to_yaml(indent=2) | indent(5) }}
|
{{ tests.0.result | to_yaml(indent=2) | indent(5) }}
|
||||||
|
|
||||||
.. versionadded:: 9.1.0
|
.. versionadded:: 9.1.0
|
||||||
|
|
||||||
* The results of the below examples 1-5 are all the same:
|
* The results of the below examples 1-5 are all the same:
|
||||||
|
|
|
@ -37,7 +37,7 @@ gives
|
||||||
|
|
||||||
result:
|
result:
|
||||||
{{ tests.0.result | to_yaml(indent=2) | indent(5) }}
|
{{ tests.0.result | to_yaml(indent=2) | indent(5) }}
|
||||||
|
|
||||||
.. versionadded:: 9.1.0
|
.. versionadded:: 9.1.0
|
||||||
|
|
||||||
* The results of the below examples 1-3 are all the same:
|
* The results of the below examples 1-3 are all the same:
|
||||||
|
|
|
@ -44,7 +44,7 @@ gives
|
||||||
- {k0_x0: A0, k1_x1: B0}
|
- {k0_x0: A0, k1_x1: B0}
|
||||||
- {k0_x0: A1, k1_x1: B1}
|
- {k0_x0: A1, k1_x1: B1}
|
||||||
|
|
||||||
|
|
||||||
.. versionadded:: 9.1.0
|
.. versionadded:: 9.1.0
|
||||||
|
|
||||||
* The results of the below examples 1-5 are all the same:
|
* The results of the below examples 1-5 are all the same:
|
||||||
|
|
|
@ -46,7 +46,7 @@ gives
|
||||||
- k2_x2: [C1]
|
- k2_x2: [C1]
|
||||||
k3_x3: bar
|
k3_x3: bar
|
||||||
|
|
||||||
|
|
||||||
.. versionadded:: 9.1.0
|
.. versionadded:: 9.1.0
|
||||||
|
|
||||||
* The results of the below examples 1-5 are all the same:
|
* The results of the below examples 1-5 are all the same:
|
||||||
|
|
|
@ -53,7 +53,7 @@ gives
|
||||||
k2_x2: [C1]
|
k2_x2: [C1]
|
||||||
k3_x3: bar
|
k3_x3: bar
|
||||||
|
|
||||||
|
|
||||||
.. versionadded:: 9.1.0
|
.. versionadded:: 9.1.0
|
||||||
|
|
||||||
* The results of the below examples 1-3 are all the same:
|
* The results of the below examples 1-3 are all the same:
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
SPDX-License-Identifier: GPL-3.0-or-later
|
SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
.. _ansible_collections.community.general.docsite.filter_guide.filter_guide_abstract_informations.lists_of_dicts:
|
.. _ansible_collections.community.general.docsite.filter_guide.filter_guide_abstract_informations.lists_of_dicts:
|
||||||
|
|
||||||
Lists of dictionaries
|
Lists of dictionaries
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
community.general Filter Guide
|
community.general Filter Guide
|
||||||
==============================
|
==============================
|
||||||
|
|
||||||
The :anscollection:`community.general collection <community.general#collection>` offers several useful filter plugins.
|
The :ref:`community.general collection <plugins_in_community.general>` offers several useful filter plugins.
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
|
|
@ -26,8 +26,8 @@ You can use the :ansplugin:`community.general.dict_kv filter <community.general.
|
||||||
type: host
|
type: host
|
||||||
database: all
|
database: all
|
||||||
myservers:
|
myservers:
|
||||||
- server1
|
- server1
|
||||||
- server2
|
- server2
|
||||||
|
|
||||||
This produces:
|
This produces:
|
||||||
|
|
||||||
|
|
|
@ -65,7 +65,7 @@ All three statements are equivalent and give:
|
||||||
|
|
||||||
.. note:: Be aware that in most cases, filter calls without any argument require ``flatten=true``, otherwise the input is returned as result. The reason for this is, that the input is considered as a variable argument and is wrapped by an additional outer list. ``flatten=true`` ensures that this list is removed before the input is processed by the filter logic.
|
.. note:: Be aware that in most cases, filter calls without any argument require ``flatten=true``, otherwise the input is returned as result. The reason for this is, that the input is considered as a variable argument and is wrapped by an additional outer list. ``flatten=true`` ensures that this list is removed before the input is processed by the filter logic.
|
||||||
|
|
||||||
The filters :ansplugin:`community.general.lists_difference#filter` or :ansplugin:`community.general.lists_symmetric_difference#filter` can be used in the same way as the filters in the examples above. They calculate the difference or the symmetric difference between two or more lists and preserve the item order.
|
The filters ansplugin:`community.general.lists_difference#filter` or :ansplugin:`community.general.lists_symmetric_difference#filter` can be used in the same way as the filters in the examples above. They calculate the difference or the symmetric difference between two or more lists and preserve the item order.
|
||||||
|
|
||||||
For example, the symmetric difference of ``A``, ``B`` and ``C`` may be written as:
|
For example, the symmetric difference of ``A``, ``B`` and ``C`` may be written as:
|
||||||
|
|
||||||
|
|
|
@ -17,50 +17,50 @@ Consider this data structure:
|
||||||
.. code-block:: yaml+jinja
|
.. code-block:: yaml+jinja
|
||||||
|
|
||||||
{
|
{
|
||||||
"domain_definition": {
|
"domain_definition": {
|
||||||
"domain": {
|
"domain": {
|
||||||
"cluster": [
|
"cluster": [
|
||||||
{
|
{
|
||||||
"name": "cluster1"
|
"name": "cluster1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "cluster2"
|
"name": "cluster2"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"server": [
|
||||||
|
{
|
||||||
|
"name": "server11",
|
||||||
|
"cluster": "cluster1",
|
||||||
|
"port": "8080"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "server12",
|
||||||
|
"cluster": "cluster1",
|
||||||
|
"port": "8090"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "server21",
|
||||||
|
"cluster": "cluster2",
|
||||||
|
"port": "9080"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "server22",
|
||||||
|
"cluster": "cluster2",
|
||||||
|
"port": "9090"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"library": [
|
||||||
|
{
|
||||||
|
"name": "lib1",
|
||||||
|
"target": "cluster1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "lib2",
|
||||||
|
"target": "cluster2"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
],
|
|
||||||
"server": [
|
|
||||||
{
|
|
||||||
"name": "server11",
|
|
||||||
"cluster": "cluster1",
|
|
||||||
"port": "8080"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "server12",
|
|
||||||
"cluster": "cluster1",
|
|
||||||
"port": "8090"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "server21",
|
|
||||||
"cluster": "cluster2",
|
|
||||||
"port": "9080"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "server22",
|
|
||||||
"cluster": "cluster2",
|
|
||||||
"port": "9090"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"library": [
|
|
||||||
{
|
|
||||||
"name": "lib1",
|
|
||||||
"target": "cluster1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "lib2",
|
|
||||||
"target": "cluster2"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
To extract all clusters from this structure, you can use the following query:
|
To extract all clusters from this structure, you can use the following query:
|
||||||
|
@ -124,7 +124,7 @@ To get a hash map with all ports and names of a cluster:
|
||||||
var: item
|
var: item
|
||||||
loop: "{{ domain_definition | community.general.json_query(server_name_cluster1_query) }}"
|
loop: "{{ domain_definition | community.general.json_query(server_name_cluster1_query) }}"
|
||||||
vars:
|
vars:
|
||||||
server_name_cluster1_query: "domain.server[?cluster=='cluster1'].{name: name, port: port}"
|
server_name_cluster1_query: "domain.server[?cluster=='cluster2'].{name: name, port: port}"
|
||||||
|
|
||||||
To extract ports from all clusters with name starting with 'server1':
|
To extract ports from all clusters with name starting with 'server1':
|
||||||
|
|
||||||
|
|
|
@ -78,17 +78,17 @@ If you do not specify a ``count_tag``, the task creates the number of instances
|
||||||
tasks:
|
tasks:
|
||||||
- name: Create a set of instances
|
- name: Create a set of instances
|
||||||
community.general.ali_instance:
|
community.general.ali_instance:
|
||||||
instance_type: ecs.n4.small
|
instance_type: ecs.n4.small
|
||||||
image_id: "{{ ami_id }}"
|
image_id: "{{ ami_id }}"
|
||||||
instance_name: "My-new-instance"
|
instance_name: "My-new-instance"
|
||||||
instance_tags:
|
instance_tags:
|
||||||
Name: NewECS
|
Name: NewECS
|
||||||
Version: 0.0.1
|
Version: 0.0.1
|
||||||
count: 5
|
count: 5
|
||||||
count_tag:
|
count_tag:
|
||||||
Name: NewECS
|
Name: NewECS
|
||||||
allocate_public_ip: true
|
allocate_public_ip: true
|
||||||
max_bandwidth_out: 50
|
max_bandwidth_out: 50
|
||||||
register: create_instance
|
register: create_instance
|
||||||
|
|
||||||
In the example playbook above, data about the instances created by this playbook is saved in the variable defined by the ``register`` keyword in the task.
|
In the example playbook above, data about the instances created by this playbook is saved in the variable defined by the ``register`` keyword in the task.
|
||||||
|
|
|
@ -267,54 +267,24 @@ In these descriptions ``value`` refers to the single parameter passed to the for
|
||||||
+------------+-------------------------+
|
+------------+-------------------------+
|
||||||
|
|
||||||
- ``cmd_runner_fmt.as_fixed()``
|
- ``cmd_runner_fmt.as_fixed()``
|
||||||
This method defines one or more fixed arguments that are returned by the generated function
|
This method receives one parameter ``arg``, the function expects no ``value`` - if one
|
||||||
regardless whether ``value`` is passed to it or not.
|
|
||||||
|
|
||||||
This method accepts these arguments in one of three forms:
|
|
||||||
|
|
||||||
* one scalar parameter ``arg``, which will be returned as ``[arg]`` by the function, or
|
|
||||||
* one sequence parameter, such as a list, ``arg``, which will be returned by the function as ``arg[0]``, or
|
|
||||||
* multiple parameters ``args``, which will be returned as ``args`` directly by the function.
|
|
||||||
|
|
||||||
See the examples below for each one of those forms. And, stressing that the generated function expects no ``value`` - if one
|
|
||||||
is provided then it is ignored.
|
is provided then it is ignored.
|
||||||
|
The function returns ``arg`` as-is.
|
||||||
|
|
||||||
- Creation (one scalar argument):
|
- Creation:
|
||||||
* ``cmd_runner_fmt.as_fixed("--version")``
|
``cmd_runner_fmt.as_fixed("--version")``
|
||||||
- Examples:
|
- Examples:
|
||||||
+---------+--------------------------------------+
|
+---------+-----------------------+
|
||||||
| Value | Outcome |
|
| Value | Outcome |
|
||||||
+=========+======================================+
|
+=========+=======================+
|
||||||
| | * ``["--version"]`` |
|
| | ``["--version"]`` |
|
||||||
+---------+--------------------------------------+
|
+---------+-----------------------+
|
||||||
| 57 | * ``["--version"]`` |
|
| 57 | ``["--version"]`` |
|
||||||
+---------+--------------------------------------+
|
+---------+-----------------------+
|
||||||
|
|
||||||
- Creation (one sequence argument):
|
|
||||||
* ``cmd_runner_fmt.as_fixed(["--list", "--json"])``
|
|
||||||
- Examples:
|
|
||||||
+---------+--------------------------------------+
|
|
||||||
| Value | Outcome |
|
|
||||||
+=========+======================================+
|
|
||||||
| | * ``["--list", "--json"]`` |
|
|
||||||
+---------+--------------------------------------+
|
|
||||||
| True | * ``["--list", "--json"]`` |
|
|
||||||
+---------+--------------------------------------+
|
|
||||||
|
|
||||||
- Creation (multiple arguments):
|
|
||||||
* ``cmd_runner_fmt.as_fixed("--one", "--two", "--three")``
|
|
||||||
- Examples:
|
|
||||||
+---------+--------------------------------------+
|
|
||||||
| Value | Outcome |
|
|
||||||
+=========+======================================+
|
|
||||||
| | * ``["--one", "--two", "--three"]`` |
|
|
||||||
+---------+--------------------------------------+
|
|
||||||
| False | * ``["--one", "--two", "--three"]`` |
|
|
||||||
+---------+--------------------------------------+
|
|
||||||
|
|
||||||
- Note:
|
- Note:
|
||||||
This is the only special case in which a value can be missing for the formatting function.
|
This is the only special case in which a value can be missing for the formatting function.
|
||||||
The first example here comes from the code in `Quickstart`_.
|
The example also comes from the code in `Quickstart`_.
|
||||||
In that case, the module has code to determine the command's version so that it can assert compatibility.
|
In that case, the module has code to determine the command's version so that it can assert compatibility.
|
||||||
There is no *value* to be passed for that CLI argument.
|
There is no *value* to be passed for that CLI argument.
|
||||||
|
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
..
|
|
||||||
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
|
|
||||||
|
|
||||||
.. _ansible_collections.community.general.docsite.guide_iocage:
|
|
||||||
|
|
||||||
************
|
|
||||||
Iocage Guide
|
|
||||||
************
|
|
||||||
|
|
||||||
.. toctree::
|
|
||||||
:maxdepth: 1
|
|
||||||
|
|
||||||
guide_iocage_inventory
|
|
|
@ -1,31 +0,0 @@
|
||||||
..
|
|
||||||
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
|
|
||||||
|
|
||||||
.. _ansible_collections.community.general.docsite.guide_iocage.guide_iocage_inventory:
|
|
||||||
|
|
||||||
community.general.iocage inventory plugin
|
|
||||||
=========================================
|
|
||||||
|
|
||||||
The inventory plugin :ansplugin:`community.general.iocage#inventory` gets the inventory hosts from the iocage jail manager.
|
|
||||||
|
|
||||||
See:
|
|
||||||
|
|
||||||
* `iocage - A FreeBSD Jail Manager <https://iocage.readthedocs.io/en/latest>`_
|
|
||||||
* `man iocage <https://man.freebsd.org/cgi/man.cgi?query=iocage>`_
|
|
||||||
* `Jails and Containers <https://docs.freebsd.org/en/books/handbook/jails>`_
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
The output of the examples is YAML formatted. See the option :ansopt:`ansible.builtin.default#callback:result_format`.
|
|
||||||
|
|
||||||
.. toctree::
|
|
||||||
:caption: Table of Contents
|
|
||||||
:maxdepth: 1
|
|
||||||
|
|
||||||
guide_iocage_inventory_basics
|
|
||||||
guide_iocage_inventory_dhcp
|
|
||||||
guide_iocage_inventory_hooks
|
|
||||||
guide_iocage_inventory_properties
|
|
||||||
guide_iocage_inventory_tags
|
|
||||||
guide_iocage_inventory_aliases
|
|
|
@ -1,200 +0,0 @@
|
||||||
..
|
|
||||||
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
|
|
||||||
|
|
||||||
.. _ansible_collections.community.general.docsite.guide_iocage.guide_iocage_inventory.guide_iocage_inventory_aliases:
|
|
||||||
|
|
||||||
Aliases
|
|
||||||
-------
|
|
||||||
|
|
||||||
Quoting :ref:`inventory_aliases`:
|
|
||||||
|
|
||||||
The ``inventory_hostname`` is the unique identifier for a host in Ansible, this can be an IP or a hostname, but also just an 'alias' or short name for the host.
|
|
||||||
|
|
||||||
As root at the iocage host, stop and destroy all jails:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
shell> iocage stop ALL
|
|
||||||
* Stopping srv_1
|
|
||||||
+ Executing prestop OK
|
|
||||||
+ Stopping services OK
|
|
||||||
+ Tearing down VNET OK
|
|
||||||
+ Removing devfs_ruleset: 1000 OK
|
|
||||||
+ Removing jail process OK
|
|
||||||
+ Executing poststop OK
|
|
||||||
* Stopping srv_2
|
|
||||||
+ Executing prestop OK
|
|
||||||
+ Stopping services OK
|
|
||||||
+ Tearing down VNET OK
|
|
||||||
+ Removing devfs_ruleset: 1001 OK
|
|
||||||
+ Removing jail process OK
|
|
||||||
+ Executing poststop OK
|
|
||||||
* Stopping srv_3
|
|
||||||
+ Executing prestop OK
|
|
||||||
+ Stopping services OK
|
|
||||||
+ Tearing down VNET OK
|
|
||||||
+ Removing devfs_ruleset: 1002 OK
|
|
||||||
+ Removing jail process OK
|
|
||||||
+ Executing poststop OK
|
|
||||||
ansible_client is not running!
|
|
||||||
|
|
||||||
shell> iocage destroy -f srv_1 srv_2 srv_3
|
|
||||||
Destroying srv_1
|
|
||||||
Destroying srv_2
|
|
||||||
Destroying srv_3
|
|
||||||
|
|
||||||
Create three VNET jails with a DHCP interface from the template *ansible_client*. Use the option ``--count``:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
shell> iocage create --short --template ansible_client --count 3 bpf=1 dhcp=1 vnet=1
|
|
||||||
1c11de2d successfully created!
|
|
||||||
9d94cc9e successfully created!
|
|
||||||
052b9557 successfully created!
|
|
||||||
|
|
||||||
The names are random. Start the jails:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
shell> iocage start ALL
|
|
||||||
No default gateway found for ipv6.
|
|
||||||
* Starting 052b9557
|
|
||||||
+ Started OK
|
|
||||||
+ Using devfs_ruleset: 1000 (iocage generated default)
|
|
||||||
+ Configuring VNET OK
|
|
||||||
+ Using IP options: vnet
|
|
||||||
+ Starting services OK
|
|
||||||
+ Executing poststart OK
|
|
||||||
+ DHCP Address: 10.1.0.137/24
|
|
||||||
No default gateway found for ipv6.
|
|
||||||
* Starting 1c11de2d
|
|
||||||
+ Started OK
|
|
||||||
+ Using devfs_ruleset: 1001 (iocage generated default)
|
|
||||||
+ Configuring VNET OK
|
|
||||||
+ Using IP options: vnet
|
|
||||||
+ Starting services OK
|
|
||||||
+ Executing poststart OK
|
|
||||||
+ DHCP Address: 10.1.0.146/24
|
|
||||||
No default gateway found for ipv6.
|
|
||||||
* Starting 9d94cc9e
|
|
||||||
+ Started OK
|
|
||||||
+ Using devfs_ruleset: 1002 (iocage generated default)
|
|
||||||
+ Configuring VNET OK
|
|
||||||
+ Using IP options: vnet
|
|
||||||
+ Starting services OK
|
|
||||||
+ Executing poststart OK
|
|
||||||
+ DHCP Address: 10.1.0.115/24
|
|
||||||
Please convert back to a jail before trying to start ansible_client
|
|
||||||
|
|
||||||
List the jails:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
shell> iocage list -l
|
|
||||||
+-----+----------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
|
|
||||||
| JID | NAME | BOOT | STATE | TYPE | RELEASE | IP4 | IP6 | TEMPLATE | BASEJAIL |
|
|
||||||
+=====+==========+======+=======+======+=================+====================+=====+================+==========+
|
|
||||||
| 207 | 052b9557 | off | up | jail | 14.2-RELEASE-p3 | epair0b|10.1.0.137 | - | ansible_client | no |
|
|
||||||
+-----+----------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
|
|
||||||
| 208 | 1c11de2d | off | up | jail | 14.2-RELEASE-p3 | epair0b|10.1.0.146 | - | ansible_client | no |
|
|
||||||
+-----+----------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
|
|
||||||
| 209 | 9d94cc9e | off | up | jail | 14.2-RELEASE-p3 | epair0b|10.1.0.115 | - | ansible_client | no |
|
|
||||||
+-----+----------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
|
|
||||||
|
|
||||||
Set notes. The tag *alias* will be used to create inventory aliases:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
shell> iocage set notes="vmm=iocage_02 project=foo alias=srv_1" 052b9557
|
|
||||||
notes: none -> vmm=iocage_02 project=foo alias=srv_1
|
|
||||||
shell> iocage set notes="vmm=iocage_02 project=foo alias=srv_2" 1c11de2d
|
|
||||||
notes: none -> vmm=iocage_02 project=foo alias=srv_2
|
|
||||||
shell> iocage set notes="vmm=iocage_02 project=bar alias=srv_3" 9d94cc9e
|
|
||||||
notes: none -> vmm=iocage_02 project=bar alias=srv_3
|
|
||||||
|
|
||||||
Update the inventory configuration. Set the option
|
|
||||||
:ansopt:`community.general.iocage#inventory:inventory_hostname_tag` to :ansval:`alias`. This tag keeps the
|
|
||||||
value of the alias. The option :ansopt:`community.general.iocage#inventory:get_properties` must be
|
|
||||||
enabled. For example, ``hosts/02_iocage.yml`` contains:
|
|
||||||
|
|
||||||
.. code-block:: yaml
|
|
||||||
|
|
||||||
plugin: community.general.iocage
|
|
||||||
host: 10.1.0.73
|
|
||||||
user: admin
|
|
||||||
get_properties: true
|
|
||||||
inventory_hostname_tag: alias
|
|
||||||
hooks_results:
|
|
||||||
- /var/db/dhclient-hook.address.epair0b
|
|
||||||
compose:
|
|
||||||
ansible_host: (iocage_hooks.0 == '-') | ternary(iocage_ip4, iocage_hooks.0)
|
|
||||||
iocage_tags: dict(iocage_properties.notes | split | map('split', '='))
|
|
||||||
keyed_groups:
|
|
||||||
- prefix: vmm
|
|
||||||
key: iocage_tags.vmm
|
|
||||||
- prefix: project
|
|
||||||
key: iocage_tags.project
|
|
||||||
|
|
||||||
Display tags and groups. Create a playbook ``pb-test-groups.yml`` with the following content:
|
|
||||||
|
|
||||||
.. code-block:: yaml+jinja
|
|
||||||
|
|
||||||
- hosts: all
|
|
||||||
remote_user: admin
|
|
||||||
|
|
||||||
vars:
|
|
||||||
|
|
||||||
ansible_python_interpreter: auto_silent
|
|
||||||
|
|
||||||
tasks:
|
|
||||||
|
|
||||||
- debug:
|
|
||||||
var: iocage_tags
|
|
||||||
|
|
||||||
- debug:
|
|
||||||
msg: |
|
|
||||||
{% for group in groups %}
|
|
||||||
{{ group }}: {{ groups[group] }}
|
|
||||||
{% endfor %}
|
|
||||||
run_once: true
|
|
||||||
|
|
||||||
Run the playbook:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
shell> ansible-playbook -i hosts/02_iocage.yml pb-test-groups.yml
|
|
||||||
|
|
||||||
PLAY [all] **********************************************************************************************************
|
|
||||||
|
|
||||||
TASK [debug] ********************************************************************************************************
|
|
||||||
ok: [srv_1] =>
|
|
||||||
iocage_tags:
|
|
||||||
alias: srv_1
|
|
||||||
project: foo
|
|
||||||
vmm: iocage_02
|
|
||||||
ok: [srv_2] =>
|
|
||||||
iocage_tags:
|
|
||||||
alias: srv_2
|
|
||||||
project: foo
|
|
||||||
vmm: iocage_02
|
|
||||||
ok: [srv_3] =>
|
|
||||||
iocage_tags:
|
|
||||||
alias: srv_3
|
|
||||||
project: bar
|
|
||||||
vmm: iocage_02
|
|
||||||
|
|
||||||
TASK [debug] ********************************************************************************************************
|
|
||||||
ok: [srv_1] =>
|
|
||||||
msg: |-
|
|
||||||
all: ['srv_1', 'srv_2', 'srv_3']
|
|
||||||
ungrouped: []
|
|
||||||
vmm_iocage_02: ['srv_1', 'srv_2', 'srv_3']
|
|
||||||
project_foo: ['srv_1', 'srv_2']
|
|
||||||
project_bar: ['srv_3']
|
|
||||||
|
|
||||||
PLAY RECAP **********************************************************************************************************
|
|
||||||
srv_1 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
|
|
||||||
srv_2 : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
|
|
||||||
srv_3 : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
|
|
|
@ -1,128 +0,0 @@
|
||||||
..
|
|
||||||
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
|
|
||||||
|
|
||||||
.. _ansible_collections.community.general.docsite.guide_iocage.guide_iocage_inventory.guide_iocage_inventory_basics:
|
|
||||||
|
|
||||||
Basics
|
|
||||||
------
|
|
||||||
|
|
||||||
As root at the iocage host, create three VNET jails with a DHCP interface from the template
|
|
||||||
*ansible_client*:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
shell> iocage create --template ansible_client --name srv_1 bpf=1 dhcp=1 vnet=1
|
|
||||||
srv_1 successfully created!
|
|
||||||
shell> iocage create --template ansible_client --name srv_2 bpf=1 dhcp=1 vnet=1
|
|
||||||
srv_2 successfully created!
|
|
||||||
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>`_.
|
|
||||||
|
|
||||||
As admin at the controller, list the jails:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
shell> ssh admin@10.1.0.73 iocage list -l
|
|
||||||
+------+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
|
|
||||||
| JID | NAME | BOOT | STATE | TYPE | RELEASE | IP4 | IP6 | TEMPLATE | BASEJAIL |
|
|
||||||
+======+=======+======+=======+======+=================+====================+=====+================+==========+
|
|
||||||
| None | srv_1 | off | down | jail | 14.2-RELEASE-p3 | DHCP (not running) | - | ansible_client | no |
|
|
||||||
+------+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
|
|
||||||
| None | srv_2 | off | down | jail | 14.2-RELEASE-p3 | DHCP (not running) | - | ansible_client | no |
|
|
||||||
+------+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
|
|
||||||
| None | srv_3 | off | down | jail | 14.2-RELEASE-p3 | DHCP (not running) | - | ansible_client | no |
|
|
||||||
+------+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
|
|
||||||
|
|
||||||
Create the inventory file ``hosts/02_iocage.yml``
|
|
||||||
|
|
||||||
.. code-block:: yaml
|
|
||||||
|
|
||||||
plugin: community.general.iocage
|
|
||||||
host: 10.1.0.73
|
|
||||||
user: admin
|
|
||||||
|
|
||||||
Display the inventory:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
shell> ansible-inventory -i hosts/02_iocage.yml --list --yaml
|
|
||||||
all:
|
|
||||||
children:
|
|
||||||
ungrouped:
|
|
||||||
hosts:
|
|
||||||
srv_1:
|
|
||||||
iocage_basejail: 'no'
|
|
||||||
iocage_boot: 'off'
|
|
||||||
iocage_ip4: '-'
|
|
||||||
iocage_ip4_dict:
|
|
||||||
ip4: []
|
|
||||||
msg: DHCP (not running)
|
|
||||||
iocage_ip6: '-'
|
|
||||||
iocage_jid: None
|
|
||||||
iocage_release: 14.2-RELEASE-p3
|
|
||||||
iocage_state: down
|
|
||||||
iocage_template: ansible_client
|
|
||||||
iocage_type: jail
|
|
||||||
srv_2:
|
|
||||||
iocage_basejail: 'no'
|
|
||||||
iocage_boot: 'off'
|
|
||||||
iocage_ip4: '-'
|
|
||||||
iocage_ip4_dict:
|
|
||||||
ip4: []
|
|
||||||
msg: DHCP (not running)
|
|
||||||
iocage_ip6: '-'
|
|
||||||
iocage_jid: None
|
|
||||||
iocage_release: 14.2-RELEASE-p3
|
|
||||||
iocage_state: down
|
|
||||||
iocage_template: ansible_client
|
|
||||||
iocage_type: jail
|
|
||||||
srv_3:
|
|
||||||
iocage_basejail: 'no'
|
|
||||||
iocage_boot: 'off'
|
|
||||||
iocage_ip4: '-'
|
|
||||||
iocage_ip4_dict:
|
|
||||||
ip4: []
|
|
||||||
msg: DHCP (not running)
|
|
||||||
iocage_ip6: '-'
|
|
||||||
iocage_jid: None
|
|
||||||
iocage_release: 14.2-RELEASE-p3
|
|
||||||
iocage_state: down
|
|
||||||
iocage_template: ansible_client
|
|
||||||
iocage_type: jail
|
|
||||||
|
|
||||||
Optionally, create shared IP jails:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
shell> iocage create --template ansible_client --name srv_1 ip4_addr="em0|10.1.0.101/24"
|
|
||||||
srv_1 successfully created!
|
|
||||||
shell> iocage create --template ansible_client --name srv_2 ip4_addr="em0|10.1.0.102/24"
|
|
||||||
srv_2 successfully created!
|
|
||||||
shell> iocage create --template ansible_client --name srv_3 ip4_addr="em0|10.1.0.103/24"
|
|
||||||
srv_3 successfully created!
|
|
||||||
shell> iocage list -l
|
|
||||||
+------+-------+------+-------+------+-----------------+-------------------+-----+----------------+----------+
|
|
||||||
| JID | NAME | BOOT | STATE | TYPE | RELEASE | IP4 | IP6 | TEMPLATE | BASEJAIL |
|
|
||||||
+======+=======+======+=======+======+=================+===================+=====+================+==========+
|
|
||||||
| None | srv_1 | off | down | jail | 14.2-RELEASE-p3 | em0|10.1.0.101/24 | - | ansible_client | no |
|
|
||||||
+------+-------+------+-------+------+-----------------+-------------------+-----+----------------+----------+
|
|
||||||
| None | srv_2 | off | down | jail | 14.2-RELEASE-p3 | em0|10.1.0.102/24 | - | ansible_client | no |
|
|
||||||
+------+-------+------+-------+------+-----------------+-------------------+-----+----------------+----------+
|
|
||||||
| 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>`_
|
|
||||||
|
|
||||||
If iocage needs environment variable(s), use the option :ansopt:`community.general.iocage#inventory:env`. For example,
|
|
||||||
|
|
||||||
.. code-block:: yaml
|
|
||||||
|
|
||||||
plugin: community.general.iocage
|
|
||||||
host: 10.1.0.73
|
|
||||||
user: admin
|
|
||||||
env:
|
|
||||||
CRYPTOGRAPHY_OPENSSL_NO_LEGACY: 1
|
|
|
@ -1,175 +0,0 @@
|
||||||
..
|
|
||||||
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
|
|
||||||
|
|
||||||
.. _ansible_collections.community.general.docsite.guide_iocage.guide_iocage_inventory.guide_iocage_inventory_dhcp:
|
|
||||||
|
|
||||||
DHCP
|
|
||||||
----
|
|
||||||
|
|
||||||
As root at the iocage host, start the jails:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
shell> iocage start ALL
|
|
||||||
No default gateway found for ipv6.
|
|
||||||
* Starting srv_1
|
|
||||||
+ Started OK
|
|
||||||
+ Using devfs_ruleset: 1000 (iocage generated default)
|
|
||||||
+ Configuring VNET OK
|
|
||||||
+ Using IP options: vnet
|
|
||||||
+ Starting services OK
|
|
||||||
+ Executing poststart OK
|
|
||||||
+ DHCP Address: 10.1.0.183/24
|
|
||||||
No default gateway found for ipv6.
|
|
||||||
* Starting srv_2
|
|
||||||
+ Started OK
|
|
||||||
+ Using devfs_ruleset: 1001 (iocage generated default)
|
|
||||||
+ Configuring VNET OK
|
|
||||||
+ Using IP options: vnet
|
|
||||||
+ Starting services OK
|
|
||||||
+ Executing poststart OK
|
|
||||||
+ DHCP Address: 10.1.0.204/24
|
|
||||||
No default gateway found for ipv6.
|
|
||||||
* Starting srv_3
|
|
||||||
+ Started OK
|
|
||||||
+ Using devfs_ruleset: 1002 (iocage generated default)
|
|
||||||
+ Configuring VNET OK
|
|
||||||
+ Using IP options: vnet
|
|
||||||
+ Starting services OK
|
|
||||||
+ Executing poststart OK
|
|
||||||
+ DHCP Address: 10.1.0.169/24
|
|
||||||
Please convert back to a jail before trying to start ansible_client
|
|
||||||
|
|
||||||
List the jails:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
shell> iocage list -l
|
|
||||||
+-----+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
|
|
||||||
| JID | NAME | BOOT | STATE | TYPE | RELEASE | IP4 | IP6 | TEMPLATE | BASEJAIL |
|
|
||||||
+=====+=======+======+=======+======+=================+====================+=====+================+==========+
|
|
||||||
| 204 | srv_1 | off | up | jail | 14.2-RELEASE-p3 | epair0b|10.1.0.183 | - | ansible_client | no |
|
|
||||||
+-----+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
|
|
||||||
| 205 | srv_2 | off | up | jail | 14.2-RELEASE-p3 | epair0b|10.1.0.204 | - | ansible_client | no |
|
|
||||||
+-----+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
|
|
||||||
| 206 | srv_3 | off | up | jail | 14.2-RELEASE-p3 | epair0b|10.1.0.169 | - | ansible_client | no |
|
|
||||||
+-----+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
|
|
||||||
|
|
||||||
As admin at the controller, list the jails. The IP4 tab says "... address requires root":
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
shell> ssh admin@10.1.0.73 iocage list -l
|
|
||||||
+-----+-------+------+-------+------+-----------------+-----------------------------------------+-----+----------------+----------+
|
|
||||||
| JID | NAME | BOOT | STATE | TYPE | RELEASE | IP4 | IP6 | TEMPLATE | BASEJAIL |
|
|
||||||
+=====+=======+======+=======+======+=================+=========================================+=====+================+==========+
|
|
||||||
| 204 | srv_1 | off | up | jail | 14.2-RELEASE-p3 | DHCP (running -- address requires root) | - | ansible_client | no |
|
|
||||||
+-----+-------+------+-------+------+-----------------+-----------------------------------------+-----+----------------+----------+
|
|
||||||
| 205 | srv_2 | off | up | jail | 14.2-RELEASE-p3 | DHCP (running -- address requires root) | - | ansible_client | no |
|
|
||||||
+-----+-------+------+-------+------+-----------------+-----------------------------------------+-----+----------------+----------+
|
|
||||||
| 206 | srv_3 | off | up | jail | 14.2-RELEASE-p3 | DHCP (running -- address requires root) | - | ansible_client | no |
|
|
||||||
+-----+-------+------+-------+------+-----------------+-----------------------------------------+-----+----------------+----------+
|
|
||||||
|
|
||||||
Use sudo if enabled:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
shell> ssh admin@10.1.0.73 sudo iocage list -l
|
|
||||||
+-----+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
|
|
||||||
| JID | NAME | BOOT | STATE | TYPE | RELEASE | IP4 | IP6 | TEMPLATE | BASEJAIL |
|
|
||||||
+=====+=======+======+=======+======+=================+====================+=====+================+==========+
|
|
||||||
| 204 | srv_1 | off | up | jail | 14.2-RELEASE-p3 | epair0b|10.1.0.183 | - | ansible_client | no |
|
|
||||||
+-----+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
|
|
||||||
| 205 | srv_2 | off | up | jail | 14.2-RELEASE-p3 | epair0b|10.1.0.204 | - | ansible_client | no |
|
|
||||||
+-----+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
|
|
||||||
| 206 | srv_3 | off | up | jail | 14.2-RELEASE-p3 | epair0b|10.1.0.169 | - | ansible_client | no |
|
|
||||||
+-----+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
|
|
||||||
|
|
||||||
Create the inventory file ``hosts/02_iocage.yml``. Use the option
|
|
||||||
:ansopt:`community.general.iocage#inventory:sudo`:
|
|
||||||
|
|
||||||
.. code-block:: yaml
|
|
||||||
|
|
||||||
plugin: community.general.iocage
|
|
||||||
host: 10.1.0.73
|
|
||||||
user: admin
|
|
||||||
sudo: true
|
|
||||||
|
|
||||||
Display the inventory:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
shell> ansible-inventory -i hosts/02_iocage.yml --list --yaml
|
|
||||||
all:
|
|
||||||
children:
|
|
||||||
ungrouped:
|
|
||||||
hosts:
|
|
||||||
srv_1:
|
|
||||||
iocage_basejail: 'no'
|
|
||||||
iocage_boot: 'off'
|
|
||||||
iocage_ip4: 10.1.0.183
|
|
||||||
iocage_ip4_dict:
|
|
||||||
ip4:
|
|
||||||
- ifc: epair0b
|
|
||||||
ip: 10.1.0.183
|
|
||||||
mask: '-'
|
|
||||||
msg: ''
|
|
||||||
iocage_ip6: '-'
|
|
||||||
iocage_jid: '204'
|
|
||||||
iocage_release: 14.2-RELEASE-p3
|
|
||||||
iocage_state: up
|
|
||||||
iocage_template: ansible_client
|
|
||||||
iocage_type: jail
|
|
||||||
srv_2:
|
|
||||||
iocage_basejail: 'no'
|
|
||||||
iocage_boot: 'off'
|
|
||||||
iocage_ip4: 10.1.0.204
|
|
||||||
iocage_ip4_dict:
|
|
||||||
ip4:
|
|
||||||
- ifc: epair0b
|
|
||||||
ip: 10.1.0.204
|
|
||||||
mask: '-'
|
|
||||||
msg: ''
|
|
||||||
iocage_ip6: '-'
|
|
||||||
iocage_jid: '205'
|
|
||||||
iocage_release: 14.2-RELEASE-p3
|
|
||||||
iocage_state: up
|
|
||||||
iocage_template: ansible_client
|
|
||||||
iocage_type: jail
|
|
||||||
srv_3:
|
|
||||||
iocage_basejail: 'no'
|
|
||||||
iocage_boot: 'off'
|
|
||||||
iocage_ip4: 10.1.0.169
|
|
||||||
iocage_ip4_dict:
|
|
||||||
ip4:
|
|
||||||
- ifc: epair0b
|
|
||||||
ip: 10.1.0.169
|
|
||||||
mask: '-'
|
|
||||||
msg: ''
|
|
||||||
iocage_ip6: '-'
|
|
||||||
iocage_jid: '206'
|
|
||||||
iocage_release: 14.2-RELEASE-p3
|
|
||||||
iocage_state: up
|
|
||||||
iocage_template: ansible_client
|
|
||||||
iocage_type: jail
|
|
||||||
|
|
||||||
Note: If the option :ansopt:`community.general.iocage#inventory:env` is used and :ansopt:`community.general.iocage#inventory:sudo` is enabled, enable also :ansopt:`community.general.iocage#inventory:sudo_preserve_env`. For example,
|
|
||||||
|
|
||||||
.. code-block:: yaml
|
|
||||||
|
|
||||||
plugin: community.general.iocage
|
|
||||||
host: 10.1.0.73
|
|
||||||
user: admin
|
|
||||||
env:
|
|
||||||
CRYPTOGRAPHY_OPENSSL_NO_LEGACY: 1
|
|
||||||
sudo: true
|
|
||||||
sudo_preserve_env: true
|
|
||||||
|
|
||||||
In this case, make sure the sudo tag ``SETENV`` is used:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
shell> ssh admin@10.1.0.73 sudo cat /usr/local/etc/sudoers | grep admin
|
|
||||||
admin ALL=(ALL) NOPASSWD:SETENV: ALL
|
|
|
@ -1,187 +0,0 @@
|
||||||
..
|
|
||||||
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
|
|
||||||
|
|
||||||
.. _ansible_collections.community.general.docsite.guide_iocage.guide_iocage_inventory.guide_iocage_inventory_hooks:
|
|
||||||
|
|
||||||
Hooks
|
|
||||||
-----
|
|
||||||
|
|
||||||
The iocage utility internally opens a console to a jail to get the jail's DHCP address. This
|
|
||||||
requires root. If you run the command ``iocage list -l`` as unprivileged user, you'll see the
|
|
||||||
message ``DHCP (running -- address requires root)``. If you are not granted the root privilege, use
|
|
||||||
``/etc/dhclient-exit-hooks``. For example, in the jail *srv_1*, create the file
|
|
||||||
``/zroot/iocage/jails/srv_1/root/etc/dhclient-exit-hooks``
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
case "$reason" in
|
|
||||||
"BOUND"|"REBIND"|"REBOOT"|"RENEW")
|
|
||||||
echo $new_ip_address > /var/db/dhclient-hook.address.$interface
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
where ``/zroot/iocage`` is the activated pool.
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
shell> zfs list | grep /zroot/iocage
|
|
||||||
zroot/iocage 4.69G 446G 5.08M /zroot/iocage
|
|
||||||
zroot/iocage/download 927M 446G 384K /zroot/iocage/download
|
|
||||||
zroot/iocage/download/14.1-RELEASE 465M 446G 465M /zroot/iocage/download/14.1-RELEASE
|
|
||||||
zroot/iocage/download/14.2-RELEASE 462M 446G 462M /zroot/iocage/download/14.2-RELEASE
|
|
||||||
zroot/iocage/images 384K 446G 384K /zroot/iocage/images
|
|
||||||
zroot/iocage/jails 189M 446G 480K /zroot/iocage/jails
|
|
||||||
zroot/iocage/jails/srv_1 62.9M 446G 464K /zroot/iocage/jails/srv_1
|
|
||||||
zroot/iocage/jails/srv_1/root 62.4M 446G 3.53G /zroot/iocage/jails/srv_1/root
|
|
||||||
zroot/iocage/jails/srv_2 62.8M 446G 464K /zroot/iocage/jails/srv_2
|
|
||||||
zroot/iocage/jails/srv_2/root 62.3M 446G 3.53G /zroot/iocage/jails/srv_2/root
|
|
||||||
zroot/iocage/jails/srv_3 62.8M 446G 464K /zroot/iocage/jails/srv_3
|
|
||||||
zroot/iocage/jails/srv_3/root 62.3M 446G 3.53G /zroot/iocage/jails/srv_3/root
|
|
||||||
zroot/iocage/log 688K 446G 688K /zroot/iocage/log
|
|
||||||
zroot/iocage/releases 2.93G 446G 384K /zroot/iocage/releases
|
|
||||||
zroot/iocage/releases/14.2-RELEASE 2.93G 446G 384K /zroot/iocage/releases/14.2-RELEASE
|
|
||||||
zroot/iocage/releases/14.2-RELEASE/root 2.93G 446G 2.88G /zroot/iocage/releases/14.2-RELEASE/root
|
|
||||||
zroot/iocage/templates 682M 446G 416K /zroot/iocage/templates
|
|
||||||
zroot/iocage/templates/ansible_client 681M 446G 432K /zroot/iocage/templates/ansible_client
|
|
||||||
zroot/iocage/templates/ansible_client/root 681M 446G 3.53G /zroot/iocage/templates/ansible_client/root
|
|
||||||
|
|
||||||
See: `man dhclient-script <https://man.freebsd.org/cgi/man.cgi?dhclient-script>`_
|
|
||||||
|
|
||||||
Create the inventory configuration. Use the option :ansopt:`community.general.iocage#inventory:hooks_results` instead of :ansopt:`community.general.iocage#inventory:sudo`:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
shell> cat hosts/02_iocage.yml
|
|
||||||
|
|
||||||
.. code-block:: yaml
|
|
||||||
|
|
||||||
plugin: community.general.iocage
|
|
||||||
host: 10.1.0.73
|
|
||||||
user: admin
|
|
||||||
hooks_results:
|
|
||||||
- /var/db/dhclient-hook.address.epair0b
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
The option :ansopt:`community.general.iocage#inventory:hooks_results` expects the poolname to be mounted to ``/poolname``. For example, if you
|
|
||||||
activate the pool iocage, this plugin expects to find the :ansopt:`community.general.iocage#inventory:hooks_results` items in the path
|
|
||||||
/iocage/iocage/jails/<name>/root. If you mount the poolname to a different path, the easiest
|
|
||||||
remedy is to create a symlink.
|
|
||||||
|
|
||||||
As admin at the controller, display the inventory:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
shell> ansible-inventory -i hosts/02_iocage.yml --list --yaml
|
|
||||||
all:
|
|
||||||
children:
|
|
||||||
ungrouped:
|
|
||||||
hosts:
|
|
||||||
srv_1:
|
|
||||||
iocage_basejail: 'no'
|
|
||||||
iocage_boot: 'off'
|
|
||||||
iocage_hooks:
|
|
||||||
- 10.1.0.183
|
|
||||||
iocage_ip4: '-'
|
|
||||||
iocage_ip4_dict:
|
|
||||||
ip4: []
|
|
||||||
msg: DHCP (running -- address requires root)
|
|
||||||
iocage_ip6: '-'
|
|
||||||
iocage_jid: '204'
|
|
||||||
iocage_release: 14.2-RELEASE-p3
|
|
||||||
iocage_state: up
|
|
||||||
iocage_template: ansible_client
|
|
||||||
iocage_type: jail
|
|
||||||
srv_2:
|
|
||||||
iocage_basejail: 'no'
|
|
||||||
iocage_boot: 'off'
|
|
||||||
iocage_hooks:
|
|
||||||
- 10.1.0.204
|
|
||||||
iocage_ip4: '-'
|
|
||||||
iocage_ip4_dict:
|
|
||||||
ip4: []
|
|
||||||
msg: DHCP (running -- address requires root)
|
|
||||||
iocage_ip6: '-'
|
|
||||||
iocage_jid: '205'
|
|
||||||
iocage_release: 14.2-RELEASE-p3
|
|
||||||
iocage_state: up
|
|
||||||
iocage_template: ansible_client
|
|
||||||
iocage_type: jail
|
|
||||||
srv_3:
|
|
||||||
iocage_basejail: 'no'
|
|
||||||
iocage_boot: 'off'
|
|
||||||
iocage_hooks:
|
|
||||||
- 10.1.0.169
|
|
||||||
iocage_ip4: '-'
|
|
||||||
iocage_ip4_dict:
|
|
||||||
ip4: []
|
|
||||||
msg: DHCP (running -- address requires root)
|
|
||||||
iocage_ip6: '-'
|
|
||||||
iocage_jid: '206'
|
|
||||||
iocage_release: 14.2-RELEASE-p3
|
|
||||||
iocage_state: up
|
|
||||||
iocage_template: ansible_client
|
|
||||||
iocage_type: jail
|
|
||||||
|
|
||||||
Compose the variable ``ansible_host``. For example, ``hosts/02_iocage.yml`` could look like:
|
|
||||||
|
|
||||||
.. code-block:: yaml+jinja
|
|
||||||
|
|
||||||
plugin: community.general.iocage
|
|
||||||
host: 10.1.0.73
|
|
||||||
user: admin
|
|
||||||
hooks_results:
|
|
||||||
- /var/db/dhclient-hook.address.epair0b
|
|
||||||
compose:
|
|
||||||
ansible_host: (iocage_hooks.0 == '-') | ternary(iocage_ip4, iocage_hooks.0)
|
|
||||||
|
|
||||||
Test the jails. Create a playbook ``pb-test-uname.yml``:
|
|
||||||
|
|
||||||
.. code-block:: yaml
|
|
||||||
|
|
||||||
- hosts: all
|
|
||||||
remote_user: admin
|
|
||||||
|
|
||||||
vars:
|
|
||||||
|
|
||||||
ansible_python_interpreter: auto_silent
|
|
||||||
|
|
||||||
tasks:
|
|
||||||
|
|
||||||
- command: uname -a
|
|
||||||
register: out
|
|
||||||
|
|
||||||
- debug:
|
|
||||||
var: out.stdout
|
|
||||||
|
|
||||||
See: :ref:`working_with_bsd`
|
|
||||||
|
|
||||||
Run the playbook:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
shell> ansible-playbook -i hosts/02_iocage.yml pb-test-uname.yml
|
|
||||||
|
|
||||||
PLAY [all] **********************************************************************************************************
|
|
||||||
|
|
||||||
TASK [command] ******************************************************************************************************
|
|
||||||
changed: [srv_3]
|
|
||||||
changed: [srv_1]
|
|
||||||
changed: [srv_2]
|
|
||||||
|
|
||||||
TASK [debug] ********************************************************************************************************
|
|
||||||
ok: [srv_1] =>
|
|
||||||
out.stdout: FreeBSD srv-1 14.2-RELEASE-p1 FreeBSD 14.2-RELEASE-p1 GENERIC amd64
|
|
||||||
ok: [srv_3] =>
|
|
||||||
out.stdout: FreeBSD srv-3 14.2-RELEASE-p1 FreeBSD 14.2-RELEASE-p1 GENERIC amd64
|
|
||||||
ok: [srv_2] =>
|
|
||||||
out.stdout: FreeBSD srv-2 14.2-RELEASE-p1 FreeBSD 14.2-RELEASE-p1 GENERIC amd64
|
|
||||||
|
|
||||||
PLAY RECAP **********************************************************************************************************
|
|
||||||
srv_1 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
|
|
||||||
srv_2 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
|
|
||||||
srv_3 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
|
|
||||||
|
|
||||||
Note: This playbook and the inventory configuration works also for the *Shared IP Jails*.
|
|
|
@ -1,201 +0,0 @@
|
||||||
..
|
|
||||||
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
|
|
||||||
|
|
||||||
.. _ansible_collections.community.general.docsite.guide_iocage.guide_iocage_inventory.guide_iocage_inventory_properties:
|
|
||||||
|
|
||||||
Properties
|
|
||||||
----------
|
|
||||||
|
|
||||||
Optionally, in the inventory file ``hosts/02_iocage.yml``, get the iocage properties. Enable
|
|
||||||
:ansopt:`community.general.iocage#inventory:get_properties`:
|
|
||||||
|
|
||||||
.. code-block:: yaml+jinja
|
|
||||||
|
|
||||||
plugin: community.general.iocage
|
|
||||||
host: 10.1.0.73
|
|
||||||
user: admin
|
|
||||||
get_properties: true
|
|
||||||
hooks_results:
|
|
||||||
- /var/db/dhclient-hook.address.epair0b
|
|
||||||
compose:
|
|
||||||
ansible_host: (iocage_hooks.0 == '-') | ternary(iocage_ip4, iocage_hooks.0)
|
|
||||||
|
|
||||||
Display the properties. Create the playbook ``pb-test-properties.yml``:
|
|
||||||
|
|
||||||
.. code-block:: yaml
|
|
||||||
|
|
||||||
- hosts: all
|
|
||||||
remote_user: admin
|
|
||||||
|
|
||||||
vars:
|
|
||||||
|
|
||||||
ansible_python_interpreter: auto_silent
|
|
||||||
|
|
||||||
tasks:
|
|
||||||
|
|
||||||
- debug:
|
|
||||||
var: iocage_properties
|
|
||||||
|
|
||||||
Run the playbook. Limit the inventory to *srv_3*:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
shell> ansible-playbook -i hosts/02_iocage.yml -l srv_3 pb-test-properties.yml
|
|
||||||
|
|
||||||
PLAY [all] **********************************************************************************************************
|
|
||||||
|
|
||||||
TASK [debug] ********************************************************************************************************
|
|
||||||
ok: [srv_3] =>
|
|
||||||
iocage_properties:
|
|
||||||
CONFIG_VERSION: '33'
|
|
||||||
allow_chflags: '0'
|
|
||||||
allow_mlock: '0'
|
|
||||||
allow_mount: '1'
|
|
||||||
allow_mount_devfs: '0'
|
|
||||||
allow_mount_fdescfs: '0'
|
|
||||||
allow_mount_fusefs: '0'
|
|
||||||
allow_mount_linprocfs: '0'
|
|
||||||
allow_mount_linsysfs: '0'
|
|
||||||
allow_mount_nullfs: '0'
|
|
||||||
allow_mount_procfs: '0'
|
|
||||||
allow_mount_tmpfs: '0'
|
|
||||||
allow_mount_zfs: '0'
|
|
||||||
allow_nfsd: '0'
|
|
||||||
allow_quotas: '0'
|
|
||||||
allow_raw_sockets: '0'
|
|
||||||
allow_set_hostname: '1'
|
|
||||||
allow_socket_af: '0'
|
|
||||||
allow_sysvipc: '0'
|
|
||||||
allow_tun: '0'
|
|
||||||
allow_vmm: '0'
|
|
||||||
assign_localhost: '0'
|
|
||||||
available: readonly
|
|
||||||
basejail: '0'
|
|
||||||
boot: '0'
|
|
||||||
bpf: '1'
|
|
||||||
children_max: '0'
|
|
||||||
cloned_release: 14.2-RELEASE
|
|
||||||
comment: none
|
|
||||||
compression: 'on'
|
|
||||||
compressratio: readonly
|
|
||||||
coredumpsize: 'off'
|
|
||||||
count: '1'
|
|
||||||
cpuset: 'off'
|
|
||||||
cputime: 'off'
|
|
||||||
datasize: 'off'
|
|
||||||
dedup: 'off'
|
|
||||||
defaultrouter: auto
|
|
||||||
defaultrouter6: auto
|
|
||||||
depends: none
|
|
||||||
devfs_ruleset: '4'
|
|
||||||
dhcp: '1'
|
|
||||||
enforce_statfs: '2'
|
|
||||||
exec_clean: '1'
|
|
||||||
exec_created: /usr/bin/true
|
|
||||||
exec_fib: '0'
|
|
||||||
exec_jail_user: root
|
|
||||||
exec_poststart: /usr/bin/true
|
|
||||||
exec_poststop: /usr/bin/true
|
|
||||||
exec_prestart: /usr/bin/true
|
|
||||||
exec_prestop: /usr/bin/true
|
|
||||||
exec_start: /bin/sh /etc/rc
|
|
||||||
exec_stop: /bin/sh /etc/rc.shutdown
|
|
||||||
exec_system_jail_user: '0'
|
|
||||||
exec_system_user: root
|
|
||||||
exec_timeout: '60'
|
|
||||||
host_domainname: none
|
|
||||||
host_hostname: srv-3
|
|
||||||
host_hostuuid: srv_3
|
|
||||||
host_time: '1'
|
|
||||||
hostid: ea2ba7d1-4fcd-f13f-82e4-8b32c0a03403
|
|
||||||
hostid_strict_check: '0'
|
|
||||||
interfaces: vnet0:bridge0
|
|
||||||
ip4: new
|
|
||||||
ip4_addr: none
|
|
||||||
ip4_saddrsel: '1'
|
|
||||||
ip6: new
|
|
||||||
ip6_addr: none
|
|
||||||
ip6_saddrsel: '1'
|
|
||||||
ip_hostname: '0'
|
|
||||||
jail_zfs: '0'
|
|
||||||
jail_zfs_dataset: iocage/jails/srv_3/data
|
|
||||||
jail_zfs_mountpoint: none
|
|
||||||
last_started: '2025-06-11 04:29:23'
|
|
||||||
localhost_ip: none
|
|
||||||
login_flags: -f root
|
|
||||||
mac_prefix: 02a098
|
|
||||||
maxproc: 'off'
|
|
||||||
memorylocked: 'off'
|
|
||||||
memoryuse: 'off'
|
|
||||||
min_dyn_devfs_ruleset: '1000'
|
|
||||||
mount_devfs: '1'
|
|
||||||
mount_fdescfs: '1'
|
|
||||||
mount_linprocfs: '0'
|
|
||||||
mount_procfs: '0'
|
|
||||||
mountpoint: readonly
|
|
||||||
msgqqueued: 'off'
|
|
||||||
msgqsize: 'off'
|
|
||||||
nat: '0'
|
|
||||||
nat_backend: ipfw
|
|
||||||
nat_forwards: none
|
|
||||||
nat_interface: none
|
|
||||||
nat_prefix: '172.16'
|
|
||||||
nmsgq: 'off'
|
|
||||||
notes: none
|
|
||||||
nsem: 'off'
|
|
||||||
nsemop: 'off'
|
|
||||||
nshm: 'off'
|
|
||||||
nthr: 'off'
|
|
||||||
openfiles: 'off'
|
|
||||||
origin: readonly
|
|
||||||
owner: root
|
|
||||||
pcpu: 'off'
|
|
||||||
plugin_name: none
|
|
||||||
plugin_repository: none
|
|
||||||
priority: '99'
|
|
||||||
pseudoterminals: 'off'
|
|
||||||
quota: none
|
|
||||||
readbps: 'off'
|
|
||||||
readiops: 'off'
|
|
||||||
release: 14.2-RELEASE-p3
|
|
||||||
reservation: none
|
|
||||||
resolver: /etc/resolv.conf
|
|
||||||
rlimits: 'off'
|
|
||||||
rtsold: '0'
|
|
||||||
securelevel: '2'
|
|
||||||
shmsize: 'off'
|
|
||||||
source_template: ansible_client
|
|
||||||
stacksize: 'off'
|
|
||||||
state: up
|
|
||||||
stop_timeout: '30'
|
|
||||||
swapuse: 'off'
|
|
||||||
sync_state: none
|
|
||||||
sync_target: none
|
|
||||||
sync_tgt_zpool: none
|
|
||||||
sysvmsg: new
|
|
||||||
sysvsem: new
|
|
||||||
sysvshm: new
|
|
||||||
template: '0'
|
|
||||||
type: jail
|
|
||||||
used: readonly
|
|
||||||
vmemoryuse: 'off'
|
|
||||||
vnet: '1'
|
|
||||||
vnet0_mac: 02a0983da05d 02a0983da05e
|
|
||||||
vnet0_mtu: auto
|
|
||||||
vnet1_mac: none
|
|
||||||
vnet1_mtu: auto
|
|
||||||
vnet2_mac: none
|
|
||||||
vnet2_mtu: auto
|
|
||||||
vnet3_mac: none
|
|
||||||
vnet3_mtu: auto
|
|
||||||
vnet_default_interface: auto
|
|
||||||
vnet_default_mtu: '1500'
|
|
||||||
vnet_interfaces: none
|
|
||||||
wallclock: 'off'
|
|
||||||
writebps: 'off'
|
|
||||||
writeiops: 'off'
|
|
||||||
|
|
||||||
PLAY RECAP **********************************************************************************************************
|
|
||||||
srv_3 : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue