Ansible 9 移植指南

Ansible 9 基于 Ansible-core 2.16。

我们建议您阅读此页面以及Ansible 9 变更日志,以了解您可能需要进行哪些更新。

剧本 (Playbook)

  • 条件语句 - 由于在 ansible-core 2.16.1 中缓解了安全问题 CVE-2023-5764,包含嵌入式模板块的条件表达式可能会失败,并显示消息“Conditional is marked as unsafe, and cannot be evaluated.”,当嵌入式模板查询来自不受信任的来源(例如模块结果或标记为!unsafe 的变量)的数据时。包含嵌入式模板的条件语句在引用不受信任的数据时可能是恶意模板注入的来源,并且几乎总是可以重写而无需嵌入式模板。剧本任务条件关键字(如whenuntil)长期以来一直显示警告,不鼓励在条件语句中使用嵌入式模板;此警告也已扩展到非任务条件语句,例如assert 操作。

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

命令行

已弃用

模块 (Modules)

已移除的模块

弃用通知

值得注意的模块更改

插件 (Plugins)

移植自定义脚本

网络

v9.13.0 移植指南

主要更改

  • 取消删除 netapp.storagegrid。该集合不会从 Ansible 11 中移除 (https://forum.ansible.com/t/2811)。NetApp 的另一个团队已接管该集合的维护。

v9.12.0 移植指南

主要更改

ansible.posix

  • 放弃对 Ansible 2.9 的支持,此版本的最低要求版本将为 ansible-core 2.15

fortinet.fortios

  • 改进 SET 函数的逻辑,先发送 GET 请求,然后发送 PUT 或 POST 请求

  • Mantis

  • 支持新的 FOS 版本 7.6.0。

已弃用的功能

community.network

  • 此集合及其中的所有内容均未维护且已弃用 (https://forum.ansible.com/t/8030)。如果您有兴趣维护集合的部分内容,请将其复制到您自己的存储库中,并在论坛讨论中告诉其他人。有关详细信息,请参阅集合创建者路径

community.vmware

v9.11.0 移植指南

已弃用的功能

v9.10.0 移植指南

已弃用的功能

community.mysql

community.vmware

v9.9.0 移植指南

已知问题

community.docker

已弃用的功能

community.docker

  • 此集合弃用对所有当前已结束生命周期的 ansible-core 版本的支持,根据 ansible-core 支持矩阵。这意味着此集合的下一个主要版本将不再支持 ansible-core 2.11、ansible-core 2.12、ansible-core 2.13 和 ansible-core 2.14。

community.routeros

  • 此集合弃用对所有当前已结束生命周期的 Ansible/ansible-base/ansible-core 版本的支持,根据 ansible-core 支持矩阵。这意味着此集合的下一个主要版本将不再支持 Ansible 2.9、ansible-base 2.10、ansible-core 2.11、ansible-core 2.12、ansible-core 2.13 和 ansible-core 2.14。

community.sops

  • 此集合弃用对所有当前已结束生命周期的 Ansible/ansible-base/ansible-core 版本的支持,根据 ansible-core 支持矩阵。这意味着此集合的下一个主要版本将不再支持 Ansible 2.9、ansible-base 2.10、ansible-core 2.11、ansible-core 2.12、ansible-core 2.13 和 ansible-core 2.14。

v9.8.0 移植指南

新增集合

  • ieisystem.inmanage (版本 2.0.0)

  • vmware.vmware (版本 1.3.0)

主要变更

fortinet.fortios

  • 添加 sanity_test.yaml 文件以在 GitHub 中触发 CI 测试。

  • 支持 Ansible-core 2.17。

  • 支持新的 FOS 版本 7.4.4。

已弃用的功能

v9.7.0 移植指南

已知问题

community.general

主要变更

containers.podman

  • 添加对卷的挂载和卸载。

  • 为网络添加多个子网。

  • 为 podman_container 添加新的选项。

  • 为 pod 模块添加新的选项。

  • 添加 podman search。

  • 改进 podman_container 中网络的幂等性。

  • 重新设计 Podman Pod 模块的幂等性。

移除的功能

community.grafana

  • 移除 grafana_dashboard 中已弃用的 message 参数。

v9.6.0 移植指南

新增集合

  • kaytus.ksmanage (版本 1.2.1)

已知问题

community.docker

  • 请注意,community.docker 3.10.1 中包含的针对 requests 2.32.0 的修复程序仅修复了 Python 代码的 *内置* Docker SDK 问题。使用 Docker SDK for Python 的模块和插件仍然可能由于 SDK 目前与 requests 2.32.0 不兼容而失败。

    如果您仍然遇到与 requests 2.32.0 相关的问题,例如 Not supported URL scheme http+docker 等错误消息,请将 requests 限制为 <2.32.0

重大变更

community.ciscosmb

  • 接口事实中的 ‘bandwith’ 已更改为 ‘bandwidth’。

已弃用的功能

amazon.aws

community.crypto

community.docker

v9.5.1 移植指南

主要变更

containers.podman

  • 添加对 Podman 模块的四元组支持。

fortinet.fortios

  • 在 monitor 和 monitor_fact 模块的文档中添加有关备份模块的说明。

  • 支持新的 FOS 版本 7.4.2 和 7.4.3,并在集合中支持数据类型 mac_address。

  • 将文档中支持的版本从最新版本更新为固定版本号。

  • 将所需的 ansible 版本更新为 2.15。

已弃用的功能

community.crypto

community.general

community.vmware

v9.4.0 移植指南

已弃用的功能

amazon.aws

v9.3.0 移植指南

主要更改

community.mysql

  • 集合版本 2.*.* 已停止维护,不再进行错误修复回滚。请考虑升级到最新版本。

fortinet.fortios

  • 将文档和示例中的所有布尔值更新为 true/false。

  • 更新 log_fact 的文档。

  • 使用版本范围更新不匹配的版本消息。

  • 将所需的 Ansible 版本更新为 2.14。

  • 更新支持的版本范围而不是具体的版本号,以减小集合的大小。

已弃用的功能

community.crypto

v9.2.0 移植指南

新增集合

  • community.library_inventory_filtering_v1 (版本 1.0.0)

已知问题

dellemc.openmanage

  • idrac_firmware - 问题 (279282) - 此模块不支持使用具有身份验证的 HTTP、HTTPS 和 FTP 共享进行 iDRAC8 上的固件更新。

  • idrac_network_attributes - 问题 (279049) - 如果为参数 ome_network_attributes 提供不受支持的值,则此模块不会提供正确的错误消息。

  • ome_device_network_services - 问题 (212681) - 如果为以下参数提供不受支持的值,则模块不会提供正确的错误消息:port_number、community_name、max_sessions、max_auth_retries 和 idle_timeout。

  • ome_device_power_settings - 问题 (212679) - 如果为参数 power_cap 提供的值不在 0 到 32767 的支持范围内,则模块将显示以下消息:Unable to complete the request because PowerCap does not exist or is not applicable for the resource URI.

  • ome_device_quick_deploy - 问题 (275231) - 此模块不会将新的配置部署到已禁用 IPv6 的插槽。

  • ome_diagnostics - 问题 (279193) - 将 SupportAssist 收集的日志导出到共享位置在 OME 版本 4.0.0 上失败。

  • ome_smart_fabric_uplink - 问题 (186024) - 该模块受 OpenManage Enterprise Modular 支持,但它不允许创建多个同名的上行链路。如果使用与现有上行链路相同的名称创建上行链路,则会修改现有上行链路。

主要更改

community.docker

  • community.docker 集合现在依赖于 community.library_inventory_filtering_v1 集合。此实用程序集合为清单插件提供主机过滤功能。如果您使用 Ansible 社区包,则包含这两个集合,您无需执行任何特殊操作。如果您使用 ansible-galaxy collection install 安装集合,它将自动安装。如果您通过将集合的文件复制到 ansible-core 可以找到的位置(例如克隆 git 存储库)来安装集合,则如果使用清单插件,则需要确保也安装依赖项(https://github.com/ansible-collections/community.docker/pull/698)。

community.hashi_vault

dellemc.openmanage

  • 所有 OME 模块都增强为支持环境变量 OME_USERNAMEOME_PASSWORD 作为凭据的回退。

  • 所有 iDRAC 和 Redfish 模块都增强为支持环境变量 IDRAC_USERNAMEIDRAC_PASSWORD 作为凭据的回退。

  • idrac_certificates - 模块增强为支持导入和导出 CUSTOMCERTIFICATE

  • idrac_gather_facts - 此角色增强为支持安全启动。

  • idrac_license - 引入此模块来配置 iDRAC 许可证。

infoblox.nios_modules

  • 将 Ansible 版本支持从 2.13 升级到 2.16。

  • 将 Python 版本支持从 3.8 升级到 3.10。

已弃用的功能

community.dns

community.docker

community.general

community.hrobot

v9.1.0 移植指南

已知问题

dellemc.openmanage

  • idrac_firmware - 问题 (279282) - 此模块不支持使用具有身份验证的 HTTP、HTTPS 和 FTP 共享进行 iDRAC8 上的固件更新。

  • idrac_network_attributes - 问题 (279049) - 如果为参数 ome_network_attributes 提供不受支持的值,则此模块不会提供正确的错误消息。

  • ome_device_network_services - 问题 (212681) - 如果为以下参数提供不受支持的值,则模块不会提供正确的错误消息:port_number、community_name、max_sessions、max_auth_retries 和 idle_timeout。

  • ome_device_power_settings - 问题 (212679) - 如果为参数 power_cap 提供的值不在 0 到 32767 的支持范围内,则模块将显示以下消息:Unable to complete the request because PowerCap does not exist or is not applicable for the resource URI.

  • ome_device_quick_deploy - 问题 (275231) - 此模块不会将新的配置部署到已禁用 IPv6 的插槽。

  • ome_diagnostics - 问题 (279193) - 将 SupportAssist 收集的日志导出到共享位置在 OME 版本 4.0.0 上失败。

  • ome_smart_fabric_uplink - 问题 (186024) - 该模块受 OpenManage Enterprise Modular 支持,但它不允许创建多个同名的上行链路。如果使用与现有上行链路相同的名称创建上行链路,则会修改现有上行链路。

重大更改

Ansible-core

  • assert - 嵌套模板可能会导致无法评估条件。请参阅移植指南了解更多信息。

v9.0.0 移植指南

新增集合

  • ibm.storage_virtualize (版本 2.1.0)

  • telekom_mms.icinga_director (版本 1.34.1)

已知问题

Ansible-core

community.crypto

community.dns

community.docker

community.general

community.hrobot

community.routeros

community.sops

dellemc.openmanage

  • 缺少 ca_path - 问题 (275740) - idrac_attributes、redfish_storage_volume 和 idrac_server_powerstate 角色缺少参数 ca_path。

  • idrac_firmware - 问题 (276335) - 此模块在使用 NFS 共享的 Python 3.11.x 版本上失败。请使用其他 Python 版本或共享类型。

  • idrac_firmware - 问题 (279282) - 此模块不支持使用具有身份验证的 HTTP、HTTPS 和 FTP 共享进行 iDRAC8 上的固件更新。

  • idrac_network_attributes - 问题 (279049) - 如果为参数 ome_network_attributes 提供不受支持的值,则此模块不会提供正确的错误消息。

  • idrac_redfish_storage_controller - 问题 (256164) - 如果为控制器配置提供的属性列表中的某个属性提供了不正确的值,则此模块不会以错误退出。

  • ome_device_network_services - 问题 (212681) - 如果为以下参数提供不受支持的值,则模块不会提供正确的错误消息:port_number、community_name、max_sessions、max_auth_retries 和 idle_timeout。

  • ome_device_power_settings - 问题 (212679) - 如果为参数 power_cap 提供的值不在 0 到 32767 的支持范围内,则模块将显示以下消息:Unable to complete the request because PowerCap does not exist or is not applicable for the resource URI.

  • ome_device_quick_deploy - 问题 (275231) - 此模块不会将新的配置部署到已禁用 IPv6 的插槽。

  • ome_smart_fabric_uplink - 问题 (186024) - 尽管 OpenManage Enterprise Modular 支持此模块,但它不允许创建多个同名的上行链路。如果使用与现有上行链路相同的名称创建上行链路,则会修改现有上行链路。

重大更改

Ansible-core

  • 任何使用配置系统和 cli 条目来使用命令行 timeout 的插件,如果用户在任何较低优先级的方法中配置了它,都会看到值更改。如果您依赖此行为来使用 DEFAULT_TIMEOUT 常量中的全局/通用超时,请参阅有关插件配置的文档以添加重叠的条目。

  • ansible-test - 依赖于容器的测试插件不再支持重用正在运行的容器。之前的行为是一个未记录的、未经测试的功能。

  • service 模块在执行 enable/disable 操作时,将不再永久配置 openbsd 的变量/标志,此模块从来就不是为了执行此类工作,而只是为了管理服务状态本身。应该创建并使用 rcctl_config 或类似的模块。

amazon.aws

community.aws

  • community.aws 集合已放弃对 botocore<1.29.0boto3<1.26.0 的支持。大多数模块将继续与较旧版本的 AWS SDK 兼容,但是,不保证与较旧版本的 SDK 的兼容性,并且不会对其进行测试。使用较旧版本的 SDK 时,Ansible 将发出警告 (https://github.com/ansible-collections/amazon.aws/pull/1763)。

  • aws_region_info - 此模块已从 community.aws 集合迁移。使用此模块的完整限定集合名称的 Playbook 应更新为使用 amazon.aws.aws_region_info

  • aws_s3_bucket_info - 此模块已从 community.aws 集合迁移。使用此模块的完整限定集合名称的 Playbook 应更新为使用 amazon.aws.aws_s3_bucket_info

  • community.aws 集合 - 由于 AWS SDK 宣布终止对低于 3.7 的 Python 版本的支持 (https://aws.amazon.com/blogs/developer/python-support-policy-updates-for-aws-sdks-and-tools/),此集合对低于 3.7 的 Python 版本的支持已在 6.0.0 版本中弃用,并在 7.0.0 版本中移除。( https://github.com/ansible-collections/amazon.aws/pull/1763)。

  • iam_access_key - 此模块已从 community.aws 集合迁移。使用此模块的完整限定集合名称的 Playbook 应更新为使用 amazon.aws.iam_access_key

  • iam_access_key_info - 此模块已从 community.aws 集合迁移。使用此模块的完整限定集合名称的 Playbook 应更新为使用 amazon.aws.iam_access_key_info

  • iam_group - 此模块已从 community.aws 集合迁移。使用此模块的完整限定集合名称的 Playbook 应更新为使用 amazon.aws.iam_group (https://github.com/ansible-collections/community.aws/pull/1945)。

  • iam_managed_policy - 此模块已从 community.aws 集合迁移。使用此模块的完整限定集合名称的 Playbook 应更新为使用 amazon.aws.iam_managed_policy (https://github.com/ansible-collections/community.aws/pull/1954)。

  • iam_mfa_device_info - 此模块已从 community.aws 集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用 amazon.aws.iam_mfa_device_info (https://github.com/ansible-collections/community.aws/pull/1953).

  • iam_password_policy - 此模块已从 community.aws 集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用 amazon.aws.iam_password_policy

  • iam_role - 此模块已从 community.aws 集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用 amazon.aws.iam_role (https://github.com/ansible-collections/community.aws/pull/1948).

  • iam_role_info - 此模块已从 community.aws 集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用 amazon.aws.iam_role_info (https://github.com/ansible-collections/community.aws/pull/1948).

  • s3_bucket_info - 此模块已从 community.aws 集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用 amazon.aws.s3_bucket_info

  • sts_assume_role - 此模块已从 community.aws 集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用 amazon.aws.sts_assume_role

community.general

community.hashi_vault

community.vmware

dellemc.enterprise_sonic

hetzner.hcloud

  • 放弃对 ansible-core 2.12 的支持

  • 放弃对 python 3.7 的支持

  • 现在需要 hcloud-python 1.20.0 才能完全兼容

  • inventory 插件 - 当未定义服务器镜像时,不要设置服务器镜像变量(image_idimage_os_flavorimage_name)。

主要更改

amazon.aws

  • aws_region_info - 此模块已从 community.aws 集合迁移。使用此模块的完整限定集合名称的 Playbook 应更新为使用 amazon.aws.aws_region_info

  • aws_s3_bucket_info - 此模块已从 community.aws 集合迁移。使用此模块的完整限定集合名称的 Playbook 应更新为使用 amazon.aws.aws_s3_bucket_info

  • iam_access_key - 此模块已从 community.aws 集合迁移。使用此模块的完整限定集合名称的 Playbook 应更新为使用 amazon.aws.iam_access_key

  • iam_access_key_info - 此模块已从 community.aws 集合迁移。使用此模块的完整限定集合名称的 Playbook 应更新为使用 amazon.aws.iam_access_key_info

  • iam_group - 此模块已从 community.aws 集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用 amazon.aws.iam_group (https://github.com/ansible-collections/amazon.aws/pull/1755).

  • iam_managed_policy - 此模块已从 community.aws 集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用 amazon.aws.iam_managed_policy (https://github.com/ansible-collections/amazon.aws/pull/1762).

  • iam_mfa_device_info - 此模块已从 community.aws 集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用 amazon.aws.iam_mfa_device_info (https://github.com/ansible-collections/amazon.aws/pull/1761).

  • iam_password_policy - 此模块已从 community.aws 集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用 amazon.aws.iam_password_policy

  • iam_role - 此模块已从 community.aws 集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用 amazon.aws.iam_role (https://github.com/ansible-collections/amazon.aws/pull/1760).

  • iam_role_info - 此模块已从 community.aws 集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用 amazon.aws.iam_role_info (https://github.com/ansible-collections/amazon.aws/pull/1760).

  • s3_bucket_info - 此模块已从 community.aws 集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用 amazon.aws.s3_bucket_info

  • sts_assume_role - 此模块已从 community.aws 集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用 amazon.aws.sts_assume_role

chocolatey.chocolatey

  • win_chocolatey - 添加用于指定校验和的选项

  • win_chocolatey_facts - 添加 filter/gather_subset 选项

cisco.ios

  • 此版本删除了以前已弃用的模块以及此集合中的一些属性。有关详细信息,请参阅**已删除的功能**部分。

cisco.nxos

  • 有关详细信息,请参阅**已删除的功能**部分。

  • 此版本删除了此集合中四个以前已弃用的模块。

cloudscale_ch.cloud

  • 将最低要求的 Ansible 版本提升到 2.13.0

community.mysql

  • community.mysql 集合不再支持 ansible-core 2.12ansible-core 2.13。虽然我们没有采取任何积极措施来阻止使用,并且没有计划向模块引入不兼容的代码,但我们将停止测试这些版本。这两个版本都是或即将成为生命周期结束版本,如果您仍在使用它们,则应尽快考虑升级到 最新 Ansible / ansible-core 2.15 或更高版本 (https://github.com/ansible-collections/community.mysql/pull/574).

  • mysql_role - column_case_sensitive 参数的默认值将在 community.mysql 4.0.0 中更改为 true。如果您的 playbook 预期列会为您的角色权限自动大写,则应将其显式设置为 false (https://github.com/ansible-collections/community.mysql/issues/578).

  • mysql_user - column_case_sensitive 参数的默认值将在 community.mysql 4.0.0 中更改为 true。如果您的 playbook 预期列会为您的用户权限自动大写,则应将其显式设置为 false (https://github.com/ansible-collections/community.mysql/issues/577).

community.postgresql

community.sap

  • 所有模块 - 所有内容现在都重定向到新的集合 community.sap_libs

community.vmware

  • vmware_vasa - 添加了一个新的模块来注册/注销 VASA 提供程序

  • vmware_vasa_info - 添加了一个新的模块来收集有关现有 VASA 提供程序的信息

fortinet.fortimanager

  • 支持 6.2、6.4、7.0、7.2 和 7.4 版本的所有 FortiManager 版本。新增 139 个模块。

  • 支持基于令牌的身份验证。

fortinet.fortios

  • 添加新的 FortiOS 版本 7.4.1。

  • 添加 readthedocs.yaml 文件。

  • 格式化 changelog.yml 文件中的内容。

  • 改进了一些模块中的 no_log 功能;

  • 改进文档,为使用整数作为 mkey 的模块的 Q&A 中添加注释和示例。

  • 改进 fortios_router_staticseq_num 的文档和示例;

  • 改进所有模块中 member_path 的文档;

  • 支持新的 FOS 版本。

  • 将 Ansible 版本从 2.9 更新到 2.14。

  • 更新关于设置 FortiToken 多因素身份验证的 Q&A;

  • 更新 Q&A,提供 Ansible 始终将 GET/PUT 请求作为 POST 请求发送的解决方案。

  • 更新 requirement.txt 文件以指定 sphinx_rtd_theme==1.3.0

  • 在 runtime.yml 文件中将所需的 Ansible 版本更新为 2.14.0。

grafana.grafana

  • 由 @gardar 添加 Grafana 服务器角色

  • 由 @NormanJS 配置代理用户组

  • 由 @ishanjainn 支持 Grafana 插件在本地 Grafana 安装

  • 由 @bentonam 更新流模式的服务

已移除的集合

  • cisco.nso(之前包含的版本:1.0.3)

  • community.fortios(之前包含的版本:1.0.0)

  • community.google(之前包含的版本:1.0.0)

  • community.skydive(之前包含的版本:1.0.0)

  • ngine_io.vultr(之前包含的版本:1.1.3)

  • servicenow.servicenow(之前包含的版本:1.0.6)

已移除的功能

Ansible-core

  • ActionBase - 删除已弃用的 _remote_checksum 方法

  • PlayIterator - 删除已弃用的 cache_block_tasksget_original_task 方法

  • 删除已弃用的 FileLock

  • 控制器上不再支持 Python 3.9 版本。现在需要 Python 3.10 或更高版本。

  • 删除了在 Ansible 2.12 中已弃用的 include。请改用 include_tasksimport_tasks

  • Templar - 删除 __init__ 的已弃用参数 shared_loader_obj

  • fetch_url - 删除在 gzip 不可用时自动禁用 decompress 的功能

  • get_action_args_with_defaults - 删除已弃用的方法参数 redirected_names

  • ansible-test - 删除对远程 Windows 目标 2012 和 2012-R2 的支持

  • inventory_cache - 删除已弃用的 default.fact_caching_prefix ini 配置选项,请改用 defaults.fact_caching_prefix

  • module_utils/basic.py - 删除 Python 3.5 作为受支持的远程版本。现在需要 Python 2.7 或 Python 3.6+。

  • stat - 删除未使用的 get_md5 参数。

ansible.windows

  • win_get_url - 删除已弃用的选项别名 passwordd,请改用 url_password

  • win_get_url - 删除已弃用的选项别名 userusername,请改用 url_username

  • win_package - 删除已弃用的模块选项 ensure,请改用 state

  • win_package - 删除已弃用的模块选项 productid,请改用 product_id

  • win_package - 删除已弃用的模块选项 usernameuser_namepassworduser_password。请改用任务中的 become,并使用 become_flags: logon_type=new_credentials logon_flags=netcredentials_only 来复制相同的功能。

  • win_reboot - 删除向后兼容性检查,其中 ignore_errors: true 将被视为 ignore_unreachable: true。将来,ignore_errors: true 只会忽略插件遇到的错误,而不是不可访问的主机。请使用 ignore_unreachable: true 来忽略该错误,就像其他模块一样。

  • win_regedit - 删除对使用带有正斜杠作为键分隔符的 path 的支持。自 Ansible 2.9 以来,使用正斜杠已被弃用。如果在 win_regedit path 值中使用正斜杠,请确保将正斜杠 / 更改为反斜杠 \。如果用双引号括起来,则反斜杠必须加倍。

  • win_updates - 删除已弃用的别名 blacklist,请改用 reject_list

  • win_updates - 删除已弃用的别名 whitelist,请改用 accept_list

  • win_updates - 删除已弃用的模块选项 use_scheduled_task。此选项不会更改模块中的任何功能,可以安全地从任务条目中删除。

  • win_uri - 删除已弃用的选项别名 password,请改用 url_password

  • win_uri - 删除已弃用的选项别名 userusername,请改用 url_username

cisco.ios

  • 已弃用 ios_logging 模块,建议使用 ios_logging_global。

  • 已弃用 bgp_address_family 的 next_hop_self 属性,建议使用 nexthop_self。

cisco.nxos

  • 本版本已移除 nxos_bgp 模块。

  • 本版本已移除 nxos_bgp_af 模块。

  • 本版本已移除 nxos_bgp_neighbor 模块。

  • 本版本已移除 nxos_bgp_neighbor_af 模块。

community.ciscosmb

  • 移除对 Python 2.6 和 2.7 的测试

  • 移除对 Ansible 2.9 的测试

community.general

community.hashi_vault

community.vmware

community.windows

  • 移除了对 Server 2012 和 Server 2012 R2 的测试,因为它们即将达到 Microsoft 的生命周期结束状态。这些操作系统版本可能继续工作,但在 CI 中不会对其进行测试。

  • win_nssm - 移除了弃用的模块选项 app_parameters,请改用 arguments

  • win_psmodule - 移除了弃用的模块选项 url,请改用 community.windows.win_psrepository 来管理存储库。

  • win_psmodule - 当 state: absent 时,将不再移除指定的 repository,请改用 community.windows.win_psrepository 来管理存储库。

  • win_scheduled_tasks - 移除了对将触发器 repetition 定义为字典条目列表的支持。请将 repetition 指定为字典值,而不是字典列表。

dellemc.openmanage

  • 已移除 dellemc_get_firmware_inventory 模块,并将其替换为 idrac_firmware_info 模块。

  • 已移除 dellemc_get_system_inventory 模块,并将其替换为 idrac_system_info 模块。

hetzner.hcloud

  • hcloud_datacenter_facts 移除了弃用的 facts 模块

  • hcloud_floating_ip_facts 移除了弃用的 facts 模块

  • hcloud_image_facts 移除了弃用的 facts 模块

  • hcloud_location_facts 移除了弃用的 facts 模块

  • hcloud_server_facts 移除了弃用的 facts 模块

  • hcloud_server_type_facts 移除了弃用的 facts 模块

  • hcloud_ssh_key_facts 移除了弃用的 facts 模块

  • hcloud_volume_facts 移除了弃用的 facts 模块

已弃用的功能

Ansible-core

  • 已弃用的 ini 配置选项 collections_paths,请使用单数形式 collections_path 代替。

  • 已弃用环境变量 ANSIBLE_COLLECTIONS_PATHS,请使用单数形式 ANSIBLE_COLLECTIONS_PATH 代替。

  • 使用入口点 get_host_varsget_group_vars 的旧式变量插件已弃用。应更新插件以继承自 BaseVarsPlugin 并定义 get_vars 方法作为入口点。

  • 由于微软已于 2023 年 10 月 10 日终止对 Windows Server 2012 和 2012 R2 的支持,因此 Ansible 已移除对它们的兼容性。这些版本的 Windows 将不再在此 Ansible 版本中进行测试,并且无法保证它们在未来继续工作。

  • STRING_CONVERSION_ACTION 配置选项已弃用,因为它不再用于 Ansible Core 代码库中。

  • 用于设置连接插件的“smart”选项将被移除,因为其主要用途(在 ssh 和 paramiko 之间选择)现在已不再相关。

  • vault 和 unfault 过滤器 - 未记录的 vaultid 参数已弃用,并将从 ansible-core 2.20 中移除。请使用 vault_id 代替。

  • yum_repository - 已弃用参数 ‘keepcache’ (https://github.com/ansible/ansible/issues/78693).

amazon.aws

ansible.netcommon

  • libssh - ssh_*_args 选项现已标记为将于 2026 年 1 月 1 日后移除。

ansible.windows

  • 在使用 setup 模块时,如果使用 Server 2012 或 2012 R2,将会添加警告。这些操作系统即将达到生命周期终点,届时将不再在 CI 中进行测试。

  • win_domain - 模块已弃用,推荐使用 microsoft.ad.domain 模块,ansible.windows.win_domain 模块将在该集合的 3.0.0 版本中移除。

  • win_domain_controller - 模块已弃用,推荐使用 microsoft.ad.domain_controller 模块,ansible.windows.win_domain_controller 模块将在该集合的 3.0.0 版本中移除。

  • win_domain_membership - 模块已弃用,推荐使用 microsoft.ad.membership 模块,ansible.windows.win_domain_membership 模块将在该集合的 3.0.0 版本中移除。

cisco.ios

  • ios_snmp_server - 已弃用 traps.envmon.fan,推荐使用 traps.envmon.fan_enable。

  • ios_snmp_server - 已弃用 traps.mpls_vpn,推荐使用 traps.mpls。

  • ospfv2 - 已移除 passive_interface,推荐使用 passive_interfaces,支持接口列表。

cisco.iosxr

  • 已弃用 iosxr_bgp 模块,推荐使用 iosxr_bgp_global、iosxr_bgp_neighbor_address_family 和 iosxr_bgp_address_family。

  • iosxr_l2_interfaces - 已弃用 q_vlan,推荐使用 qvlan,支持字符串格式的 VLAN,例如“any”。

community.ciscosmb

  • 不再支持 Python 2.6 和 2.7。

  • 不再支持 ansible 2.9。

community.crypto

community.general

community.postgresql

community.sap

  • community.sap.hana_query 已弃用,建议使用 community.sap_libs.sap_hdbsql 代替。

  • community.sap.sap_company 已弃用,建议使用 community.sap_libs.sap_company 代替。

  • community.sap.sap_snote 已弃用,建议使用 community.sap_libs.sap_snote 代替。

  • community.sap.sap_task_list_execute 已弃用,建议使用 community.sap_libs.sap_task_list_execute 代替。

  • community.sap.sap_user 已弃用,建议使用 community.sap_libs.sap_user 代替。

  • community.sap.sapcar_extract 已弃用,建议使用 community.sap_libs.sapcar_extract 代替。

community.windows

  • win_domain_computer 模块已弃用,建议使用 microsoft.ad.computer 模块,community.windows.win_domain_computer 模块将在该集合的 3.0.0 版本中移除。

  • win_domain_group 模块已弃用,建议使用 microsoft.ad.group 模块,community.windows.win_domain_group 模块将在该集合的 3.0.0 版本中移除。

  • win_domain_group_membership 模块已弃用,建议使用 microsoft.ad.group 模块,community.windows.win_domain_group_membership 模块将在该集合的 3.0.0 版本中移除。

  • win_domain_object_info 模块已弃用,建议使用 microsoft.ad.object_info 模块,community.windows.win_domain_object_info 模块将在该集合的 3.0.0 版本中移除。

  • win_domain_ou 模块已弃用,建议使用 microsoft.ad.ou 模块,community.windows.win_domain_ou 模块将在该集合的 3.0.0 版本中移除。

  • win_domain_user 模块已弃用,建议使用 microsoft.ad.user 模块,community.windows.win_domain_user 模块将在该集合的 3.0.0 版本中移除。

junipernetworks.junos

  • junos_ospfv2 - 为 area_range 添加弃用警告。

  • 为 junos facts 结果中的 junos_acl_interfaces 键添加弃用警告。

microsoft.ad

  • 即将停止支持 Server 2012 和 Server 2012 R2。微软即将停止对这些操作系统的支持,Ansible 对它们的也即将结束。

purestorage.fusion

  • fusion_api_client - ‘app_id’ 和 ‘key_file’ 参数已弃用,建议使用 ‘issuer_id’ 和 ‘private_key_file’ 参数代替,并在 2.0.0 版本中移除;FUSION_APP_ID 和 FUSION_HOST 环境变量已弃用,建议使用 FUSION_ISSUER_ID 和 FUSION_HOST 代替,并在 2.0.0 版本中移除。

  • fusion_array - ‘app_id’ 和 ‘key_file’ 参数已弃用,建议使用 ‘issuer_id’ 和 ‘private_key_file’ 参数代替,并在 2.0.0 版本中移除;FUSION_APP_ID 和 FUSION_HOST 环境变量已弃用,建议使用 FUSION_ISSUER_ID 和 FUSION_HOST 代替,并在 2.0.0 版本中移除。

  • fusion_az - ‘app_id’ 和 ‘key_file’ 参数已弃用,建议使用 ‘issuer_id’ 和 ‘private_key_file’ 参数代替,并在 2.0.0 版本中移除;FUSION_APP_ID 和 FUSION_HOST 环境变量已弃用,建议使用 FUSION_ISSUER_ID 和 FUSION_HOST 代替,并在 2.0.0 版本中移除。

  • fusion_hap - ‘app_id’ 和 ‘key_file’ 参数已弃用,建议使用 ‘issuer_id’ 和 ‘private_key_file’ 参数代替,并在 2.0.0 版本中移除;FUSION_APP_ID 和 FUSION_HOST 环境变量已弃用,建议使用 FUSION_ISSUER_ID 和 FUSION_HOST 代替,并在 2.0.0 版本中移除。

  • fusion_hap - 参数 nqnwwnshost_passwordhost_usertarget_passwordtarget_user 已弃用。

  • fusion_hw - FUSION_APP_ID 和 FUSION_HOST 环境变量已弃用,建议使用 FUSION_ISSUER_ID 和 FUSION_HOST 代替,并在 2.0.0 版本中移除。

  • fusion_info - ‘app_id’ 和 ‘key_file’ 参数已弃用,建议使用 ‘issuer_id’ 和 ‘private_key_file’ 参数代替,并在 2.0.0 版本中移除;FUSION_APP_ID 和 FUSION_HOST 环境变量已弃用,建议使用 FUSION_ISSUER_ID 和 FUSION_HOST 代替,并在 2.0.0 版本中移除。

  • fusion_info - ‘hosts’ 子集已弃用,建议使用 ‘host_access_policies’ 代替,并在 2.0.0 版本中移除。

  • fusion_info - ‘interfaces’ 子集已弃用,建议使用 ‘network_interfaces’ 代替,并在 2.0.0 版本中移除。

  • fusion_info - ‘zones’ 子集已弃用,建议使用 ‘availability_zones’ 代替,并在 2.0.0 版本中移除。

  • fusion_ni - ‘app_id’ 和 ‘key_file’ 参数已弃用,建议使用 ‘issuer_id’ 和 ‘private_key_file’ 参数代替,并在 2.0.0 版本中移除;FUSION_APP_ID 和 FUSION_HOST 环境变量已弃用,建议使用 FUSION_ISSUER_ID 和 FUSION_HOST 代替,并在 2.0.0 版本中移除。

  • fusion_nig - ‘app_id’ 和 ‘key_file’ 参数已弃用,建议使用 ‘issuer_id’ 和 ‘private_key_file’ 参数代替,并在 2.0.0 版本中移除;FUSION_APP_ID 和 FUSION_HOST 环境变量已弃用,建议使用 FUSION_ISSUER_ID 和 FUSION_HOST 代替,并在 2.0.0 版本中移除。

  • fusion_pg - ‘app_id’ 和 ‘key_file’ 参数已弃用,建议使用 ‘issuer_id’ 和 ‘private_key_file’ 参数代替,并在 2.0.0 版本中移除;FUSION_APP_ID 和 FUSION_HOST 环境变量已弃用,建议使用 FUSION_ISSUER_ID 和 FUSION_HOST 代替,并在 2.0.0 版本中移除。

  • fusion_pp - ‘app_id’ 和 ‘key_file’ 参数已弃用,建议使用 ‘issuer_id’ 和 ‘private_key_file’ 参数代替,并在 2.0.0 版本中移除;FUSION_APP_ID 和 FUSION_HOST 环境变量已弃用,建议使用 FUSION_ISSUER_ID 和 FUSION_HOST 代替,并在 2.0.0 版本中移除。

  • fusion_ra - ‘app_id’ 和 ‘key_file’ 参数已弃用,建议使用 ‘issuer_id’ 和 ‘private_key_file’ 参数代替,并在 2.0.0 版本中移除;FUSION_APP_ID 和 FUSION_HOST 环境变量已弃用,建议使用 FUSION_ISSUER_ID 和 FUSION_HOST 代替,并在 2.0.0 版本中移除。

  • fusion_region - ‘app_id’ 和 ‘key_file’ 参数已弃用,建议使用 ‘issuer_id’ 和 ‘private_key_file’ 参数代替,并在 2.0.0 版本中移除;FUSION_APP_ID 和 FUSION_HOST 环境变量已弃用,建议使用 FUSION_ISSUER_ID 和 FUSION_HOST 代替,并在 2.0.0 版本中移除。

  • fusion_sc - ‘app_id’ 和 ‘key_file’ 参数已弃用,建议使用 ‘issuer_id’ 和 ‘private_key_file’ 参数代替,并在 2.0.0 版本中移除;FUSION_APP_ID 和 FUSION_HOST 环境变量已弃用,建议使用 FUSION_ISSUER_ID 和 FUSION_HOST 代替,并在 2.0.0 版本中移除。

  • fusion_se - ‘app_id’ 和 ‘key_file’ 参数已弃用,建议使用 ‘issuer_id’ 和 ‘private_key_file’ 参数代替,并在 2.0.0 版本中移除;FUSION_APP_ID 和 FUSION_HOST 环境变量已弃用,建议使用 FUSION_ISSUER_ID 和 FUSION_HOST 代替,并在 2.0.0 版本中移除。

  • fusion_se - endpoint_type 参数已弃用,将在 2.0.0 版本中移除。

  • fusion_ss - ‘app_id’ 和 ‘key_file’ 参数已弃用,建议使用 ‘issuer_id’ 和 ‘private_key_file’ 参数代替,并在 2.0.0 版本中移除;FUSION_APP_ID 和 FUSION_HOST 环境变量已弃用,建议使用 FUSION_ISSUER_ID 和 FUSION_HOST 代替,并在 2.0.0 版本中移除。

  • fusion_tenant - ‘app_id’ 和 ‘key_file’ 参数已弃用,建议使用 ‘issuer_id’ 和 ‘private_key_file’ 参数代替,并在 2.0.0 版本中移除;FUSION_APP_ID 和 FUSION_HOST 环境变量已弃用,建议使用 FUSION_ISSUER_ID 和 FUSION_HOST 代替,并在 2.0.0 版本中移除。

  • fusion_tn - FUSION_APP_ID 和 FUSION_HOST 环境变量已弃用,建议使用 FUSION_ISSUER_ID 和 FUSION_HOST 代替,并在 2.0.0 版本中移除。

  • fusion_ts - ‘app_id’ 和 ‘key_file’ 参数已弃用,建议使用 ‘issuer_id’ 和 ‘private_key_file’ 参数代替,并在 2.0.0 版本中移除;FUSION_APP_ID 和 FUSION_HOST 环境变量已弃用,建议使用 FUSION_ISSUER_ID 和 FUSION_HOST 代替,并在 2.0.0 版本中移除。

  • fusion_volume - ‘app_id’ 和 ‘key_file’ 参数已弃用,建议使用 ‘issuer_id’ 和 ‘private_key_file’ 参数代替,并在 2.0.0 版本中移除;FUSION_APP_ID 和 FUSION_HOST 环境变量已弃用,建议使用 FUSION_ISSUER_ID 和 FUSION_HOST 代替,并在 2.0.0 版本中移除。

t_systems_mms.icinga_director

  • 所有模块和插件已迁移到新的命名空间 telekom_mms。请相应更新您的代码。