1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2026-04-17 17:31:31 +00:00
Commit graph

2389 commits

Author SHA1 Message Date
Alexei Znamensky
5f0a9bba01
Ensure standard locale in run_command (group5-batch10) (#11781)
* Fix locale env vars in run_command() calls for group5 batch10 modules

Set LANGUAGE=C and LC_ALL=C via run_command_environ_update to ensure
locale-independent output parsing in imgadm, smartos_image_info,
syspatch, portage, portinstall, xbps, and lbu.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add changelog fragment for PR #11781

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-13 07:58:52 +12:00
Alexei Znamensky
fe9e728401
Ensure standard locale in run_command (group5-batch11) (#11782)
* Fix locale env vars in run_command() calls for group5 batch11 modules

Set LANGUAGE=C and LC_ALL=C via run_command_environ_update to ensure
locale-independent output parsing in apt_repo, easy_install, pear,
and zypper_repository_info.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add changelog fragment for PR #11782

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-13 07:58:18 +12:00
Alexei Znamensky
9cadc94793
Ensure standard locale in run_command (group5-batch12) (#11783)
* Fix locale env vars in run_command() calls for group5 batch12 modules

Set LANGUAGE=C and LC_ALL=C via run_command_environ_update to ensure
locale-independent output parsing in bower, bundler, homebrew_tap,
and kibana_plugin.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add changelog fragment for PR #11783

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-13 07:57:52 +12:00
Alexei Znamensky
3f7ae1999e
Ensure standard locale in run_command (group5-batch13) (#11784)
* Fix locale env vars in run_command() calls for group5 batch13 modules

Set LANGUAGE=C and LC_ALL=C via run_command_environ_update to ensure
locale-independent output parsing in awall, openwrt_init, and
pip_package_info.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add changelog fragment for PR #11784

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-13 07:57:21 +12:00
Alexei Znamensky
95e2b7716a
Ensure standard locale in run_command (group5-batch16) (#11787)
* Fix locale env vars in run_command() calls for group5 batch16 (btrfs module_utils)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add changelog fragment for PR #11787

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-13 07:56:51 +12:00
Alexei Znamensky
269a5ed85e
Ensure standard locale in run_command (group5-batch14) (#11785)
* Fix locale env vars in run_command() calls for group5 batch14 modules

Set LANGUAGE=C and LC_ALL=C via run_command_environ_update to ensure
locale-independent output parsing in bzr, lldp, and ohai.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add changelog fragment for PR #11785

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-13 07:56:14 +12:00
Alexei Znamensky
37653bc7f9
Ensure standard locale in run_command (group5-batch15) (#11786)
* Fix locale env vars in run_command() calls for group5 batch15 modules

Set LANGUAGE=C and LC_ALL=C via run_command_environ_update to ensure
locale-independent output parsing in keyring_info, onepassword_info,
and riak.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add changelog fragment for PR #11786

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-13 07:55:43 +12:00
Alexei Znamensky
b40608a39d
Ensure standard locale in run_command (group5-batch1) (#11768)
* ensure standard locale in run_command (group5-batch1)

Adds ``LANGUAGE=C`` and ``LC_ALL=C`` to ``run_command()`` calls in modules
that parse command output, to prevent locale-dependent parsing failures on
non-C-locale systems.

Modules updated: apache2_module, composer, facter_facts, known_hosts module
utils, lvg_rename, macports, modprobe, monit, open_iscsi, pacman_key,
rhsm_release, rpm_ostree_pkg, sysupgrade.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* add changelog fragment for group5-batch1

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Remove lvg_rename from locale fix — superseded by PR #11746

PR #11746 (feat: use CmdRunner for LVM commands) takes priority and
will handle lvg_rename.py via CmdRunner refactor. Removing our
run_command_environ_update change to avoid conflict.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-13 07:50:25 +12:00
Alexei Znamensky
f4f2bfe847
openbsd_pkg, sorcery: ensure standard locale in run_command (group4-batch2) (#11767)
* ensure standard locale in run_command (group4-batch2)

Adds ``LANGUAGE=C`` and ``LC_ALL=C`` to the ``environ_update`` passed to
``run_command()`` calls in modules that parse command output, to prevent
locale-dependent parsing failures on non-C-locale systems.

Modules updated: openbsd_pkg, sorcery.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* add changelog fragment for group4-batch2

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* add changelog fragment for group4-batch2

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 23:37:35 +12:00
Alexei Znamensky
2297a5c876
Ensure standard locale in run_command (group4-batch1) (#11765)
* ensure standard locale in run_command (group4)

Adds ``LANGUAGE=C`` and ``LC_ALL=C`` to the ``environ_update`` passed to
``run_command()`` calls in modules that parse command output, to prevent
locale-dependent parsing failures on non-C-locale systems.

Modules updated: dconf, pkgng, terraform.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* add changelog fragment for group4

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* add PR link to group4 changelog fragment

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix changelog fragment: rename with PR prefix, fix URL order

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 13:20:51 +02:00
Alexei Znamensky
6f12d93057
gem: use CmdRunner (#11733)
* gem: use `CmdRunner`

* add changelog frag

* gem: restore get_rubygems_path() helper to preserve executable splitting

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 13:12:26 +02:00
David Härdeman
bd7b361db1
nsupdate: fix GSS-TSIG support (#11712)
The fix for missing keyring initialization without TSIG auth in
PR #11461 put the initialization of "self.keyring" and "self.keyname"
in an else clause after checking if "key_name" is set.

The problem is that for "key_algorithm" == "gss-tsig":
a) "key_name" isn't set
b) self.keyring and self.keyname have already been initialized and
   will be discarded

This means that gss-tsig support is broken. Fix it by moving the
initialization of "self.keyring" and "self.keyname" to the top.
2026-04-12 13:09:31 +02:00
quasd
5eaa22b067
ipa_host: fix errors when disabling host (#11487)
* fix errors when disabling host

- Fix the logic to actually allow disabling hosts
- Fix the dict != string error when error does happen
- Add has_keytab to returned dicts to allow users see if host is disabled or not

* Add changelog-fragments

* Run formatters

* More formatting

* Remove feature, only fix the logic

* Update changelogs/fragments/11487-ipa-host-fix-disable.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update changelogs/fragments/11487-ipa-host-fix-disable.yml

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* Back to fstring

* Update plugins/modules/ipa_host.py

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* Use more Pythonic way to for if

* Nox

* Revert back to working if

* Simplify if

* Remove extra get

---------

Co-authored-by: quasd <1747330+quasd@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2026-04-12 13:08:28 +02:00
Alexei Znamensky
c7deda2ec7
java_cert: support proxy authentication from https_proxy env var (#11753)
* java_cert: support proxy authentication from https_proxy env var

When https_proxy is set with credentials (USER:PASSWORD@HOST:PORT),
pass the corresponding JVM proxy auth flags to keytool and clear the
JDK 8u111+ Basic auth tunneling restriction.

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

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* java_cert: add changelog fragment for PR #11753

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* java_cert: fix changelog fragment type to minor_changes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 10:55:02 +12:00
Alexei Znamensky
b780224d6d
mssql_script: only pass params to cursor.execute() when provided (#11754)
* mssql_script: only pass params to cursor.execute() when provided

Fixes #11699

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* mssql_script: add changelog fragment for PR #11754

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-08 19:36:39 +02:00
Alexei Znamensky
bdd3174563
nmcli: use get_best_parsable_locale() to support UTF-8 connection names (#11742)
* nmcli: start locale fix - normalize run_command environ to LANGUAGE=C, LC_ALL=C

Work in progress - issue #10384 (UTF-8 conn_name support) requires deeper
investigation beyond simple locale variable normalization.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* nmcli: use get_best_parsable_locale() to support UTF-8 connection names

Fixes issue where UTF-8 connection names (e.g. Chinese characters) were
corrupted to '????' when LC_ALL=C forced ASCII encoding, causing
connection_exists() to always return False for non-ASCII names.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* add changelog fragment for PR #11742

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-08 15:32:39 +02:00
Alexei Znamensky
e59888dd7e
Ensure standard locale in run_command (group3-batch3) (#11741)
* run_command locale group3 batch3: normalise to LANGUAGE=C, LC_ALL=C

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix changelog fragment: bugfixes, American English, separate code spans

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix changelog fragment: correct PR number (11741)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-08 15:21:58 +02:00
Alexei Znamensky
936ab2ea56
Ensure standard locale in run_command (group3-batch2) (#11740)
* run_command locale group3 batch2: normalise to LANGUAGE=C, LC_ALL=C

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix changelog fragment: bugfixes, American English, separate code spans

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix changelog fragment: correct PR number (11740)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* remove nmcli from batch2 - moved to dedicated branch

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-08 15:21:37 +02:00
Alexei Znamensky
c90b504626
Ensure standard locale in run_command (group3-batch1) (#11738)
* ensure standard locale in run_command (group3-batch1)

* add changelog frag

* fix changelog fragment: bugfixes, not minor_changes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix changelog fragment: American English, separate code spans per variable

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 19:16:56 +12:00
sedrubal
b2cd1b555e
Fix KeyError for 'dnsttl' (#11717)
* Fix KeyError for 'dnsttl'

I did not further dig into the code. However, since upgrading to the latest version of `community.general`, ansible fails with a weird error message "dnsttl" at a task where `community.general.ipa_dnsrecord` is called. After digging into the code a bit, I found out that it is a KeyError and caused by this line of code. I'm not sure, if it is safe to skip that line and not to set `result["dnsttl"]`.

* Add changelog fragment

* Adopt suggestion for changelogs/fragments/11717-fix-error-dnsttl.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2026-04-04 20:33:34 +02:00
Alexei Znamensky
2acb20bec2
opendj_backendprop: use CmdRunner (#11728)
* opendj_backendprop: use CmdRunner

* add changelog frag
2026-04-03 15:11:22 +02:00
Alexei Znamensky
08442186e6
xenserver_guest: fix code style caught by codeqa (#11721)
* xenserver_guest: fix code style caught by codeqa

* add changelog frag
2026-04-03 14:37:48 +13:00
vladi-k
d956fb8197
jira - add cloud option to support Jira Cloud search endpoint (#11701)
* jira - add cloud option to support Jira Cloud search endpoint

Jira Cloud has removed the legacy GET /rest/api/2/search endpoint
(see https://developer.atlassian.com/changelog/#CHANGE-2046).

Add a new boolean `cloud` option (default false). When set to true,
the search operation uses the replacement /rest/api/2/search/jql
endpoint. The default remains false to preserve backward compatibility
for Jira Data Center / Server users.

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

Assisted-by AI: Claude 4.6 Opus (Anthropic) via Cursor IDE

Signed-off-by: Vladimir Vasilev <vvasilev@redhat.com>

* Adding PR link to changelogs/fragments/10786-jira-cloud-search.yml

Signed-off-by: Vladimir Vasilev <vvasilev@redhat.com>

* Adding note about future usage of cloud parameter

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Signed-off-by: Vladimir Vasilev <vvasilev@redhat.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
2026-04-01 06:57:27 +02:00
Alexei Znamensky
bc98b2aa3b
pipx, pipx_info: refactor (#11640)
* pipx, pipx_info: refactor

* add changelog frag
2026-03-31 07:08:50 +02:00
Alexei Znamensky
8568594453
flatpak: fix removal of runtimes (#11688)
* flatpak: fix removal of runtimes (issue #553)

The module was using `--app` when listing installed flatpaks for name
matching, which excluded runtimes from the results. This caused removal
of runtimes to fail even though `flatpak_exists()` correctly detected
them as installed (it lists both apps and runtimes).

Fix by dropping `--app` from the three matching functions so that both
apps and runtimes are searchable.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* flatpak: add changelog fragment for PR #11688

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 18:08:41 +13:00
Laurenz
5a27cbdec6
snmp_facts: update to pysnmp >= 7.1 async API (#11683)
* snmp_facts: update to pysnmp >= 7.1 async API

Migrate snmp_facts module from the removed pysnmp oneliner API
(pysnmp.entity.rfc3413.oneliner.cmdgen) to the current async API
(pysnmp.hlapi.v3arch.asyncio).

This fixes compatibility with Python 3.12+ and pysnmp >= 7.1.

Closes #8852

* Continue to support pysnmp 6.2.4

* Correct PR number

* sort imports

* shorter changelog

* move `SNMP_DEFAULT_PORT`

* Add `notes:`

* Become an author

* use `deps.declare`

* add lalten to BOTMETA
2026-03-30 21:50:49 +02:00
Alexei Znamensky
47ef322a5f
ipa module utils: detect and fail on errors in API response failed field (#11698)
* ipa_* modules: detect and fail on errors in API response ``failed`` field

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

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix chglog frag

* adjust chglog frag

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 07:41:10 +13:00
Alexei Znamensky
a4bba99203
composer - make create-project idempotent, add force parameter (#11689)
* composer - make create-project idempotent, add force parameter

Adds a check for an existing composer.json in working_dir before running
create-project, so the task is skipped rather than failing on second run.
A new force parameter allows bypassing this check when needed.

Fixes #725.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* changelog fragment: rename to PR number, add PR URL

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 08:17:23 +13:00
Alexei Znamensky
e2c06f2d12
pacman: add root, cachedir, and config options (#11681)
* pacman: add root, cachedir, and config options

Add three dedicated options -- O(root), O(cachedir), and O(config) --
so that all pacman commands get the corresponding global flags
(--root, --cachedir, --config) prepended, enabling use cases such as
installing packages into a chroot or alternative root directory
(similar to pacstrap).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* add changelog frag

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 11:53:11 +13:00
Alexei Znamensky
d48a066821
mssql_*: named instances (#11664)
* mssql_*: named instances

* add changelog frag

* fix changelog

* Update plugins/modules/mssql_db.py

* Update plugins/modules/mssql_db.py

* Update plugins/modules/mssql_script.py

* Update plugins/modules/mssql_script.py

* fix backslashes

* Update plugins/modules/mssql_db.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/mssql_script.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2026-03-24 18:51:02 +13:00
Alexei Znamensky
d6cb56c022
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.).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* change param from bool to str

* Apply suggestion from review

* Update plugins/modules/osx_defaults.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
2026-03-23 20:16:21 +01:00
Nils Bergmann
7c039918e0
keycloak_realm: Add support for setting first broker login flow (#11622)
* keycloak_realm: Add support for setting first broker login flow

* Update plugins/modules/keycloak_realm.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Add changelog fragment

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2026-03-23 20:07:11 +01:00
Alexei Znamensky
6d3ab1a80c
passwordstore lookup: update code meant for Python2 (#11655)
* passwordstore lookup: update code meant for Python2

* add changelog frag

* add check param to subprocess.run() to reinstate sanity
2026-03-23 20:06:50 +01:00
Ted W.
3c21ac961b
nmcli: fix setting_types() to properly handle routing_rules as a list type (#11635)
* Fix setting_types() to properly handle routing_rules as a list type

* Add changelog fragment for ipv6.routing-rules bugfix

* Update changelogs/fragments/11630-nmcli-ipv6-routing-rules.yml

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* Add PR URL to changelog fragment

---------

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2026-03-23 19:58:47 +01:00
Alexei Znamensky
4dad53abac
counter_enabled callback: honor display_ok_hosts setting (#11656)
* fix(callback/counter_enabled): honor display_ok_hosts setting

* add changelog frag

* Update changelogs/fragments/11656-counter_enabled-display_ok_hosts.yml
2026-03-23 19:57:48 +01:00
Alexei Znamensky
25a4f568f9
puppet: deprecate param timeout (#11658)
* puppet: deprecate param timeout

* add changelog frag

* Update changelogs/fragments/11658-puppet-timeout-deprecation.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2026-03-23 19:57:01 +01:00
Alexei Znamensky
d48e767e1e
open_iscsi: support IPv6 portals (#11657)
* fix(modules/open_iscsi): support IPv6 portals

* add changelog frag
2026-03-23 06:47:40 +01:00
zr0dy
69b9a3f8e2
supervisorctl: skip no such process for all (#11632)
* feat(supervisorctl): skip no such process for all

Do not fail, if there are no matching processes for name=all

* feat(supervisorctl): add changelog

* Update 11621-skip-no_such_process-for-name-all.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* fix(supervisorctl): replace single quotes to double

---------

Co-authored-by: zr0dy <zr0dy@mail.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
2026-03-22 20:23:22 +01:00
Alexei Znamensky
8d403dde5b
ansible_galaxy_install: new param executable (#11646)
* ansible_galaxy_install: new param executable

* add changelog frag
2026-03-22 20:21:54 +01:00
Alexei Znamensky
a09e879ff2
xfconf: fix boolean return values (#11645)
* xfconf: fix boolean return values

* add changelog frag
2026-03-23 08:18:03 +13:00
Christoph Fiehe
dae2157bb7
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.

Signed-off-by: Fiehe Christoph  <c.fiehe@eurodata.de>

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

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/lookup/merge_variables.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Periods added at the end of each choice description

Signed-off-by: Fiehe Christoph  <c.fiehe@eurodata.de>

* Update plugins/lookup/merge_variables.py

Co-authored-by: Mark <40321020+m-a-r-k-e@users.noreply.github.com>

* ref: follow project standard for choice descriptions

Signed-off-by: Fiehe Christoph  <c.fiehe@eurodata.de>

* ref: more examples added and refactoring

Signed-off-by: Fiehe Christoph  <c.fiehe@eurodata.de>

* Update plugins/lookup/merge_variables.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* ref: some more comments to examples added

Signed-off-by: Fiehe Christoph  <c.fiehe@eurodata.de>

* fix: unused import removed

Signed-off-by: Fiehe Christoph  <c.fiehe@eurodata.de>

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

Signed-off-by: Fiehe Christoph  <c.fiehe@eurodata.de>

* Update comments

Signed-off-by: Fiehe Christoph  <c.fiehe@eurodata.de>

* Specification of transformations solely as string

Signed-off-by: Fiehe Christoph  <c.fiehe@eurodata.de>

* Comments updated

Signed-off-by: Fiehe Christoph  <c.fiehe@eurodata.de>

* 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`

Signed-off-by: Fiehe Christoph  <c.fiehe@eurodata.de>

* ref: improve options documentation

Signed-off-by: Fiehe Christoph  <c.fiehe@eurodata.de>

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

Signed-off-by: Fiehe Christoph  <c.fiehe@eurodata.de>

* Update plugins/lookup/merge_variables.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* ref: "prio" replaced by "dict"

Signed-off-by: Fiehe Christoph  <c.fiehe@eurodata.de>

* feat: two integration tests added

Signed-off-by: Fiehe Christoph  <c.fiehe@eurodata.de>

---------

Signed-off-by: Fiehe Christoph  <c.fiehe@eurodata.de>
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:45:44 +01:00
Adam D
d8bb637cba
nictagadm: don't call is_valid_mac when etherstub is true (#11589)
* nictagadm: don't call is_valid_mac when etherstub is true

* Add changelog fragment

* update changelog fragment

* Shorten changelog fragement

* Update changelogs/fragments/nictagadm-etherstub-nonetype-bugfix.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2026-03-18 06:50:23 +01:00
Alexei Znamensky
cc24e57307
monit: deprecate support for monit <= 5.18 (#11254)
* monit: deprecate support for monit <= 5.18

* add additional runs for checking version

* add changelog frag

* bump deprecation for 14.0.0
2026-03-16 20:04:05 +01:00
Alexei Znamensky
ce5d5622b9
replace list(map(...)) with comprehension (#11590)
* replace `list(map(...))` with comprehension

* add changelog frag
2026-03-14 08:43:23 +01:00
Dor Breger
3194ed9d36
ipa_dnsrecord fix error when using dnsttl and nothing to change (#11559)
* ipa_dnsrecord fix error when using dnsttl and nothing to change

* Add changelog and bump version

* ipa_dnsrecord list comp in dnsrecord_find

Co-authored-by: Felix Fontein <felix@fontein.de>

* 11559 changelog fragment fix capitalization

* ipa_dnsrecord dnsrecord_find ttl transform to integer always

* ipa_dnsrecord dnsrecord_find method refactor

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2026-03-13 21:01:50 +01:00
Felix Fontein
ccc974e2fa
Consolidate changelog fragments (#11576)
Consolidate changelog fragments.
2026-03-13 07:42:00 +01:00
Emmanuel Benoît
0e4783dcc3
Binary attribute support for ldap_attrs and ldap_entry (#11558)
* Binary attribute support for `ldap_attrs` and `ldap_entry`

This commit implements binary attribute support for the `ldap_attrs` and
`ldap_entry` plugins. This used to be "supported" before, because it was
possible to simply load arbitrary binary data into the attributes, but
no longer functions on recent Ansible versions.

In order to support binary attributes, this commit introduces two new
options to both plugins:

  * `binary_attributes`, a list of attribute names which will be
    considered as being binary,
  * `honor_binary_option`, a flag which is true by default and will
    handle all attributes that include the binary option (see RFC 4522)
    as binary automatically.

When an attribute is determined to be binary through either of these
means, the plugin will assume that the attribute's value is in fact
base64-encoded. It will proceed to decode it and handle it accordingly.

While changes to `ldap_entry` are pretty straightforward, more work was
required on `ldap_attrs`.

  * First, because both `present` and `absent` state require checking
    the attribute's current values and normally do that using LDAP search
    queries for each value, a specific path for binary attributes was
    added that loads and caches all values for the attribute and compares
    the values in the Python code.
  * In addition, generating both the modlist and the diff output require
    re-encoding binary attributes' values into base64 so it can be
    transmitted back to Ansible.

* Various fixes on `ldap_attrs`/`ldap_entry` from PR 11558 discussion

* Rename `honor_binary_option` to `honor_binary`

* Add some general documentation about binary attributes

* Fix changelog fragment after renaming one of the new options

* Add examples of `honor_binary` and `binary_attributes`

* Add note that indicates that binary values are supported from 12.5.0+

* Fix punctuation

* Add links to RFC 4522 to `ldap_attrs` and `ldap_entry`

* Catch base64 decoding errors

* Rephrase changelog fragment

* Use f-string to format the encoding error message
2026-03-12 21:31:37 +01:00
Felix Fontein
55dae7c2a6
doas: allow to explicitly enable pipelining (#11481)
* Allow to explicitly enable pipelining.

* Add markup.
2026-03-12 21:13:02 +01:00
Alexei Znamensky
f9e583dae2
fix: remove HTTPStatus constructs introduced in Python 3.11 (#11573)
* fix: remove HTTPStatus constructs introduced in Python 3.11

* add changelog frag
2026-03-12 20:46:55 +01:00
Alexei Znamensky
7436c0c9ba
replace literal HTTP codes with http.HTTPStatus (#11561)
* replace literal HTTP codes with http.HTTPStatus

* add changelog frag
2026-03-10 22:03:55 +01:00