Ansible 9 Porting Guide

Ansible 9 is based on Ansible-core 2.16.

We suggest you read this page along with the Ansible 9 Changelog to understand what updates you may need to make.

Playbook

  • Conditionals - due to mitigation of security issue CVE-2023-5764 in ansible-core 2.16.1, conditional expressions with embedded template blocks can fail with the message “Conditional is marked as unsafe, and cannot be evaluated.” when an embedded template consults data from untrusted sources like module results or vars marked !unsafe. Conditionals with embedded templates can be a source of malicious template injection when referencing untrusted data, and can nearly always be rewritten without embedded templates. Playbook task conditional keywords such as when and until have long displayed warnings discouraging use of embedded templates in conditionals; this warning has been expanded to non-task conditionals as well, such as the assert action.

    - name: task with a module result (always untrusted by Ansible)
      shell: echo "hi mom"
      register: untrusted_result
    
    # don't do it this way...
    # - name: insecure conditional with embedded template consulting untrusted data
    #   assert:
    #     that: '"hi mom" is in {{ untrusted_result.stdout }}'
    
    - name: securely access untrusted values directly as Jinja variables instead
      assert:
        that: '"hi mom" is in untrusted_result.stdout'
    

Command Line

Deprecated

Modules

Modules removed

Deprecation notices

Noteworthy module changes

Plugins

Porting custom scripts

Networking

Porting Guide for v9.13.0

Major Changes

  • The removal of netapp.storagegrid was cancelled. The collection will not be removed from Ansible 11 (https://forum.ansible.com/t/2811). Maintenance of the collection has been taken over by another team at NetApp.

Porting Guide for v9.12.0

Major Changes

ansible.posix

  • Dropping support for Ansible 2.9, ansible-core 2.15 will be minimum required version for this release

fortinet.fortios

  • Improve the logic for SET function to send GET request first then PUT or POST

  • Mantis

  • Support new FOS versions 7.6.0.

Deprecated Features

community.network

  • This collection and all content in it is unmaintained and deprecated (https://forum.ansible.com/t/8030). If you are interested in maintaining parts of the collection, please copy them to your own repository, and tell others about in the Forum discussion. See the collection creator path for details.

community.vmware

Porting Guide for v9.11.0

Deprecated Features

Porting Guide for v9.10.0

Deprecated Features

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 variable plugin_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 the name argument has been deprecated and will be removed in collection version 5.0.0. Use the name argument instead.

community.vmware

Porting Guide for v9.9.0

Known Issues

community.docker

Deprecated Features

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.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.

Porting Guide for v9.8.0

Added Collections

  • ieisystem.inmanage (version 2.0.0)

  • vmware.vmware (version 1.3.0)

Major Changes

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.

Deprecated Features

Porting Guide for v9.7.0

Known Issues

community.general

Major Changes

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

Removed Features

community.grafana

  • removed deprecated message argument in grafana_dashboard

Porting Guide for v9.6.0

Added Collections

  • kaytus.ksmanage (version 1.2.1)

Known Issues

community.docker

  • Please note that the fix for requests 2.32.0 included in community.docker 3.10.1 only fixes problems with the vendored Docker SDK for Python code. Modules and plugins that use Docker SDK for Python can still fail due to the SDK currently being incompatible with requests 2.32.0.

    If you still experience problems with requests 2.32.0, such as error messages like Not supported URL scheme http+docker, please restrict requests to <2.32.0.

Breaking Changes

community.ciscosmb

  • in facts of interface ‘bandwith’ changed to ‘bandwidth’

Deprecated Features

amazon.aws

community.crypto

community.docker

Porting Guide for v9.5.1

Major Changes

containers.podman

  • Add quadlet support for Podman modules

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 the documentation for the supported versions from latest to a fix version number.

  • Update the required ansible version to 2.15.

Deprecated Features

community.crypto

community.general

community.vmware

Porting Guide for v9.4.0

Deprecated Features

amazon.aws

Porting Guide for v9.3.0

Major Changes

community.mysql

  • Collection version 2.*.* is EOL, no more bugfixes will be backported. Please consider upgrading to the latest version.

fortinet.fortios

  • Update all the boolean values to true/false in the documents and examples.

  • Update the document of log_fact.

  • Update the mismatched version message with version ranges.

  • Update the required ansible version to 2.14.

  • Update the supported version ranges instead of concrete version numbers to reduce the collection size.

Deprecated Features

community.crypto

Porting Guide for v9.2.0

Added Collections

  • community.library_inventory_filtering_v1 (version 1.0.0)

Known Issues

dellemc.openmanage

  • 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.

  • 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.

Major Changes

community.docker

  • The community.docker collection now depends on the community.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 with ansible-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

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_gather_facts - This role is enhanced to support secure boot.

  • idrac_license - The module is introduced to configure iDRAC licenses.

infoblox.nios_modules

  • Upgrade Ansible version support from 2.13 to 2.16.

  • Upgrade Python version support from 3.8 to 3.10.

Deprecated Features

community.dns

community.docker

  • docker_container - the default ignore for the image_name_mismatch parameter has been deprecated and will switch to recreate 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

community.hrobot

Porting Guide for v9.1.0

Known Issues

dellemc.openmanage

  • 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.

  • 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.

Porting Guide for v9.0.0

Added Collections

  • ibm.storage_virtualize (version 2.1.0)

  • telekom_mms.icinga_director (version 1.34.1)

Known Issues

Ansible-core

community.crypto

community.dns

community.docker

community.general

community.hrobot

community.routeros

community.sops

dellemc.openmanage

  • ca_path missing - Issue(275740) - The roles idrac_attributes, redfish_storage_volume, and idrac_server_powerstate have a missing parameter ca_path.

  • idrac_firmware - Issue(276335) - This module fails on the Python 3.11.x version with NFS shares. Use a different Python version or Share type.

  • 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_redfish_storage_controller - Issue(256164) - If incorrect value is provided for one of the attributes in the provided attribute list for controller configuration, then this module does not exit with error.

  • 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_smart_fabric_uplink - Issue(186024) - Despite the module supported by OpenManage Enterprise Modular, 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, the existing uplink is modified.

Breaking Changes

Ansible-core

  • Any plugin using the config system and the cli entry to use the timeout from the command line, will see the value change if the use had configured it in any of the lower precedence methods. If relying on this behaviour to consume the global/generic timeout from the DEFAULT_TIMEOUT constant, please consult the documentation on plugin configuration to add the overlaping entries.

  • ansible-test - Test plugins that rely on containers no longer support reusing running containers. The previous behavior was an undocumented, untested feature.

  • service module will not permanently configure variables/flags for openbsd when doing enable/disable operation anymore, this module was never meant to do this type of work, just to manage the service state itself. A rcctl_config or similar module should be created and used instead.

amazon.aws

community.aws

  • The community.aws collection has dropped support for botocore<1.29.0 and boto3<1.26.0. Most modules will continue to work with older versions of the AWS SDK, however compatability with older versions of the SDK is not guaranteed and will not be tested. When using older versions of the SDK a warning will be emitted by Ansible (https://github.com/ansible-collections/amazon.aws/pull/1763).

  • aws_region_info - The module has been migrated from the community.aws collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon.aws.aws_region_info.

  • aws_s3_bucket_info - The module has been migrated from the community.aws collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon.aws.aws_s3_bucket_info.

  • community.aws collection - due to the AWS SDKs announcing the end of support for Python less than 3.7 (https://aws.amazon.com/blogs/developer/python-support-policy-updates-for-aws-sdks-and-tools/) support for Python less than 3.7 by this collection wss been deprecated in release 6.0.0 and removed in release 7.0.0. (https://github.com/ansible-collections/amazon.aws/pull/1763).

  • iam_access_key - The module has been migrated from the community.aws collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon.aws.iam_access_key.

  • iam_access_key_info - The module has been migrated from the community.aws collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon.aws.iam_access_key_info.

  • iam_group - The module has been migrated from the community.aws collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon.aws.iam_group (https://github.com/ansible-collections/community.aws/pull/1945).

  • iam_managed_policy - The module has been migrated from the community.aws collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon.aws.iam_managed_policy (https://github.com/ansible-collections/community.aws/pull/1954).

  • iam_mfa_device_info - The module has been migrated from the community.aws collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon.aws.iam_mfa_device_info (https://github.com/ansible-collections/community.aws/pull/1953).

  • iam_password_policy - The module has been migrated from the community.aws collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon.aws.iam_password_policy.

  • iam_role - The module has been migrated from the community.aws collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon.aws.iam_role (https://github.com/ansible-collections/community.aws/pull/1948).

  • iam_role_info - The module has been migrated from the community.aws collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon.aws.iam_role_info (https://github.com/ansible-collections/community.aws/pull/1948).

  • s3_bucket_info - The module has been migrated from the community.aws collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon.aws.s3_bucket_info.

  • sts_assume_role - The module has been migrated from the community.aws collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon.aws.sts_assume_role.

community.general

community.hashi_vault

community.vmware

dellemc.enterprise_sonic

hetzner.hcloud

  • Drop support for ansible-core 2.12

  • Drop support for python 3.7

  • hcloud-python 1.20.0 is now required for full compatibility

  • inventory plugin - Don’t set the server image variables (image_id, image_os_flavor and image_name) when the server image is not defined.

Major Changes

amazon.aws

  • aws_region_info - The module has been migrated from the community.aws collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon.aws.aws_region_info.

  • aws_s3_bucket_info - The module has been migrated from the community.aws collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon.aws.aws_s3_bucket_info.

  • iam_access_key - The module has been migrated from the community.aws collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon.aws.iam_access_key.

  • iam_access_key_info - The module has been migrated from the community.aws collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon.aws.iam_access_key_info.

  • iam_group - The module has been migrated from the community.aws collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon.aws.iam_group (https://github.com/ansible-collections/amazon.aws/pull/1755).

  • iam_managed_policy - The module has been migrated from the community.aws collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon.aws.iam_managed_policy (https://github.com/ansible-collections/amazon.aws/pull/1762).

  • iam_mfa_device_info - The module has been migrated from the community.aws collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon.aws.iam_mfa_device_info (https://github.com/ansible-collections/amazon.aws/pull/1761).

  • iam_password_policy - The module has been migrated from the community.aws collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon.aws.iam_password_policy.

  • iam_role - The module has been migrated from the community.aws collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon.aws.iam_role (https://github.com/ansible-collections/amazon.aws/pull/1760).

  • iam_role_info - The module has been migrated from the community.aws collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon.aws.iam_role_info (https://github.com/ansible-collections/amazon.aws/pull/1760).

  • s3_bucket_info - The module has been migrated from the community.aws collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon.aws.s3_bucket_info.

  • sts_assume_role - The module has been migrated from the community.aws collection. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon.aws.sts_assume_role.

chocolatey.chocolatey

  • win_chocolatey - add options for specifying checksums

  • win_chocolatey_facts - add filter / gather_subset option

cisco.ios

  • This release removes a previously deprecated modules, and a few attributes from this collection. Refer to Removed Features section for details.

cisco.nxos

  • Refer to Removed Features section for details.

  • This release removes four of the previously deprecated modules from this collection.

cloudscale_ch.cloud

  • Bump minimum required Ansible version to 2.13.0

community.mysql

  • The community.mysql collection no longer supports ansible-core 2.12 and ansible-core 2.13. While we take no active measures to prevent usage and there are no plans to introduce incompatible code to the modules, we will stop testing those versions. Both are or will soon be End of Life and if you are still using them, you should consider upgrading to the latest Ansible / ansible-core 2.15 or later as soon as possible (https://github.com/ansible-collections/community.mysql/pull/574).

  • mysql_role - the column_case_sensitive argument’s default value will be changed to true in community.mysql 4.0.0. If your playbook expected the column to be automatically uppercased for your roles privileges, you should set this to false explicitly (https://github.com/ansible-collections/community.mysql/issues/578).

  • mysql_user - the column_case_sensitive argument’s default value will be changed to true in community.mysql 4.0.0. If your playbook expected the column to be automatically uppercased for your users privileges, you should set this to false explicitly (https://github.com/ansible-collections/community.mysql/issues/577).

community.postgresql

community.sap

  • all modules - everything is now a redirect to the new collection community.sap_libs

community.vmware

  • vmware_vasa - added a new module to register/unregister a VASA provider

  • vmware_vasa_info - added a new module to gather the information about existing VASA provider(s)

fortinet.fortimanager

  • Support all FortiManager versions in 6.2, 6.4, 7.0, 7.2 and 7.4. 139 new modules.

  • Support token based authentication.

fortinet.fortios

  • Add new fortios version 7.4.1.

  • Add readthedocs.yaml file.

  • Format the contents in the changelog.yml file.

  • Improve the no_log feature in some modules;

  • Improve the document for adding notes and examples in Q&A for modules using Integer number as the mkey.

  • Improve the documentation and example for seq_num in fortios_router_static;

  • Improve the documentation for member_path in all the modules;

  • Support new FOS versions.

  • Update Ansible version from 2.9 to 2.14.

  • Update Q&A regarding setting up FortiToken multi-factor authentication;

  • Update Q&A with a resolution for Ansible Always Sending GET/PUT Requests as POST Requests.

  • Update the requirement.txt file to specify the sphinx_rtd_theme==1.3.0

  • update the required Ansible version to 2.14.0 in the runtime.yml file.

grafana.grafana

  • Addition of Grafana Server role by @gardar

  • Configurable agent user groups by @NormanJS

  • Grafana Plugins support on-prem Grafana installation by @ishanjainn

  • Updated Service for flow mode by @bentonam

Removed Collections

  • cisco.nso (previously included version: 1.0.3)

  • community.fortios (previously included version: 1.0.0)

  • community.google (previously included version: 1.0.0)

  • community.skydive (previously included version: 1.0.0)

  • ngine_io.vultr (previously included version: 1.1.3)

  • servicenow.servicenow (previously included version: 1.0.6)

Removed Features

Ansible-core

  • ActionBase - remove deprecated _remote_checksum method

  • PlayIterator - remove deprecated cache_block_tasks and get_original_task methods

  • Remove deprecated FileLock class

  • Removed Python 3.9 as a supported version on the controller. Python 3.10 or newer is required.

  • Removed include which has been deprecated in Ansible 2.12. Use include_tasks or import_tasks instead.

  • Templar - remove deprecated shared_loader_obj parameter of __init__

  • fetch_url - remove auto disabling decompress when gzip is not available

  • get_action_args_with_defaults - remove deprecated redirected_names method parameter

  • ansible-test - Removed support for the remote Windows targets 2012 and 2012-R2

  • inventory_cache - remove deprecated default.fact_caching_prefix ini configuration option, use defaults.fact_caching_prefix instead.

  • module_utils/basic.py - Removed Python 3.5 as a supported remote version. Python 2.7 or Python 3.6+ is now required.

  • stat - removed unused get_md5 parameter.

ansible.windows

  • win_get_url - Removed the deprecated option alias passwordd, use url_password instead.

  • win_get_url - Removed the deprecated option alias user and username, use url_username instead.

  • win_package - Removed deprecated module option ensure, use state instead.

  • win_package - Removed deprecated module option productid, use product_id instead.

  • win_package - Removed deprecated module option username, user_name, password, and user_password. Use become with become_flags: logon_type=new_credentials logon_flags=netcredentials_only on the task instead to replicate the same functionality instead.

  • win_reboot - Removed backwards compatibility check where ignore_errors: true will be treated like ignore_unreachable: true. Going forward ignore_errors: true will only ignore errors the plugin encountered and not an unreachable host. Use ignore_unreachable: true to ignore that error like any other module.

  • win_regedit - Removed support for using a path with forward slashes as a key separator. Using a forward slash has been deprecated since Ansible 2.9. If using forward slashes in the win_regedit path value, make sure to change the forward slash / to a backslash \. If enclosed in double quotes the backslash will have to be doubled up.

  • win_updates - Removed deprecated alias blacklist, use reject_list instead.

  • win_updates - Removed deprecated alias whitelist, use accept_list instead.

  • win_updates - Removed deprecated module option use_scheduled_task. This option did not change any functionality in the module and can be safely removed from the task entry.

  • win_uri - Removed the deprecated option alias password, use url_password instead.

  • win_uri - Removed the deprecated option alias user and username, use url_username instead.

cisco.ios

  • Deprecated ios_logging module in favor of ios_logging_global.

  • Deprecated next_hop_self attribute for bgp_address_family with nexthop_self.

cisco.nxos

  • The nxos_bgp module has been removed with this release.

  • The nxos_bgp_af module has been removed with this release.

  • The nxos_bgp_neighbor module has been removed with this release.

  • The nxos_bgp_neighbor_af module has been removed with this release.

community.ciscosmb

  • remove testing for Python 2.6 nad 2.7

  • remove testing for ansible 2.9

community.general

community.hashi_vault

community.vmware

community.windows

  • Removed testing for Server 2012 and Server 2012 R2 as they are reaching End of Life status from Microsoft. These OS versions may continue to work but will not be tested in CI.

  • win_nssm - Removed the deprecated module option app_parameters, use arguments instead.

  • win_psmodule - Removed the deprecated module option url, use community.windows.win_psrepository to manage repositories instead

  • win_psmodule - Will no longer remove the repository specified when state: absent, use community.windows.win_psrepository to manage repositories instead

  • win_scheduled_tasks - Removed support for a trigger repetition to be defined as a list of dictionary entries. Specify the repetition as a dictionary value rather than a list of dictionaries.

dellemc.openmanage

  • The dellemc_get_firmware_inventory module is removed and replaced with the module idrac_firmware_info.

  • The dellemc_get_system_inventory module is removed and replaced with the module idrac_system_info.

hetzner.hcloud

  • hcloud_datacenter_facts Removed deprecated facts module

  • hcloud_floating_ip_facts Removed deprecated facts module

  • hcloud_image_facts Removed deprecated facts module

  • hcloud_location_facts Removed deprecated facts module

  • hcloud_server_facts Removed deprecated facts module

  • hcloud_server_type_facts Removed deprecated facts module

  • hcloud_ssh_key_facts Removed deprecated facts module

  • hcloud_volume_facts Removed deprecated facts module

Deprecated Features

Ansible-core

  • Deprecated ini config option collections_paths, use the singular form collections_path instead

  • Deprecated the env var ANSIBLE_COLLECTIONS_PATHS, use the singular form ANSIBLE_COLLECTIONS_PATH instead

  • 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.

  • Support for Windows Server 2012 and 2012 R2 has been removed as the support end of life from Microsoft is October 10th 2023. These versions of Windows will no longer be tested in this Ansible release and it cannot be guaranteed that they will continue to work going forward.

  • STRING_CONVERSION_ACTION config option is deprecated as it is no longer used in the Ansible Core code base.

  • the ‘smart’ option for setting a connection plugin is being removed as its main purpose (choosing between ssh and paramiko) is now irrelevant.

  • vault and unfault filters - the undocumented vaultid parameter is deprecated and will be removed in ansible-core 2.20. Use vault_id instead.

  • yum_repository - deprecated parameter ‘keepcache’ (https://github.com/ansible/ansible/issues/78693).

amazon.aws

ansible.netcommon

  • libssh - the ssh_*_args options are now marked that they will be removed after 2026-01-01.

ansible.windows

  • Add warning when using Server 2012 or 2012 R2 with the setup module. These OS’ are nearing the End of Life and will not be tested in CI when that time is reached.

  • win_domain - Module is deprecated in favour of the microsoft.ad.domain module, the ansible.windows.win_domain module will be removed in the 3.0.0 release of this collection.

  • win_domain_controller - Module is deprecated in favour of the microsoft.ad.domain_controller module, the ansible.windows.win_domain_controller module will be removed in the 3.0.0 release of this collection.

  • win_domain_membership - Module is deprecated in favour of the microsoft.ad.membership module, the ansible.windows.win_domain_membership module will be removed in the 3.0.0 release of this collection.

cisco.ios

  • ios_snmp_server - deprecate traps.envmon.fan with traps.envmon.fan_enable

  • ios_snmp_server - deprecate traps.mpls_vpn with traps.mpls

  • ospfv2 - removed passive_interface to passive_interfaces that supports a list of interfaces

cisco.iosxr

  • Deprecated iosxr_bgp module in favor of iosxr_bgp_global,iosxr_bgp_neighbor_address_family and iosxr_bgp_address_family.

  • iosxr_l2_interfaces - deprecate q_vlan with qvlan which allows vlans in str format e.g “any”

community.ciscosmb

  • support for Python 2.6 nad 2.7

  • support for ansible 2.9

community.crypto

community.general

community.postgresql

community.sap

  • community.sap.hana_query - is deprecated in favor of community.sap_libs.sap_hdbsql

  • community.sap.sap_company - is deprecated in favor of community.sap_libs.sap_company

  • community.sap.sap_snote - is deprecated in favor of community.sap_libs.sap_snote

  • community.sap.sap_task_list_execute - is deprecated in favor of community.sap_libs.sap_task_list_execute

  • community.sap.sap_user - is deprecated in favor of community.sap_libs.sap_user

  • community.sap.sapcar_extract - is deprecated in favor of community.sap_libs.sapcar_extract

community.windows

  • win_domain_computer - Module is deprecated in favour of the microsoft.ad.computer module, the community.windows.win_domain_computer module will be removed in the 3.0.0 release of this collection.

  • win_domain_group - Module is deprecated in favour of the microsoft.ad.group module, the community.windows.win_domain_group module will be removed in the 3.0.0 release of this collection.

  • win_domain_group_membership - Module is deprecated in favour of the microsoft.ad.group module, the community.windows.win_domain_group_membership module will be removed in the 3.0.0 release of this collection.

  • win_domain_object_info - Module is deprecated in favour of the microsoft.ad.object_info module, the community.windows.win_domain_object_info module will be removed in the 3.0.0 release of this collection.

  • win_domain_ou - Module is deprecated in favour of the microsoft.ad.ou module, the community.windows.win_domain_ou module will be removed in the 3.0.0 release of this collection.

  • win_domain_user - Module is deprecated in favour of the microsoft.ad.user module, the community.windows.win_domain_user module will be removed in the 3.0.0 release of this collection.

junipernetworks.junos

  • junos_ospfv2 - add deprecate warning for area_range.

  • add deprecate warning for junos_acl_interfaces key for junos facts results.

microsoft.ad

  • Deprecating support for Server 2012 and Server 2012 R2. These OS versions are reaching End of Life status from Microsoft and support for using them in Ansible are nearing its end.

purestorage.fusion

  • fusion_api_client - ‘app_id’ and ‘key_file’ parameters are deprecated in favor of ‘issuer_id’ and ‘private_key_file’ parameters and will be removed in the version 2.0.0, FUSION_APP_ID and FUSION_HOST env variables are deprecated in favor of FUSION_ISSUER_ID and FUSION_HOST and will be removed in the version 2.0.0

  • fusion_array - ‘app_id’ and ‘key_file’ parameters are deprecated in favor of ‘issuer_id’ and ‘private_key_file’ parameters and will be removed in the version 2.0.0, FUSION_APP_ID and FUSION_HOST env variables are deprecated in favor of FUSION_ISSUER_ID and FUSION_HOST and will be removed in the version 2.0.0

  • fusion_az - ‘app_id’ and ‘key_file’ parameters are deprecated in favor of ‘issuer_id’ and ‘private_key_file’ parameters and will be removed in the version 2.0.0, FUSION_APP_ID and FUSION_HOST env variables are deprecated in favor of FUSION_ISSUER_ID and FUSION_HOST and will be removed in the version 2.0.0

  • fusion_hap - ‘app_id’ and ‘key_file’ parameters are deprecated in favor of ‘issuer_id’ and ‘private_key_file’ parameters and will be removed in the version 2.0.0, FUSION_APP_ID and FUSION_HOST env variables are deprecated in favor of FUSION_ISSUER_ID and FUSION_HOST and will be removed in the version 2.0.0

  • fusion_hap - parameters nqn, wwns, host_password, host_user, target_password`and `target_user were deprecated

  • fusion_hw - FUSION_APP_ID and FUSION_HOST env variables are deprecated in favor of FUSION_ISSUER_ID and FUSION_HOST and will be removed in the version 2.0.0

  • fusion_info - ‘app_id’ and ‘key_file’ parameters are deprecated in favor of ‘issuer_id’ and ‘private_key_file’ parameters and will be removed in the version 2.0.0, FUSION_APP_ID and FUSION_HOST env variables are deprecated in favor of FUSION_ISSUER_ID and FUSION_HOST and will be removed in the version 2.0.0

  • fusion_info - ‘hosts’ subset is deprecated in favor of ‘host_access_policies’ and will be removed in the version 2.0.0

  • fusion_info - ‘interfaces’ subset is deprecated in favor of ‘network_interfaces’ and will be removed in the version 2.0.0

  • fusion_info - ‘zones’ subset is deprecated in favor of ‘availability_zones’ and will be removed in the version 2.0.0

  • fusion_ni - ‘app_id’ and ‘key_file’ parameters are deprecated in favor of ‘issuer_id’ and ‘private_key_file’ parameters and will be removed in the version 2.0.0, FUSION_APP_ID and FUSION_HOST env variables are deprecated in favor of FUSION_ISSUER_ID and FUSION_HOST and will be removed in the version 2.0.0

  • fusion_nig - ‘app_id’ and ‘key_file’ parameters are deprecated in favor of ‘issuer_id’ and ‘private_key_file’ parameters and will be removed in the version 2.0.0, FUSION_APP_ID and FUSION_HOST env variables are deprecated in favor of FUSION_ISSUER_ID and FUSION_HOST and will be removed in the version 2.0.0

  • fusion_pg - ‘app_id’ and ‘key_file’ parameters are deprecated in favor of ‘issuer_id’ and ‘private_key_file’ parameters and will be removed in the version 2.0.0, FUSION_APP_ID and FUSION_HOST env variables are deprecated in favor of FUSION_ISSUER_ID and FUSION_HOST and will be removed in the version 2.0.0

  • fusion_pp - ‘app_id’ and ‘key_file’ parameters are deprecated in favor of ‘issuer_id’ and ‘private_key_file’ parameters and will be removed in the version 2.0.0, FUSION_APP_ID and FUSION_HOST env variables are deprecated in favor of FUSION_ISSUER_ID and FUSION_HOST and will be removed in the version 2.0.0

  • fusion_ra - ‘app_id’ and ‘key_file’ parameters are deprecated in favor of ‘issuer_id’ and ‘private_key_file’ parameters and will be removed in the version 2.0.0, FUSION_APP_ID and FUSION_HOST env variables are deprecated in favor of FUSION_ISSUER_ID and FUSION_HOST and will be removed in the version 2.0.0

  • fusion_region - ‘app_id’ and ‘key_file’ parameters are deprecated in favor of ‘issuer_id’ and ‘private_key_file’ parameters and will be removed in the version 2.0.0, FUSION_APP_ID and FUSION_HOST env variables are deprecated in favor of FUSION_ISSUER_ID and FUSION_HOST and will be removed in the version 2.0.0

  • fusion_sc - ‘app_id’ and ‘key_file’ parameters are deprecated in favor of ‘issuer_id’ and ‘private_key_file’ parameters and will be removed in the version 2.0.0, FUSION_APP_ID and FUSION_HOST env variables are deprecated in favor of FUSION_ISSUER_ID and FUSION_HOST and will be removed in the version 2.0.0

  • fusion_se - ‘app_id’ and ‘key_file’ parameters are deprecated in favor of ‘issuer_id’ and ‘private_key_file’ parameters and will be removed in the version 2.0.0, FUSION_APP_ID and FUSION_HOST env variables are deprecated in favor of FUSION_ISSUER_ID and FUSION_HOST and will be removed in the version 2.0.0

  • fusion_se - endpoint_type parameter is now deprecated and will be removed in version 2.0.0

  • fusion_ss - ‘app_id’ and ‘key_file’ parameters are deprecated in favor of ‘issuer_id’ and ‘private_key_file’ parameters and will be removed in the version 2.0.0, FUSION_APP_ID and FUSION_HOST env variables are deprecated in favor of FUSION_ISSUER_ID and FUSION_HOST and will be removed in the version 2.0.0

  • fusion_tenant - ‘app_id’ and ‘key_file’ parameters are deprecated in favor of ‘issuer_id’ and ‘private_key_file’ parameters and will be removed in the version 2.0.0, FUSION_APP_ID and FUSION_HOST env variables are deprecated in favor of FUSION_ISSUER_ID and FUSION_HOST and will be removed in the version 2.0.0

  • fusion_tn - FUSION_APP_ID and FUSION_HOST env variables are deprecated in favor of FUSION_ISSUER_ID and FUSION_HOST and will be removed in the version 2.0.0

  • fusion_ts - ‘app_id’ and ‘key_file’ parameters are deprecated in favor of ‘issuer_id’ and ‘private_key_file’ parameters and will be removed in the version 2.0.0, FUSION_APP_ID and FUSION_HOST env variables are deprecated in favor of FUSION_ISSUER_ID and FUSION_HOST and will be removed in the version 2.0.0

  • fusion_volume - ‘app_id’ and ‘key_file’ parameters are deprecated in favor of ‘issuer_id’ and ‘private_key_file’ parameters and will be removed in the version 2.0.0, FUSION_APP_ID and FUSION_HOST env variables are deprecated in favor of FUSION_ISSUER_ID and FUSION_HOST and will be removed in the version 2.0.0

t_systems_mms.icinga_director

  • All modules and plugins are moved to the new namespace telekom_mms. Please update your code accordingly.