This section discusses the behavioral changes between Ansible 2.9 and Ansible 2.10.
It is intended to assist in updating your playbooks, plugins and other parts of your Ansible infrastructure so they will work with this version of Ansible.
We suggest you read this page along with Ansible Changelog for 2.10 to understand what updates you may need to make.
This document is part of a collection on porting. The complete list of porting guides can be found at porting guides <porting_guides>
.
Topics
No notable changes
No notable changes
- Windows Server 2008 and 2008 R2 will no longer be supported or tested in the next Ansible release, see
windows_faq_server2008
. - The
win_stat <win_stat_module>
module has removed the deprecatedget_md55
option andmd5
return value. - The
win_psexec <win_psexec_module>
module has removed the deprecatedextra_opts
option.
The following modules no longer exist:
- letsencrypt use
acme_certificate <acme_certificate_module>
instead.
The following modules will be removed in Ansible 2.14. Please update your playbooks accordingly.
- ldap_attr use
ldap_attrs <ldap_attrs_module>
instead.
The following functionality will be removed in Ansible 2.14. Please update update your playbooks accordingly.
- The
openssl_csr <openssl_csr_module>
module's optionversion
no longer supports values other than1
(the current only standardized CSR version). docker_container <docker_container_module>
: thetrust_image_content
option will be removed. It has always been ignored by the module.iam_managed_policy <iam_managed_policy_module>
: thefail_on_delete
option will be removed. It has always been ignored by the module.s3_lifecycle <s3_lifecycle_module>
: therequester_pays
option will be removed. It has always been ignored by the module.s3_sync <s3_sync_module>
: theretries
option will be removed. It has always been ignored by the module.- The return values
err
andout
ofdocker_stack <docker_stack_module>
have been deprecated. Usestdout
andstderr
from now on instead. cloudformation <cloudformation_module>
: thetemplate_format
option will be removed. It has been ignored by the module since Ansible 2.3.data_pipeline <data_pipeline_module>
: theversion
option will be removed. It has always been ignored by the module.ec2_eip <ec2_eip_module>
: thewait_timeout
option will be removed. It has had no effect since Ansible 2.3.ec2_key <ec2_key_module>
: thewait
option will be removed. It has had no effect since Ansible 2.5.ec2_key <ec2_key_module>
: thewait_timeout
option will be removed. It has had no effect since Ansible 2.5.ec2_lc <ec2_lc_module>
: theassociate_public_ip_address
option will be removed. It has always been ignored by the module.iam_policy <iam_policy_module>
: thepolicy_document
option will be removed. To maintain the existing behavior use thepolicy_json
option and read the file with thelookup
plugin.redfish_config <redfish_config_module>
: thebios_attribute_name
andbios_attribute_value
options will be removed. To maintain the existing behavior use thebios_attributes
option instead.clc_aa_policy <clc_aa_policy_module>
: thewait
parameter will be removed. It has always been ignored by the module.redfish_config <redfish_config_module>
,redfish_command <redfish_command_module>
: the behavior to select the first System, Manager, or Chassis resource to modify when multiple are present will be removed. Use the newresource_id
option to specify target resource to modify.win_domain_controller <win_domain_controller_module>
: thelog_path
option will be removed. This was undocumented and only related to debugging information for module development.
The following functionality will change in Ansible 2.14. Please update update your playbooks accordingly.
- The
docker_container <docker_container_module>
module has a new option,container_default_behavior
, whose default value will change fromcompatibility
tono_defaults
. Set to an explicit value to avoid deprecation warnings. - The
docker_container <docker_container_module>
module'snetwork_mode
option will be set by default to the name of the first network innetworks
if at least one network is given andnetworks_cli_compatible
istrue
(will be default from Ansible 2.12 on). Set to an explicit value to avoid deprecation warnings if you specify networks and setnetworks_cli_compatible
totrue
. The current default (not specifying it) is equivalent to the valuedefault
. ec2 <ec2_module>
: thegroup
andgroup_id
options will become mutually exclusive. Currentlygroup_id
is ignored if you pass both.iam_policy <iam_policy_module>
: the default value for theskip_duplicates
option will change fromtrue
tofalse
. To maintain the existing behavior explicitly set it totrue
.iam_role <iam_role_module>
: thepurge_policies
option (also know aspurge_policy
) default value will change fromtrue
tofalse
elb_network_lb <elb_network_lb_module>
: the default behaviour for thestate
option will change fromabsent
topresent
. To maintain the existing behavior explicitly set state toabsent
.vmware_tag_info <vmware_tag_info_module>
: the module will not returntag_facts
since it does not return multiple tags with the same name and different category id. To maintain the existing behavior usetag_info
which is a list of tag metadata.
The following modules will be removed in Ansible 2.14. Please update your playbooks accordingly.
vmware_dns_config
usevmware_host_dns <vmware_host_dns_module>
instead.
- The
datacenter
option has been removed fromvmware_guest_find <vmware_guest_find_module>
- The options
ip_address
andsubnet_mask
have been removed fromvmware_vmkernel <vmware_vmkernel_module>
; use the suboptionsip_address
andsubnet_mask
of thenetwork
option instead. - Ansible modules created with
add_file_common_args=True
added a number of undocumented arguments which were mostly there to ease implementing certain action plugins. The undocumented argumentssrc
,follow
,force
,content
,backup
,remote_src
,regexp
,delimiter
, anddirectory_mode
are now no longer added. Modules relying on these options to be added need to specify them by themselves. vmware_datastore_maintenancemode <vmware_datastore_maintenancemode_module>
now returnsdatastore_status
instead of Ansible internal keyresults
.vmware_host_kernel_manager <vmware_host_kernel_manager_module>
now returnshost_kernel_status
instead of Ansible internal keyresults
.vmware_host_ntp <vmware_host_ntp_module>
now returnshost_ntp_status
instead of Ansible internal keyresults
.vmware_host_service_manager <vmware_host_service_manager_module>
now returnshost_service_status
instead of Ansible internal keyresults
.vmware_tag <vmware_tag_module>
now returnstag_status
instead of Ansible internal keyresults
.- The deprecated
recurse
option inpacman <pacman_module>
module has been removed, you should useextra_args=--recursive
instead. vmware_guest_custom_attributes <vmware_guest_custom_attributes_module>
module does not require VM name which was a required parameter for releases prior to Ansible 2.10.zabbix_action <zabbix_action_module>
no longer requiresesc_period
andevent_source
arguments whenstate=absent
.zabbix_proxy <zabbix_proxy_module>
deprecatesinterface
sub-optionstype
andmain
when proxy type is set to passive viastatus=passive
. Make sure these suboptions are removed from your playbook as they were never supported by Zabbix in the first place.gitlab_user <gitlab_user_module>
no longer requiresname
,email
andpassword
arguments whenstate=absent
.win_pester <win_pester_module>
no longer runs all*.ps1
file in the directory specified due to it executing potentially unknown scripts. It will follow the default behaviour of only running tests for files that are like*.tests.ps1
which is built into Pester itselfwin_find <win_find_module>
has been refactored to better match the behaviour of thefind
module. Here is what has changed:- When the directory specified by
paths
does not exist or is a file, it will no longer fail and will just warn the user - Junction points are no longer reported as
islnk
, useisjunction
to properly report these files. This behaviour matches thewin_stat <win_stat_module>
- Directories no longer return a
size
, this matches thestat
andfind
behaviour and has been removed due to the difficulties in correctly reporting the size of a directory
- When the directory specified by
docker_container <docker_container_module>
no longer passes information on non-anonymous volumes or binds asVolumes
to the Docker daemon. This increases compatibility with thedocker
CLI program. Note that if you specifyvolumes: strict
incomparisons
, this could cause existing containers created with docker_container from Ansible 2.9 or earlier to restart.docker_container <docker_container_module>
's support for port ranges was adjusted to be more compatible to thedocker
command line utility: a one-port container range combined with a multiple-port host range will no longer result in only the first host port be used, but the whole range being passed to Docker so that a free port in that range will be used.purefb_fs <purefb_fs_module>
no longer supports the deprecatednfs
option. This has been superceeded bynfsv3
.nxos_igmp_interface <nxos_igmp_interface_module>
no longer supports the deprecatedoif_prefix
andoif_source
options. These have been superceeded byoif_ps
.
- Prior to Ansible
2.10
lookup plugin names passed in as an argument to thelookup()
function were treated as case-insensitive as opposed to lookups invoked viawith_<lookup_name>
.2.10
brings consistency tolookup()
andwith_
to be both case-sensitive.
- The
hashi_vault
lookup plugin now returns the latest version when using the KV v2 secrets engine. Previously, it returned all versions of the secret which required additional steps to extract and filter the desired version. - Some undocumented arguments from
FILE_COMMON_ARGUMENTS
have been removed; plugins using these, in particular action plugins, need to be adjusted. The undocumented arguments which were removed aresrc
,follow
,force
,content
,backup
,remote_src
,regexp
,delimiter
, anddirectory_mode
.
No notable changes
No notable changes