diff --git a/docs/docsite/rst/porting_guides/porting_guide_11.rst b/docs/docsite/rst/porting_guides/porting_guide_11.rst new file mode 100644 index 00000000000..fed8fe170de --- /dev/null +++ b/docs/docsite/rst/porting_guides/porting_guide_11.rst @@ -0,0 +1,361 @@ +.. + THIS DOCUMENT IS AUTOMATICALLY GENERATED BY ANTSIBULL! PLEASE DO NOT EDIT MANUALLY! (YOU PROBABLY WANT TO EDIT porting_guide_core_2.18.rst) + +.. _porting_11_guide: + +======================== +Ansible 11 Porting Guide +======================== + +.. contents:: + :depth: 2 + + +Ansible 11 is based on Ansible-core 2.18. + +We suggest you read this page along with the `Ansible 11 Changelog `_ to understand what updates you may need to make. + +Porting Guide for v11.0.0a1 +=========================== + +Added Collections +----------------- + +- ieisystem.inmanage (version 2.0.0) +- kubevirt.core (version 2.1.0) +- vmware.vmware (version 1.5.0) + +Known Issues +------------ + +Ansible-core +~~~~~~~~~~~~ + +- ansible-test - When using ansible-test containers with Podman on a Ubuntu 24.04 host, ansible-test must be run as a non-root user to avoid permission issues caused by AppArmor. +- ansible-test - When using the Fedora 40 container with Podman on a Ubuntu 24.04 host, the ``unix-chkpwd`` AppArmor profile must be disabled on the host to allow SSH connections to the container. + +ansible.netcommon +~~~~~~~~~~~~~~~~~ + +- libssh - net_put and net_get fail when the destination file intended to be fetched is not present. + +community.docker +~~~~~~~~~~~~~~~~ + +- docker_container - when specifying a MAC address for a container's network, and the network is attached after container creation (for example, due to idempotency checks), the MAC address is at least in some cases ignored by the Docker Daemon (https://github.com/ansible-collections/community.docker/pull/933). + +community.general +~~~~~~~~~~~~~~~~~ + +- homectl - the module does not work under Python 3.13 or newer, since it relies on the removed ``crypt`` standard library module (https://github.com/ansible-collections/community.general/issues/4691, https://github.com/ansible-collections/community.general/pull/8497). +- udm_user - the module does not work under Python 3.13 or newer, since it relies on the removed ``crypt`` standard library module (https://github.com/ansible-collections/community.general/issues/4690, https://github.com/ansible-collections/community.general/pull/8497). + +dellemc.openmanage +~~~~~~~~~~~~~~~~~~ + +- idrac_diagnostics - Issue(285322) - This module doesn't support export of diagnostics file to HTTP and HTTPS share via SOCKS proxy. +- idrac_firmware - Issue(279282) - This module does not support firmware update using HTTP, HTTPS, and FTP shares with authentication on iDRAC8. +- idrac_storage_volume - Issue(290766) - The module will report success instead of showing failure for new virtual creation on the BOSS-N1 controller if a virtual disk is already present on the same controller. +- idrac_support_assist - Issue(308550) - This module fails when the NFS share path contains sub directory. +- 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 +~~~~~~~~~~~~ + +- Stopped wrapping all commands sent over SSH on a Windows target with a ``powershell.exe`` executable. This results in one less process being started on each command for Windows to improve efficiency, simplify the code, and make ``raw`` an actual raw command run with the default shell configured on the Windows sshd settings. This should have no affect on most tasks except for ``raw`` which now is not guaranteed to always be running in a PowerShell shell and from having the console output codepage set to UTF-8. To avoid this issue either swap to using ``ansible.windows.win_command``, ``ansible.windows.win_shell``, ``ansible.windows.win_powershell`` or manually wrap the raw command with the shell commands needed to set the output console encoding. +- assert - Nested templating may result in an inability for the conditional to be evaluated. See the porting guide for more information. +- persistent connection plugins - The ``ANSIBLE_CONNECTION_PATH`` config option no longer has any effect. + +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 +~~~~~~~~~~~~~~~~ + +- Adding a dependency on the ``vmware.vmware`` collection (https://github.com/ansible-collections/community.vmware/pull/2159). +- Depending on ``vmware-vcenter`` and ``vmware-vapi-common-client`` instead of ``https://github.com/vmware/vsphere-automation-sdk-python.git`` (https://github.com/ansible-collections/community.vmware/pull/2163). +- Dropping support for pyVmomi < 8.0.3.0.1 (https://github.com/ansible-collections/community.vmware/pull/2163). +- Module utils - Removed ``vmware.run_command_in_guest()`` (https://github.com/ansible-collections/community.vmware/pull/2175). +- Removed support for ansible-core version < 2.17.0. +- vmware_dvs_portgroup - Removed ``security_override`` alias for ``mac_management_override`` and support for ``securityPolicyOverrideAllowed`` which has been deprected in the vSphere API (https://github.com/ansible-collections/community.vmware/issues/1998). +- vmware_dvs_portgroup_info - Removed ``security_override`` because it's deprecated in the vSphere API (https://github.com/ansible-collections/community.vmware/issues/1998). +- vmware_guest_tools_info - Removed deprecated ``vm_tools_install_status`` from the result (https://github.com/ansible-collections/community.vmware/issues/2078). + +community.zabbix +~~~~~~~~~~~~~~~~ + +- All Roles - Remove support for Centos 7 +- All Roles - Remove support for Python2 +- All Roles - Removed support for Debian 10. +- All Roles - Removed support for Ubuntu 18.08 (Bionic) +- Remove support for Ansible < 2.15 and Python < 3.9 +- Remove support for Zabbix 6.2 +- Removed support for Zabbix 6.2 +- zabbix_agent role - Remove support for `zabbix_agent_zabbix_alias`. +- zabbix_agent role - Remove support for `zabbix_get_package` variable. +- zabbix_agent role - Remove support for `zabbix_sender_package` variable. +- zabbix_agent role - Remove support for all `zabbix_agent2_*` variables. + +hetzner.hcloud +~~~~~~~~~~~~~~ + +- Drop support for ansible-core 2.14. + +kubernetes.core +~~~~~~~~~~~~~~~ + +- Remove support for ``ansible-core<2.15`` (https://github.com/ansible-collections/kubernetes.core/pull/737). + +vmware.vmware_rest +~~~~~~~~~~~~~~~~~~ + +- Removing any support for ansible-core <=2.14 + +Major Changes +------------- + +ansible.netcommon +~~~~~~~~~~~~~~~~~ + +- Bumping `requires_ansible` to `>=2.15.0`, since previous ansible-core versions are EoL now. + +ansible.posix +~~~~~~~~~~~~~ + +- Dropping support for Ansible 2.9, ansible-core 2.15 will be minimum required version for this release + +arista.eos +~~~~~~~~~~ + +- Bumping `requires_ansible` to `>=2.15.0` due to the end-of-life status of previous `ansible-core` versions. + +check_point.mgmt +~~~~~~~~~~~~~~~~ + +- New R82 Resource Modules +- Support relative positioning for sections + +cisco.asa +~~~~~~~~~ + +- Bumping `requires_ansible` to `>=2.15.0`, since previous ansible-core versions are EoL now. + +cisco.ios +~~~~~~~~~ + +- Bumping `requires_ansible` to `>=2.15.0`, since previous ansible-core versions are EoL now. + +cisco.iosxr +~~~~~~~~~~~ + +- Bumping `requires_ansible` to `>=2.15.0`, since previous ansible-core versions are EoL now. + +cisco.nxos +~~~~~~~~~~ + +- Bumping `requires_ansible` to `>=2.15.0`, since previous ansible-core versions are EoL now. + +community.vmware +~~~~~~~~~~~~~~~~ + +- vmware_guest_tools_upgrade - Subsitute the deprecated ``guest.toolsStatus`` (https://github.com/ansible-collections/community.vmware/pull/2174). +- vmware_vm_shell - Subsitute the deprecated ``guest.toolsStatus`` (https://github.com/ansible-collections/community.vmware/pull/2174). + +community.zabbix +~~~~~~~~~~~~~~~~ + +- All Roles - Add support for openSUSE Leap 15 and SLES 15. +- All Roles - Separate installation of Zabbix repo from all other roles and link them together. + +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 + +dellemc.openmanage +~~~~~~~~~~~~~~~~~~ + +- Added support to use session ID for authentication of iDRAC, OpenManage Enterprise and OpenManage Enterprise Modular. +- idrac_secure_boot - This module allows to import the secure boot certificate. +- idrac_server_config_profile - This module is enhanced to allow you to export and import custom defaults on iDRAC. +- idrac_support_assist - This module allows to run and export SupportAssist collection logs on iDRAC. +- ome_configuration_compliance_baseline - This module is enhanced to schedule the remediation job and stage the reboot. +- ome_session - This module allows you to create and delete the sessions on OpenManage Enterprise and OpenManage Enterprise Modular. + +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. + +grafana.grafana +~~~~~~~~~~~~~~~ + +- Add a config check before restarting mimir by @panfantastic in https://github.com/grafana/grafana-ansible-collection/pull/198 +- Add support for configuring feature_toggles in grafana role by @LexVar in https://github.com/grafana/grafana-ansible-collection/pull/173 +- Backport post-setup healthcheck from agent to alloy by @v-zhuravlev in https://github.com/grafana/grafana-ansible-collection/pull/213 +- Bump ansible-lint from 24.2.3 to 24.5.0 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/207 +- Bump ansible-lint from 24.5.0 to 24.6.0 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/216 +- Bump braces from 3.0.2 to 3.0.3 in the npm_and_yarn group across 1 directory by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/218 +- Bump pylint from 3.1.0 to 3.1.1 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/200 +- Bump pylint from 3.1.1 to 3.2.2 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/208 +- Bump pylint from 3.2.2 to 3.2.3 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/217 +- Bump pylint from 3.2.3 to 3.2.5 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/234 +- Change from config.river to config.alloy by @cardasac in https://github.com/grafana/grafana-ansible-collection/pull/225 +- Fix Grafana Configuration for Unified and Legacy Alerting Based on Version by @voidquark in https://github.com/grafana/grafana-ansible-collection/pull/215 +- Support adding alloy user to extra groups by @v-zhuravlev in https://github.com/grafana/grafana-ansible-collection/pull/212 +- Updated result.json['message'] to result.json()['message'] by @CPreun in https://github.com/grafana/grafana-ansible-collection/pull/223 +- fix:mimir molecule should use ansible core 2.16 by @GVengelen in https://github.com/grafana/grafana-ansible-collection/pull/254 + +ibm.qradar +~~~~~~~~~~ + +- Bumping `requires_ansible` to `>=2.15.0`, since previous ansible-core versions are EoL now. + +junipernetworks.junos +~~~~~~~~~~~~~~~~~~~~~ + +- Bumping `requires_ansible` to `>=2.15.0`, since previous ansible-core versions are EoL now. + +splunk.es +~~~~~~~~~ + +- Bumping `requires_ansible` to `>=2.15.0`, since previous ansible-core versions are EoL now. + +vyos.vyos +~~~~~~~~~ + +- Bumping `requires_ansible` to `>=2.15.0`, since previous ansible-core versions are EoL now. + +Removed Collections +------------------- + +- frr.frr (previously included version: 2.0.2) +- inspur.sm (previously included version: 2.3.0) +- netapp.storagegrid (previously included version: 21.12.0) +- openvswitch.openvswitch (previously included version: 2.1.1) +- t_systems_mms.icinga_director (previously included version: 2.0.1) + +Removed Features +---------------- + +- The ``frr.frr`` collection has been removed because it does not support ansible-core 2.18 (https://forum.ansible.com/t/6243). +- The ``inspur.sm`` collection was considered unmaintained and removed from Ansible 11 (https://forum.ansible.com/t/2854). Users can still install this collection with ``ansible-galaxy collection install inspur.sm``. +- The ``netapp.storagegrid`` collection was considered unmaintained and removed from Ansible 11 (https://forum.ansible.com/t/2811). Users can still install this collection with ``ansible-galaxy collection install netapp.storagegrid``. +- The ``openvswitch.openvswitch`` collection has been removed because it does not support ansible-core 2.18 (https://forum.ansible.com/t/6245). + +Ansible-core +~~~~~~~~~~~~ + +- Play - removed deprecated ``ROLE_CACHE`` property in favor of ``role_cache``. +- Remove deprecated `VariableManager._get_delegated_vars` method (https://github.com/ansible/ansible/issues/82950) +- Removed Python 3.10 as a supported version on the controller. Python 3.11 or newer is required. +- Removed support for setting the ``vars`` keyword to lists of dictionaries. It is now required to be a single dictionary. +- loader - remove deprecated non-inclusive words (https://github.com/ansible/ansible/issues/82947). +- paramiko_ssh - removed deprecated ssh_args from the paramiko_ssh connection plugin (https://github.com/ansible/ansible/issues/82939). +- paramiko_ssh - removed deprecated ssh_common_args from the paramiko_ssh connection plugin (https://github.com/ansible/ansible/issues/82940). +- paramiko_ssh - removed deprecated ssh_extra_args from the paramiko_ssh connection plugin (https://github.com/ansible/ansible/issues/82941). +- play_context - remove deprecated PlayContext.verbosity property (https://github.com/ansible/ansible/issues/82945). +- utils/listify - remove deprecated 'loader' argument from listify_lookup_plugin_terms API (https://github.com/ansible/ansible/issues/82949). + +ansible.posix +~~~~~~~~~~~~~ + +- skippy - Remove skippy pluglin as it is no longer supported(https://github.com/ansible-collections/ansible.posix/issues/350). + +community.grafana +~~~~~~~~~~~~~~~~~ + +- removed check and handling of mangled api key in `grafana_dashboard` lookup +- removed deprecated `message` argument in `grafana_dashboard` + +community.okd +~~~~~~~~~~~~~ + +- k8s - Support for ``merge_type=json`` has been removed in version 4.0.0. Please use ``kubernetes.core.k8s_json_patch`` instead (https://github.com/openshift/community.okd/pull/226). + +kubernetes.core +~~~~~~~~~~~~~~~ + +- k8s - Support for ``merge_type=json`` has been removed in version 4.0.0. Please use ``kubernetes.core.k8s_json_patch`` instead (https://github.com/ansible-collections/kubernetes.core/pull/722). +- k8s_exec - the previously deprecated ``result.return_code`` return value has been removed, consider using ``result.rc`` instead (https://github.com/ansible-collections/kubernetes.core/pull/726). +- module_utils/common.py - the previously deprecated ``K8sAnsibleMixin`` class has been removed (https://github.com/ansible-collections/kubernetes.core/pull/726). +- module_utils/common.py - the previously deprecated ``configuration_digest()`` function has been removed (https://github.com/ansible-collections/kubernetes.core/pull/726). +- module_utils/common.py - the previously deprecated ``get_api_client()`` function has been removed (https://github.com/ansible-collections/kubernetes.core/pull/726). +- module_utils/common.py - the previously deprecated ``unique_string()`` function has been removed (https://github.com/ansible-collections/kubernetes.core/pull/726). + +Deprecated Features +------------------- + +Ansible-core +~~~~~~~~~~~~ + +- Deprecate ``ansible.module_utils.basic.AnsibleModule.safe_eval`` and ``ansible.module_utils.common.safe_eval`` as they are no longer used. +- persistent connection plugins - The ``ANSIBLE_CONNECTION_PATH`` config option no longer has any effect, and will be removed in a future release. +- yum_repository - deprecate ``async`` option as it has been removed in RHEL 8 and will be removed in ansible-core 2.22. +- yum_repository - the following options are deprecated: ``deltarpm_metadata_percentage``, ``gpgcakey``, ``http_caching``, ``keepalive``, ``metadata_expire_filter``, ``mirrorlist_expire``, ``protect``, ``ssl_check_cert_permissions``, ``ui_repoid_vars`` as they have no effect for dnf as an underlying package manager. The options will be removed in ansible-core 2.22. + +amazon.aws +~~~~~~~~~~ + +- iam_role - support for creating and deleting IAM instance profiles using the ``create_instance_profile`` and ``delete_instance_profile`` options has been deprecated and will be removed in a release after 2026-05-01. To manage IAM instance profiles the ``amazon.aws.iam_instance_profile`` module can be used instead (https://github.com/ansible-collections/amazon.aws/pull/2221). + +cisco.ios +~~~~~~~~~ + +- ios_bgp_address_family - deprecated attribute password in favour of password_options within neigbhors. +- ios_bgp_global - deprecated attributes aggregate_address, bestpath, inject_map, ipv4_with_subnet, ipv6_with_subnet, nopeerup_delay, distribute_list, address, tag, ipv6_addresses, password, route_map, route_server_context and scope +- ios_linkagg - deprecate legacy module ios_linkagg +- ios_lldp - deprecate legacy module ios_lldp + +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.general +~~~~~~~~~~~~~~~~~ + +- CmdRunner module util - setting the value of the ``ignore_none`` parameter within a ``CmdRunner`` context is deprecated and that feature should be removed in community.general 12.0.0 (https://github.com/ansible-collections/community.general/pull/8479). +- MH decorator cause_changes module utils - deprecate parameters ``on_success`` and ``on_failure`` (https://github.com/ansible-collections/community.general/pull/8791). +- git_config - the ``list_all`` option has been deprecated and will be removed in community.general 11.0.0. Use the ``community.general.git_config_info`` module instead (https://github.com/ansible-collections/community.general/pull/8453). +- git_config - using ``state=present`` without providing ``value`` is deprecated and will be disallowed in community.general 11.0.0. Use the ``community.general.git_config_info`` module instead to read a value (https://github.com/ansible-collections/community.general/pull/8453). +- pipx - support for versions of the command line tool ``pipx`` older than ``1.7.0`` is deprecated and will be removed in community.general 11.0.0 (https://github.com/ansible-collections/community.general/pull/8793). +- pipx_info - support for versions of the command line tool ``pipx`` older than ``1.7.0`` is deprecated and will be removed in community.general 11.0.0 (https://github.com/ansible-collections/community.general/pull/8793). + +community.grafana +~~~~~~~~~~~~~~~~~ + +- Deprecate `grafana_notification_channel`. It will be removed in version 3.0.0 + +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. + +community.vmware +~~~~~~~~~~~~~~~~ + +- vmware_cluster - the module has been deprecated and will be removed in community.vmware 6.0.0 (https://github.com/ansible-collections/community.vmware/pull/2143). +- vmware_cluster_drs - the module has been deprecated and will be removed in community.vmware 6.0.0 (https://github.com/ansible-collections/community.vmware/pull/2136). +- vmware_cluster_vcls - the module has been deprecated and will be removed in community.vmware 6.0.0 (https://github.com/ansible-collections/community.vmware/pull/2156). diff --git a/docs/docsite/rst/porting_guides/porting_guides.rst b/docs/docsite/rst/porting_guides/porting_guides.rst index 248636a3cee..b235f9dcef3 100644 --- a/docs/docsite/rst/porting_guides/porting_guides.rst +++ b/docs/docsite/rst/porting_guides/porting_guides.rst @@ -10,6 +10,7 @@ This section lists porting guides that can help you in updating playbooks, plugi :maxdepth: 1 :glob: + porting_guide_11 porting_guide_10 porting_guide_9 porting_guide_8