1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2026-06-27 22:49:14 +00:00
Commit graph

901 commits

Author SHA1 Message Date
Felix Fontein
0345ef2db6
[stable-12] Re-enable most filesystem tests (#12258) (#12261)
Re-enable most filesystem tests (#12258)

* Re-enable most filesystem tests.

* Fix conditionals (ansible-core 2.19).

* Fedora also needs gfs2-utils.

* fatresize seems to be broken on Ubuntu.

* Install util-linux-extra on Debian/Ubuntu.

* Fix conditionals.

* Temporarily disable bcachefs tests on Arch (and thus on all platforms).

(cherry picked from commit ed8afeb16b)
2026-06-14 00:31:04 +02:00
patchback[bot]
e39ac81841
[PR #12253/5be28987 backport][stable-12] CI: Homebrew: trust 3rd-party taps (#12255)
CI: Homebrew: trust 3rd-party taps (#12253)

Trust 3rd-party taps.

(cherry picked from commit 5be28987b5)

Co-authored-by: Felix Fontein <felix@fontein.de>
2026-06-13 21:29:19 +02:00
patchback[bot]
d100f4b8fd
[PR #12067/f677c2ab backport][stable-12] counter_enabled callback: display output for looped tasks (#12240)
counter_enabled callback: display output for looped tasks (#12067)

* fix(counter_enabled): display output for looped tasks with delegate_to

Implement v2_runner_item_on_ok, v2_runner_item_on_failed, and
v2_runner_item_on_skipped so that looped tasks (including those
using delegate_to: localhost) produce visible output.

Also extract _host_label, _display_result_ok, _display_result_failed,
and _display_result_skipped helpers to eliminate repeated delegation
and message-building logic across the callback methods.

Fixes #8187



* changelog(counter_enabled): add fragment for PR #12067



* test(counter_enabled): add integration tests, adjust _host_label



* test(counter_enabled): migrate integration tests to callback test framework



* test(counter_enabled): fix integration tests to use set_fact instead of debug



---------


(cherry picked from commit f677c2ab7d)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-13 17:33:50 +02:00
patchback[bot]
20ab9c3b5b
[PR #12151/994b7560 backport][stable-12] java_cert: fix PKCS12 password not passed to keytool -list (#12242)
java_cert: fix PKCS12 password not passed to `keytool -list` (#12151)

* fix(java_cert): remove -noprompt from keytool -list to allow stdin password

-noprompt is not a valid option for keytool -list (only for importkeystore/
importcert). On Java 8, passing it caused keytool to skip reading the store
password from stdin, resulting in a null password and NullPointerException.

Fixes #3023



* test(java_cert): add idempotency test for pkcs12 import with password

Exercises _export_public_cert_from_pkcs12 when the alias already exists,
verifying the password is correctly read from stdin on the comparison path.



* changelog: add fragment for PR 12151



---------


(cherry picked from commit 994b756026)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-13 17:33:40 +02:00
patchback[bot]
b4e3d32e5a
[PR #12148/5004c9f7 backport][stable-12] xml: preserve DOCTYPE declaration when writing XML files (#12248)
xml: preserve DOCTYPE declaration when writing XML files (#12148)

* fix(xml): preserve DOCTYPE declaration when writing XML files

Pass `doctype=tree.docinfo.doctype` to all `ElementTree.write()` calls
so lxml does not silently drop the DOCTYPE on serialization. Also replace
`etree.tostring()` with BytesIO+write() in the diff and xmlstring paths
for consistency.

Fixes #2762



* test(xml): add integration test for DOCTYPE preservation



* feat(changelog): add fragment for xml DOCTYPE fix (#12148)



---------


(cherry picked from commit 5004c9f70f)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-13 17:33:13 +02:00
patchback[bot]
8babb3e3e9
[PR #12222/53bde7f0 backport][stable-12] Add OpenSuSE Tumbleweed target to CI (#12224)
Add OpenSuSE Tumbleweed target to CI (#12222)

* Add OpenSuSE Tumbleweed target to CI.

* Adjust tests.

(cherry picked from commit 53bde7f011)

Co-authored-by: Felix Fontein <felix@fontein.de>
2026-06-12 07:39:37 +02:00
patchback[bot]
7d171e4441
[PR #12209/f20f0d9c backport][stable-12] iptables_state integration tests: improve skip conditions (#12211)
iptables_state integration tests: improve skip conditions (#12209)

Improve skip conditions.

(cherry picked from commit f20f0d9cf9)

Co-authored-by: Felix Fontein <felix@fontein.de>
2026-06-09 17:48:38 +02:00
patchback[bot]
5343eff594
[PR #12201/877f20f2 backport][stable-12] replace lingering ansible_xxx with ansible_facts.xxx (#12203)
replace lingering ansible_xxx with ansible_facts.xxx (#12201)

(cherry picked from commit 877f20f278)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2026-06-06 11:52:56 +02:00
patchback[bot]
61c5767d0e
[PR #12162/cdd9c1dd backport][stable-12] test(integration): explicitly add executable to iso_extract on Fedora (#12165)
test(integration): explicitly add executable to iso_extract on Fedora (#12162)

This provides a (temporary) workaround for https://bugzilla.redhat.com/show_bug.cgi?id=2373874:
On Fedora 43+ 7zip is unable to find the 7z.so module when it is not in the
same path as the 7z binary or in /usr/bin/

(cherry picked from commit cdd9c1ddde)

Co-authored-by: spike77453 <spike77453@users.noreply.github.com>
2026-06-01 06:33:54 +02:00
patchback[bot]
a58bb6af00
[PR #12123/49ca175f backport][stable-12] htpasswd: fix hash_scheme aliases and Apache-compatible bcrypt (#12155)
htpasswd: fix `hash_scheme` aliases and Apache-compatible bcrypt (#12123)

* fix(htpasswd): support HtpasswdFile aliases and Apache-compatible bcrypt

CryptContext does not recognise HtpasswdFile alias names such as
portable, portable_apache_24, host_apache_24, causing a KeyError.
In addition, building a CryptContext for bcrypt produced $2b$ hashes
that Apache rejects (it only accepts $2y$/$2a$).

Use htpasswd_context for schemes it already supports, fall back to
htpasswd_context on KeyError for aliases, and import CryptContext
from module_utils/_crypt.py instead of passlib directly.

Fixes #6135



* feat(changelog): add fragment for PR 12123



* fix(_crypt): silence DeprecationWarning when importing stdlib crypt

On Python 3.11/3.12, `import crypt` emits a DeprecationWarning that
ansible-test sanity --test import treats as an error. Suppress it since
the import is an intentional fallback when passlib is not available.



* fix(htpasswd): fix sanity ignores and bcrypt version constraint

- Revert _crypt.py DeprecationWarning suppression; add sanity ignore
  entries for htpasswd.py import-3.11/3.12 instead (mirrors existing
  entries for _crypt.py itself)
- Pin bcrypt<4.2 in integration tests: bcrypt 4.2 removed __about__
  which passlib 1.7.x uses, breaking passlib.apache import
- Fix regex_search assertion to use 'is not none' for a boolean result
- Add bcrypt version constraint note to module documentation



* fix(htpasswd): handle system-installed bcrypt in integration tests

On Debian/Ubuntu, bcrypt may be installed by the system package manager
with no RECORD file, making pip downgrade impossible. Move bcrypt
installation into a self-contained block in test_schemes.yml with
ignore_errors, a functional passlib+bcrypt check, and always-cleanup.
Bcrypt tests are skipped when a compatible version cannot be used.



* refactor(htpasswd): extract obtain_crypt_context(); import CryptContext from passlib directly

Extract context selection logic into obtain_crypt_context(). Import
CryptContext inside the deps.declare("passlib") block instead of from
module_utils/_crypt.py — passlib is already a hard dependency and
other symbols are imported from it there. Remove now-unnecessary
htpasswd.py sanity import ignore entries.



---------


(cherry picked from commit 49ca175f01)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 16:58:55 +02:00
patchback[bot]
eedba20600
[PR #12128/a794ccf1 backport][stable-12] zpool: reduce disk usage in integration tests by using sparse files (#12135)
zpool: reduce disk usage in integration tests by using sparse files (#12128)

* zpool: use sparse files in integration tests to reduce diskspace usage

* changelog: add PR link to zpool disk space fragment

* remove changelog fragment for test-only change

(cherry picked from commit a794ccf127)

Co-authored-by: Shreyashxredhat <shrbhosa@redhat.com>
2026-05-30 15:11:19 +02:00
patchback[bot]
b759173038
[PR #12095/b1c7700a backport][stable-12] multiple: mark integration tests that run pip install as destructive (#12099)
multiple: mark integration tests that run `pip install` as destructive (#12095)

test(integration): mark pip-installing tests as destructive


(cherry picked from commit b1c7700a1b)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 15:21:12 +02:00
Felix Fontein
dedbedf917 Revert "[PR #11996/2cb4a5d4 backport][stable-12] gitlab_user: update SSH keys when key material changes (#12038)"
This reverts commit b94ac3fa21.
2026-05-17 12:59:18 +02:00
patchback[bot]
fd13c1bcde
[PR #12072/528c2879 backport][stable-12] Mark nomad tests as unstable (#12074)
Mark nomad tests as unstable (#12072)

Mark nomad tests as unstable.

(cherry picked from commit 528c2879d5)

Co-authored-by: Felix Fontein <felix@fontein.de>
2026-05-17 11:49:41 +02:00
patchback[bot]
d2e3646c3a
[PR #12052/2f96093d backport][stable-12] CI: Replace Ubuntu 22.04 with 26.04 for ansible-core devel (#12053)
CI: Replace Ubuntu 22.04 with 26.04 for ansible-core devel (#12052)

Replace Ubuntu 22.04 with 26.04 for devel.

(cherry picked from commit 2f96093dbf)

Co-authored-by: Felix Fontein <felix@fontein.de>
2026-05-15 12:48:14 +02:00
patchback[bot]
0085876c0a
[PR #12045/5447d0eb backport][stable-12] Setup pip path generic (#12046)
Setup pip path generic (#12045)

* setup_pip_path: use sysconfig to build pip scripts path generically



* setup_pip_path: calculate PATH prepended with pip installation path

* move environment up to block

* obtain path from pip itself

* apparently the python interpreter doesnt go into ansible_facts

* rename role to setup_pip_scripts_path

---------


(cherry picked from commit 5447d0eb4f)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 14:16:21 +02:00
patchback[bot]
b94ac3fa21
[PR #11996/2cb4a5d4 backport][stable-12] gitlab_user: update SSH keys when key material changes (#12038)
gitlab_user: update SSH keys when key material changes (#11996)

* gitlab_user: update SSH keys when key material changes

Compare SSH keys by key type and key material so comment-only differences remain idempotent while changed keys are replaced. Add unit and integration coverage for SSH key updates.

Fixes #6516

* gitlab_user: add SSH key update modes

Restore backward-compatible same-name SSH key handling by default and
add explicit update and deduplicate modes for controlled replacement
behavior.

Refs: #6516

* Apply suggestions from code review



---------


(cherry picked from commit 2cb4a5d4e7)

Co-authored-by: Fulvius <31437530+LCerebo@users.noreply.github.com>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2026-05-13 08:07:21 +02:00
patchback[bot]
983e3fc2bb
[PR #12023/87a42725 backport][stable-12] java_cert/java_keystore: re-enable RHEL tests (#12027)
java_cert/java_keystore: re-enable RHEL tests (#12023)

* java_cert/java_keystore: re-enable RHEL tests

* bump java to version 21 in RHEL

(cherry picked from commit 87a42725e0)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2026-05-10 11:59:17 +02:00
patchback[bot]
bb539f1d56
[PR #12013/abef8f2a backport][stable-12] xml: fix print_match not populating matches return value (#12021)
xml: fix `print_match` not populating `matches` return value (#12013)

* fix(xml): populate matches when print_match is set, fix returned doc



* test(xml): add integration tests for print_match



* changelog: add fragment for PR 12013



---------


(cherry picked from commit abef8f2aed)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-10 10:22:16 +02:00
patchback[bot]
7f688e78bf
[PR #11959/d87a8a16 backport][stable-12] xml: fail for non-string values (#12001)
xml: fail for non-string `value`s (#11959)

* fix(xml): coerce boolean values to string with a warning

Fixes #7171



* test(xml): add integration tests for boolean value handling



* changelog: add fragment for PR 11959



* adjustments from review

* test(xml): update boolean-value integration tests to expect failure

Now that xml fails on non-string values, replace the old success-path
tests with failure assertions and add a positive test for quoted strings.
Remove the no-longer-needed result XML fixtures.



* adjustments from review

* fix(xml): correct boolean test assertions to match actual error message format



---------


(cherry picked from commit d87a8a167f)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 20:10:45 +02:00
patchback[bot]
caeafeec1f
[PR #11943/38d49d24 backport][stable-12] yarn: add Alpine Linux support in integration tests (#12002)
yarn: add Alpine Linux support in integration tests (#11943)

* test(yarn): add Alpine Linux support via apk

Install nodejs and yarn via apk on Alpine, sharing the functional
test block with the existing non-Alpine (pre-built binary) path.
Extracts the test block into tests.yml to avoid duplication.

Fixes #4270



* fix(yarn): skip Node.js runtime warnings in stderr processing

Node.js 24 emits DeprecationWarning lines to stderr (e.g. for url.parse())
that are not JSON, causing _process_yarn_error to fail with "Unexpected
stderr output from Yarn". Skip lines starting with "(node:" before
attempting JSON parsing.



* test(yarn): add changelog fragment for #11943



* fix(yarn): only JSON-parse lines starting with '{' in stderr

Node.js 24 emits multi-line DeprecationWarnings to stderr (e.g. the hint
line "(Use `node --trace-deprecation ...`") that are not JSON and were
tripping the "Unexpected stderr output from Yarn" failure. Yarn's
structured output always starts with '{', so skip any line that doesn't.



* test(yarn): install sqlite on Alpine to fix nodejs 22 symbol error

On Alpine 3.21 nodejs 22 requires SQLite session extension symbols
(sqlite3session_*) that are not present in sqlite-libs; installing
the full sqlite package provides them.



* test(yarn): refresh apk cache and upgrade sqlite-libs before installing nodejs

The CI Alpine container may have a stale sqlite-libs that lacks the
session extension symbols (sqlite3session_*) required by nodejs 22+.
Force a cache refresh and upgrade sqlite-libs to the latest revision.



* fix(yarn): warn on non-JSON stderr lines instead of silently skipping

Non-JSON lines in stderr (e.g. Node.js runtime DeprecationWarnings) are
surfaced to the user via module.warn() rather than being silently ignored,
since their content and meaning are not known in advance.



* prefix yarn output line

* Update changelogs/fragments/11943-yarn-nodejs-runtime-warnings.yml



---------



(cherry picked from commit 38d49d240e)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
2026-05-06 20:10:35 +02:00
patchback[bot]
c2129d331b
[PR #11956/7b05c052 backport][stable-12] nomad: re-enable tests (#11960)
nomad: re-enable tests (#11956)

* nomad: re-enable tests

* test(nomad): revamp integration tests

- bump nomad to 2.0.0
- update job.hcl to Nomad 1.x+ HCL syntax
- add macOS support: skip unzip install on Darwin, add arm64/aarch64 arch mapping
- skip Alpine in aliases instead of runtime gate in main.yml
- move nomad_version/nomad_cmd/nomad_uri/arch_map to role vars
- flatten block structure



---------


(cherry picked from commit 7b05c05205)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 21:50:20 +02:00
patchback[bot]
31c00e365d
[PR #11948/b754d75d backport][stable-12] lmdb_kv lookup: enable tests (#11964)
lmdb_kv lookup: enable tests (#11948)

* lmdb_kv lookup: enable tests

* skip freebsd 14.2

(cherry picked from commit b754d75d18)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2026-05-01 21:50:03 +02:00
patchback[bot]
365e02d10c
[PR #11944/c7be9e4d backport][stable-12] odbc: add Arch Linux support via AUR psqlodbc (#11963)
odbc: add Arch Linux support via AUR psqlodbc (#11944)

* test(odbc): add Arch Linux support via AUR psqlodbc

Fixes #4267

* test(setup_postgresql_db): guard Arch Linux initdb with creates

* test(odbc): add setup_remote_tmp_dir dependency

(cherry picked from commit c7be9e4d5b)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2026-05-01 21:49:56 +02:00
patchback[bot]
f37d543eb9
[PR #11945/036811e6 backport][stable-12] test(integration): enable homectl test for ArchLinux (#11966)
test(integration): enable homectl test for ArchLinux (#11945)

* test(integration): enable homectl test for ArchLinux

* install passlib in Arch Linux

* test: requires vm in homectl aliases

(cherry picked from commit 036811e668)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2026-05-01 21:49:40 +02:00
patchback[bot]
78f7cabcc1
[PR #11941/36b55c73 backport][stable-12] test(integration): enable homectl test for RHEL 9+ (#11967)
test(integration): enable homectl test for RHEL 9+ (#11941)

(cherry picked from commit 36b55c73e0)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2026-05-01 21:49:32 +02:00
patchback[bot]
10f4e9796d
[PR #11925/d0f0e9d0 backport][stable-12] lvol: fix thin-pool creation with percentage size (#11930)
lvol: fix thin-pool creation with percentage size (#11925)

* fix(lvol): use --extents (-l) for thin-pool creation with percentage size

Fixes #11923



* chore(lvol): add changelog fragment for #11925



* test(lvol): add integration tests for thin-pool creation with percentage sizes



* test(lvol): use extent-aligned size for thin-pool absolute-size idempotency test



* test(lvol): reduce thin-pool sizes to leave space for test_pvs.yml



* test(lvol): add shrink=false to thin-pool absolute-size idempotency check



* test(lvol): add shrink: false to thin volume idempotency test

LVM reports thin volume size slightly above requested (metadata overhead),
triggering spurious shrink attempts. Disable shrink for idempotency checks
to avoid false failures.



---------


(cherry picked from commit d0f0e9d00f)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 21:42:57 +02:00
patchback[bot]
748882dfa8
[PR #11879/77509be2 backport][stable-12] Replace .format() calls with f-strings across multiple plugins (#11881)
Replace .format() calls with f-strings across multiple plugins (#11879)

* Replace .format() calls with f-strings across multiple plugins



* Add changelog fragment for PR 11879



---------


(cherry picked from commit 77509be2aa)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-19 12:49:29 +02:00
patchback[bot]
27ca6be10a
[PR #11813/edf8f249 backport][stable-12] parted: add unit_preserve_case option to fix unit case in return value (#11875)
parted: add unit_preserve_case option to fix unit case in return value (#11813)

* parted: add unit_preserve_case option to fix unit case in return value

Adds O(unit_preserve_case) feature flag (bool, default None) to control
the case of the ``unit`` field in the module return value.

Previously the unit was always lowercased (e.g. ``kib``), making it
impossible to feed ``disk.unit`` back as the ``unit`` parameter without
a validation error. With O(unit_preserve_case=true) the unit is returned
in its original mixed case (e.g. ``KiB``), matching the accepted input
values.

The default (None) emits a deprecation notice; the default will become
V(true) in community.general 14.0.0.

Fixes #1860



* parted: add changelog fragment for PR #11813



* adjustments from review

* Comment 15.0.0 deprecation in option decription.

* parted: fix unit test calls to parse_partition_info after signature change



* parted: fix unit_preserve_case - parted outputs lowercase units in machine mode

Parted's machine-parseable output always uses lowercase unit suffixes
(e.g. ``kib``, ``mib``) regardless of what was passed to the ``unit``
parameter. Removing the explicit ``.lower()`` call was therefore not
enough to preserve case.

Add a ``canonical_unit()`` helper that maps a unit string to its canonical
mixed-case form using ``parted_units`` as the reference, and use it
instead of a bare identity when ``unit_preserve_case=true``.

Also fix a yamllint violation in the DOCUMENTATION block (missing space
after ``#`` in inline comments).



* Update plugins/modules/parted.py



* Update plugins/modules/parted.py



---------



(cherry picked from commit edf8f24959)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
2026-04-18 22:55:45 +02:00
patchback[bot]
729eb996e8
[PR #11836/ef656cb9 backport][stable-12] CI: Replace Fedora 43 with 44 for devel (#11846)
CI: Replace Fedora 43 with 44 for devel (#11836)

* Replace Fedora 43 with 44 for devel in CI.

* Adjust tests.

* Adjust flatpak module to Fedora 44.

(cherry picked from commit ef656cb9b6)

Co-authored-by: Felix Fontein <felix@fontein.de>
2026-04-16 22:00:37 +02:00
patchback[bot]
f78a44c6a3
[PR #11825/d1448b76 backport][stable-12] iso_extract: strip leading path separator from file entries (#11832)
iso_extract: strip leading path separator from file entries (#11825)

* iso_extract: strip leading path separator from file entries

Fixes #5283



* iso_extract: add changelog fragment for issue 5283



---------


(cherry picked from commit d1448b76c1)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 22:01:19 +02:00
patchback[bot]
32c4bbea30
[PR #11748/972bed66 backport][stable-12] flatpak: add from_url parameter, deprecate URLs in name (#11814)
flatpak: add from_url parameter, deprecate URLs in name (#11748)

* flatpak: add from_url parameter, deprecate URLs in name

Adds a new `from_url` parameter for installing flatpaks from a
.flatpakref URL, using `flatpak install --from <url>`. The `name`
parameter then carries the reverse DNS application ID, enabling
reliable idempotency checks.

Passing URLs directly in `name` is now deprecated and will be
removed in community.general 14.0.0.

Fixes #4000



* flatpak: add changelog fragment for PR #11748



* flatpak: remove deprecation, adjust docs tone



* flatpak: add integration tests for from_url parameter



---------


(cherry picked from commit 972bed66f4)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-13 21:30:31 +02:00
patchback[bot]
fa9ac2b3a9
[PR #11719/66886d08 backport][stable-12] integration tests: remove CentOS conditionals - part 2 (#11730)
integration tests: remove CentOS conditionals - part 2 (#11719)

* test(integration): remove CentOS references - part 2

* adjustments from review

(cherry picked from commit 66886d08f5)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2026-04-03 12:34:15 +00:00
patchback[bot]
f77d731faf
[PR #11715/79431c36 backport][stable-12] integration tests: remove CentOS conditionals (#11726)
integration tests: remove CentOS conditionals (#11715)

* test(integration): remove CentOS references

* further simplification

* more removals

* rollback systemd_info for now

* ufw: not trivially used with RHEL9 and RHEL10, simplifying tests

* remove tasks for setup_epel where unused

* adjustments from review

(cherry picked from commit 79431c36b5)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2026-04-03 10:41:10 +02:00
patchback[bot]
56bcb0c32b
[PR #11697/8b114e99 backport][stable-12] consul integration tests: re-enable on macOS (#11727)
consul integration tests: re-enable on macOS (#11697)

* consul integration tests: re-enable on macOS

- Update consul version to 1.22.6
- Add arm64/aarch64 architecture support
- Fix macOS Gatekeeper quarantine on downloaded binary
- Add wait_for before ACL bootstrap (race condition fix)
- Update HCL config to use tls stanza (required in 1.22)
- Disable gRPC port (conflicts with tls stanza when not configured)
- Remove skip/macos from aliases

Fixes: https://github.com/ansible-collections/community.general/issues/1016



* changelogs/fragments: add PR number for consul tests fix



* remove changelog fragment (test-only PR)



---------


(cherry picked from commit 8b114e999e)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 08:03:09 +02:00
patchback[bot]
83aa142331
[PR #11682/b79a4575 backport][stable-12] snap_connect: new module to manage snap interface connections (#11722)
snap_connect: new module to manage snap interface connections (#11682)

* snap_connect: new module to manage snap interface connections

Fixes #7722



* simplify _get_connections()

---------


(cherry picked from commit b79a45753f)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 07:35:13 +02:00
patchback[bot]
cac85a5480
[PR #11720/982f9472 backport][stable-12] test(integration): fix for ansible-core devel changes in register (#11724)
test(integration): fix for ansible-core devel changes in register (#11720)

(cherry picked from commit 982f9472c5)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2026-04-03 07:35:02 +02:00
patchback[bot]
1df4b3ee74
[PR #11690/f4e5fc09 backport][stable-12] monit: re-enable tests in RHEL (#11714)
monit: re-enable tests in RHEL (#11690)

* re-enable monit tests in rhel

* enable EPEL for RHEL<11

* rollback EPEL setup, skip only specific versions

* remove skip entirely

* change download URL in setup_epel, adjusted code to use it

* claude tries to install virtualenv, round 1

* claude tries python3 -m venv instead

* remove outdated centos6 file

(cherry picked from commit f4e5fc09d7)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2026-04-01 07:06:16 +02:00
patchback[bot]
66d394dc81
[PR #11686/68ae04a9 backport][stable-12] Cleanup of aliases skip statements (#11709)
Cleanup of `aliases` skip statements (#11686)

* add scripts to clean aliases' skips

* remove legacy skips

* code cosmetics

* add license to ALIASES.md

* Fix typos in ALIASES.md documentation

* rolling back freebsd14.2 and 14.3 in iso_extract

* fix versions and re-run

(cherry picked from commit 68ae04a95a)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2026-03-30 19:58:13 +02:00
patchback[bot]
17e02f87c9
[PR #11678/d06c83eb backport][stable-12] etcd3: re-enable and fix tests, add unit tests (#11680)
etcd3: re-enable and fix tests, add unit tests (#11678)

* etcd3: re-enable and fix tests, add unit tests

- Add unit tests for community.general.etcd3 module (12 tests covering
  state=present/absent, idempotency, check mode, and error paths)
- Fix integration test setup: update etcd binary to v3.6.9 (from v3.2.14),
  download from GitHub releases, add health-check retry loop after start
- Work around etcd3 Python library incompatibility with protobuf >= 4.x
  by setting PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python
- Update to FQCNs throughout integration tests
- Re-enable both etcd3 and lookup_etcd3 integration targets

Fixes https://github.com/ansible-collections/community.general/issues/322



* improve use of multiple context managers

---------


(cherry picked from commit d06c83eb68)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 07:05:05 +01:00
patchback[bot]
8e4581c0e6
[PR #11659/d6cb56c0 backport][stable-12] osx_defaults: add dict support (#11671)
osx_defaults: add dict support (#11659)

* osx_defaults: add dict support

* add changelog frag

* osx_defaults: fix dict idempotency by using plutil -extract for type-preserving read

The previous approach piped `defaults read` output (old-style plist text)
through `plutil -convert json`. Old-style plist loses boolean type info
(booleans appear as 1/0, indistinguishable from integers), causing the
comparison to fail and reporting changed=True on every run.

Fix by exporting the domain binary plist to a temp file and using
`plutil -extract key json` which correctly preserves all plist types
(booleans stay true/false, integers stay integers, etc.).



* change param from bool to str

* Apply suggestion from review

* Update plugins/modules/osx_defaults.py



---------



(cherry picked from commit d6cb56c022)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
2026-03-23 20:34:28 +01:00
patchback[bot]
c4da6e4202
[PR #11660/b1ac989c backport][stable-12] remove skip/aix from aliases files (#11661)
remove skip/aix from aliases files (#11660)

(cherry picked from commit b1ac989c70)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2026-03-23 07:04:20 +01:00
patchback[bot]
a425d16e7c
[PR #11646/8d403dde backport][stable-12] ansible_galaxy_install: new param executable (#11651)
ansible_galaxy_install: new param executable (#11646)

* ansible_galaxy_install: new param executable

* add changelog frag

(cherry picked from commit 8d403dde5b)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2026-03-22 20:33:41 +01:00
patchback[bot]
fa682e8b40
[PR #11638/4f5e5c9b backport][stable-12] python_runner: add integration tests (#11643)
test(python_runner): add integration tests (#11638)

* test(python_runner): add integration tests

* simplify the test

* add missing quotes

* use setup_remote_tmp_dir

* build venv manually first

(cherry picked from commit 4f5e5c9bb6)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2026-03-22 11:17:12 +01:00
patchback[bot]
96852b7032
[PR #11631/b4336659 backport][stable-12] CI: Remove FreeBSD 14.3 for devel, and replace macOS 15.3 with 26.3 (#11634)
CI: Remove FreeBSD 14.3 for devel, and replace macOS 15.3 with 26.3 (#11631)

* Replace FreeBSD 14.3 with 14.4, and macOS 15.3 with 26.3.

* FreeBSD 14.4 seems to have the same problem as FreeBSD 15.0, disabling for now.

(cherry picked from commit b4336659f6)

Co-authored-by: Felix Fontein <felix@fontein.de>
2026-03-21 21:13:57 +01:00
patchback[bot]
08bb917d59
[PR #11625/bc22fbca backport][stable-12] CI: Replace apt_repository and apt_key with deb822_repository (#11627)
CI: Replace apt_repository and apt_key with deb822_repository (#11625)

Replace apt_repository and apt_key with deb822_repository.

(cherry picked from commit bc22fbcaa0)

Co-authored-by: Felix Fontein <felix@fontein.de>
2026-03-20 08:06:18 +01:00
patchback[bot]
e7e9cf97e5
[PR #11536/dae2157b backport][stable-12] merge_variables: extended merge capabilities added (#11626)
merge_variables: extended merge capabilities added (#11536)

* merge_variables: extended merge capabilities added

This extension gives you more control over the variable merging process of the lookup plugin `merge_variables`. It closes the gap between Puppet's Hiera merging capabilities and the limitations of Ansible's default variable plugin `host_group_vars` regarding fragment-based value definition. You can now decide which merge strategy should be applied to dicts, lists, and other types. Furthermore, you can specify a merge strategy that should be applied in case of type conflicts.

The default behavior of the plugin has been preserved so that it is fully backward-compatible with the already implemented state.



* Update changelogs/fragments/11536-merge-variables-extended-merging-capabilities.yml



* Update plugins/lookup/merge_variables.py



* Periods added at the end of each choice description



* Update plugins/lookup/merge_variables.py



* ref: follow project standard for choice descriptions



* ref: more examples added and refactoring



* Update plugins/lookup/merge_variables.py



* ref: some more comments to examples added



* fix: unused import removed



* ref: re-add "merge" to strategy map



* Update comments



* Specification of transformations solely as string



* Comments updated



* ref: `append_rp` and `prepend_rp` removed
feat: options dict for list transformations re-added
feat: allow setting `keep` for dedup transformation with possible values: `first` (default) and `last`



* ref: improve options documentation



* ref: documentation improved, avoiding words like newer or older in merge description



* Update plugins/lookup/merge_variables.py



* ref: "prio" replaced by "dict"



* feat: two integration tests added



---------





(cherry picked from commit dae2157bb7)

Signed-off-by: Fiehe Christoph  <c.fiehe@eurodata.de>
Co-authored-by: Christoph Fiehe <cfiehe@users.noreply.github.com>
Co-authored-by: Fiehe Christoph <c.fiehe@eurodata.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Mark <40321020+m-a-r-k-e@users.noreply.github.com>
2026-03-19 22:59:56 +01:00
patchback[bot]
deb9d63783
[PR #11585/25b5655b backport][stable-12] keycloak_authentication_v2: verify providerIds (fix 11583) (#11619)
keycloak_authentication_v2: verify providerIds (fix 11583) (#11585)

* 11583 verify providerIds in keycloak_authentication_v2

* 11583 code cleanup

---------


(cherry picked from commit 25b5655be7)

Co-authored-by: thomasbargetz <thomas.bargetz@gmail.com>
Co-authored-by: Thomas Bargetz <thomas.bargetz@rise-world.com>
2026-03-18 18:14:37 +01:00
patchback[bot]
f06bcabeed
[PR #11601/e7a253b4 backport][stable-12] keycloak_authentication_v2: covers idp flow overrides in safe swap (fix 11582) (#11617)
keycloak_authentication_v2: covers idp flow overrides in safe swap (fix 11582) (#11601)

* 11582 keycloak_authentication_v2 covers idp flow overrides in safe swap

* 11583 update documentation and comments

(cherry picked from commit e7a253b4c9)

Co-authored-by: thomasbargetz <thomas.bargetz@gmail.com>
2026-03-18 07:05:10 +01:00
patchback[bot]
5106aa8065
[PR #11557/a69f7e60 backport][stable-12] add module keycloak_authentication_v2 (#11579)
add module keycloak_authentication_v2 (#11557)

* add module keycloak_authentication_v2

* skip sanity checks, because the run into a recursion

* 11556 fix documentation

* 11556 limit the depth of nested flows to 4

* 11556 code cleanup

* 11556 code cleanup - add type hints

* 11556 add keycloak_authentication_v2 to meta/runtime.yml

* 11556 code cleanup - remove custom type hints

* 11556 code cleanup - none checks

* Update plugins/modules/keycloak_authentication_v2.py



* Update plugins/modules/keycloak_authentication_v2.py



* 11556 code cleanup - remove document starts

* 11556 cleanup

* 11556 cleanup

---------




(cherry picked from commit a69f7e60b4)

Co-authored-by: thomasbargetz <thomas.bargetz@gmail.com>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Thomas Bargetz <thomas.bargetz@rise-world.com>
2026-03-13 07:41:56 +01:00