Ansible 11 Porting Guide
Ansible 11 is based on Ansible-core 2.18.
We suggest you read this page along with the Ansible 11 Changelog to understand what updates you may need to make.
Porting Guide for v11.0.0a1
Added Collections
ieisystem.inmanage (version 2.0.0)
kubevirt.core (version 2.1.0)
vmware.vmware (version 1.5.0)
Known Issues
Ansible-core
ansible-test - When using ansible-test containers with Podman on a Ubuntu 24.04 host, ansible-test must be run as a non-root user to avoid permission issues caused by AppArmor.
ansible-test - When using the Fedora 40 container with Podman on a Ubuntu 24.04 host, the
unix-chkpwd
AppArmor profile must be disabled on the host to allow SSH connections to the container.
ansible.netcommon
libssh - net_put and net_get fail when the destination file intended to be fetched is not present.
community.docker
docker_container - when specifying a MAC address for a container’s network, and the network is attached after container creation (for example, due to idempotency checks), the MAC address is at least in some cases ignored by the Docker Daemon (https://github.com/ansible-collections/community.docker/pull/933).
community.general
homectl - the module does not work under Python 3.13 or newer, since it relies on the removed
crypt
standard library module (https://github.com/ansible-collections/community.general/issues/4691, https://github.com/ansible-collections/community.general/pull/8497).udm_user - the module does not work under Python 3.13 or newer, since it relies on the removed
crypt
standard library module (https://github.com/ansible-collections/community.general/issues/4690, https://github.com/ansible-collections/community.general/pull/8497).
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_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.
idrac_support_assist - Issue(308550) - This module fails when the NFS share path contains sub directory.
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
Stopped wrapping all commands sent over SSH on a Windows target with a
powershell.exe
executable. This results in one less process being started on each command for Windows to improve efficiency, simplify the code, and makeraw
an actual raw command run with the default shell configured on the Windows sshd settings. This should have no affect on most tasks except forraw
which now is not guaranteed to always be running in a PowerShell shell and from having the console output codepage set to UTF-8. To avoid this issue either swap to usingansible.windows.win_command
,ansible.windows.win_shell
,ansible.windows.win_powershell
or manually wrap the raw command with the shell commands needed to set the output console encoding.assert - Nested templating may result in an inability for the conditional to be evaluated. See the porting guide for more information.
persistent connection plugins - The
ANSIBLE_CONNECTION_PATH
config option no longer has any effect.
community.mysql
collection - support of mysqlclient connector is deprecated - use PyMySQL connector instead! We will stop testing against it in collection version 4.0.0 and remove the related code in 5.0.0 (https://github.com/ansible-collections/community.mysql/issues/654).
mysql_info - The
users_info
filter returned variableplugin_auth_string
contains the hashed password and it’s misleading, it will be removed from community.mysql 4.0.0. Use the plugin_hash_string return value instead (https://github.com/ansible-collections/community.mysql/pull/629).mysql_user - the
user
alias of thename
argument has been deprecated and will be removed in collection version 5.0.0. Use thename
argument instead.
community.vmware
Adding a dependency on the
vmware.vmware
collection (https://github.com/ansible-collections/community.vmware/pull/2159).Depending on
vmware-vcenter
andvmware-vapi-common-client
instead ofhttps://github.com/vmware/vsphere-automation-sdk-python.git
(https://github.com/ansible-collections/community.vmware/pull/2163).Dropping support for pyVmomi < 8.0.3.0.1 (https://github.com/ansible-collections/community.vmware/pull/2163).
Module utils - Removed
vmware.run_command_in_guest()
(https://github.com/ansible-collections/community.vmware/pull/2175).Removed support for ansible-core version < 2.17.0.
vmware_dvs_portgroup - Removed
security_override
alias formac_management_override
and support forsecurityPolicyOverrideAllowed
which has been deprected in the vSphere API (https://github.com/ansible-collections/community.vmware/issues/1998).vmware_dvs_portgroup_info - Removed
security_override
because it’s deprecated in the vSphere API (https://github.com/ansible-collections/community.vmware/issues/1998).vmware_guest_tools_info - Removed deprecated
vm_tools_install_status
from the result (https://github.com/ansible-collections/community.vmware/issues/2078).
community.zabbix
All Roles - Remove support for Centos 7
All Roles - Remove support for Python2
All Roles - Removed support for Debian 10.
All Roles - Removed support for Ubuntu 18.08 (Bionic)
Remove support for Ansible < 2.15 and Python < 3.9
Remove support for Zabbix 6.2
Removed support for Zabbix 6.2
zabbix_agent role - Remove support for zabbix_agent_zabbix_alias.
zabbix_agent role - Remove support for zabbix_get_package variable.
zabbix_agent role - Remove support for zabbix_sender_package variable.
zabbix_agent role - Remove support for all zabbix_agent2_* variables.
hetzner.hcloud
Drop support for ansible-core 2.14.
kubernetes.core
Remove support for
ansible-core<2.15
(https://github.com/ansible-collections/kubernetes.core/pull/737).
vmware.vmware_rest
Removing any support for ansible-core <=2.14
Major Changes
ansible.netcommon
Bumping requires_ansible to >=2.15.0, since previous ansible-core versions are EoL now.
ansible.posix
Dropping support for Ansible 2.9, ansible-core 2.15 will be minimum required version for this release
arista.eos
Bumping requires_ansible to >=2.15.0 due to the end-of-life status of previous ansible-core versions.
check_point.mgmt
New R82 Resource Modules
Support relative positioning for sections
cisco.asa
Bumping requires_ansible to >=2.15.0, since previous ansible-core versions are EoL now.
cisco.ios
Bumping requires_ansible to >=2.15.0, since previous ansible-core versions are EoL now.
cisco.iosxr
Bumping requires_ansible to >=2.15.0, since previous ansible-core versions are EoL now.
cisco.nxos
Bumping requires_ansible to >=2.15.0, since previous ansible-core versions are EoL now.
community.vmware
vmware_guest_tools_upgrade - Subsitute the deprecated
guest.toolsStatus
(https://github.com/ansible-collections/community.vmware/pull/2174).vmware_vm_shell - Subsitute the deprecated
guest.toolsStatus
(https://github.com/ansible-collections/community.vmware/pull/2174).
community.zabbix
All Roles - Add support for openSUSE Leap 15 and SLES 15.
All Roles - Separate installation of Zabbix repo from all other roles and link them together.
containers.podman
Add mount and unmount for volumes
Add multiple subnets for networks
Add new options for podman_container
Add new options to pod module
Add podman search
Improve idempotency for networking in podman_container
Redesign idempotency for Podman Pod module
dellemc.openmanage
Added support to use session ID for authentication of iDRAC, OpenManage Enterprise and OpenManage Enterprise Modular.
idrac_secure_boot - This module allows to import the secure boot certificate.
idrac_server_config_profile - This module is enhanced to allow you to export and import custom defaults on iDRAC.
idrac_support_assist - This module allows to run and export SupportAssist collection logs on iDRAC.
ome_configuration_compliance_baseline - This module is enhanced to schedule the remediation job and stage the reboot.
ome_session - This module allows you to create and delete the sessions on OpenManage Enterprise and OpenManage Enterprise Modular.
fortinet.fortios
Add a sanity_test.yaml file to trigger CI tests in GitHub.
Support Ansible-core 2.17.
Support new FOS versions 7.4.4.
grafana.grafana
Add a config check before restarting mimir by @panfantastic in https://github.com/grafana/grafana-ansible-collection/pull/198
Add support for configuring feature_toggles in grafana role by @LexVar in https://github.com/grafana/grafana-ansible-collection/pull/173
Backport post-setup healthcheck from agent to alloy by @v-zhuravlev in https://github.com/grafana/grafana-ansible-collection/pull/213
Bump ansible-lint from 24.2.3 to 24.5.0 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/207
Bump ansible-lint from 24.5.0 to 24.6.0 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/216
Bump braces from 3.0.2 to 3.0.3 in the npm_and_yarn group across 1 directory by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/218
Bump pylint from 3.1.0 to 3.1.1 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/200
Bump pylint from 3.1.1 to 3.2.2 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/208
Bump pylint from 3.2.2 to 3.2.3 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/217
Bump pylint from 3.2.3 to 3.2.5 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/234
Change from config.river to config.alloy by @cardasac in https://github.com/grafana/grafana-ansible-collection/pull/225
Fix Grafana Configuration for Unified and Legacy Alerting Based on Version by @voidquark in https://github.com/grafana/grafana-ansible-collection/pull/215
Support adding alloy user to extra groups by @v-zhuravlev in https://github.com/grafana/grafana-ansible-collection/pull/212
Updated result.json[‘message’] to result.json()[‘message’] by @CPreun in https://github.com/grafana/grafana-ansible-collection/pull/223
fix:mimir molecule should use ansible core 2.16 by @GVengelen in https://github.com/grafana/grafana-ansible-collection/pull/254
ibm.qradar
Bumping requires_ansible to >=2.15.0, since previous ansible-core versions are EoL now.
junipernetworks.junos
Bumping requires_ansible to >=2.15.0, since previous ansible-core versions are EoL now.
splunk.es
Bumping requires_ansible to >=2.15.0, since previous ansible-core versions are EoL now.
vyos.vyos
Bumping requires_ansible to >=2.15.0, since previous ansible-core versions are EoL now.
Removed Collections
frr.frr (previously included version: 2.0.2)
inspur.sm (previously included version: 2.3.0)
netapp.storagegrid (previously included version: 21.12.0)
openvswitch.openvswitch (previously included version: 2.1.1)
t_systems_mms.icinga_director (previously included version: 2.0.1)
Removed Features
The
frr.frr
collection has been removed because it does not support ansible-core 2.18 (https://forum.ansible.com/t/6243).The
inspur.sm
collection was considered unmaintained and removed from Ansible 11 (https://forum.ansible.com/t/2854). Users can still install this collection withansible-galaxy collection install inspur.sm
.The
netapp.storagegrid
collection was considered unmaintained and removed from Ansible 11 (https://forum.ansible.com/t/2811). Users can still install this collection withansible-galaxy collection install netapp.storagegrid
.The
openvswitch.openvswitch
collection has been removed because it does not support ansible-core 2.18 (https://forum.ansible.com/t/6245).
Ansible-core
Play - removed deprecated
ROLE_CACHE
property in favor ofrole_cache
.Remove deprecated VariableManager._get_delegated_vars method (https://github.com/ansible/ansible/issues/82950)
Removed Python 3.10 as a supported version on the controller. Python 3.11 or newer is required.
Removed support for setting the
vars
keyword to lists of dictionaries. It is now required to be a single dictionary.loader - remove deprecated non-inclusive words (https://github.com/ansible/ansible/issues/82947).
paramiko_ssh - removed deprecated ssh_args from the paramiko_ssh connection plugin (https://github.com/ansible/ansible/issues/82939).
paramiko_ssh - removed deprecated ssh_common_args from the paramiko_ssh connection plugin (https://github.com/ansible/ansible/issues/82940).
paramiko_ssh - removed deprecated ssh_extra_args from the paramiko_ssh connection plugin (https://github.com/ansible/ansible/issues/82941).
play_context - remove deprecated PlayContext.verbosity property (https://github.com/ansible/ansible/issues/82945).
utils/listify - remove deprecated ‘loader’ argument from listify_lookup_plugin_terms API (https://github.com/ansible/ansible/issues/82949).
ansible.posix
skippy - Remove skippy pluglin as it is no longer supported(https://github.com/ansible-collections/ansible.posix/issues/350).
community.grafana
removed check and handling of mangled api key in grafana_dashboard lookup
removed deprecated message argument in grafana_dashboard
community.okd
k8s - Support for
merge_type=json
has been removed in version 4.0.0. Please usekubernetes.core.k8s_json_patch
instead (https://github.com/openshift/community.okd/pull/226).
kubernetes.core
k8s - Support for
merge_type=json
has been removed in version 4.0.0. Please usekubernetes.core.k8s_json_patch
instead (https://github.com/ansible-collections/kubernetes.core/pull/722).k8s_exec - the previously deprecated
result.return_code
return value has been removed, consider usingresult.rc
instead (https://github.com/ansible-collections/kubernetes.core/pull/726).module_utils/common.py - the previously deprecated
K8sAnsibleMixin
class has been removed (https://github.com/ansible-collections/kubernetes.core/pull/726).module_utils/common.py - the previously deprecated
configuration_digest()
function has been removed (https://github.com/ansible-collections/kubernetes.core/pull/726).module_utils/common.py - the previously deprecated
get_api_client()
function has been removed (https://github.com/ansible-collections/kubernetes.core/pull/726).module_utils/common.py - the previously deprecated
unique_string()
function has been removed (https://github.com/ansible-collections/kubernetes.core/pull/726).
Deprecated Features
Ansible-core
Deprecate
ansible.module_utils.basic.AnsibleModule.safe_eval
andansible.module_utils.common.safe_eval
as they are no longer used.persistent connection plugins - The
ANSIBLE_CONNECTION_PATH
config option no longer has any effect, and will be removed in a future release.yum_repository - deprecate
async
option as it has been removed in RHEL 8 and will be removed in ansible-core 2.22.yum_repository - the following options are deprecated:
deltarpm_metadata_percentage
,gpgcakey
,http_caching
,keepalive
,metadata_expire_filter
,mirrorlist_expire
,protect
,ssl_check_cert_permissions
,ui_repoid_vars
as they have no effect for dnf as an underlying package manager. The options will be removed in ansible-core 2.22.
amazon.aws
iam_role - support for creating and deleting IAM instance profiles using the
create_instance_profile
anddelete_instance_profile
options has been deprecated and will be removed in a release after 2026-05-01. To manage IAM instance profiles theamazon.aws.iam_instance_profile
module can be used instead (https://github.com/ansible-collections/amazon.aws/pull/2221).
cisco.ios
ios_bgp_address_family - deprecated attribute password in favour of password_options within neigbhors.
ios_bgp_global - deprecated attributes aggregate_address, bestpath, inject_map, ipv4_with_subnet, ipv6_with_subnet, nopeerup_delay, distribute_list, address, tag, ipv6_addresses, password, route_map, route_server_context and scope
ios_linkagg - deprecate legacy module ios_linkagg
ios_lldp - deprecate legacy module ios_lldp
community.docker
The collection deprecates support for all ansible-core versions that are currently End of Life, according to the ansible-core support matrix. This means that the next major release of the collection will no longer support ansible-core 2.11, ansible-core 2.12, ansible-core 2.13, and ansible-core 2.14.
community.general
CmdRunner module util - setting the value of the
ignore_none
parameter within aCmdRunner
context is deprecated and that feature should be removed in community.general 12.0.0 (https://github.com/ansible-collections/community.general/pull/8479).MH decorator cause_changes module utils - deprecate parameters
on_success
andon_failure
(https://github.com/ansible-collections/community.general/pull/8791).git_config - the
list_all
option has been deprecated and will be removed in community.general 11.0.0. Use thecommunity.general.git_config_info
module instead (https://github.com/ansible-collections/community.general/pull/8453).git_config - using
state=present
without providingvalue
is deprecated and will be disallowed in community.general 11.0.0. Use thecommunity.general.git_config_info
module instead to read a value (https://github.com/ansible-collections/community.general/pull/8453).pipx - support for versions of the command line tool
pipx
older than1.7.0
is deprecated and will be removed in community.general 11.0.0 (https://github.com/ansible-collections/community.general/pull/8793).pipx_info - support for versions of the command line tool
pipx
older than1.7.0
is deprecated and will be removed in community.general 11.0.0 (https://github.com/ansible-collections/community.general/pull/8793).
community.grafana
Deprecate grafana_notification_channel. It will be removed in version 3.0.0
community.routeros
The collection deprecates support for all Ansible/ansible-base/ansible-core versions that are currently End of Life, according to the ansible-core support matrix. This means that the next major release of the collection will no longer support Ansible 2.9, ansible-base 2.10, ansible-core 2.11, ansible-core 2.12, ansible-core 2.13, and ansible-core 2.14.
community.sops
The collection deprecates support for all Ansible/ansible-base/ansible-core versions that are currently End of Life, according to the ansible-core support matrix. This means that the next major release of the collection will no longer support Ansible 2.9, ansible-base 2.10, ansible-core 2.11, ansible-core 2.12, ansible-core 2.13, and ansible-core 2.14.
community.vmware
vmware_cluster - the module has been deprecated and will be removed in community.vmware 6.0.0 (https://github.com/ansible-collections/community.vmware/pull/2143).
vmware_cluster_drs - the module has been deprecated and will be removed in community.vmware 6.0.0 (https://github.com/ansible-collections/community.vmware/pull/2136).
vmware_cluster_vcls - the module has been deprecated and will be removed in community.vmware 6.0.0 (https://github.com/ansible-collections/community.vmware/pull/2156).