Ansible 10 Porting Guide
Ansible 10 is based on Ansible-core 2.17.
We suggest you read this page along with the Ansible 10 Changelog to understand what updates you may need to make.
Playbook
No notable changes
Command Line
No notable changes
Deprecated
No notable changes
Modules
No notable changes
Modules removed
The following modules no longer exist:
No notable changes
Deprecation notices
No notable changes
Noteworthy module changes
No notable changes
Plugins
No notable changes
Porting custom scripts
No notable changes
Networking
No notable changes
Porting Guide for v10.0.0a1
Added Collections
community.library_inventory_filtering_v1 (version 1.0.0)
Known Issues
dellemc.openmanage
idrac_diagnostics - Issue(285322) - This module doesn’t support export of diagnostics file to HTTP and HTTPS share via SOCKS proxy.
idrac_firmware - Issue(279282) - This module does not support firmware update using HTTP, HTTPS, and FTP shares with authentication on iDRAC8.
idrac_network_attributes - Issue(279049) - If unsupported values are provided for the parameter
ome_network_attributes
, then this module does not provide a correct error message.idrac_storage_volume - Issue(290766) - The module will report success instead of showing failure for new virtual creation on the BOSS-N1 controller if a virtual disk is already present on the same controller.
ome_device_network_services - Issue(212681) - The module does not provide a proper error message if unsupported values are provided for the following parameters- port_number, community_name, max_sessions, max_auth_retries, and idle_timeout.
ome_device_power_settings - Issue(212679) - The module displays 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_device_quick_deploy - Issue(275231) - This module does not deploy a new configuration to a slot that has disabled IPv6.
ome_diagnostics - Issue(279193) - Export of SupportAssist collection logs to the share location fails on OME version 4.0.0.
ome_smart_fabric_uplink - Issue(186024) - The module supported by OpenManage Enterprise Modular, however it does not allow the creation of multiple uplinks of the same name. If an uplink is created using the same name as an existing uplink, then the existing uplink is modified.
Breaking Changes
Ansible-core
assert - Nested templating may result in an inability for the conditional to be evaluated. See the porting guide for more information.
cloud.common
Bump minimum Python supported version to 3.9.
Remove support for ansible-core < 2.14.
community.ciscosmb
in facts of interface ‘bandwith’ changed to ‘bandwidth’
community.okd
Bump minimum Python suupported version to 3.9 (https://github.com/openshift/community.okd/pull/202).
Remove support for ansible-core < 2.14 (https://github.com/openshift/community.okd/pull/202).
hetzner.hcloud
Drop support for ansible-core 2.13.
certificate - The not_valid_before and not_valid_after values are now returned as ISO-8601 formatted strings.
certificate_info - The not_valid_before and not_valid_after values are now returned as ISO-8601 formatted strings.
inventory - Remove the deprecated api_token_env option, you may use the ansible.builtin.env lookup as alternative.
iso_info - The deprecated value is now returned as ISO-8601 formatted strings.
kubernetes.core
Remove support for ansible-core < 2.14
Update python kubernetes library to 24.2.0, helm/kind-action to 1.8.0, kubernetes >= 1.24.
theforeman.foreman
content_view_filter - stop managing rules from this module,
content_view_filter_rule
should be used for thatinventory plugin - do not default to
http://localhost:3000
as the Foreman URL, providing a URL is now mandatory
vmware.vmware_rest
Remove support for ansible-core < 2.14
Major Changes
Ansible-core
urls.py - Removed support for Python 2
ansible.netcommon
Bumping requires_ansible to >=2.14.0, since previous ansible-core versions are EoL now.
ansible.utils
Bumping netaddr to >=0.10.1, means that starting from this release, the minimum netaddr version this collection requires is >=0.10.1.
Bumping requires_ansible to >=2.14.0, since previous ansible-core versions are EoL now.
This release mainly addresses the breaking changes in the netaddr library.
With the new release of netaddr 1.0.0, the IPAddress.is_private() method has been removed and instead, the IPAddress.is_global() method has been extended to support the same functionality. This change has been reflected in the ipaddr filter plugin.
arista.eos
Bumping requires_ansible to >=2.14.0, since previous ansible-core versions are EoL now.
This release removes previously deprecated modules and attributes from this collection. Please refer to the Removed Features section for details.
cisco.asa
Bumping requires_ansible to >=2.14.0, since previous ansible-core versions are EoL now.
cisco.ios
Bumping requires_ansible to >=2.14.0, since previous ansible-core versions are EoL now.
ios_ntp - Remove deprecated ntp legacy module
cisco.iosxr
Bumping requires_ansible to >=2.14.0, since previous ansible-core versions are EoL now.
This release removes previously deprecated module and attributes from this collection. Please refer to the Removed Features section for details.
cisco.nxos
Bumping requires_ansible to >=2.14.0, since previous ansible-core versions are EoL now.
This release removes four previously deprecated modules from this collection. Please refer to the Removed Features section for details.
community.docker
The
community.docker
collection now depends on thecommunity.library_inventory_filtering_v1
collection. This utility collection provides host filtering functionality for inventory plugins. If you use the Ansible community package, both collections are included and you do not have to do anything special. If you install the collection withansible-galaxy collection install
, it will be installed automatically. If you install the collection by copying the files of the collection to a place where ansible-core can find it, for example by cloning the git repository, you need to make sure that you also have to install the dependency if you are using the inventory plugins (https://github.com/ansible-collections/community.docker/pull/698).
community.hashi_vault
requirements - the
requests
package which is required byhvac
now has a more restrictive range for this collection in certain use cases due to breaking security changes inansible-core
that were backported (https://github.com/ansible-collections/community.hashi_vault/pull/416).
community.mysql
Collection version 2.*.* is EOL, no more bugfixes will be backported. Please consider upgrading to the latest version.
dellemc.openmanage
All OME modules are enhanced to support the environment variables OME_USERNAME and OME_PASSWORD as fallback for credentials.
All iDRAC and Redfish modules are enhanced to support the environment variables IDRAC_USERNAME and IDRAC_PASSWORD as fallback for credentials.
idrac_certificates - The module is enhanced to support the import and export of CUSTOMCERTIFICATE.
idrac_diagnostics - The module is introduced to run and export diagnostics on iDRAC.
idrac_gather_facts - This role is enhanced to support secure boot.
idrac_license - The module is introduced to configure iDRAC licenses.
idrac_user - This role is introduced to manage local users of iDRAC.
dellemc.unity
Adding support for Unity Puffin v5.4.
fortinet.fortios
Add notes for backup modules in the documentation in both monitor and monitor_fact modules.
Supported new FOS versions 7.4.2 and 7.4.3, and support data type mac_address in the collection.
Update all the boolean values to true/false in the documents and examples.
Update the document of log_fact.
Update the documentation for the supported versions from latest to a fix version number.
Update the mismatched version message with version ranges.
Update the required ansible version to 2.14.
Update the required ansible version to 2.15.
Update the supported version ranges instead of concrete version numbers to reduce the collection size.
grafana.grafana
Add an Ansible role for OpenTelemetry Collector by @ishanjainn in https://github.com/grafana/grafana-ansible-collection/pull/138
ibm.qradar
Bumping requires_ansible to >=2.14.0, since previous ansible-core versions are EoL now.
infoblox.nios_modules
Upgrade Ansible version support from 2.13 to 2.16.
Upgrade Python version support from 3.8 to 3.10.
junipernetworks.junos
Bumping requires_ansible to >=2.14.0, since previous ansible-core versions are EoL now.
This release removes previously deprecated modules from this collection. Please refer to the Removed Features section for details.
splunk.es
Bumping requires_ansible to >=2.14.0, since previous ansible-core versions are EoL now.
Removed Collections
community.azure (previously included version: 2.0.0)
community.sap (previously included version: 2.0.0)
gluster.gluster (previously included version: 1.0.2)
hpe.nimble (previously included version: 1.1.4)
netapp.aws (previously included version: 21.7.1)
netapp.azure (previously included version: 21.10.1)
netapp.elementsw (previously included version: 21.7.0)
netapp.um_info (previously included version: 21.8.1)
purestorage.fusion (previously included version: 1.6.0)
Removed Features
The
gluster.gluster
collection was considered unmaintained and removed from Ansible 10 (https://github.com/ansible-community/community-topics/issues/225). Users can still install this collection withansible-galaxy collection install gluster.gluster
.The
hpe.nimble
collection was considered unmaintained and removed from Ansible 10 (https://github.com/ansible-community/community-topics/issues/254). Users can still install this collection withansible-galaxy collection install hpe.nimble
.The
netapp.aws
collection was considered unmaintained and removed from Ansible 10 (https://github.com/ansible-community/community-topics/issues/223). Users can still install this collection withansible-galaxy collection install netapp.aws
.The
netapp.azure
collection was considered unmaintained and removed from Ansible 10 (https://github.com/ansible-community/community-topics/issues/234). Users can still install this collection withansible-galaxy collection install netapp.azure
.The
netapp.elementsw
collection was considered unmaintained and removed from Ansible 10 (https://github.com/ansible-community/community-topics/issues/235). Users can still install this collection withansible-galaxy collection install netapp.elementsw
.The
netapp.um_info
collection was considered unmaintained and removed from Ansible 10 (https://github.com/ansible-community/community-topics/issues/244). Users can still install this collection withansible-galaxy collection install netapp.um_info
.The deprecated
community.azure
collection has been removed. There is a successor collectionazure.azcollection
in the community package which should cover the same functionality.The deprecated
community.sap
collection has been removed from Ansible 10 (https://github.com/ansible-community/community-topics/issues/247). There is a successor collectioncommunity.sap_libs
in the community package which should cover the same functionality.The deprecated
purestorage.fusion
collection has been removed (https://forum.ansible.com/t/3712).
Ansible-core
Remove deprecated APIs from ansible-docs (https://github.com/ansible/ansible/issues/81716).
Remove deprecated JINJA2_NATIVE_WARNING environment variable (https://github.com/ansible/ansible/issues/81714)
Remove deprecated
scp_if_ssh
from ssh connection plugin (https://github.com/ansible/ansible/issues/81715).Remove deprecated crypt support from ansible.utils.encrypt (https://github.com/ansible/ansible/issues/81717)
With the removal of Python 2 support, the yum module and yum action plugin are removed and redirected to
dnf
.
arista.eos
Remove depreacted eos_bgp module which is replaced with eos_bgp_global and eos_bgp_address_family.
Remove deprecated eos_logging module which is replaced with eos_logging_global resource module.
Remove deprecated timers.throttle attribute.
cisco.ios
Deprecated ios_ntp module in favor of ios_ntp_global.
Removed previously deprecated ios_bgp module in favor of ios_bgp_global and ios_bgp_address_family.
cisco.iosxr
Remove deprecated iosxr_logging module which is replaced with iosxr_logging_global resource module.
cisco.nxos
The nxos_logging module has been removed with this release.
The nxos_ntp module has been removed with this release.
The nxos_ntp_auth module has been removed with this release.
The nxos_ntp_options module has been removed with this release.
junipernetworks.junos
Remove deprected junos_logging module which is replaced by junos_logging_global resource module.
Deprecated Features
The
inspur.sm
collection is considered unmaintained and will be removed from Ansible 11 if no one starts maintaining it again before Ansible 11. See the removal process for details on how this works (https://forum.ansible.com/t/2854).The
netapp.storagegrid
collection is considered unmaintained and will be removed from Ansible 11 if no one starts maintaining it again before Ansible 11. See the removal process for details on how this works (https://forum.ansible.com/t/2811).
Ansible-core
Old style vars plugins which use the entrypoints get_host_vars or get_group_vars are deprecated. The plugin should be updated to inherit from BaseVarsPlugin and define a get_vars method as the entrypoint.
The ‘required’ parameter in ‘ansible.module_utils.common.process.get_bin_path’ API is deprecated (https://github.com/ansible/ansible/issues/82464).
module_utils
- importing the following convenience helpers fromansible.module_utils.basic
has been deprecated:get_exception
,literal_eval
,_literal_eval
,datetime
,signal
,types
,chain
,repeat
,PY2
,PY3
,b
,binary_type
,integer_types
,iteritems
,string_types
,test_type
,map
andshlex_quote
.ansible-doc - role entrypoint attributes are deprecated and eventually will no longer be shown in ansible-doc from ansible-core 2.20 on (https://github.com/ansible/ansible/issues/82639, https://github.com/ansible/ansible/pull/82678).
paramiko connection plugin, configuration items in the global scope are being deprecated and will be removed in favor or the existing same options in the plugin itself. Users should not need to change anything (how to configure them are the same) but plugin authors using the global constants should move to using the plugin’s get_option().
amazon.aws
iam_role_info - in a release after 2026-05-01 paths must begin and end with
/
(https://github.com/ansible-collections/amazon.aws/pull/1998).
community.crypto
openssl_csr_pipe, openssl_privatekey_pipe, x509_certificate_pipe - the current behavior of check mode is deprecated and will change in community.crypto 3.0.0. The current behavior is similar to the modules without
_pipe
: if the object needs to be (re-)generated, only thechanged
status is set, but the object is not updated. From community.crypto 3.0.0 on, the modules will ignore check mode and always act as if check mode is not active. This behavior can already achieved now by addingcheck_mode: false
to the task. If you think this breaks your use-case of this module, please create an issue in the community.crypto repository (https://github.com/ansible-collections/community.crypto/issues/712, https://github.com/ansible-collections/community.crypto/pull/714).
community.dns
hetzner_dns_records and hosttech_dns_records inventory plugins - the
filters
option has been renamed tosimple_filters
. The old name will stop working in community.hrobot 2.0.0 (https://github.com/ansible-collections/community.dns/pull/181).
community.docker
docker_container - the default
ignore
for theimage_name_mismatch
parameter has been deprecated and will switch torecreate
in community.docker 4.0.0. A deprecation warning will be printed in situations where the default value is used and where a behavior would change once the default changes (https://github.com/ansible-collections/community.docker/pull/703).
community.general
consul_acl - the module has been deprecated and will be removed in community.general 10.0.0.
consul_token
andconsul_policy
can be used instead (https://github.com/ansible-collections/community.general/pull/7901).
community.hrobot
robot inventory plugin - the
filters
option has been renamed tosimple_filters
. The old name will stop working in community.hrobot 2.0.0 (https://github.com/ansible-collections/community.hrobot/pull/94).
community.okd
openshift - the
openshift
inventory plugin has been deprecated and will be removed in release 4.0.0 (https://github.com/ansible-collections/kubernetes.core/issues/31).
dellemc.openmanage
The
dellemc_idrac_storage_volume
module is deprecated and replaced withidrac_storage_volume
.
kubernetes.core
k8s - the
k8s
inventory plugin has been deprecated and will be removed in release 4.0.0 (https://github.com/ansible-collections/kubernetes.core/issues/31).