Ansible 9 移植指南

Ansible 9 基于 Ansible-core 2.16。

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

剧本

  • 条件 - 由于在 ansible-core 2.16.1 中对安全问题 CVE-2023-5764 的缓解,当嵌入式模板从不受信任的来源(如模块结果或标记为 !unsafe 的变量)咨询数据时,包含嵌入式模板块的条件表达式可能会失败,并显示消息 “Conditional is marked as unsafe, and cannot be evaluated.”。包含嵌入式模板的条件在引用不受信任的数据时可能是恶意模板注入的来源,并且几乎总是可以在没有嵌入式模板的情况下重写。剧本任务条件关键字(如 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.11.0 移植指南

已弃用功能

v9.10.0 移植指南

重大变更

community.mysql

  • 集合 - 对 mysqlclient 连接器的支持已弃用 - 请改用 PyMySQL 连接器!我们将在集合版本 4.0.0 中停止对其进行测试,并在 5.0.0 中移除相关代码(https://github.com/ansible-collections/community.mysql/issues/654)。

  • mysql_info - users_info 过滤器返回的变量 plugin_auth_string 包含哈希密码,并且具有误导性,它将在 community.mysql 4.0.0 中移除。请改用 plugin_hash_string 返回值(https://github.com/ansible-collections/community.mysql/pull/629)。

  • mysql_user - username 参数的别名,它已弃用,将在集合版本 5.0.0 中移除。请改用 name 参数。

已弃用功能

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 修复仅修复了嵌入的 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

  • 接口的 facts 中 'bandwith' 已更改为 'bandwidth'

弃用的功能

amazon.aws

community.crypto

community.docker

v9.5.1 移植指南

主要变更

containers.podman

  • 添加 Podman 模块的 quadlet 支持

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) - 此模块不支持使用带有 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-string 间距问题(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 SDK 宣布停止支持 Python 3.7 以下版本 (https://aws.amazon.com/blogs/developer/python-support-policy-updates-for-aws-sdks-and-tools/),因此此集合在 6.0.0 版本中已弃用对 Python 3.7 以下版本的支持,并在 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 - 添加过滤器/收集子集选项

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 的模块的 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 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。使用 becomebecome_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 中带有 nexthop_self 的 next_hop_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 方法作为入口点。

  • 已删除对 Windows Server 2012 和 2012 R2 的支持,因为微软的支持生命周期已于 2023 年 10 月 10 日结束。这些版本的 Windows 将不再在本 Ansible 版本中进行测试,并且不能保证它们在未来继续工作。

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

  • 用于设置连接插件的“智能”选项即将被删除,因为它的主要用途(在 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-01-01 之后删除。

ansible.windows

  • 在使用 Server 2012 或 2012 R2 与 setup 模块时添加警告。这些操作系统即将达到使用寿命,届时将在 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_password`和 `target_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。请相应地更新您的代码。