Ansible 5 Porting Guide
Ansible 5 is based on Ansible-core 2.12.
We suggest you read this page along with the Ansible 5 Changelog to understand what updates you may need to make.
Playbook
When calling tasks and setting
async
, settingANSIBLE_ASYNC_DIR
underenvironment:
is no longer valid. Instead, use the shell configuration variableasync_dir
, for example by settingansible_async_dir
:
tasks:
- dnf:
name: '*'
state: latest
async: 300
poll: 5
vars:
ansible_async_dir: /path/to/my/custom/dir
The
undef()
function is added to the templating environment for creating undefined variables directly in a template. Optionally, a hint may be provided for variables which are intended to be overridden.
vars:
old: "{{ undef }}"
new: "{{ undef() }}"
new_with_hint: "{{ undef(hint='You must override this variable') }}"
Python Interpreter Discovery
The default value of INTERPRETER_PYTHON
changed to auto
. The list of Python interpreters in INTERPRETER_PYTHON_FALLBACK
changed to prefer Python 3 over Python 2. The combination of these two changes means the new default behavior is to quietly prefer Python 3 over Python 2 on remote hosts. Previously a deprecation warning was issued in situations where interpreter discovery would have used Python 3 but the interpreter was set to /usr/bin/python
.
INTERPRETER_PYTHON_FALLBACK
can be changed from the default list of interpreters by setting the ansible_interpreter_python_fallback
variable.
See interpreter discovery documentation for more details.
Command Line
Python 3.8 on the controller node is a hard requirement for this release. The command line scripts will not function with a lower Python version.
ansible-vault
no longer supportsPyCrypto
and requirescryptography
.
Deprecated
Python 2.6 on the target node is deprecated in this release.
ansible-core
2.13 will remove support for Python 2.6.Bare variables in conditionals:
when
conditionals no longer automatically parse string booleans such as"true"
and"false"
into actual booleans. Any variable containing a non-empty string is considered true. This was previously configurable with theCONDITIONAL_BARE_VARS
configuration option (and theANSIBLE_CONDITIONAL_BARE_VARS
environment variable). This setting no longer has any effect. Users can work around the issue by using the|bool
filter:
vars:
teardown: 'false'
tasks:
- include_tasks: teardown.yml
when: teardown | bool
- include_tasks: provision.yml
when: not teardown | bool
The
_remote_checksum()
method inActionBase
is deprecated. Any action plugin using this method should use_execute_remote_stat()
instead.
Modules
cron
now requiresname
to be specified in all cases.cron
no longer allows areboot
parameter. Usespecial_time: reboot
instead.hostname
- On FreeBSD, thebefore
result will no longer be"temporarystub"
if permanent hostname file does not exist. It will instead be""
(empty string) for consistency with other systems.hostname
- On OpenRC and Solaris based systems, thebefore
result will no longer be"UNKNOWN"
if the permanent hostname file does not exist. It will instead be""
(empty string) for consistency with other systems.pip
now uses thepip
Python module installed for the Ansible module’s Python interpreter, if available, unlessexecutable
orvirtualenv
were specified.
Modules removed
The following modules no longer exist:
No notable changes
Deprecation notices
No notable changes
Noteworthy module changes
No notable changes
Plugins
unique
filter with Jinja2 < 2.10 is case-sensitive and now raise coherently an error ifcase_sensitive=False
instead of whencase_sensitive=True
.Set theory filters (
intersect
,difference
,symmetric_difference
andunion
) are now case-sensitive. Explicitly usecase_sensitive=False
to keep previous behavior. Note: with Jinja2 < 2.10, the filters were already case-sensitive by default.password_hash
now usespasslib
defaults when an option is unspecified, for examplebcrypt_sha256
, now default to the “2b” format and if the “2a” format is required it must be specified.
Porting custom scripts
No notable changes
Networking
No notable changes
Porting Guide for v5.9.0
Added Collections
cisco.dnac (version 6.4.0)
community.sap_libs (version 1.1.0)
Major Changes
fortinet.fortios
Support FortiOS 7.0.2, 7.0.3, 7.0.4, 7.0.5.
Deprecated Features
The collection
community.sap
has been renamed tocommunity.sap_libs
. For now both collections are included in Ansible. The content incommunity.sap
will be replaced with deprecated redirects to the new collection in Ansible 7.0.0, and these redirects will eventually be removed from Ansible. Please update your FQCNs forcommunity.sap
.
community.docker
Support for Ansible 2.9 and ansible-base 2.10 is deprecated, and will be removed in the next major release (community.docker 3.0.0). Some modules might still work with these versions afterwards, but we will no longer keep compatibility code that was needed to support them (https://github.com/ansible-collections/community.docker/pull/361).
The dependency on docker-compose for Execution Environments is deprecated and will be removed in community.docker 3.0.0. The Python docker-compose library is unmaintained and can cause dependency issues. You can manually still install it in an Execution Environment when needed (https://github.com/ansible-collections/community.docker/pull/373).
Various modules - the default of
tls_hostname
that was supposed to be removed in community.docker 2.0.0 will now be removed in version 3.0.0 (https://github.com/ansible-collections/community.docker/pull/362).docker_stack - the return values
out
anderr
that were supposed to be removed in community.docker 2.0.0 will now be removed in version 3.0.0 (https://github.com/ansible-collections/community.docker/pull/362).
Porting Guide for v5.8.0
Added Collections
vmware.vmware_rest (version 2.1.5)
Breaking Changes
vmware.vmware_rest
The vmware_rest 2.0.0 support vSphere 7.0.2 onwards.
vcenter_vm_storage_policy - the format of the
disks
parameter has changed.vcenter_vm_storage_policy - the module has a new mandatory parameter:
vm_home
.
Major Changes
community.mysql
The community.mysql collection no longer supports
Ansible 2.9
andansible-base 2.10
. While we take no active measures to prevent usage and there are no plans to introduce incompatible code to the modules, we will stop testing againstAnsible 2.9
andansible-base 2.10
. Both will very soon be End of Life and if you are still using them, you should consider upgrading to thelatest Ansible / ansible-core 2.11 or later
as soon as possible (https://github.com/ansible-collections/community.mysql/pull/343).
community.postgresql
The community.postgresql collection no longer supports
Ansible 2.9
andansible-base 2.10
. While we take no active measures to prevent usage and there are no plans to introduce incompatible code to the modules, we will stop testing againstAnsible 2.9
andansible-base 2.10
. Both will very soon be End of Life and if you are still using them, you should consider upgrading to thelatest Ansible / ansible-core 2.11 or later
as soon as possible (https://github.com/ansible-collections/community.postgresql/pull/245).
Deprecated Features
community.hashi_vault
token_validate options - the shared auth option
token_validate
will change its default fromTrue
toFalse
in community.hashi_vault version 4.0.0. Thevault_login
lookup and module will keep the default value ofTrue
(https://github.com/ansible-collections/community.hashi_vault/issues/248).
community.network
Support for Ansible 2.9 and ansible-base 2.10 is deprecated, and will be removed in the next major release (community.network 4.0.0) this spring. While most content will probably still work with ansible-base 2.10, we will remove symbolic links for modules and action plugins, which will make it impossible to use them with Ansible 2.9 anymore. Please use community.network 3.x.y with Ansible 2.9 and ansible-base 2.10, as these releases will continue to support Ansible 2.9 and ansible-base 2.10 even after they are End of Life (https://github.com/ansible-community/community-topics/issues/50, https://github.com/ansible-collections/community.network/pull/382).
vmware.vmware_rest
vcenter_vm_storage_policy_compliance - drop the module, it returns 404 error.
vcenter_vm_tools - remove the
upgrade
state.vcenter_vm_tools_installer - remove the module from the collection.
Porting Guide for v5.7.0
Major Changes
community.postgresql
postgresql_user - the
priv
argument has been deprecated and will be removed incommunity.postgresql 3.0.0
. Please use thepostgresql_privs
module to grant/revoke privileges instead (https://github.com/ansible-collections/community.postgresql/issues/212).
fortinet.fortios
Support FortiOS 7.0.2, 7.0.3, 7.0.4, 7.0.5.
Deprecated Features
community.general
nmcli - deprecate default hairpin mode for a bridge. This so we can change it to
false
in community.general 7.0.0, as this is also the default innmcli
(https://github.com/ansible-collections/community.general/pull/4334).proxmox inventory plugin - the current default
true
of thewant_proxmox_nodes_ansible_host
option has been deprecated. The default will change tofalse
in community.general 6.0.0. To keep the current behavior, explicitly setwant_proxmox_nodes_ansible_host
totrue
in your inventory configuration. We suggest to already switch to the new behavior by explicitly setting it tofalse
, and by usingcompose:
to setansible_host
to the correct value. See the examples in the plugin documentation for details (https://github.com/ansible-collections/community.general/pull/4466).
Porting Guide for v5.6.0
Added Collections
community.sap (version 1.0.0)
Deprecated Features
cisco.ios
Deprecates lldp module.
Porting Guide for v5.5.0
Known Issues
community.general
pacman -
update_cache
cannot differentiate between up to date and outdated package lists and will reportchanged
in both situations (https://github.com/ansible-collections/community.general/pull/4318).pacman - binaries specified in the
executable
parameter must support--print-format
in order to be used by this module. In particular, AUR helperyay
is known not to currently support it (https://github.com/ansible-collections/community.general/pull/4312).
Deprecated Features
community.general
pacman - from community.general 5.0.0 on, the
changed
status ofupdate_cache
will no longer be ignored ifname
orupgrade
is specified. To keep the old behavior, add something likeregister: result
andchanged_when: result.packages | length > 0
to your task (https://github.com/ansible-collections/community.general/pull/4329).
Porting Guide for v5.4.0
Major Changes
chocolatey.chocolatey
win_chocolatey - Added choco_args option to pass additional arguments directly to Chocolatey.
vyos.vyos
Add ‘pool’ as value to server key in ntp_global.
Deprecated Features
cisco.ios
ios_acls - Deprecated fragment attribute added boolean alternate as enable_fragment.
Porting Guide for v5.3.0
Major Changes
f5networks.f5_modules
bigip_device_info - pagination logic has also been added to help with api stability.
bigip_device_info - the module no longer gathers information from all partitions on device. This change will stabalize the module by gathering resources only from the given partition and prevent the module from gathering way too much information that might result in crashing.
Deprecated Features
community.general
mail callback plugin - not specifying
sender
is deprecated and will be disallowed in community.general 6.0.0 (https://github.com/ansible-collections/community.general/pull/4140).
Porting Guide for v5.2.0
Known Issues
dellemc.openmanage
idrac_user - Issue(192043) The module may error out with the message
unable to perform the import or export operation because there are pending attribute changes or a configuration job is in progress
. Wait for the job to complete and run the task again.ome_application_alerts_smtp - Issue(212310) - The module does not provide a proper error message if the destination_address is more than 255 characters.
ome_application_alerts_syslog - Issue(215374) - The module does not provide a proper error message if the destination_address is more than 255 characters.
ome_device_local_access_configuration - Issue(215035) - The module reports
Successfully updated the local access setting
if an unsupported value is provided for the parameter timeout_limit. However, this value is not actually applied on OpenManage Enterprise Modular.ome_device_local_access_configuration - Issue(217865) - The module does not display a proper error message if an unsupported value is provided for the user_defined and lcd_language parameters.
ome_device_network_services - Issue(212681) - The module does not provide a proper error message if unsupported values are provided for the parameters- port_number, community_name, max_sessions, max_auth_retries, and idle_timeout.
ome_device_power_settings - Issue(212679) - The module errors out with the following message if the value provided for the parameter
power_cap
is not within the supported range of 0 to 32767,Unable to complete the request because PowerCap does not exist or is not applicable for the resource URI.
ome_smart_fabric_uplink - Issue(186024) - The module does not allow the creation of multiple uplinks of the same name even though it is supported by OpenManage Enterprise Modular. If an uplink is created using the same name as an existing uplink, the existing uplink is modified.
purestorage.flasharray
purefa_admin - Once max_login and lockout have been set there is currently no way to rest these to zero except through the FlashArray GUI
Major Changes
cisco.meraki
meraki_mr_radio - New module
Deprecated Features
purestorage.flasharray
purefa_sso - Deprecated in favor of M(purefa_admin). Will be removed in Collection 2.0
Porting Guide for v5.1.0
Known Issues
dellemc.openmanage
idrac_user - Issue(192043) The module may error out with the message
unable to perform the import or export operation because there are pending attribute changes or a configuration job is in progress
. Wait for the job to complete and run the task again.ome_application_alerts_smtp - Issue(212310) - The module does not provide a proper error message if the destination_address is more than 255 characters.
ome_application_alerts_syslog - Issue(215374) - The module does not provide a proper error message if the destination_address is more than 255 characters.
ome_device_network_services - Issue(212681) - The module does not provide a proper error message if unsupported values are provided for the parameters- port_number, community_name, max_sessions, max_auth_retries, and idle_timeout.
ome_device_power_settings - Issue(212679) - The module errors out with the following message if the value provided for the parameter
power_cap
is not within the supported range of 0 to 32767,Unable to complete the request because PowerCap does not exist or is not applicable for the resource URI.
ome_smart_fabric_uplink - Issue(186024) - The module does not allow the creation of multiple uplinks of the same name even though it is supported by OpenManage Enterprise Modular. If an uplink is created using the same name as an existing uplink, the existing uplink is modified.
Major Changes
containers.podman
Add podman_tag module
Add secrets driver and driver opts support
Removed Features
community.hashi_vault
the “legacy” integration test setup has been removed; this does not affect end users and is only relevant to contributors (https://github.com/ansible-collections/community.hashi_vault/pull/191).
Deprecated Features
cisco.nxos
Deprecated nxos_snmp_community module.
Deprecated nxos_snmp_contact module.
Deprecated nxos_snmp_host module.
Deprecated nxos_snmp_location module.
Deprecated nxos_snmp_traps module.
Deprecated nxos_snmp_user module.
community.general
module_helper module utils - deprecated the attribute
ModuleHelper.VarDict
(https://github.com/ansible-collections/community.general/pull/3801).
community.hashi_vault
Support for Ansible 2.9 and ansible-base 2.10 is deprecated, and will be removed in the next major release (community.hashi_vault 3.0.0) next spring (https://github.com/ansible-community/community-topics/issues/50, https://github.com/ansible-collections/community.hashi_vault/issues/189).
aws_iam_login auth method - the
aws_iam_login
method has been renamed toaws_iam
. The old name will be removed in collection version3.0.0
. Until then both names will work, and a warning will be displayed when using the old name (https://github.com/ansible-collections/community.hashi_vault/pull/193).
junipernetworks.junos
‘router_id’ options is deprecated from junos_ospf_interfaces, junos_ospfv2 and junos_ospfv3 resource module.
Porting Guide for v5.0.1
Major Changes
Raised python requirement of the ansible package from >=2.7 to >=3.8 to match ansible-core
Porting Guide for v5.0.0
Added Collections
cisco.ise (version 1.2.1)
cloud.common (version 2.1.0)
community.ciscosmb (version 1.0.4)
community.dns (version 2.0.3)
infoblox.nios_modules (version 1.1.2)
netapp.storagegrid (version 21.7.0)
Known Issues
Ansible-core
ansible-test - Tab completion anywhere other than the end of the command with the new composite options will provide incorrect results. See issue 351 for additional details.
dellemc.openmanage
idrac_user - Issue(192043) Module may error out with the message
unable to perform the import or export operation because there are pending attribute changes or a configuration job is in progress
. Wait for the job to complete and run the task again.ome_device_power_settings - Issue(212679) The ome_device_power_settings module errors out with the following message if the value provided for the parameter
power_cap
is not within the supported range of 0 to 32767,Unable to complete the request because PowerCap does not exist or is not applicable for the resource URI.
ome_smart_fabric_uplink - Issue(186024) ome_smart_fabric_uplink module does not allow the creation of multiple uplinks of the same name even though it is supported by OpenManage Enterprise Modular. If an uplink is created using the same name as an existing uplink, the existing uplink is modified.
ome_smart_fabric_uplink - Issue(186024) ome_smart_fabric_uplink module does not allow the creation of multiple uplinks of the same name even though this is supported by OpenManage Enterprise Modular. If an uplink is created using the same name as an existing uplink, the existing uplink is modified.
purestorage.flashblade
purefb_lag - The mac_address field in the response is not populated. This will be fixed in a future FlashBlade update.
Breaking Changes
Ansible-core
Action, module, and group names in module_defaults must be static values. Their values can still be templates.
Fully qualified ‘ansible.legacy’ plugin names are not included implicitly in action_groups.
Unresolvable groups, action plugins, and modules in module_defaults are an error.
ansible-test - Automatic installation of requirements for “cloud” test plugins no longer occurs. The affected test plugins are
aws
,azure
,cs
,hcloud
,nios
,opennebula
,openshift
andvcenter
. Collections should instead use one of the supported integration test requirements files, such as thetests/integration/requirements.txt
file.ansible-test - The HTTP Tester is no longer available with the
ansible-test shell
command. Only theintegration
andwindows-integration
commands provide HTTP Tester.ansible-test - The
--disable-httptester
option is no longer available. The HTTP Tester is no longer optional for tests that specify it.ansible-test - The
--httptester
option is no longer available. To override the container used for HTTP Tester tests, set theANSIBLE_HTTP_TEST_CONTAINER
environment variable instead.ansible-test - Unit tests for
modules
andmodule_utils
are now limited to importing onlyansible.module_utils
from theansible
module.conditionals -
when
conditionals no longer automatically parse string booleans such as"true"
and"false"
into actual booleans. Any non-empty string is now considered true. TheCONDITIONAL_BARE_VARS
configuration variable no longer has any effect.hostname - Drops any remaining support for Python 2.4 by using
with open()
to simplify exception handling code which leaked file handles in several spotshostname - On FreeBSD, the string
temporarystub
no longer gets written to the hostname file in the get methods (and in check_mode). As a result, the default hostname will now appear as''
(empty string) instead oftemporarystub
for consistency with other strategies. This means thebefore
result will be different.hostname - On OpenRC systems and Solaris, the
before
value will now be''
(empty string) if the permanent hostname file does not exist, for consistency with other strategies.intersect, difference, symmetric_difference, union filters - the default behavior is now to be case-sensitive (https://github.com/ansible/ansible/issues/74255)
unique filter - the default behavior is now to fail if Jinja2’s filter fails and explicit
case_sensitive=False
as the Ansible’s fallback is case-sensitive (https://github.com/ansible/ansible/pull/74256)
amazon.aws
ec2_instance - instance wait for state behaviour has changed. If plays require the old behavior of waiting for the instance monitoring status to become
OK
when launching a new instance, the action will need to specifystate: started
(https://github.com/ansible-collections/amazon.aws/pull/481).ec2_snapshot - support for waiting indefinitely has been dropped, new default is 10 minutes (https://github.com/ansible-collections/amazon.aws/pull/356).
ec2_vol_info - return
attachment_set
is now a list of attachments with Multi-Attach support on disk. (https://github.com/ansible-collections/amazon.aws/pull/362).ec2_vpc_dhcp_option - The module has been refactored to use boto3. Keys and value types returned by the module are now consistent, which is a change from the previous behaviour. A
purge_tags
option has been added, which defaults toTrue
. (https://github.com/ansible-collections/amazon.aws/pull/252)ec2_vpc_dhcp_option_info - Now preserves case for tag keys in return value. (https://github.com/ansible-collections/amazon.aws/pull/252)
module_utils.core - The boto3 switch has been removed from the region parameter (https://github.com/ansible-collections/amazon.aws/pull/287).
module_utils/compat - vendored copy of ipaddress removed (https://github.com/ansible-collections/amazon.aws/pull/461).
module_utils/core - updated the
scrub_none_parameters
function so thatdescend_into_lists
is set toTrue
by default (https://github.com/ansible-collections/amazon.aws/pull/297).
arista.eos
Arista released train 4.23.X and newer and along with it replaced and deprecated several commands. This PR adds support for syntax changes in release train 4.23 and after. Going forward the eos modules will not support eos sw version < 4.23.
community.aws
ec2_instance - The module has been migrated to the
amazon.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_instance
.ec2_instance_info - The module has been migrated to the
amazon.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_instance_info
.ec2_vpc_endpoint - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_endpoint
.ec2_vpc_endpoint_facts - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_endpoint_info
.ec2_vpc_endpoint_info - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_endpoint_info
.ec2_vpc_endpoint_service_info - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_endpoint_service_info
.ec2_vpc_igw - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_igw
.ec2_vpc_igw_facts - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_igw_info
.ec2_vpc_igw_info - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_igw_info
.ec2_vpc_nat_gateway - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_nat_gateway
.ec2_vpc_nat_gateway_facts - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_nat_gateway_info
.ec2_vpc_nat_gateway_info - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_nat_gateway_info
.kms_info - key details are now returned in the
kms_keys
attribute rather than thekeys
attribute (https://github.com/ansible-collections/community.aws/pull/648).
community.crypto
Adjust
dirName
text parsing and to text converting code to conform to Sections 2 and 3 of RFC 4514. This is similar to how cryptography handles this (https://github.com/ansible-collections/community.crypto/pull/274).acme module utils - removing compatibility code (https://github.com/ansible-collections/community.crypto/pull/290).
acme_* modules - removed vendored copy of the Python library
ipaddress
. If you are using Python 2.x, please make sure to install the library (https://github.com/ansible-collections/community.crypto/pull/287).compatibility module_utils - removed vendored copy of the Python library
ipaddress
(https://github.com/ansible-collections/community.crypto/pull/287).crypto module utils - removing compatibility code (https://github.com/ansible-collections/community.crypto/pull/290).
get_certificate, openssl_csr_info, x509_certificate_info - depending on the
cryptography
version used, the modules might not return the ASN.1 value for an extension as contained in the certificate respectively CSR, but a re-encoded version of it. This should usually be identical to the value contained in the source file, unless the value was malformed. For extensions not handled by C(cryptography) the value contained in the source file is always returned unaltered (https://github.com/ansible-collections/community.crypto/pull/318).module_utils - removed various PyOpenSSL support functions and default backend values that are not needed for the openssl_pkcs12 module (https://github.com/ansible-collections/community.crypto/pull/273).
openssl_csr, openssl_csr_pipe, x509_crl - the
subject
respectivelyissuer
fields no longer ignore empty values, but instead fail when encountering them (https://github.com/ansible-collections/community.crypto/pull/316).openssl_privatekey_info - by default consistency checks are not run; they need to be explicitly requested by passing
check_consistency=true
(https://github.com/ansible-collections/community.crypto/pull/309).x509_crl - for idempotency checks, the
issuer
order is ignored. If order is important, use the newissuer_ordered
option (https://github.com/ansible-collections/community.crypto/pull/316).
community.dns
All Hetzner modules and plugins which handle DNS records now work with unquoted TXT values by default. The old behavior can be obtained by setting
txt_transformation=api
(https://github.com/ansible-collections/community.dns/issues/48, https://github.com/ansible-collections/community.dns/pull/57, https://github.com/ansible-collections/community.dns/pull/60).Hosttech API creation - now requires a
ModuleOptionProvider
object instead of anAnsibleModule
object. Alternatively an Ansible plugin instance can be passed (https://github.com/ansible-collections/community.dns/pull/37).The hetzner_dns_record_info and hosttech_dns_record_info modules have been renamed to hetzner_dns_record_set_info and hosttech_dns_record_set_info, respectively (https://github.com/ansible-collections/community.dns/pull/54).
The hosttech_dns_record module has been renamed to hosttech_dns_record_set (https://github.com/ansible-collections/community.dns/pull/31).
The internal bulk record updating helper (
bulk_apply_changes
) now also returns the records that were deleted, created or updated (https://github.com/ansible-collections/community.dns/pull/63).The internal record API no longer allows to manage comments explicitly (https://github.com/ansible-collections/community.dns/pull/63).
When using the internal modules API, now a zone ID type and a provider information object must be passed (https://github.com/ansible-collections/community.dns/pull/27).
hetzner_dns_record* modules - implement correct handling of default TTL. The value
none
is now accepted and returned in this case (https://github.com/ansible-collections/community.dns/pull/52, https://github.com/ansible-collections/community.dns/issues/50).hetzner_dns_record, hetzner_dns_record_set, hetzner_dns_record_sets - the default TTL is now 300 and no longer 3600, which equals the default in the web console (https://github.com/ansible-collections/community.dns/pull/43).
hosttech_* module_utils - completely rewrite and refactor to support new JSON API and allow to re-use provider-independent module logic (https://github.com/ansible-collections/community.dns/pull/4).
hosttech_dns_record_set - the option
overwrite
was replaced by a new optionon_existing
. Specifyingoverwrite=true
is equivalent toon_existing=replace
(the new default). Specifyingoverwrite=false
withstate=present
is equivalent toon_existing=keep_and_fail
, and specifyingoverwrite=false
withstate=absent
is equivalent toon_existing=keep
(https://github.com/ansible-collections/community.dns/pull/31).
community.docker
docker_compose - fixed
timeout
defaulting behavior so thatstop_grace_period
, if defined in the compose file, will be used if timeout` is not specified (https://github.com/ansible-collections/community.docker/pull/163).
community.general
archive - adding idempotency checks for changes to file names and content within the
destination
file (https://github.com/ansible-collections/community.general/pull/3075).lxd inventory plugin - when used with Python 2, the plugin now needs
ipaddress
installed from pypi (https://github.com/ansible-collections/community.general/pull/2441).scaleway_security_group_rule - when used with Python 2, the module now needs
ipaddress
installed from pypi (https://github.com/ansible-collections/community.general/pull/2441).
community.hashi_vault
connection options - there is no longer a default value for the
url
option (the Vault address), so a value must be supplied (https://github.com/ansible-collections/community.hashi_vault/issues/83).
community.okd
drop python 2 support (https://github.com/openshift/community.okd/pull/93).
community.routeros
api - due to a programming error, the module never failed on errors. This has now been fixed. If you are relying on the module not failing in case of idempotent commands (resulting in errors like
failure: already have such address
), you need to adjust your roles/playbooks. We suggest to usefailed_when
to accept failure in specific circumstances, for examplefailed_when: "'failure: already have ' in result.msg[0]"
(https://github.com/ansible-collections/community.routeros/pull/39).api - splitting commands no longer uses a naive split by whitespace, but a more RouterOS CLI compatible splitting algorithm (https://github.com/ansible-collections/community.routeros/pull/45).
command - the module now always indicates that a change happens. If this is not correct, please use
changed_when
to determine the correct changed status for a task (https://github.com/ansible-collections/community.routeros/pull/50).
community.zabbix
all roles now reference other roles and modules through their fully qualified collection names, which makes Ansible 2.10 minimum supported version for roles (See issue 477).
kubernetes.core
Drop python 2 support (https://github.com/ansible-collections/kubernetes.core/pull/86).
helm_plugin - remove unused
release_namespace
parameter (https://github.com/ansible-collections/kubernetes.core/pull/85).helm_plugin_info - remove unused
release_namespace
parameter (https://github.com/ansible-collections/kubernetes.core/pull/85).k8s_cluster_info - returned apis as list to avoid being overwritten in case of multiple version (https://github.com/ansible-collections/kubernetes.core/pull/41).
k8s_facts - remove the deprecated alias from k8s_facts to k8s_info (https://github.com/ansible-collections/kubernetes.core/pull/125).
netapp.storagegrid
This version introduces a breaking change. All modules have been renamed from
nac_sg_*
tona_sg_*
. Playbooks and Roles must be updated to match.
Major Changes
Ansible-core
Python Controller Requirement - Python 3.8 or newer is required for the control node (the machine that runs Ansible) (https://github.com/ansible/ansible/pull/74013)
ansible-test - All “cloud” plugins which use containers can now be used with all POSIX and Windows hosts. Previously the plugins did not work with Windows at all, and support for hosts created with the
--remote
option was inconsistent.ansible-test - Collections can now specify controller and target specific integration test requirements and constraints. If provided, they take precedence over the previously available requirements and constraints files.
ansible-test - Integration tests run with the
integration
command can now be executed on two separate hosts instead of always running on the controller. The target host can be one provided byansible-test
or by the user, as long as it is accessible using SSH.ansible-test - Most container features are now supported under Podman. Previously a symbolic link for
docker
pointing topodman
was required.ansible-test - New
--controller
and--target
/--target-python
options have been added to allow more control over test environments.ansible-test - Python 3.8 - 3.10 are now required to run
ansible-test
, thus matching the Ansible controller Python requirements. Older Python versions (2.6 - 2.7 and 3.5 - 3.10) can still be the target for relevant tests.ansible-test - SSH port forwarding and redirection is now used exclusively to make container ports available on non-container hosts. When testing on POSIX systems this requires SSH login as root. Previously SSH port forwarding was combined with firewall rules or other port redirection methods, with some platforms being unsupported.
ansible-test - Sanity tests always run in isolated Python virtual environments specific to the requirements of each test. The environments are cached.
ansible-test - Sanity tests are now separated into two categories, controller and target. All tests except
import
andcompile
are controller tests. The controller tests always run using the same Python version used to runansible-test
. The target tests use the Python version(s) specified by the user, or all available Python versions.ansible-test - Sanity tests now use fully pinned requirements that are independent of each other and other test types.
ansible-test - Tests run with the
centos6
anddefault
test containers now use a PyPI proxy container to access PyPI when Python 2.6 is used. This allows tests running under Python 2.6 to continue functioning even though PyPI is discontinuing support for non-SNI capable clients.ansible-test - The
future-import-boilerplate
andmetaclass-boilerplate
sanity tests are limited to remote-only code. Additionally, they are skipped for collections which declare no support for Python 2.x.ansible-test - The
import
andcompile
sanity tests limit remote-only Python version checks to remote-only code.ansible-test - Unit tests for controller-only code now require Python 3.8 or later.
ansible-test - Version neutral sanity tests now require Python 3.8 or later.
junit callback - The
junit_xml
andordereddict
Python modules are no longer required to use thejunit
callback plugin.
amazon.aws
amazon.aws collection - Due to the AWS SDKs announcing the end of support for Python less than 3.6 (https://boto3.amazonaws.com/v1/documentation/api/1.17.64/guide/migrationpy3.html) this collection now requires Python 3.6+ (https://github.com/ansible-collections/amazon.aws/pull/298).
amazon.aws collection - The amazon.aws collection has dropped support for
botocore<1.18.0
andboto3<1.15.0
. Most modules will continue to work with older versions of the AWS SDK, however compatibility with older versions of the SDK is not guaranteed and will not be tested. When using older versions of the SDK a warning will be emitted by Ansible (https://github.com/ansible-collections/amazon.aws/pull/502).ec2_instance - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_instance
.ec2_instance_info - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_instance_info
.ec2_vpc_endpoint - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_endpoint
.ec2_vpc_endpoint_facts - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_endpoint_info
.ec2_vpc_endpoint_info - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_endpoint_info
.ec2_vpc_endpoint_service_info - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_endpoint_service_info
.ec2_vpc_igw - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_igw
.ec2_vpc_igw_facts - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_igw_facts
.ec2_vpc_igw_info - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_igw_info
.ec2_vpc_nat_gateway - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_nat_gateway
.ec2_vpc_nat_gateway_facts - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_nat_gateway_info
.ec2_vpc_nat_gateway_info - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_nat_gateway_info
.ec2_vpc_route_table - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_route_table
.ec2_vpc_route_table_facts - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_route_table_facts
.ec2_vpc_route_table_info - The module has been migrated from the
community.aws
collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to useamazon.aws.ec2_vpc_route_table_info
.
cisco.ise
Adds
ise_uses_api_gateway
to module options.Adds a ‘aws_deployment’ role that allows the deployment of an arbitrary large ISE cluster to AWS.
Adds ise_responses to return values of info modules.
Adds ise_update_response to return values of non-info modules.
Fixes inner logic of modules that have no get by name and have not working filter.
Renamed module device_administration_authorization_exception_rules to device_administration_local_exception_rules.
Renamed module device_administration_authorization_global_exception_rules to device_administration_global_exception_rules.
Renamed module network_access_authorization_exception_rules to network_access_local_exception_rules.
Renamed module network_access_authorization_global_exception_rules to network_access_global_exception_rules.
Updates options required for modules.
Updates sdk parameters for previous modules
device_administration_authorization_exception_rules - removed module.
device_administration_authorization_exception_rules_info - removed module.
device_administration_authorization_global_exception_rules - removed module.
device_administration_authorization_global_exception_rules_info - removed module.
guest_user_reinstante - removed module.
import_trust_cert - removed module.
network_access_authorization_exception_rules - removed module.
network_access_authorization_exception_rules_info - removed module.
network_access_authorization_global_exception_rules - removed module.
network_access_authorization_global_exception_rules_info - removed module.
personas_check_standalone - Adds module for the deployment of personas to existing nodes in an ISE cluster.
personas_export_certs - Adds module for the deployment of personas to existing nodes in an ISE cluster.
personas_promote_primary - Adds module for the deployment of personas to existing nodes in an ISE cluster.
personas_update_roles - Adds module for the deployment of personas to existing nodes in an ISE cluster.
service_info - removed module.
system_certificate_export - removed module.
telemetry_info_info - removed module.
cloud.common
turbo - enable turbo mode for lookup plugins
cloudscale_ch.cloud
Add custom_image module
community.aws
community.aws collection - The community.aws collection has dropped support for
botocore<1.18.0
andboto3<1.15.0
(https://github.com/ansible-collections/community.aws/pull/711). Most modules will continue to work with older versions of the AWS SDK, however compatibility with older versions of the SDK is not guaranteed and will not be tested. When using older versions of the SDK a warning will be emitted by Ansible (https://github.com/ansible-collections/amazon.aws/pull/442).
community.ciscosmb
Python 2.6, 2.7, 3.5 is required
add CBS350 support
add antsibull-changelog support
add ciscosmb_command
added facts subset “interfaces”
ciscosmb_facts with default subset and unit tests
interface name canonicalization
transform collection qaxi.ciscosmb to community.ciscosmb
transform community.ciscosmb.ciscosmb_command to community.ciscosmb.command
transform community.ciscosmb.ciscosmb_facts to community.ciscosmb.facts
unit tests for CBS350
community.dns
hosttech_* modules - support the new JSON API at https://api.ns1.hosttech.eu/api/documentation/ (https://github.com/ansible-collections/community.dns/pull/4).
community.general
bitbucket_* modules -
client_id
is no longer marked asno_log=true
. If you relied on its value not showing up in logs and output, please mark the whole tasks withno_log: true
(https://github.com/ansible-collections/community.general/pull/2045).
community.kubernetes
redirect everything from
community.kubernetes
tokubernetes.core
(https://github.com/ansible-collections/community.kubernetes/pull/425).
community.okd
update to use kubernetes.core 2.0 (https://github.com/openshift/community.okd/pull/93).
community.postgresql
postgresql_query - the default value of the
as_single_query
option will be changed toyes
in community.postgresql 2.0.0 (https://github.com/ansible-collections/community.postgresql/issues/85).
community.vmware
vmware_object_custom_attributes_info - added a new module to gather custom attributes of an object (https://github.com/ansible-collections/community.vmware/pull/851).
containers.podman
Add systemd generation for pods
Generate systemd service files for containers
dellemc.openmanage
idrac_server_config_profile - Added support for exporting and importing Server Configuration Profile through HTTP/HTTPS share.
ome_device_group - Added support for adding devices to a group using the IP addresses of the devices and group ID.
ome_firmware - Added option to stage the firmware update and support for selecting components and devices for baseline-based firmware update.
ome_firmware_baseline - Module supports check mode, and allows the modification and deletion of firmware baselines.
ome_firmware_catalog - Module supports check mode, and allows the modification and deletion of firmware catalogs.
fortinet.fortios
Add real-world use cases in the example section for some configuration modules.
Collect the current configurations of the modules and convert them into playbooks.
Improve
fortios_configuration_fact
to use multiple selectors concurrently.New module fortios_monitor_fact.
Support FortiOS 7.0.1.
Support Fortios 7.0.
Support Log APIs.
Support
check_mode
in all cofigurationAPI-based modules.Support filtering for fact gathering modules
fortios_configuration_fact
andfortios_monitor_fact
.Support member operation (delete/add extra members) on an object that has a list of members in it.
Support moving policy in
firewall_central_snat_map
.Support selectors feature in
fortios_monitor_fact
andfortios_log_fact
.Unify schemas for monitor API.
gluster.gluster
enable client.ssl,server.ssl before starting the gluster volume (https://github.com/gluster/gluster-ansible-collection/pull/19)
hetzner.hcloud
Introduction of placement groups
kubernetes.core
k8s - deprecate merge_type=json. The JSON patch functionality has never worked (https://github.com/ansible-collections/kubernetes.core/pull/99).
k8s_json_patch - split JSON patch functionality out into a separate module (https://github.com/ansible-collections/kubernetes.core/pull/99).
replaces the openshift client with the official kubernetes client (https://github.com/ansible-collections/kubernetes.core/issues/34).
netapp.cloudmanager
Adding stage environment to all modules in cloudmanager
netbox.netbox
packages is now a required Python package and gets installed through Ansible 2.10+.
openvswitch.openvswitch
By mistake we tagged the repo to 2.0.0 and as it wasn’t intended and cannot be reverted we’re releasing 2.0.1 to make the community aware of the major version update.
ovirt.ovirt
remove_stale_lun - Add role for removing stale LUN (https://bugzilla.redhat.com/1966873).
Removed Features
Ansible-core
The built-in module_util
ansible.module_utils.common.removed
was previously deprecated and has been removed.connections, removed password check stubs that had been moved to become plugins.
task, inline parameters being auto coerced into variables has been removed.
ansible.windows
win_reboot - Removed
shutdown_timeout
andshutdown_timeout_sec
which has not done anything since Ansible 2.5.
community.crypto
acme_* modules - the
acme_directory
option is now required (https://github.com/ansible-collections/community.crypto/pull/290).acme_* modules - the
acme_version
option is now required (https://github.com/ansible-collections/community.crypto/pull/290).acme_account_facts - the deprecated redirect has been removed. Use community.crypto.acme_account_info instead (https://github.com/ansible-collections/community.crypto/pull/290).
acme_account_info -
retrieve_orders=url_list
no longer returns the return valueorders
. Use theorder_uris
return value instead (https://github.com/ansible-collections/community.crypto/pull/290).crypto.info module utils - the deprecated redirect has been removed. Use
crypto.pem
instead (https://github.com/ansible-collections/community.crypto/pull/290).get_certificate - removed the
pyopenssl
backend (https://github.com/ansible-collections/community.crypto/pull/273).openssl_certificate - the deprecated redirect has been removed. Use community.crypto.x509_certificate instead (https://github.com/ansible-collections/community.crypto/pull/290).
openssl_certificate_info - the deprecated redirect has been removed. Use community.crypto.x509_certificate_info instead (https://github.com/ansible-collections/community.crypto/pull/290).
openssl_csr - removed the
pyopenssl
backend (https://github.com/ansible-collections/community.crypto/pull/273).openssl_csr and openssl_csr_pipe -
version
now only accepts the (default) value 1 (https://github.com/ansible-collections/community.crypto/pull/290).openssl_csr_info - removed the
pyopenssl
backend (https://github.com/ansible-collections/community.crypto/pull/273).openssl_csr_pipe - removed the
pyopenssl
backend (https://github.com/ansible-collections/community.crypto/pull/273).openssl_privatekey - removed the
pyopenssl
backend (https://github.com/ansible-collections/community.crypto/pull/273).openssl_privatekey_info - removed the
pyopenssl
backend (https://github.com/ansible-collections/community.crypto/pull/273).openssl_privatekey_pipe - removed the
pyopenssl
backend (https://github.com/ansible-collections/community.crypto/pull/273).openssl_publickey - removed the
pyopenssl
backend (https://github.com/ansible-collections/community.crypto/pull/273).openssl_publickey_info - removed the
pyopenssl
backend (https://github.com/ansible-collections/community.crypto/pull/273).openssl_signature - removed the
pyopenssl
backend (https://github.com/ansible-collections/community.crypto/pull/273).openssl_signature_info - removed the
pyopenssl
backend (https://github.com/ansible-collections/community.crypto/pull/273).x509_certificate - remove
assertonly
provider (https://github.com/ansible-collections/community.crypto/pull/289).x509_certificate - removed the
pyopenssl
backend (https://github.com/ansible-collections/community.crypto/pull/273).x509_certificate_info - removed the
pyopenssl
backend (https://github.com/ansible-collections/community.crypto/pull/273).x509_certificate_pipe - removed the
pyopenssl
backend (https://github.com/ansible-collections/community.crypto/pull/273).
community.docker
docker_container - the default value of
container_default_behavior
changed tono_defaults
(https://github.com/ansible-collections/community.docker/pull/210).docker_container - the default value of
network_mode
is now the name of the first network specified innetworks
if such are specified andnetworks_cli_compatible=true
(https://github.com/ansible-collections/community.docker/pull/210).docker_container - the special value
all
can no longer be used inpublished_ports
next to other values. Please usepublish_all_ports=true
instead (https://github.com/ansible-collections/community.docker/pull/210).docker_login - removed the
email
option (https://github.com/ansible-collections/community.docker/pull/210).
community.general
All inventory and vault scripts contained in community.general were moved to the contrib-scripts GitHub repository (https://github.com/ansible-collections/community.general/pull/2696).
ModuleHelper module utils - remove fallback when value could not be determined for a parameter (https://github.com/ansible-collections/community.general/pull/3461).
Removed deprecated netapp module utils and doc fragments (https://github.com/ansible-collections/community.general/pull/3197).
The nios, nios_next_ip, nios_next_network lookup plugins, the nios documentation fragment, and the nios_host_record, nios_ptr_record, nios_mx_record, nios_fixed_address, nios_zone, nios_member, nios_a_record, nios_aaaa_record, nios_network, nios_dns_view, nios_txt_record, nios_naptr_record, nios_srv_record, nios_cname_record, nios_nsgroup, and nios_network_view module have been removed from community.general 4.0.0 and were replaced by redirects to the infoblox.nios_modules collection. Please install the
infoblox.nios_modules
collection to continue using these plugins and modules, and update your FQCNs (https://github.com/ansible-collections/community.general/pull/3592).The vendored copy of
ipaddress
has been removed. Please useipaddress
from the Python 3 standard library, or from pypi. (https://github.com/ansible-collections/community.general/pull/2441).cpanm - removed the deprecated
system_lib
option. Use Ansible’s privilege escalation mechanism instead; the option basically usedsudo
(https://github.com/ansible-collections/community.general/pull/3461).grove - removed the deprecated alias
message
of themessage_content
option (https://github.com/ansible-collections/community.general/pull/3461).proxmox - default value of
proxmox_default_behavior
changed tono_defaults
(https://github.com/ansible-collections/community.general/pull/3461).proxmox_kvm - default value of
proxmox_default_behavior
changed tono_defaults
(https://github.com/ansible-collections/community.general/pull/3461).runit - removed the deprecated
dist
option which was not used by the module (https://github.com/ansible-collections/community.general/pull/3461).telegram - removed the deprecated
msg
,msg_format
andchat_id
options (https://github.com/ansible-collections/community.general/pull/3461).xfconf - the default value of
disable_facts
changed totrue
, and the valuefalse
is no longer allowed. Register the module results instead (https://github.com/ansible-collections/community.general/pull/3461).
community.hashi_vault
drop support for Python 2 and Python 3.5 (https://github.com/ansible-collections/community.hashi_vault/issues/81).
support for the following deprecated environment variables has been removed:
VAULT_AUTH_METHOD
,VAULT_TOKEN_PATH
,VAULT_TOKEN_FILE
,VAULT_ROLE_ID
,VAULT_SECRET_ID
(https://github.com/ansible-collections/community.hashi_vault/pull/173).
Deprecated Features
Ansible-core
ansible-test - The
--docker-no-pull
option is deprecated and has no effect.ansible-test - The
--no-pip-check
option is deprecated and has no effect.include action is deprecated in favor of include_tasks, import_tasks and import_playbook.
module_utils’ FileLock is scheduled to be removed, it is not used due to its unreliable nature.
amazon.aws
ec2 - the boto based
ec2
module has been deprecated in favour of the boto3 basedec2_instance
module. Theec2
module will be removed in release 4.0.0 (https://github.com/ansible-collections/amazon.aws/pull/424).ec2_classic_lb - setting of the
ec2_elb
fact has been deprecated and will be removed in release 4.0.0 of the collection. The module now returnselb
which can be accessed using the register keyword (https://github.com/ansible-collections/amazon.aws/pull/552).ec2_vpc_dhcp_option - The
new_config
return key has been deprecated and will be removed in a future release. It will be replaced bydhcp_config
. Both values are returned in the interim. (https://github.com/ansible-collections/amazon.aws/pull/252)
ansible.netcommon
network_cli - The paramiko_ssh setting
look_for_keys
was set automatically based on the values of thepassword
andprivate_key_file
options passed to network_cli. This option can now be set explicitly, and the automatic setting oflook_for_keys
will be removed after 2024-01-01 (https://github.com/ansible-collections/ansible.netcommon/pull/271).
ansible.windows
win_reboot - Unreachable hosts can be ignored with
ignore_errors: True
, this ability will be removed in a future version. Useignore_unreachable: True
to ignore unreachable hosts instead. - https://github.com/ansible-collections/ansible.windows/issues/62win_updates - Deprecated the
filtered_reason
return value for each filtered up in favour offiltered_reasons
. This has been done to show all the reasons why an update was filtered and not just the first reason.win_updates - Deprecated the
use_scheduled_task
option as it is no longer used.win_updates - Deprecated the
whitelist
andblacklist
options in favour ofaccept_list
andreject_list
respectively to conform to the new standards used in Ansible for these types of options.
arista.eos
Remove testing with provider for ansible-test integration jobs. This helps prepare us to move to network-ee integration tests.
cisco.ios
Deprecated ios_bgp in favor of ios_bgp_global and ios_bgp_address_family.
Deprecated ios_ntp modules.
Remove testing with provider for ansible-test integration jobs. This helps prepare us to move to network-ee integration tests.
cisco.iosxr
The iosxr_logging module has been deprecated in favor of the new iosxr_logging_global resource module and will be removed in a release after ‘2023-08-01’.
cisco.nxos
Deprecated nxos_ntp, nxos_ntp_options, nxos_ntp_auth modules.
The nxos_logging module has been deprecated in favor of the new nxos_logging_global resource module and will be removed in a release after ‘2023-08-01’.
community.aws
dynamodb_table - DynamoDB does not support specifying non-key-attributes when creating an
ALL
index. Passingincludes
for such indexes is currently ignored but will result in failures after version 3.0.0 (https://github.com/ansible-collections/community.aws/pull/726).dynamodb_table - DynamoDB does not support updating the primary indexes on a table. Attempts to make such changes are currently ignored but will result in failures after version 3.0.0 (https://github.com/ansible-collections/community.aws/pull/726).
ec2_elb - the
ec2_elb
module has been removed and redirected to theelb_instance
module which functions identically. The originalec2_elb
name is now deprecated and will be removed in release 3.0.0 (https://github.com/ansible-collections/community.aws/pull/586).ec2_elb_info - the boto based
ec2_elb_info
module has been deprecated in favour of the boto3 basedelb_classic_lb_info
module. Theec2_elb_info
module will be removed in release 3.0.0 (https://github.com/ansible-collections/community.aws/pull/586).elb_classic_lb - the
elb_classic_lb
module has been removed and redirected to theamazon.aws.ec2_elb_lb
module which functions identically.elb_instance - setting of the
ec2_elb
fact has been deprecated and will be removed in release 4.0.0 of the collection. See the module documentation for an alternative example using the register keyword (https://github.com/ansible-collections/community.aws/pull/773).iam - the boto based
iam
module has been deprecated in favour of the boto3 basediam_user
,iam_group
andiam_role
modules. Theiam
module will be removed in release 3.0.0 (https://github.com/ansible-collections/community.aws/pull/664).iam_cert - the iam_cert module has been renamed to iam_server_certificate for consistency with the companion iam_server_certificate_info module. The usage of the module has not changed. The iam_cert alias will be removed in version 4.0.0 (https://github.com/ansible-collections/community.aws/pull/728).
iam_server_certificate - Passing file names to the
cert
,chain_cert
andkey
parameters has been deprecated. We recommend using a lookup plugin to read the files instead, see the documentation for an example (https://github.com/ansible-collections/community.aws/pull/735).iam_server_certificate - the default value for the
dup_ok
parameter is currentlyfalse
, in version 4.0.0 this will be updated totrue
. To preserve the current behaviour explicitly set thedup_ok
parameter tofalse
(https://github.com/ansible-collections/community.aws/pull/737).rds - the boto based
rds
module has been deprecated in favour of the boto3 basedrds_instance
module. Therds
module will be removed in release 3.0.0 (https://github.com/ansible-collections/community.aws/pull/663).rds_snapshot - the rds_snapshot module has been renamed to rds_instance_snapshot. The usage of the module has not changed. The rds_snapshot alias will be removed in version 4.0.0 (https://github.com/ansible-collections/community.aws/pull/783).
script_inventory_ec2 - The ec2.py inventory script is being moved to a new repository. The script can now be downloaded from https://github.com/ansible-community/contrib-scripts/blob/main/inventory/ec2.py and will be removed from this collection in the 3.0 release. We recommend migrating from the script to the amazon.aws.ec2 inventory plugin.
community.azure
All community.azure.azure_rm_<resource>_facts modules are deprecated. Use azure.azcollection.azure_rm_<resource>_info modules instead (https://github.com/ansible-collections/community.azure/pull/24).
All community.azure.azure_rm_<resource>_info modules are deprecated. Use azure.azcollection.azure_rm_<resource>_info modules instead (https://github.com/ansible-collections/community.azure/pull/24).
community.azure.azure_rm_managed_disk and community.azure.azure_rm_manageddisk are deprecated. Use azure.azcollection.azure_rm_manageddisk instead (https://github.com/ansible-collections/community.azure/pull/24).
community.azure.azure_rm_virtualmachine_extension and community.azure.azure_rm_virtualmachineextension are deprecated. Use azure.azcollection.azure_rm_virtualmachineextension instead (https://github.com/ansible-collections/community.azure/pull/24).
community.azure.azure_rm_virtualmachine_scaleset and community.azure.azure_rm_virtualmachinescaleset are deprecated. Use azure.azcollection.azure_rm_virtualmachinescaleset instead (https://github.com/ansible-collections/community.azure/pull/24).
community.crypto
acme_* modules - ACME version 1 is now deprecated and support for it will be removed in community.crypto 2.0.0 (https://github.com/ansible-collections/community.crypto/pull/288).
community.dns
The hosttech_dns_records module has been renamed to hosttech_dns_record_sets. The old name will stop working in community.dns 3.0.0 (https://github.com/ansible-collections/community.dns/pull/31).
community.docker
docker_* modules and plugins, except
docker_swarm
connection plugin anddocker_compose
anddocker_stack*` modules - the current default ``localhost
fortls_hostname
is deprecated. In community.docker 2.0.0 it will be computed fromdocker_host
instead (https://github.com/ansible-collections/community.docker/pull/134).docker_container - the new
command_handling
’s default value,compatibility
, is deprecated and will change tocorrect
in community.docker 3.0.0. A deprecation warning is emitted by the module in cases where the behavior will change. Please note that ansible-core will output a deprecation warning only once, so if it is shown for an earlier task, there could be more tasks with this warning where it is not shown (https://github.com/ansible-collections/community.docker/pull/186).docker_container - using the special value
all
inpublished_ports
has been deprecated. Usepublish_all_ports=true
instead (https://github.com/ansible-collections/community.docker/pull/210).
community.general
Support for Ansible 2.9 and ansible-base 2.10 is deprecated, and will be removed in the next major release (community.general 5.0.0) next spring. While most content will probably still work with ansible-base 2.10, we will remove symbolic links for modules and action plugins, which will make it impossible to use them with Ansible 2.9 anymore. Please use community.general 4.x.y with Ansible 2.9 and ansible-base 2.10, as these releases will continue to support Ansible 2.9 and ansible-base 2.10 even after they are End of Life (https://github.com/ansible-community/community-topics/issues/50, https://github.com/ansible-collections/community.general/pull/3723).
ali_instance_info - marked removal version of deprecated parameters
availability_zone
andinstance_names
(https://github.com/ansible-collections/community.general/issues/2429).bitbucket_* modules -
username
options have been deprecated in favor ofworkspace
and will be removed in community.general 6.0.0 (https://github.com/ansible-collections/community.general/pull/2045).dnsimple - python-dnsimple < 2.0.0 is deprecated and support for it will be removed in community.general 5.0.0 (https://github.com/ansible-collections/community.general/pull/2946#discussion_r667624693).
gitlab_group_members - setting
gitlab_group
toname
orpath
is deprecated. Usefull_path
instead (https://github.com/ansible-collections/community.general/pull/3451).keycloak_authentication - the return value
flow
is now deprecated and will be removed in community.general 6.0.0; useend_state
instead (https://github.com/ansible-collections/community.general/pull/3280).keycloak_group - the return value
group
is now deprecated and will be removed in community.general 6.0.0; useend_state
instead (https://github.com/ansible-collections/community.general/pull/3280).linode - parameter
backupsenabled
is deprecated and will be removed in community.general 5.0.0 (https://github.com/ansible-collections/community.general/pull/2410).lxd_container - the current default value
true
ofignore_volatile_options
is deprecated and will change tofalse
in community.general 6.0.0 (https://github.com/ansible-collections/community.general/pull/3429).serverless - deprecating parameter
functions
because it was not used in the code (https://github.com/ansible-collections/community.general/pull/2845).xfconf - deprecate the
get
state. The new modulexfconf_info
should be used instead (https://github.com/ansible-collections/community.general/pull/3049).
community.grafana
grafana_dashboard lookup - Providing a mangled version of the API key is no longer preferred.
community.hashi_vault
hashi_vault collection - support for Python 2 will be dropped in version
2.0.0
ofcommunity.hashi_vault
(https://github.com/ansible-collections/community.hashi_vault/issues/81).hashi_vault collection - support for Python 3.5 will be dropped in version
2.0.0
ofcommunity.hashi_vault
(https://github.com/ansible-collections/community.hashi_vault/issues/81).lookup hashi_vault - the
[lookup_hashi_vault]
section in theansible.cfg
file is deprecated and will be removed in collection version3.0.0
. Instead, the section[hashi_vault_collection]
can be used, which will apply to all plugins in the collection going forward (https://github.com/ansible-collections/community.hashi_vault/pull/144).
community.kubernetes
The
community.kubernetes
collection is being renamed tokubernetes.core
. All content in the collection has been replaced by deprecated redirects tokubernetes.core
. If you are using FQCNs starting withcommunity.kubernetes
, please update them tokubernetes.core
(https://github.com/ansible-collections/community.kubernetes/pull/439).
community.vmware
vmware_guest_vnc - Sphere 7.0 removed the built-in VNC server (https://docs.vmware.com/en/VMware-vSphere/7.0/rn/vsphere-esxi-vcenter-server-70-release-notes.html#productsupport).
inspur.sm
add_ad_group - This feature will be removed in inspur.sm.add_ad_group 3.0.0. replaced with inspur.sm.ad_group.
add_ldap_group - This feature will be removed in inspur.sm.add_ldap_group 3.0.0. replaced with inspur.sm.ldap_group.
add_user - This feature will be removed in inspur.sm.add_user 3.0.0. replaced with inspur.sm.user.
add_user_group - This feature will be removed in inspur.sm.add_user_group 3.0.0. replaced with inspur.sm.user_group.
del_ad_group - This feature will be removed in inspur.sm.del_ad_group 3.0.0. replaced with inspur.sm.ad_group.
del_ldap_group - This feature will be removed in inspur.sm.del_ldap_group 3.0.0. replaced with inspur.sm.ldap_group.
del_user - This feature will be removed in inspur.sm.del_user 3.0.0. replaced with inspur.sm.user.
del_user_group - This feature will be removed in inspur.sm.del_user_group 3.0.0. replaced with inspur.sm.user_group.
edit_ad_group - This feature will be removed in inspur.sm.edit_ad_group 3.0.0. replaced with inspur.sm.ad_group.
edit_ldap_group - This feature will be removed in inspur.sm.edit_ldap_group 3.0.0. replaced with inspur.sm.ldap_group.
edit_user - This feature will be removed in inspur.sm.edit_user 3.0.0. replaced with inspur.sm.user.
edit_user_group - This feature will be removed in inspur.sm.edit_user_group 3.0.0. replaced with inspur.sm.user_group.
junipernetworks.junos
Deprecated router_id from ospfv2 resource module.
Deprecated router_id from ospfv3 resource module.
The junos_logging module has been deprecated in favor of the new junos_logging_global resource module and will be removed in a release after ‘2023-08-01’.
vyos.vyos
The vyos_logging module has been deprecated in favor of the new vyos_logging_global resource module and will be removed in a release after “2023-08-01”.