Warning
In preparation for the release of 2.10, many plugins and modules have migrated to Collections on Ansible Galaxy. For the current development status of Collections and FAQ see Ansible Collections Community Guide. We expect the 2.10 Porting Guide to change frequently up to the 2.10 release. Follow the conversations about collections on our various Communicating with the Ansible community channels for the latest information on the status of the devel branch.
This section discusses the behavioral changes between Ansible 2.9 and Ansible-base 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-base.
We suggest you read this page along with the Ansible-base Changelog for 2.10 to understand what updates you may need to make.
Ansible-base is mainly of interest for developers and users who only want to use a small, controlled subset of the available collections. Regular users should install ansible.
The complete list of porting guides can be found at porting guides.
diff: yes- was returning False.ansible_processor_nproc reflects the number of vcpus available to processes (falls back to the number of vcpus available to the scheduler).ansible-galaxy login command has been removed, as the underlying API it used for GitHub auth is being shut down. Publishing roles or collections to Galaxy through ansible-galaxy now requires that a Galaxy API token be passed to the CLI through a token file (default location ~/.ansible/galaxy_token) or (insecurely) through the --token argument to ansible-galaxy.Warning
Links on this page may not point to the most recent versions of modules. We will update them when we can.
0o600 & ~umask when the user did not specify a mode parameter on file-based tasks. This was in response to a CVE report which we have reconsidered. As a result, the mode change has been reverted in 2.10.1, and mode will now default to 0o666 & ~umask as in previous versions of Ansible.mode parameter in all file-based tasks that accept it.dnf and yum - As of version 2.10.1, the dnf module (and yum action when it uses dnf) now correctly validates GPG signatures of packages (CVE-2020-14365). If you see an error such as Failed to validate GPG signature for [package name], please ensure that you have imported the correct GPG key for the DNF repository and/or package you are using. One way to do this is with the rpm_key module. Although we discourage it, in some cases it may be necessary to disable the GPG check. This can be done by explicitly adding disable_gpg_check: yes in your dnf or yum task.add_file_common_args=True added a number of undocumented arguments which were mostly there to ease implementing certain action plugins. The undocumented arguments src, follow, force, content, backup, remote_src, regexp, delimiter, and directory_mode are now no longer added. Modules relying on these options to be added need to specify them by themselves.remote_user’s home directory) when an Ansible module is run. This is to fix becoming an unprivileged user on OpenBSD and to mitigate any attack vector if the current working directory is writable by a malicious user. Install any Python modules needed to run the Ansible modules on the managed node in a system-wide location or in another directory which is in the remote_user’s $PYTHONPATH and readable by the become_user.2.10 lookup plugin names passed in as an argument to the lookup() function were treated as case-insensitive as opposed to lookups invoked through with_<lookup_name>. 2.10 brings consistency to lookup() and with_ to be both case-sensitive.FILE_COMMON_ARGUMENTS have been removed; plugins using these, in particular action plugins, need to be adjusted. The undocumented arguments which were removed are src, follow, force, content, backup, remote_src, regexp, delimiter, and directory_mode._execute_module() whenever possible (eg, ansible.builtin.file rather than file). This ensures that the task’s collection search order is not consulted to resolve the module. Otherwise, a module from a collection earlier in the search path could be used when not intended.No notable changes
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/porting_guides/porting_guide_base_2.10.html