Ansible 9 移植指南

Ansible 9 基于 Ansible-core 2.16。

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

剧本

  • 条件语句 - 由于 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'
    

命令行

已弃用

模块

已移除模块

弃用通知

值得注意的模块更改

插件

移植自定义脚本

网络

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 搜索

  • 改进 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 的修复仅修复了内置 Docker SDK for Python 代码的问题。使用 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.*.* 已停止维护,不再提供 bug 修复。请考虑升级到最新版本。

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) - 该模块不支持使用具有 iDRAC8 上身份验证的 HTTP、HTTPS 和 FTP 共享进行固件更新。

  • 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) - 该模块不支持使用具有 iDRAC8 上身份验证的 HTTP、HTTPS 和 FTP 共享进行固件更新。

  • 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

  • ansible-galaxy - 在安装包含 Java 内部类(文件名中带有 $ 的文件)的角色时,在安装过程中会停止工作。 这是设计使然,以排除临时文件或备份文件。 (https://github.com/ansible/ansible/pull/81553)。

  • ansible-test - pep8 健全性测试无法检测 Python 3.10 和 3.11 上的 f 字符串间距问题 (E201、E202)。它们在 Python 3.12 下被正确检测到。请参阅 (https://github.com/PyCQA/pycodestyle/issues/1190)。

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) - 该模块不支持使用具有 iDRAC8 上身份验证的 HTTP、HTTPS 和 FTP 共享进行固件更新。

  • 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 模块将不再永久配置 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 集合中迁移。使用此模块的完全限定集合名称的剧本应更新为使用 amazon.aws.aws_region_info

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

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

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

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

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

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

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

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

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

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

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

  • sts_assume_role - 该模块已从 community.aws 集合迁移。使用该模块的完全限定集合名称的剧本应更新为使用 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 才能完全兼容

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

重大变更

amazon.aws

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

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

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

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

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

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

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

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

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

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

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

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

chocolatey.chocolatey

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

  • win_chocolatey_facts - 添加过滤器/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。如果您的剧本期望列对于您的角色权限自动转换为大写,您应该显式地将其设置为 false (https://github.com/ansible-collections/community.mysql/issues/578)。

  • mysql_user - column_case_sensitive 参数的默认值将在 community.mysql 4.0.0 中更改为 true。如果您的剧本期望列对于您的用户权限自动转换为大写,您应该显式地将其设置为 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 的模块在问答中添加笔记和示例。

  • 改进 fortios_router_staticseq_num 的文档和示例;

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

  • 支持新的 FOS 版本。

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

  • 更新有关设置 FortiToken 多因素身份验证的问答;

  • 更新问答,其中包含针对 Ansible 始终将 GET/PUT 请求作为 POST 请求发送的解决方案。

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

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

grafana.grafana

  • 由 @gardar 添加 Grafana Server 角色

  • 由 @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 或更高版本。

  • 移除 include,该功能已在 Ansible 2.12 中弃用。改用 include_tasksimport_tasks

  • Templar - 移除已弃用的 shared_loader_obj 参数,该参数属于 __init__

  • 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_regeditpath 值中使用正斜杠,请确保将正斜杠 / 更改为反斜杠 \。如果用双引号括起来,反斜杠需要加倍。

  • 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 的测试,因为它们即将达到微软的报废状态。这些操作系统版本可能继续运行,但在 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 已移除弃用的事实模块。

  • hcloud_floating_ip_facts 已移除弃用的事实模块。

  • hcloud_image_facts 已移除弃用的事实模块。

  • hcloud_location_facts 已移除弃用的事实模块。

  • hcloud_server_facts 已移除弃用的事实模块。

  • hcloud_server_type_facts 已移除弃用的事实模块。

  • hcloud_ssh_key_facts 已移除弃用的事实模块。

  • hcloud_volume_facts 已移除弃用的事实模块。

弃用的功能

Ansible-core

  • 已弃用 ini 配置选项 collections_paths,请改用单数形式 collections_path

  • 已弃用环境变量 ANSIBLE_COLLECTIONS_PATHS,请改用单数形式 ANSIBLE_COLLECTIONS_PATH

  • 使用条目点 get_host_varsget_group_vars 的旧式 vars 插件已弃用。插件应更新为继承自 BaseVarsPlugin 并定义 get_vars 方法作为条目点。

  • Windows Server 2012 和 2012 R2 的支持已被移除,因为 Microsoft 的支持将在 2023 年 10 月 10 日结束。这些版本的 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

  • 在使用 Server 2012 或 2012 R2 时,setup 模块会发出警告。这些操作系统即将到期,到期后将不再在 CI 中进行测试。

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

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

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

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 事实结果添加 junos_acl_interfaces 键的弃用警告。

microsoft.ad

  • 弃用对 Server 2012 和 Server 2012 R2 的支持。这些操作系统版本即将从 Microsoft 达到生命周期结束状态,使用它们在 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。 请相应更新您的代码。