Topics
This changelog describes changes after version 5.0.0.
This is a pre-release for the upcoming 6.0.0 major release. The main objective of this pre-release is to make it possible to test the large stuctural changes by flattening the directory structure. See the corresponding entry in the changelog for details.
- The internal structure of the collection was changed for modules and action plugins. These no longer live in a directory hierarchy ordered by topic, but instead are now all in a single (flat) directory. This has no impact on users assuming they did not use internal FQCNs. These will still work, but result in deprecation warnings. They were never officially supported and thus the redirects are kept as a courtsey, and this is not labelled as a breaking change. Note that for example the Ansible VScode plugin started recommending these internal names. If you followed its recommendation, you will now have to change back to the short names to avoid deprecation warnings, and potential errors in the future as these redirects will be removed in community.general 9.0.0 (ansible-collections#5461).
- newrelic_deployment - removed New Relic v1 API, added support for v2 API (ansible-collections#5341).
- Added MIT license as
LICENSES/MIT.txt
for tests/unit/plugins/modules/packaging/language/test_gem.py (ansible-collections#5065). - All software licenses are now in the
LICENSES/
directory of the collection root (ansible-collections#5065, ansible-collections#5079, ansible-collections#5080, ansible-collections#5083, ansible-collections#5087, ansible-collections#5095, ansible-collections#5098, ansible-collections#5106). - ModuleHelper module utils - added property
verbosity
to base class (ansible-collections#5035). - ModuleHelper module utils - improved
ModuleHelperException
, usingto_native()
for the exception message (ansible-collections#4755). - The collection repository conforms to the REUSE specification except for the changelog fragments (ansible-collections#5138).
- ali_instance - minor refactor when checking for installed dependency (ansible-collections#5240).
- ali_instance_info - minor refactor when checking for installed dependency (ansible-collections#5240).
- alternatives - add
state=absent
to be able to remove an alternative (ansible-collections#4654). - alternatives - add
subcommands
parameter (ansible-collections#4654). - ansible_galaxy_install - minor refactoring using latest
ModuleHelper
updates (ansible-collections#4752). - apk - add
world
parameter for supporting a custom world file (ansible-collections#4976). - bitwarden lookup plugin - add option
search
to search for other attributes than name (ansible-collections#5297). - cartesian lookup plugin - start using Ansible's configuration manager to parse options (ansible-collections#5440).
- cmd_runner module util - added parameters
check_mode_skip
andcheck_mode_return
toCmdRunner.context()
, so that the command is not executed whencheck_mode=True
(ansible-collections#4736). - cmd_runner module utils - add
__call__
method to invoke context (ansible-collections#4791). - consul - adds
ttl
parameter for session (ansible-collections#4996). - consul - minor refactoring (ansible-collections#5367).
- consul_session - adds
token
parameter for session (ansible-collections#5193). - cpanm - using
do_raise()
to raise exceptions inModuleHelper
derived modules (ansible-collections#4674). - credstash lookup plugin - start using Ansible's configuration manager to parse options (ansible-collections#5440).
- dependent lookup plugin - start using Ansible's configuration manager to parse options (ansible-collections#5440).
- dig lookup plugin - add option
fail_on_error
to allow stopping execution on lookup failures (ansible-collections#4973). - dig lookup plugin - start using Ansible's configuration manager to parse options. All documented options can now also be passed as lookup parameters (ansible-collections#5440).
- dnstxt lookup plugin - start using Ansible's configuration manager to parse options (ansible-collections#5440).
- filetree lookup plugin - start using Ansible's configuration manager to parse options (ansible-collections#5440).
- flattened lookup plugin - start using Ansible's configuration manager to parse options (ansible-collections#5440).
- gitlab module util - minor refactor when checking for installed dependency (ansible-collections#5259).
- gitlab_branch - minor refactor when checking for installed dependency (ansible-collections#5259).
- gitlab_deploy_key - minor refactor when checking for installed dependency (ansible-collections#5259).
- gitlab_group - minor refactor when checking for installed dependency (ansible-collections#5259).
- gitlab_group_members - minor refactor when checking for installed dependency (ansible-collections#5259).
- gitlab_group_variable - minor refactor when checking for installed dependency (ansible-collections#5259).
- gitlab_hook - minor refactor when checking for installed dependency (ansible-collections#5259).
- gitlab_hook - minor refactoring (ansible-collections#5271).
- gitlab_project - minor refactor when checking for installed dependency (ansible-collections#5259).
- gitlab_project_members - minor refactor when checking for installed dependency (ansible-collections#5259).
- gitlab_project_variable - minor refactor when checking for installed dependency (ansible-collections#5259).
- gitlab_protected_branch - minor refactor when checking for installed dependency (ansible-collections#5259).
- gitlab_runner - minor refactor when checking for installed dependency (ansible-collections#5259).
- gitlab_user - minor refactor when checking for installed dependency (ansible-collections#5259).
- hiera lookup plugin - start using Ansible's configuration manager to parse options. The Hiera executable and config file can now also be passed as lookup parameters (ansible-collections#5440).
- homebrew, homebrew_tap - added Homebrew on Linux path to defaults (ansible-collections#5241).
- keycloak_* modules - add
http_agent
parameter with default valueAnsible
(ansible-collections#5023). - keyring lookup plugin - start using Ansible's configuration manager to parse options (ansible-collections#5440).
- lastpass - use config manager for handling plugin options (ansible-collections#5022).
- linode inventory plugin - simplify option handling (ansible-collections#5438).
- listen_ports_facts - add new
include_non_listening
option which adds-a
option tonetstat
andss
. This shows both listening and non-listening (for TCP this means established connections) sockets, and returnsstate
andforeign_address
(ansible-collections#4762, ansible-collections#4953). - lmdb_kv lookup plugin - start using Ansible's configuration manager to parse options (ansible-collections#5440).
- lxc_container - minor refactoring (ansible-collections#5358).
- machinectl become plugin - can now be used with a password from another user than root, if a polkit rule is present (ansible-collections#4849).
- machinectl become plugin - combine the success command when building the become command to be consistent with other become plugins (ansible-collections#5287).
- manifold lookup plugin - start using Ansible's configuration manager to parse options (ansible-collections#5440).
- maven_artifact - add a new
unredirected_headers
option that can be used with ansible-core 2.12 and above. The default value is to not useAuthorization
andCookie
headers on redirects for security reasons. With ansible-core 2.11, all headers are still passed on for redirects (ansible-collections#4812). - mksysb - using
do_raise()
to raise exceptions inModuleHelper
derived modules (ansible-collections#4674). - nagios - minor refactoring on parameter validation for different actions (ansible-collections#5239).
- netcup_dnsapi - add
timeout
parameter (ansible-collections#5301). - nmcli - add
transport_mode
configuration for Infiniband devices (ansible-collections#5361). - nmcli - add bond option
xmit_hash_policy
to bond options (ansible-collections#5148). - nmcli - adds
vpn
type and parameter for supporting VPN with service type L2TP and PPTP (ansible-collections#4746). - nmcli - honor IP options for VPNs (ansible-collections#5228).
- opentelemetry callback plugin - allow configuring opentelementry callback via config file (ansible-collections#4916).
- opentelemetry callback plugin - send logs. This can be disabled by setting
disable_logs=false
(ansible-collections#4175). - pacman - added parameters
reason
andreason_for
to set/change the install reason of packages (ansible-collections#4956). - passwordstore lookup plugin - allow options to be passed lookup options instead of being part of the term strings (ansible-collections#5444).
- passwordstore lookup plugin - allow using alternative password managers by detecting wrapper scripts, allow explicit configuration of pass and gopass backends (ansible-collections#4766).
- passwordstore lookup plugin - improve error messages to include stderr (ansible-collections#5436)
- pipx - added state
latest
to the module (ansible-collections#5105). - pipx - changed implementation to use
cmd_runner
(ansible-collections#5085). - pipx - module fails faster when
name
is missing for statesupgrade
andreinstall
(ansible-collections#5100). - pipx - using
do_raise()
to raise exceptions inModuleHelper
derived modules (ansible-collections#4674). - pipx module utils - created new module util
pipx
providing acmd_runner
specific for thepipx
module (ansible-collections#5085). - portage - add knobs for Portage's
--backtrack
and--with-bdeps
options (ansible-collections#5349). - portage - use Portage's python module instead of calling gentoolkit-provided program in shell (ansible-collections#5349).
- proxmox inventory plugin - added new flag
qemu_extended_statuses
and new groups<group_prefix>prelaunch
,<group_prefix>paused
. They will be populated only whenwant_facts=true
,qemu_extended_statuses=true
and only forQEMU
machines (ansible-collections#4723). - proxmox inventory plugin - simplify option handling code (ansible-collections#5437).
- proxmox module utils, the proxmox* modules - add
api_task_ok
helper to standardize API task status checks across all proxmox modules (ansible-collections#5274). - proxmox_kvm - allow
agent
argument to be a string (ansible-collections#5107). - proxmox_snap - add
unbind
param to support snapshotting containers with configured mountpoints (ansible-collections#5274). - puppet - adds
confdir
parameter to configure a custom confir location (ansible-collections#4740). - redfish - added new command GetVirtualMedia, VirtualMediaInsert and VirtualMediaEject to Systems category due to Redfish spec changes the virtualMedia resource location from Manager to System (ansible-collections#5124).
- redfish_config - add
SetSessionService
to set default session timeout policy (ansible-collections#5008). - redfish_info - add
GetManagerInventory
to report list of Manager inventory information (ansible-collections#4899). - seport - added new argument
local
(ansible-collections#5203) - snap - using
do_raise()
to raise exceptions inModuleHelper
derived modules (ansible-collections#4674). - sudoers - will attempt to validate the proposed sudoers rule using visudo if available, optionally skipped, or required (ansible-collections#4794, ansible-collections#4745).
- terraform - adds capability to handle complex variable structures for
variables
parameter in the module. This must be enabled with the newcomplex_vars
parameter (ansible-collections#4797). - terraform - run
terraform init
with-no-color
not to mess up the stdout of the task (ansible-collections#5147). - wdc_redfish_command - add
IndicatorLedOn
andIndicatorLedOff
commands forChassis
category (ansible-collections#5059). - wdc_redfish_command - add
PowerModeLow
andPowerModeNormal
commands forChassis
category (ansible-collections#5145). - xfconf - add
stdout
,stderr
andcmd
to the module results (ansible-collections#5037). - xfconf - changed implementation to use
cmd_runner
(ansible-collections#4776). - xfconf - use
do_raise()
instead of defining custom exception class (ansible-collections#4975). - xfconf - using
do_raise()
to raise exceptions inModuleHelper
derived modules (ansible-collections#4674). - xfconf module utils - created new module util
xfconf
providing acmd_runner
specific forxfconf
modules (ansible-collections#4776). - xfconf_info - changed implementation to use
cmd_runner
(ansible-collections#4776). - xfconf_info - use
do_raise()
instead of defining custom exception class (ansible-collections#4975). - znode - possibility to use ZooKeeper ACL authentication (ansible-collections#5306).
- newrelic_deployment -
revision
is required for v2 API (ansible-collections#5341).
- ArgFormat module utils - deprecated along
CmdMixin
, in favor of thecmd_runner_fmt
module util (ansible-collections#5370). - CmdMixin module utils - deprecated in favor of the
CmdRunner
module util (ansible-collections#5370). - CmdModuleHelper module utils - deprecated in favor of the
CmdRunner
module util (ansible-collections#5370). - CmdStateModuleHelper module utils - deprecated in favor of the
CmdRunner
module util (ansible-collections#5370). - cmd_runner module utils - deprecated
fmt
in favour ofcmd_runner_fmt
as the parameter format object (ansible-collections#4777). - django_manage - support for Django releases older than 4.1 has been deprecated and will be removed in community.general 9.0.0 (ansible-collections#5400).
- django_manage - support for the commands
cleanup
,syncdb
andvalidate
that have been deprecated in Django long time ago will be removed in community.general 9.0.0 (ansible-collections#5400). - django_manage - the behavior of "creating the virtual environment when missing" is being deprecated and will be removed in community.general version 9.0.0 (ansible-collections#5405).
- gconftool2 - deprecates
state=get
in favor of using the modulegconftool2_info
(ansible-collections#4778). - lxc_container - the module will no longer make any effort to support Python 2 (ansible-collections#5304).
- newrelic_deployment -
appname
andenvironment
are no longer valid options in the v2 API. They will be removed in community.general 7.0.0 (ansible-collections#5341). - proxmox - deprecated the current
unprivileged
default value, will be changed totrue
in community.general 7.0.0 (https://github.com/pull/5224). - xfconf - deprecated parameter
disable_facts
, as since version 4.0.0 it only allows valuetrue
(ansible-collections#4520).
- bitbucket* modules -
username
is no longer an alias ofworkspace
, but ofuser
(ansible-collections#5326). - gem - the default of the
norc
option changed fromfalse
totrue
(ansible-collections#5326). - gitlab_group_members -
gitlab_group
must now always contain the full path, and no longer just the name or path (ansible-collections#5326). - keycloak_authentication - the return value
flow
has been removed. Useend_state
instead (ansible-collections#5326). - keycloak_group - the return value
group
has been removed. Useend_state
instead (ansible-collections#5326). - lxd_container - the default of the
ignore_volatile_options
option changed fromtrue
tofalse
(ansible-collections#5326). - mail callback plugin - the
sender
option is now required (ansible-collections#5326). - module_helper module utils - remove the
VarDict
attribute fromModuleHelper
. ImportVarDict
fromansible_collections.community.general.plugins.module_utils.mh.mixins.vars
instead (ansible-collections#5326). - proxmox inventory plugin - the default of the
want_proxmox_nodes_ansible_host
option changed fromtrue
tofalse
(ansible-collections#5326). - vmadm - the
debug
option has been removed. It was not used anyway (ansible-collections#5326).
- Include
PSF-license.txt
file forplugins/module_utils/_mount.py
. - Include
simplified_bsd.txt
license file for various module utils, thelxca_common
docs fragment, and theutm_utils
unit tests. - alternatives - do not set the priority if the priority was not set by the user (ansible-collections#4810).
- alternatives - only pass subcommands when they are specified as module arguments (ansible-collections#4803, ansible-collections#4804, ansible-collections#4836).
- alternatives - when
subcommands
is specified,link
must be given for every subcommand. This was already mentioned in the documentation, but not enforced by the code (ansible-collections#4836). - apache2_mod_proxy - avoid crash when reporting inability to parse balancer_member_page HTML caused by using an undefined variable in the error message (ansible-collections#5111).
- archive - avoid crash when
lzma
is not present andformat
is notxz
(ansible-collections#5393). - cmd_runner module utils - fix bug caused by using the
command
variable instead ofself.command
when looking for binary path (ansible-collections#4903). - consul - fixed bug introduced in PR 4590 (ansible-collections#4680).
- credstash lookup plugin - pass plugin options to credstash for all terms, not just for the first (ansible-collections#5440).
- dig lookup plugin - add option to return empty result without empty strings, and return empty list instead of
NXDOMAIN
(ansible-collections#5439, ansible-collections#5428). - dig lookup plugin - fix evaluation of falsy values for boolean parameters
fail_on_error
andretry_servfail
(ansible-collections#5129). - dnsimple_info - correctly report missing library as
requests
and notanother_library
(ansible-collections#5111). - dnstxt lookup plugin - add option to return empty result without empty strings, and return empty list instead of
NXDOMAIN
(ansible-collections#5457, ansible-collections#5428). - dsv lookup plugin - do not ignore the
tld
parameter (ansible-collections#4911). - filesystem - handle
fatresize --info
output lines without:
(ansible-collections#4700). - filesystem - improve error messages when output cannot be parsed by including newlines in escaped form (ansible-collections#4700).
- funcd connection plugin - fix signature of
exec_command
(ansible-collections#5111). - ini_file - minor refactor fixing a python lint error (ansible-collections#5307).
- keycloak_realm - fix default groups and roles (ansible-collections#4241).
- keyring_info - fix the result from the keyring library never getting returned (ansible-collections#4964).
- ldap_attrs - fix ordering issue by ignoring the
{x}
prefix on attribute values (ansible-collections#977, ansible-collections#5385). - listen_ports_facts - removed leftover
EnvironmentError
. Theelse
clause had a wrong indentation. The check is now handled in thesplit_pid_name
function (ansible-collections#5202). - locale_gen - fix support for Ubuntu (ansible-collections#5281).
- lxc_container - the module has been updated to support Python 3 (ansible-collections#5304).
- lxd connection plugin - fix incorrect
inventory_hostname
inremote_addr
. This is needed for compatibility with ansible-core 2.13 (ansible-collections#4886). - manageiq_alert_profiles - avoid crash when reporting unknown profile caused by trying to return an undefined variable (ansible-collections#5111).
- nmcli - avoid changed status for most cases with VPN connections (ansible-collections#5126).
- nmcli - fix error caused by adding undefined module arguments for list options (ansible-collections#4373, ansible-collections#4813).
- nmcli - fix error when setting previously unset MAC address,
gsm.apn
orvpn.data
: current values were being normalized without checking if they might beNone
(ansible-collections#5291). - nmcli - fix int options idempotence (ansible-collections#4998).
- nsupdate - compatibility with NS records (ansible-collections#5112).
- nsupdate - fix silent failures when updating
NS
entries from Bind9 managed DNS zones (ansible-collections#4657). - opentelemetry callback plugin - support opentelemetry-api 1.13.0 that removed support for
_time_ns
(ansible-collections#5342). - osx_defaults - no longer expand
~
invalue
to the user's home directory, or expand environment variables (ansible-collections#5234, ansible-collections#5243). - packet_ip_subnet - fix error reporting in case of invalid CIDR prefix lengths (ansible-collections#5111).
- pacman - fixed name resolution of URL packages (ansible-collections#4959).
- passwordstore lookup plugin - fix
returnall
for gopass (ansible-collections#5027). - passwordstore lookup plugin - fix password store path detection for gopass (ansible-collections#4955).
- pfexec become plugin - remove superflous quotes preventing exe wrap from working as expected (ansible-collections#3671, ansible-collections#3889).
- pip_package_info - remove usage of global variable (ansible-collections#5111).
- pkgng - fix case when
pkg
fails when trying to upgrade all packages (ansible-collections#5363). - proxmox - fix error handling when getting VM by name when
state=absent
(ansible-collections#4945). - proxmox inventory plugin - fix crash when
enabled=1
is used in agent config string (ansible-collections#4910). - proxmox inventory plugin - fixed extended status detection for qemu (ansible-collections#4816).
- proxmox_kvm - fix
agent
parameter when boolean value is specified (ansible-collections#5198). - proxmox_kvm - fix error handling when getting VM by name when
state=absent
(ansible-collections#4945). - proxmox_kvm - fix exception when no
agent
argument is specified (ansible-collections#5194). - proxmox_kvm - fix wrong condition (ansible-collections#5108).
- proxmox_kvm - replace new condition with proper condition to allow for using
vmid
on update (ansible-collections#5206). - rax_clb_nodes - fix code to be compatible with Python 3 (ansible-collections#4933).
- redfish_command - fix the check if a virtual media is unmounted to just check for
instered= false
caused by Supermicro hardware that does not clear theImageName
(ansible-collections#4839). - redfish_command - the Supermicro Redfish implementation only supports the
image_url
parameter in the underlying API calls toVirtualMediaInsert
andVirtualMediaEject
. Any values set (or the defaults) forwrite_protected
orinserted
will be ignored (ansible-collections#4839). - redfish_info - fix to
GetChassisPower
to correctly report power information when multiple chassis exist, but not all chassis report power information (ansible-collections#4901). - redfish_utils module utils - centralize payload checking when performing modification requests to a Redfish service (ansible-collections#5210).
- redhat_subscription - fix unsubscribing on RHEL 9 (ansible-collections#4741).
- redhat_subscription - make module idempotent when
pool_ids
are used (ansible-collections#5313). - redis* modules - fix call to
module.fail_json
when failing because of missing Python libraries (ansible-collections#4733). - slack - fix incorrect channel prefix
#
caused by incomplete pattern detection by addingG0
andGF
as channel ID patterns (ansible-collections#5019). - slack - fix message update for channels which start with
CP
. Whenmessage-id
was passed it failed for channels which started withCP
because the#
symbol was added before thechannel_id
(ansible-collections#5249). - sudoers - ensure sudoers config files are created with the permissions requested by sudoers (0440) (ansible-collections#4814).
- sudoers - fix incorrect handling of
state: absent
(ansible-collections#4852). - tss lookup plugin - adding support for updated Delinea library (DelineaXPM/python-tss-sdk#9, ansible-collections#5151).
- virtualbox inventory plugin - skip parsing values with keys that have both a value and nested data. Skip parsing values that are nested more than two keys deep (ansible-collections#5332, ansible-collections#5348).
- xcc_redfish_command - for compatibility due to Redfish spec changes the virtualMedia resource location changed from Manager to System (ansible-collections#4682).
- xenserver_facts - fix broken
AnsibleModule
call that prevented the module from working at all (ansible-collections#5383). - xfconf - fix setting of boolean values (ansible-collections#4999, ansible-collections#5007).
- zfs - fix wrong quoting of properties (ansible-collections#4707, ansible-collections#4726).
- scaleway_function_namespace - Scaleway Function namespace management
- scaleway_function_namespace_info - Retrieve information on Scaleway Function namespace