Ansible 8 Porting Guide

Ansible 8 is based on Ansible-core 2.15.

We suggest you read this page along with the Ansible 8 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.15.7, 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

  • The return code of ansible-galaxy search is now 0 instead of 1 and the stdout is empty when results are empty to align with other ansible-galaxy commands.

Deprecated

  • Providing a list of dictionaries to vars: is deprecated in favor of supplying a dictionary.

    Instead of:

    vars:
      - var1: foo
      - var2: bar
    

    Use:

    vars:
      var1: foo
      var2: bar
    

Modules

No notable changes

Modules removed

The following modules no longer exist:

  • No notable changes

Deprecation notices

No notable changes

Noteworthy module changes

No notable changes

Plugins

No notable changes

Porting custom scripts

No notable changes

Networking

No notable changes

Porting Guide for v8.7.0

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

Added Collections

  • ibm.storage_virtualize (version 2.1.0)

Major Changes

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

fortinet.fortios

  • Add new fortios version 7.4.1.

  • Format the contents in the changelog.yml file.

  • Update Ansible version from 2.9 to 2.14.

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

Deprecated Features

  • The collection ibm.spectrum_virtualize has been renamed to ibm.storage_virtualize. For now, both collections are included in Ansible. The content in ibm.spectrum_virtualize will be replaced with deprecated redirects to the new collection in Ansible 10.0.0, and these redirects will eventually be removed from Ansible. Please update your FQCNs for ibm.spectrum_virtualize.

Porting Guide for v8.5.0

Deprecated Features

community.general

Porting Guide for v8.4.0

Major Changes

fortinet.fortios

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

Deprecated Features

Ansible-core

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

ansible.netcommon

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

Porting Guide for v8.3.0

Added Collections

  • telekom_mms.icinga_director (version 1.34.1)

Major Changes

fortinet.fortios

  • Add readthedocs.yaml file.

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

Deprecated Features

community.crypto

community.general

community.postgresql

Porting Guide for v8.2.0

Known Issues

Ansible-core

  • ansible-test - The Fedora 37 remote is known to occasionally hang during boot. It is no longer routinely tested as a result. If possible, use the Fedora 38 remote instead.

community.crypto

community.hrobot

community.routeros

community.sops

Breaking Changes

hetzner.hcloud

  • hcloud-python 1.20.0 is now required for full compatibility

Major Changes

chocolatey.chocolatey

  • win_chocolatey - add options for specifying checksums

  • win_chocolatey_facts - add filter / gather_subset option

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)

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

Deprecated Features

  • The collection community.sap has been renamed to community.sap_libs. For now both collections are included in Ansible. The content in community.sap will be replaced with deprecated redirects to the new collection in Ansible 9.0.0, and the collection will be removed from Ansible 10 completely. Please update your FQCNs for community.sap.

  • The deprecated servicenow.servicenow collection has been removed from Ansible 7, but accidentally re-added to Ansible 8. It will be removed again from Ansible 9 (https://github.com/ansible-community/community-topics/issues/246).

community.general

junipernetworks.junos

  • junos_ospfv2 - add deprecate warning for area_range.

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

Porting Guide for v8.1.0

Known Issues

community.dns

community.docker

community.general

dellemc.openmanage

  • idrac_redfish_storage_contoller - 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_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

  • Please note that the breaking change announced in the dellemc.enterprise_sonic changelog below is from dellemc.enterprise_sonic 2.1.0 and was reverted in dellemc.enterprise_sonic 2.2.0, so it is not contained in Ansible 8. For technical reasons, this entry is still shown here.

dellemc.enterprise_sonic

Major Changes

cloudscale_ch.cloud

  • Bump minimum required Ansible version to 2.13.0

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

  • Improve the no_log feature in some modules;

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

Removed Features

community.ciscosmb

  • remove testing for Python 2.6 nad 2.7

  • remove testing for ansible 2.9

Deprecated Features

amazon.aws

community.ciscosmb

  • support for Python 2.6 nad 2.7

  • support for ansible 2.9

community.general

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

Porting Guide for v8.0.0

Added Collections

  • dellemc.powerflex (version 1.6.0)

  • dellemc.unity (version 1.6.0)

  • grafana.grafana (version 2.0.0)

  • microsoft.ad (version 1.1.0)

  • servicenow.servicenow (version 1.0.6)

Known Issues

Ansible-core

  • ansible-test - Additional configuration may be required for certain container host and container combinations. Further details are available in the testing documentation.

  • ansible-test - Custom containers with VOLUME instructions may be unable to start, when previously the containers started correctly. Remove the VOLUME instructions to resolve the issue. Containers with this condition will cause ansible-test to emit a warning.

  • ansible-test - Systems with Podman networking issues may be unable to run containers, when previously the issue went unreported. Correct the networking issues to continue using ansible-test with Podman.

  • ansible-test - Unit tests for collections do not support pytest assertion rewriting on Python 2.7.

  • ansible-test - Using Docker on systems with SELinux may require setting SELinux to permissive mode. Podman should work with SELinux in enforcing mode.

  • dnf5 - The DNF5 package manager currently does not provide all functionality to ensure feature parity between the existing dnf and the new dnf5 module. As a result the following dnf5 options are effectively a no-op: cacheonly, enable_plugin, disable_plugin and lock_timeout.

cisco.meraki

  • meraki_network - Updated documentation for local_status_page_enabled and remote_status_page_enabled as these no longer work.

community.docker

community.routeros

  • api_modify - when limits for entries in queue tree are defined as human readable - for example 25M -, the configuration will be correctly set in ROS, but the module will indicate the item is changed on every run even when there was no change done. This is caused by the ROS API which returns the number in bytes - for example 25000000 (which is inconsistent with the CLI behavior). In order to mitigate that, the limits have to be defined in bytes (those will still appear as human readable in the ROS CLI) (https://github.com/ansible-collections/community.routeros/pull/131).

  • api_modify, api_info - routing ospf area, routing ospf area range, routing ospf instance, routing ospf interface-template paths are not fully implemented for ROS6 due to the significant changes between ROS6 and ROS7 (https://github.com/ansible-collections/community.routeros/pull/131).

dellemc.openmanage

  • idrac_firmware - Issue(249879) - Firmware update of iDRAC9-based Servers fails if SOCKS proxy with authentication is used.

  • idrac_os_deployment- Issue(260496) - OS installation will support only NFS and CIFS share to store the custom ISO in the destination_path, HTTP/HTTPS/FTP not supported

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

  • idrac_user - Issue(192043) The module may error out with the message Unable to perform the import or export operation because there are pending attribute changes or a configuration job is in progress. Wait for the job to complete and run the task again.

  • idrac_user - Issue(192043) The module may error out with the message unable to perform the import or export operation because there are pending attribute changes or a configuration job is in progress. Wait for the job to complete and run the task again.

  • ome_application_alerts_syslog - Issue(215374) - The module does not provide a proper error message if the destination_address is more than 255 characters.

  • 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_network_services - Issue(212681) - The module does not provide a proper error message if unsupported values are provided for the 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_inventory - Issue(256257) - All hosts are not retrieved for Modular System group and corresponding child groups.

  • ome_inventory - Issue(256589) - All hosts are not retrieved for Custom Groups group and corresponding child groups.

  • ome_inventory - Issue(256593) - All hosts are not retrieved for PLUGIN GROUPS group and corresponding child groups.

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

  • ome_smart_fabric_uplink - Issue(186024) - The module does not allow the creation of multiple uplinks of the same name even though it is supported by OpenManage Enterprise Modular. If an uplink is created using the same name as an existing uplink, the existing uplink is modified.

Breaking Changes

Ansible-core

  • ansible-doc - no longer treat plugins in collections whose name starts with _ as deprecated (https://github.com/ansible/ansible/pull/79362).

  • ansible-test - Integration tests which depend on specific file permissions when running in an ansible-test managed host environment may require changes. Tests that require permissions other than 755 or 644 may need to be updated to set the necessary permissions as part of the test run.

  • ansible-test - The vcenter test plugin now defaults to using a user-provided static configuration instead of the govcsim simulator for collections. Set the ANSIBLE_VCSIM_CONTAINER environment variable to govcsim to use the simulator. Keep in mind that the simulator is deprecated and will be removed in a future release.

  • ansible-test sanity - previously plugins and modules in collections whose name started with _ were treated as deprecated, even when they were not marked as deprecated in meta/runtime.yml. This is no longer the case (https://github.com/ansible/ansible/pull/79362).

  • ansible-test validate-modules - Removed the missing-python-doc error code in validate modules, missing-documentation is used instead for missing PowerShell module documentation.

amazon.aws

ansible.netcommon

  • NetworkConnectionBase now inherits from PersistentConnectionBase in ansible.utils. As a result, the minimum ansible.utils version has increased to 2.7.0.

  • NetworkTemplate is no longer importable from ansible_collections.ansible.netcommon.plugins.module_utils.network.common and should now be found at its proper location ansible_collections.ansible.netcommon.plugins.module_utils.network.common.rm_base.network_template

  • ResourceModule is no longer importable from ansible_collections.ansible.netcommon.plugins.module_utils.network.common and should now be found at its proper location ansible_collections.ansible.netcommon.plugins.module_utils.network.common.rm_base.resource_module

  • VALID_MASKS, is_masklen, is_netmask, to_bits, to_ipv6_network, to_masklen, to_netmask, and to_subnet are no longer importable from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils and should now be found at their proper location ansible.module_utils.common.network

community.aws

community.general

community.hashi_vault

community.zabbix

  • agent role - removed support for Darwin, Amazon, Fedora, XCP-ng, Suse, Mint, and Sangoma operating systems

  • agent role - removed support for zabbix_create_host and replaced it with zabbix_agent_host_state

  • agent role - removed support for zabbix_create_hostgroup and replaced it with zabbix_agent_hostgroups_state

  • agent role - removed support for zabbix_http_password, zabbix_api_http_password, zabbix_api_pass, and zabbix_api_login_pass and replaced it with zabbix_api_login_pass

  • agent role - removed support for zabbix_http_user, zabbix_api_http_user, zabbix_api_user, and zabbix_api_login_user and replaced it with zabbix_api_login_user

  • agent role - removed support for zabbix_inventory_mode and replaced it with zabbix_agent_inventory_mode

  • agent role - removed support for zabbix_link_templates adn replaced it with zabbix_agent_link_templates

  • agent role - removed support for zabbix_macros and replaced it with zabbix_agent_macros

  • agent role - removed support for zabbix_proxy and replaced it with zabbix_agent_proxy

  • agent role - removed support for zabbix_update_host and replaced it with zabbix_agent_host_update

  • all modules - dropped support of Zabbix versions < 6.0

  • all roles - removed support for the zabbix_version variable.

  • all roles - removed support for all versions of Zabbix < 6.0.

  • all roles - removed support for installation from epel and non-standard repositories

  • dropped support of zabbix-api to make REST API calls to Zabbix

  • proxy role - removed support for zabbix_database_creation and replaced it with zabbix_proxy_database_creation

  • proxy role - removed support for zabbix_database_sqlload and replaced it with zabbix_proxy_database_sqlload

  • proxy role - removed support for zabbix_selinux and replaced it with zabbix_proxy_selinux

  • server role - removed support for zabbix_server_mysql_login_password and replaced with zabbix_server_dbpassword

  • server role - removed support for zabbix_server_mysql_login_user and replaced with zabbix_server_dbuser

  • stopped supporting Ansible < 2.12

  • stopped supporting Python < 3.9

  • zabbix_action - message parameter renamed to op_message

  • zabbix_group_facts module - removed in favour of zabbix_group_info

  • zabbix_host_facts module - removed in favour of zabbix_host_info

hetzner.hcloud

  • inventory plugin - Python v3.5+ is now required.

lowlydba.sqlserver

Major Changes

Ansible-core

  • ansible-test - Docker Desktop on WSL2 is now supported (additional configuration required).

  • ansible-test - Docker and Podman are now supported on hosts with cgroup v2 unified. Previously only cgroup v1 and cgroup v2 hybrid were supported.

  • ansible-test - Podman now works on container hosts without systemd. Previously only some containers worked, while others required rootfull or rootless Podman, but would not work with both. Some containers did not work at all.

  • ansible-test - Podman on WSL2 is now supported.

  • ansible-test - When additional cgroup setup is required on the container host, this will be automatically detected. Instructions on how to configure the host will be provided in the error message shown.

ansible.windows

  • Set the minimum Ansible version supported by this collection to Ansible 2.12

chocolatey.chocolatey

  • win_chocolatey - Allow users to select the TLS versions used for bootstrapping Chocolatey installation.

cisco.iosxr

cisco.meraki

  • meraki_mr_l7_firewall - New module

  • meraki_webhook_payload_template - New module

community.hrobot

community.postgresql

community.vmware

community.zabbix

  • all modules are opting away from zabbix-api and using httpapi ansible.netcommon plugin. We will support zabbix-api for backwards compatibility until next major release. See our README.md for more information about how to migrate

  • zabbix_agent and zabbix_proxy roles are opting away from zabbix-api and use httpapi ansible.netcommon plugin. We will support zabbix-api for backwards compatibility until next major release. See our README.md for more information about how to migrate

containers.podman

  • New become plugin - podman_unshare

  • Podman generate systemd module

dellemc.openmanage

  • Rebranded from Dell EMC to Dell.

  • Support for IPv6 address for OMSDK dependent iDRAC modules.

  • idrac_firmware - This module is enhanced to support proxy.

  • idrac_redfish_storage_controller - This module is enhanced to configure controller attributes and online capacity expansion.

  • idrac_server_config_profile - This module is enhanced to support proxy settings, import buffer, include in export, and ignore certificate warning.

  • idrac_user_info - This module allows to retrieve iDRAC Local user information details.

  • ome_domian_user_groups - This module allows to import the LDAP directory groups.

  • ome_inventory - This plugin allows to create a inventory from the group on OpenManage Enterprise.

  • ome_inventory - This plugin is enhanced to support inventory retrieval of System and Plugin Groups of OpenManage Enterprise.

  • ome_profile_info - This module allows to retrieve profiles with attributes on OpenManage Enterprise or OpenManage Enterprise Modular.

  • ome_smart_fabric_info - This module retrieves the list of smart fabrics in the inventory of OpenManage Enterprise Modular.

  • ome_smart_fabric_uplink_info - This module retrieve details of fabric uplink on OpenManage Enterprise Modular.

  • ome_template_network_vlan_info - This module allows to retrieve the network configuration of a template on OpenManage Enterprise or OpenManage Enterprise Modular.

fortinet.fortios

  • Add annotations of member operation for every module.

  • Support FortiOS v7.0.6, v7.0.7, v7.0.8, v7.2.1, v7.2.2.

  • Update fortios.py for higher performance;

  • supports temporary session key and pre/post login banner;

  • update the examples on how to use member operation in Q&A.

infoblox.nios_modules

  • Added Grid Master Candidate feature #152

  • Added Member Assignment to network and ranges #152

  • Added NIOS Range module with Create, Update and Delete features #152

  • Fixes issue unable to update/delete EAs using Ansible plugin #180

  • Fixes static and dynamic allocation of IPV4 address of A Record #182

  • Fixes to Update host name of NIOS member #176

  • Updates default WAPI version to 2.9 #176

junipernetworks.junos

  • change gathered key from junos_acls to acls

kubernetes.core

purestorage.fusion

  • Patching of resource properties was brought to parity with underlying Python SDK

  • fusion_volume - fixed and reorganized, arguments changed

Removed Collections

  • dellemc.os10 (previously included version: 1.1.1)

  • dellemc.os6 (previously included version: 1.0.7)

  • dellemc.os9 (previously included version: 1.0.4)

  • mellanox.onyx (previously included version: 1.0.0)

Removed Features

  • dellemc.os10 was considered unmaintained and removed from Ansible 8 as per the removal from Ansible process. Users can still install this collection with ansible-galaxy collection install dellemc.os10.

  • dellemc.os6 was considered unmaintained and removed from Ansible 8 as per the removal from Ansible process. Users can still install this collection with ansible-galaxy collection install dellemc.os6.

  • dellemc.os9 was considered unmaintained and removed from Ansible 8 as per the removal from Ansible process. Users can still install this collection with ansible-galaxy collection install dellemc.os9.

  • mellanox.onyx was considered unmaintained and removed from Ansible 8 as per the removal from Ansible process. Users can still install this collection with ansible-galaxy collection install mellanox.onyx.

Ansible-core

amazon.aws

ansible.netcommon

  • cli_parse - This plugin was moved to ansible.utils in version 1.0.0, and the redirect to that collection has now been removed.

community.general

community.zabbix

  • agent role - removed support to configure firewall

  • web role - removed installation of apache, debian, and php

Deprecated Features

Ansible-core

  • The ConnectionBase()._new_stdin attribute is deprecated, use display.prompt_until(msg) instead.

  • ansible-test - The foreman test plugin is now deprecated. It will be removed in a future release.

  • ansible-test - The govcsim simulator in the vcenter test plugin is now deprecated. It will be removed in a future release. Users should switch to providing their own test environment through a static configuration file.

  • password_hash - deprecate using passlib.hash.hashtype if hashtype isn’t in the list of documented choices.

  • vars - Specifying a list of dictionaries for vars: is deprecated in favor of specifying a dictionary.

amazon.aws

check_point.mgmt

  • add/set/delete nat-rule modules - will be replaced by the single cp_mgmt_nat_rule module.

  • cp_mgmt_show_task/s modules - will be replaced by the by the single cp_mgmt_task_facts module.

chocolatey.chocolatey

  • win_chocolatey - Deprecate side-by-side installs.

cisco.ios

  • ios_bgp_address_family - deprecate neighbors.address/tag/ipv6_adddress with neighbor_address which enables common attributes for facts rendering

  • ios_bgp_address_family - deprecate neighbors.password with password_options which allows encryption and password

  • ios_bgp_address_family - deprecate redistribute.ospf.match.external with redistribute.ospf.match.externals which enables attributes for OSPF type E1 and E2 routes

  • ios_bgp_address_family - deprecate redistribute.ospf.match.nssa_external with redistribute.ospf.match.nssa_externals which enables attributes for OSPF type N1 and N2 routes

  • ios_bgp_address_family - deprecate redistribute.ospf.match.type_1 with redistribute.ospf.match.nssa_externals.type_1

  • ios_bgp_address_family - deprecate redistribute.ospf.match.type_2 with redistribute.ospf.match.nssa_externals.type_2

  • ios_bgp_address_family - deprecate slow_peer with slow_peer_options which supports a dict attribute

community.aws

community.crypto

community.dns

community.general

community.hashi_vault

purestorage.fusion

  • fusion_hw - hardware module is being removed as changing hardware type has never been supported by Pure Storage Fusion

  • fusion_info - nigs subset is deprecated in favor of network_interface_groups and will be removed in the version 1.7.0

  • fusion_info - placements subset is deprecated in favor of placement_groups and will be removed in the version 1.7.0

  • fusion_pg - placement_engine option is deprecated because Fusion API does not longer support this parameter It will be removed in the version 2.0.0

  • fusion_se - parameters ‘addresses’, ‘gateway’ and ‘network_interface_groups’ are deprecated in favor of ‘iscsi’ and will be removed in version 2.0.0

  • fusion_tn - tenant networks are being replaced by storage endpoints `fusion_se` and Network Interface Groups `fusion_nig`