Ansible 8 移植指南

Ansible 8 基于 Ansible-core 2.15。

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

Playbook

  • 条件语句 - 由于在 ansible-core 2.15.7 中缓解了安全问题 CVE-2023-5764,当嵌入式模板查询来自不可信来源(如模块结果或标记为 !unsafe 的变量)的数据时,带有嵌入式模板块的条件表达式可能会失败,并显示消息“Conditional is marked as unsafe, and cannot be evaluated.”。当引用不可信数据时,带有嵌入式模板的条件语句可能成为恶意模板注入的来源,并且几乎总是可以在不使用嵌入式模板的情况下重写。Playbook 任务条件关键字(如 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'
    

命令行

  • 当结果为空时,ansible-galaxy search 的返回码现在为 0 而不是 1,并且 stdout 为空,以便与其他 ansible-galaxy 命令对齐。

已弃用

  • 提供字典列表给 vars: 已被弃用,建议提供字典。

    代替

    vars:
      - var1: foo
      - var2: bar
    

    使用

    vars:
      var1: foo
      var2: bar
    

模块

没有值得注意的更改

已移除的模块

以下模块不再存在

  • 没有值得注意的更改

弃用通知

没有值得注意的更改

值得注意的模块更改

没有值得注意的更改

插件

没有值得注意的更改

移植自定义脚本

没有值得注意的更改

网络

没有值得注意的更改

v8.7.0 移植指南

重大更改

Ansible-core

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

v8.6.0 移植指南

新增集合

  • ibm.storage_virtualize(版本 2.1.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)。

fortinet.fortios

  • 添加新的 fortios 版本 7.4.1。

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

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

  • 使用 Ansible 始终将 GET/PUT 请求作为 POST 请求发送的解决方案更新常见问题。

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

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

已弃用功能

  • 集合 ibm.spectrum_virtualize 已重命名为 ibm.storage_virtualize。目前,两个集合都包含在 Ansible 中。ibm.spectrum_virtualize 中的内容将在 Ansible 10.0.0 中替换为指向新集合的已弃用重定向,并且这些重定向最终将从 Ansible 中删除。请更新 ibm.spectrum_virtualize 的 FQCN。

v8.5.0 移植指南

已弃用功能

community.general

v8.4.0 移植指南

主要更改

fortinet.fortios

  • 改进文档,以便在使用整数作为 mkey 的模块的常见问题中添加注释和示例。

已弃用功能

Ansible-core

  • vault 和 unfault 过滤器 - 未文档化的 vaultid 参数已弃用,将在 ansible-core 2.20 中移除。请改用 vault_id

ansible.netcommon

  • libssh - ssh_*_args 选项现在已被标记为将在 2026-01-01 之后移除。

v8.3.0 版本移植指南

新增集合

  • telekom_mms.icinga_director(版本 1.34.1)

主要更改

fortinet.fortios

  • 添加 readthedocs.yaml 文件。

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

已弃用功能

  • 集合 t_systems_mms.icinga_director 已重命名为 telekom_mms.icinga_director。目前,这两个集合都包含在 Ansible 中。t_systems_mms.icinga_director 中的内容将在 Ansible 9.0.0 中被替换为指向新集合的已弃用重定向,这些重定向最终将从 Ansible 中移除。请更新 t_systems_mms.icinga_director 的 FQCN。

  • netapp.azure 集合被认为已停止维护,如果 Ansible 10 之前没有人重新开始维护它,则将从 Ansible 10 中移除。有关其工作原理的详细信息,请参阅移除流程https://github.com/ansible-community/community-topics/issues/234)。

  • netapp.elementsw 集合被认为已停止维护,如果 Ansible 10 之前没有人重新开始维护它,则将从 Ansible 10 中移除。有关其工作原理的详细信息,请参阅移除流程https://github.com/ansible-community/community-topics/issues/235)。

  • netapp.um_info 集合被认为已停止维护,如果 Ansible 10 之前没有人重新开始维护它,则将从 Ansible 10 中移除。有关其工作原理的详细信息,请参阅移除流程https://github.com/ansible-community/community-topics/issues/244)。

  • ngine_io.vultr 集合已正式停止维护并已存档。因此,它将从 Ansible 9 中移除。社区软件包中已有一个后继集合 vultr.cloud(使用最新的 v2 Vultr API),它涵盖了该功能,但可能不具有兼容的语法(https://github.com/ansible-community/community-topics/issues/257)。

community.crypto

community.general

community.postgresql

v8.2.0 版本移植指南

已知问题

Ansible-core

  • ansible-test - 已知 Fedora 37 远程在启动期间偶尔会挂起。因此,不再对其进行例行测试。如果可能,请改用 Fedora 38 远程。

community.crypto

community.hrobot

community.routeros

community.sops

重大更改

hetzner.hcloud

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

主要更改

chocolatey.chocolatey

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

  • win_chocolatey_facts - 添加过滤器/gather_subset 选项

community.vmware

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

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

grafana.grafana

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

  • @NormanJS 添加了可配置的代理用户组

  • @ishanjainn 添加了本地 Grafana 安装的 Grafana 插件支持

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

已弃用功能

  • 集合 community.sap 已重命名为 community.sap_libs。目前,这两个集合都包含在 Ansible 中。community.sap 中的内容将在 Ansible 9.0.0 中被替换为指向新集合的已弃用重定向,并且该集合将完全从 Ansible 10 中移除。请更新 community.sap 的 FQCN。

  • 已弃用的 servicenow.servicenow 集合已从 Ansible 7 中删除,但意外地重新添加到 Ansible 8 中。它将再次从 Ansible 9 中删除(https://github.com/ansible-community/community-topics/issues/246)。

community.general

junipernetworks.junos

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

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

v8.1.0 的移植指南

已知问题

community.dns

community.docker

community.general

dellemc.openmanage

  • idrac_redfish_storage_contoller - 问题(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_smart_fabric_uplink - 问题(186024) - 尽管该模块受 OpenManage Enterprise Modular 支持,但它不允许创建多个同名的上行链路。如果使用与现有上行链路相同的名称创建上行链路,则会修改现有上行链路。

重大变更

  • 请注意,下面 dellmc.enterprise_sonic 变更日志中宣布的重大更改来自 dellemc.enterprise_sonic 2.1.0,并在 dellemc.enterprise_sonic 2.2.0 中被恢复,因此它不包含在 Ansible 8 中。由于技术原因,此条目仍在此处显示。

dellemc.enterprise_sonic

主要更改

cloudscale_ch.cloud

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

fortinet.fortimanager

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

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

fortinet.fortios

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

  • 改进 fortios_router_staticseq_num 的文档和示例;

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

  • 支持新的 FOS 版本。

已移除的功能

community.ciscosmb

  • 删除对 Python 2.6 和 2.7 的测试

  • 删除对 ansible 2.9 的测试

已弃用的功能

amazon.aws

community.ciscosmb

  • 对 Python 2.6 和 2.7 的支持

  • 对 ansible 2.9 的支持

community.general

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 - 参数 nqn, wwns, host_password, host_user, target_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 版本中移除。

v8.0.0 移植指南

新增集合

  • dellemc.powerflex (版本 1.6.0)

  • dellemc.unity (版本 1.6.0)

  • grafana.grafana (版本 2.0.0)

  • microsoft.ad (版本 1.1.0)

  • servicenow.servicenow (版本 1.0.6)

已知问题

Ansible-core

  • ansible-test - 某些容器主机和容器组合可能需要额外的配置。 更多详细信息请参考测试文档。

  • ansible-test - 之前可以正常启动的带有 VOLUME 指令的自定义容器可能无法启动。 删除 VOLUME 指令以解决此问题。具有此情况的容器将导致 ansible-test 发出警告。

  • ansible-test - 之前未报告问题的存在 Podman 网络问题的系统可能无法运行容器。 请纠正网络问题以继续将 ansible-test 与 Podman 一起使用。

  • ansible-test - 集合的单元测试不支持 Python 2.7 上的 pytest 断言重写。

  • ansible-test - 在具有 SELinux 的系统上使用 Docker 可能需要将 SELinux 设置为 permissive 模式。Podman 应该可以在强制模式下使用 SELinux。

  • dnf5 - DNF5 包管理器目前没有提供所有功能,以确保现有 dnf 和新的 dnf5 模块之间的功能对等。 因此,以下 dnf5 选项实际上不起作用:cacheonlyenable_plugindisable_pluginlock_timeout

cisco.meraki

  • meraki_network - 更新了 local_status_page_enabledremote_status_page_enabled 的文档,因为它们不再起作用。

community.docker

community.routeros

  • api_modify - 当 queue tree 中的条目限制定义为人类可读格式(例如 25M)时,配置将在 ROS 中正确设置,但即使没有更改,该模块也会在每次运行时指示项目已更改。 这是由 ROS API 引起的,该 API 以字节为单位返回数字 - 例如 25000000(这与 CLI 行为不一致)。为了缓解这种情况,必须以字节为单位定义限制(这些限制在 ROS CLI 中仍然显示为人类可读格式) (https://github.com/ansible-collections/community.routeros/pull/131)。

  • api_modify, api_info - 由于 ROS6 和 ROS7 之间的重大变化,routing ospf arearouting ospf area rangerouting ospf instancerouting ospf interface-template 路径未针对 ROS6 完全实现 (https://github.com/ansible-collections/community.routeros/pull/131)。

dellemc.openmanage

  • idrac_firmware - 问题 (249879) - 如果使用带有身份验证的 SOCKS 代理,则基于 iDRAC9 的服务器的固件更新将失败。

  • idrac_os_deployment- 问题 (260496) - OS 安装将仅支持 NFS 和 CIFS 共享以将自定义 ISO 存储在 destination_path 中,不支持 HTTP/HTTPS/FTP

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

  • idrac_user - 问题 (192043) 该模块可能会报错,提示消息为 无法执行导入或导出操作,因为存在待处理的属性更改或配置作业正在进行中。请等待作业完成并再次运行任务。

  • idrac_user - 问题 (192043) 该模块可能会报错,提示消息为 无法执行导入或导出操作,因为存在待处理的属性更改或配置作业正在进行中。请等待作业完成并再次运行任务。

  • ome_application_alerts_syslog - 问题 (215374) - 如果 destination_address 超过 255 个字符,该模块不会提供正确的错误消息。

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

  • 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_inventory - 问题(256257) - 对于 Modular System 组和相应的子组,未检索所有主机。

  • ome_inventory - 问题(256589) - 对于 Custom Groups 组和相应的子组,未检索所有主机。

  • ome_inventory - 问题(256593) - 对于 PLUGIN GROUPS 组和相应的子组,未检索所有主机。

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

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

重大更改

Ansible-core

  • ansible-doc - 不再将名称以 _ 开头的集合中的插件视为已弃用 (https://github.com/ansible/ansible/pull/79362)。

  • ansible-test - 在 ansible-test 管理的主机环境中运行时,依赖于特定文件权限的集成测试可能需要更改。需要 755644 之外的权限的测试可能需要更新以在测试运行中设置必要的权限。

  • ansible-test - vcenter 测试插件现在默认为使用用户提供的静态配置,而不是集合的 govcsim 模拟器。将 ANSIBLE_VCSIM_CONTAINER 环境变量设置为 govcsim 以使用模拟器。请记住,模拟器已弃用,将在未来的版本中删除。

  • ansible-test sanity - 之前,名称以 _ 开头的集合中的插件和模块被视为已弃用,即使它们在 meta/runtime.yml 中未标记为已弃用。这种情况不再存在 (https://github.com/ansible/ansible/pull/79362)。

  • ansible-test validate-modules - 在验证模块中删除了 missing-python-doc 错误代码,missing-documentation 用于缺少 PowerShell 模块文档的情况。

amazon.aws

ansible.netcommon

  • NetworkConnectionBase 现在继承自 ansible.utils 中的 PersistentConnectionBase。因此,最低 ansible.utils 版本已增加到 2.7.0。

  • NetworkTemplate 不再可从 ansible_collections.ansible.netcommon.plugins.module_utils.network.common 导入,现在应该在它正确的位置 ansible_collections.ansible.netcommon.plugins.module_utils.network.common.rm_base.network_template 中找到。

  • ResourceModule 不再可从 ansible_collections.ansible.netcommon.plugins.module_utils.network.common 导入,现在应该在它正确的位置 ansible_collections.ansible.netcommon.plugins.module_utils.network.common.rm_base.resource_module 中找到。

  • VALID_MASKS、is_masklen、is_netmask、to_bits、to_ipv6_network、to_masklen、to_netmask 和 to_subnet 不再可从 ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils 导入,现在应该在它们正确的位置 ansible.module_utils.common.network 中找到。

community.aws

community.general

community.hashi_vault

community.zabbix

  • agent 角色 - 移除对 Darwin、Amazon、Fedora、XCP-ng、Suse、Mint 和 Sangoma 操作系统的支持

  • agent 角色 - 移除对 zabbix_create_host 的支持,并将其替换为 zabbix_agent_host_state

  • agent 角色 - 移除对 zabbix_create_hostgroup 的支持,并将其替换为 zabbix_agent_hostgroups_state

  • agent 角色 - 移除对 zabbix_http_password、zabbix_api_http_password、zabbix_api_pass 和 zabbix_api_login_pass 的支持,并将其替换为 zabbix_api_login_pass

  • agent 角色 - 移除对 zabbix_http_user、zabbix_api_http_user、zabbix_api_user 和 zabbix_api_login_user 的支持,并将其替换为 zabbix_api_login_user

  • agent 角色 - 移除对 zabbix_inventory_mode 的支持,并将其替换为 zabbix_agent_inventory_mode

  • agent 角色 - 移除对 zabbix_link_templates 的支持,并将其替换为 zabbix_agent_link_templates

  • agent 角色 - 移除对 zabbix_macros 的支持,并将其替换为 zabbix_agent_macros

  • agent 角色 - 移除对 zabbix_proxy 的支持,并将其替换为 zabbix_agent_proxy

  • agent 角色 - 移除对 zabbix_update_host 的支持,并将其替换为 zabbix_agent_host_update

  • 所有模块 - 放弃对 Zabbix 版本 < 6.0 的支持

  • 所有角色 - 移除对 zabbix_version 变量的支持。

  • 所有角色 - 移除对所有 Zabbix 版本 < 6.0 的支持。

  • 所有角色 - 移除从 epel 和非标准存储库安装的支持

  • 放弃对 zabbix-api 的支持,以对 Zabbix 进行 REST API 调用

  • proxy 角色 - 移除对 zabbix_database_creation 的支持,并将其替换为 zabbix_proxy_database_creation

  • proxy 角色 - 移除对 zabbix_database_sqlload 的支持,并将其替换为 zabbix_proxy_database_sqlload

  • proxy 角色 - 移除对 zabbix_selinux 的支持,并将其替换为 zabbix_proxy_selinux

  • server 角色 - 移除对 zabbix_server_mysql_login_password 的支持,并将其替换为 zabbix_server_dbpassword

  • server 角色 - 移除对 zabbix_server_mysql_login_user 的支持,并将其替换为 zabbix_server_dbuser

  • 停止支持 Ansible < 2.12

  • 停止支持 Python < 3.9

  • zabbix_action - message 参数重命名为 op_message

  • zabbix_group_facts 模块 - 移除,改为使用 zabbix_group_info

  • zabbix_host_facts 模块 - 移除,改为使用 zabbix_host_info

hetzner.hcloud

  • inventory 插件 - 现在需要 Python v3.5+。

lowlydba.sqlserver

重大更改

Ansible-core

  • ansible-test - 现在支持 WSL2 上的 Docker Desktop(需要额外配置)。

  • ansible-test - 现在在具有 cgroup v2 unified 的主机上支持 Docker 和 Podman。以前仅支持 cgroup v1 和 cgroup v2 hybrid。

  • ansible-test - Podman 现在可以在没有 systemd 的容器主机上工作。以前仅某些容器可以工作,而其他容器则需要 rootfull 或 rootless Podman,但不能同时使用两者。某些容器根本无法工作。

  • ansible-test - 现在支持 WSL2 上的 Podman。

  • ansible-test - 如果在容器主机上需要额外的 cgroup 设置,将自动检测到。将在显示的错误消息中提供有关如何配置主机的说明。

ansible.windows

  • 将此集合支持的最低 Ansible 版本设置为 Ansible 2.12

chocolatey.chocolatey

  • win_chocolatey - 允许用户选择用于引导 Chocolatey 安装的 TLS 版本。

cisco.iosxr

cisco.meraki

  • meraki_mr_l7_firewall - 新模块

  • meraki_webhook_payload_template - 新模块

community.hrobot

community.postgresql

community.vmware

community.zabbix

  • 所有模块都选择放弃 zabbix-api 并使用 httpapi ansible.netcommon 插件。我们将支持 zabbix-api 以实现向后兼容性,直到下一个主要版本。有关如何迁移的更多信息,请参阅我们的 README.md

  • zabbix_agent 和 zabbix_proxy 角色正在放弃 zabbix-api 并使用 httpapi ansible.netcommon 插件。我们将支持 zabbix-api 以实现向后兼容性,直到下一个主要版本。有关如何迁移的更多信息,请参阅我们的 README.md

containers.podman

  • 新的 become 插件 - podman_unshare

  • Podman 生成 systemd 模块

dellemc.openmanage

  • 品牌重塑,从 Dell EMC 改为 Dell。

  • 为 OMSDK 依赖的 iDRAC 模块支持 IPv6 地址。

  • idrac_firmware - 此模块已增强,支持代理。

  • idrac_redfish_storage_controller - 此模块已增强,可以配置控制器属性和在线容量扩展。

  • idrac_server_config_profile - 此模块已增强,可以支持代理设置、导入缓冲区、包括在导出中以及忽略证书警告。

  • idrac_user_info - 此模块允许检索 iDRAC 本地用户信息详细信息。

  • ome_domian_user_groups - 此模块允许导入 LDAP 目录组。

  • ome_inventory - 此插件允许从 OpenManage Enterprise 上的组创建清单。

  • ome_inventory - 此插件已增强,支持检索 OpenManage Enterprise 的系统和插件组的清单。

  • ome_profile_info - 此模块允许检索 OpenManage Enterprise 或 OpenManage Enterprise Modular 上具有属性的配置文件。

  • ome_smart_fabric_info - 此模块检索 OpenManage Enterprise Modular 清单中智能光纤网络的列表。

  • ome_smart_fabric_uplink_info - 此模块检索 OpenManage Enterprise Modular 上光纤网络上行链路的详细信息。

  • ome_template_network_vlan_info - 此模块允许检索 OpenManage Enterprise 或 OpenManage Enterprise Modular 上模板的网络配置。

fortinet.fortios

  • 为每个模块添加成员操作的注释。

  • 支持 FortiOS v7.0.6、v7.0.7、v7.0.8、v7.2.1、v7.2.2。

  • 更新 fortios.py 以提高性能;

  • 支持临时会话密钥和登录前/后横幅;

  • 更新有关如何在问答中使用成员操作的示例。

infoblox.nios_modules

  • 添加了网格主候选功能 #152

  • 向网络和范围添加了成员分配 #152

  • 添加了具有创建、更新和删除功能的 NIOS 范围模块 #152

  • 修复了无法使用 Ansible 插件更新/删除 EA 的问题 #180

  • 修复了 A 记录的 IPV4 地址的静态和动态分配 #182

  • 修复了更新 NIOS 成员主机名的问题 #176

  • 将默认 WAPI 版本更新为 2.9 #176

junipernetworks.junos

  • 将收集的键从 junos_acls 更改为 acls

kubernetes.core

purestorage.fusion

  • 资源属性的修补已与底层 Python SDK 保持一致

  • fusion_volume - 已修复和重新组织,参数已更改

已删除的集合

  • dellemc.os10 (先前包含的版本:1.1.1)

  • dellemc.os6 (先前包含的版本:1.0.7)

  • dellemc.os9 (先前包含的版本:1.0.4)

  • mellanox.onyx (先前包含的版本:1.0.0)

已删除的功能

  • 根据从 Ansible 流程中删除dellemc.os10 被认为未维护,并从 Ansible 8 中删除。用户仍然可以使用 ansible-galaxy collection install dellemc.os10 安装此集合。

  • 根据从 Ansible 流程中删除dellemc.os6 被认为未维护,并从 Ansible 8 中删除。用户仍然可以使用 ansible-galaxy collection install dellemc.os6 安装此集合。

  • 根据从 Ansible 流程中删除dellemc.os9 被认为未维护,并从 Ansible 8 中删除。用户仍然可以使用 ansible-galaxy collection install dellemc.os9 安装此集合。

  • 根据从 Ansible 中移除的流程mellanox.onyx 被认为已无人维护,并已从 Ansible 8 中移除。用户仍然可以使用 ansible-galaxy collection install mellanox.onyx 安装此集合。

Ansible-core

amazon.aws

ansible.netcommon

  • cli_parse - 此插件在 1.0.0 版本中已移动到 ansible.utils,并且现在已删除了到该集合的重定向。

community.general

community.zabbix

  • agent role - 删除了配置防火墙的支持

  • web role - 删除了 apache、debian 和 php 的安装

已弃用的功能

Ansible-core

  • ConnectionBase()._new_stdin 属性已弃用,请使用 display.prompt_until(msg) 代替。

  • ansible-test - foreman 测试插件现已弃用。它将在未来的版本中移除。

  • ansible-test - vcenter 测试插件中的 govcsim 模拟器现已弃用。它将在未来的版本中移除。用户应通过静态配置文件切换到提供他们自己的测试环境。

  • password_hash - 如果 hashtype 不在文档化的选择列表中,则弃用使用 passlib.hash.hashtype。

  • vars - 建议指定字典,而不是为 vars: 指定字典列表,此方式已弃用。

amazon.aws

check_point.mgmt

  • add/set/delete nat-rule 模块 - 将被单个 cp_mgmt_nat_rule 模块替换。

  • cp_mgmt_show_task/s 模块 - 将被单个 cp_mgmt_task_facts 模块替换。

chocolatey.chocolatey

  • win_chocolatey - 弃用并行安装。

cisco.ios

  • ios_bgp_address_family - 弃用 neighbors.address/tag/ipv6_adddress,改用 neighbor_address,以便为 facts 渲染启用通用属性

  • ios_bgp_address_family - 弃用 neighbors.password,改用 password_options,以便允许加密和密码

  • ios_bgp_address_family - 弃用 redistribute.ospf.match.external,改用 redistribute.ospf.match.externals,以便为 OSPF 类型 E1 和 E2 路由启用属性

  • ios_bgp_address_family - 弃用 redistribute.ospf.match.nssa_external,改用 redistribute.ospf.match.nssa_externals,以便为 OSPF 类型 N1 和 N2 路由启用属性

  • ios_bgp_address_family - 弃用 redistribute.ospf.match.type_1,改用 redistribute.ospf.match.nssa_externals.type_1

  • ios_bgp_address_family - 弃用 redistribute.ospf.match.type_2,改用 redistribute.ospf.match.nssa_externals.type_2

  • ios_bgp_address_family - 弃用 slow_peer,改用 slow_peer_options,以便支持字典属性

community.aws

community.crypto

community.dns

community.general

community.hashi_vault

purestorage.fusion

  • fusion_hw - 硬件模块将被移除,因为 Pure Storage Fusion 从未支持更改硬件类型。

  • fusion_info - nigs 子集已被弃用,推荐使用 network_interface_groups,并将在 1.7.0 版本中删除。

  • fusion_info - placements 子集已被弃用,推荐使用 placement_groups,并将在 1.7.0 版本中删除。

  • fusion_pg - placement_engine 选项已被弃用,因为 Fusion API 不再支持此参数。它将在 2.0.0 版本中删除。

  • fusion_se - 参数 'addresses'、'gateway' 和 'network_interface_groups' 已被弃用,推荐使用 'iscsi',并将在 2.0.0 版本中删除。

  • fusion_tn - 租户网络正在被存储端点 `fusion_se` 和网络接口组 `fusion_nig` 取代。