Skip to content

Latest commit

 

History

History
558 lines (420 loc) · 40.1 KB

porting_guide_2.9.rst

File metadata and controls

558 lines (420 loc) · 40.1 KB

Ansible 2.9 Porting Guide

This section discusses the behavioral changes between Ansible 2.8 and Ansible 2.9.

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.9 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 :ref:`porting guides <porting_guides>`.

  • hash_behaviour now affects inventory sources. If you have it set to merge, the data you get from inventory might change and you will have to update playbooks accordingly. If you're using the default setting (overwrite), you will see no changes. Inventory was ignoring this setting.
  • The location of the Galaxy token file has changed from ~/.ansible_galaxy to ~/.ansible/galaxy_token. You can configure both path and file name with the :ref:`galaxy_token_path` config.

No notable changes

The way to import a PowerShell or C# module util from a collection has changed in the Ansible 2.9 release. In Ansible 2.8 a util was imported with the following syntax:

#AnsibleRequires -CSharpUtil AnsibleCollections.namespace_name.collection_name.util_filename
#AnsibleRequires -PowerShell AnsibleCollections.namespace_name.collection_name.util_filename

In Ansible 2.9 this was changed to:

#AnsibleRequires -CSharpUtil ansible_collections.namespace_name.collection_name.plugins.module_utils.util_filename
#AnsibleRequires -PowerShell ansible_collections.namespace_name.collection_name.plugins.module_utils.util_filename

The change in the collection import name also requires any C# util namespaces to be updated with the newer name format. This is more verbose but is designed to make sure we avoid plugin name conflicts across separate plugin types and to standardise how imports work in PowerShell with how Python modules work.

  • The win_get_url and win_uri module now sends requests with a default User-Agent of ansible-httpget. This can be changed by using the http_agent key.

The following modules no longer exist:

The following modules will be removed in Ansible 2.13. Please update update your playbooks accordingly.

The following functionality will be removed in Ansible 2.12. Please update update your playbooks accordingly.

The following functionality will be removed in Ansible 2.13. Please update update your playbooks accordingly.

For the following modules, the PyOpenSSL-based backend pyopenssl has been deprecated and will be removed in Ansible 2.13:

The following modules have been renamed. The old name is deprecated and will be removed in Ansible 2.13. Please update update your playbooks accordingly.

  • :ref:`vmware_cluster <vmware_cluster_module>` was refactored for easier maintenance/bugfixes. Use the three new, specialized modules to configure clusters. Configure DRS with :ref:`vmware_cluster_drs <vmware_cluster_drs_module>`, HA with :ref:`vmware_cluster_ha <vmware_cluster_ha_module>` and vSAN with :ref:`vmware_cluster_vsan <vmware_cluster_vsan_module>`.
  • vmware_dvswitch <vmware_dvswitch_module> accepts folder parameter to place dvswitch in user defined folder. This option makes datacenter as an optional parameter.
  • vmware_datastore_cluster <vmware_datastore_cluster_module> accepts folder parameter to place datastore cluster in user defined folder. This option makes datacenter as an optional parameter.
  • mysql_db <mysql_db_module> returns new db_list parameter in addition to db parameter. This db_list parameter refers to list of database names. db parameter will be deprecated in version 2.13.
  • snow_record <snow_record_module> and snow_record_find <snow_record_find_module> now takes environment variables for instance, username and password parameters. This change marks these parameters as optional.
  • The deprecated force option in win_firewall_rule has been removed.
  • :ref:`openssl_certificate <openssl_certificate_module>`'s ownca provider creates authority key identifiers if not explicitly disabled with ownca_create_authority_key_identifier: no. This is only the case for the cryptography backend, which is selected by default if the cryptography library is available.
  • :ref:`openssl_certificate <openssl_certificate_module>`'s ownca and selfsigned providers create subject key identifiers if not explicitly disabled with ownca_create_subject_key_identifier: never_create resp. selfsigned_create_subject_key_identifier: never_create. If a subject key identifier is provided by the CSR, it is taken; if not, it is created from the public key. This is only the case for the cryptography backend, which is selected by default if the cryptography library is available.

No notable changes

No notable changes