Ansible 5 移植指南

Ansible 5 基于 Ansible-core 2.12。

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

剧本

  • 在调用任务并设置 async 时,在 environment: 下设置 ANSIBLE_ASYNC_DIR 现在不再有效。改为使用 shell 配置变量 async_dir,例如通过设置 ansible_async_dir

tasks:
  - dnf:
      name: '*'
      state: latest
    async: 300
    poll: 5
    vars:
      ansible_async_dir: /path/to/my/custom/dir
  • 模板环境中添加了 undef() 函数,用于在模板中直接创建未定义的变量。可选地,可以为旨在被覆盖的变量提供提示。

vars:
  old: "{{ undef }}"
  new: "{{ undef() }}"
  new_with_hint: "{{ undef(hint='You must override this variable') }}"

Python 解释器发现

INTERPRETER_PYTHON 的默认值已更改为 autoINTERPRETER_PYTHON_FALLBACK 中的 Python 解释器列表已更改为优先使用 Python 3 而不是 Python 2。这两个更改的组合意味着新的默认行为是在远程主机上静默地优先使用 Python 3 而不是 Python 2。以前,在解释器发现将使用 Python 3 但解释器设置为 /usr/bin/python 的情况下会发出弃用警告。

可以通过设置 ansible_interpreter_python_fallback 变量来更改 INTERPRETER_PYTHON_FALLBACK 的默认解释器列表。

有关更多详细信息,请参阅 解释器发现文档

命令行

  • 控制器节点上的 Python 3.8 是此版本的硬性要求。命令行脚本在较低的 Python 版本下将无法正常运行。

  • ansible-vault 不再支持 PyCrypto,需要 cryptography

已弃用

  • 目标节点上的 Python 2.6 在此版本中已弃用。ansible-core 2.13 将删除对 Python 2.6 的支持。

  • 条件中的裸变量:when 条件不再自动解析诸如 "true""false" 这样的字符串布尔值成为实际的布尔值。任何包含非空字符串的变量都被视为真值。这以前可以通过 CONDITIONAL_BARE_VARS 配置选项(以及 ANSIBLE_CONDITIONAL_BARE_VARS 环境变量)进行配置。此设置不再有任何影响。用户可以通过使用 |bool 过滤器来解决此问题。

vars:
  teardown: 'false'

tasks:
  - include_tasks: teardown.yml
    when: teardown | bool

  - include_tasks: provision.yml
    when: not teardown | bool
  • _remote_checksum() 方法在 ActionBase 中已弃用。任何使用此方法的 action 插件都应该使用 _execute_remote_stat() 代替。

模块

  • cron 现在要求在所有情况下都指定 name

  • cron 不再允许 reboot 参数。改为使用 special_time: reboot

  • hostname - 在 FreeBSD 上,如果永久主机名文件不存在,before 结果将不再是 "temporarystub"。为了与其他系统保持一致,它将改为是 ""(空字符串)。

  • hostname - 在基于 OpenRC 和 Solaris 的系统上,如果永久主机名文件不存在,before 结果将不再是 "UNKNOWN"。为了与其他系统保持一致,它将改为是 ""(空字符串)。

  • pip 现在使用为 Ansible 模块的 Python 解释器安装的 pip Python 模块(如果可用),除非指定了 executablevirtualenv

已删除的模块

以下模块不再存在

  • 没有重大更改

弃用通知

没有重大更改

值得注意的模块更改

没有重大更改

插件

  • Jinja2 < 2.10 的 unique 过滤器区分大小写,如果 case_sensitive=False 而不是 case_sensitive=True 时,现在会一致地引发错误。

  • 集合论过滤器(intersectdifferencesymmetric_differenceunion)现在区分大小写。显式地使用 case_sensitive=False 来保留以前的行为。注意:对于 Jinja2 < 2.10,过滤器默认情况下已经是区分大小写的。

  • password_hash 现在使用 passlib 默认值,当选项未指定时,例如 bcrypt_sha256,现在默认使用 “2b” 格式,如果需要 “2a” 格式,则必须指定。

移植自定义脚本

没有重大更改

网络

没有重大更改

v5.9.0 移植指南

新增集合

  • cisco.dnac (版本 6.4.0)

  • community.sap_libs (版本 1.1.0)

重大变更

fortinet.fortios

  • 支持 FortiOS 7.0.2、7.0.3、7.0.4、7.0.5。

已弃用功能

  • 集合 community.sap 已重命名为 community.sap_libs。目前,这两个集合都包含在 Ansible 中。Ansible 7.0.0 中的 community.sap 中的内容将被替换为已弃用的重定向到新集合的重定向,并且这些重定向最终将从 Ansible 中删除。请更新您 community.sap 的 FQCN。

community.docker

v5.8.0 移植指南

新增集合

  • vmware.vmware_rest (版本 2.1.5)

重大变更

vmware.vmware_rest

  • vmware_rest 2.0.0 支持 vSphere 7.0.2 及更高版本。

  • vcenter_vm_storage_policy - disks 参数的格式已更改。

  • vcenter_vm_storage_policy - 模块有一个新的必填参数:vm_home

重大变更

community.mysql

  • community.mysql 集合不再支持 Ansible 2.9ansible-base 2.10。虽然我们不会采取积极措施阻止使用,并且目前没有计划向模块引入不兼容的代码,但我们将停止针对 Ansible 2.9ansible-base 2.10 进行测试。这两个版本很快就会停止支持,如果您仍在使用它们,则应尽快考虑升级到 最新 Ansible / ansible-core 2.11 更高版本 (https://github.com/ansible-collections/community.mysql/pull/343)。

community.postgresql

  • community.postgresql 集合不再支持 Ansible 2.9ansible-base 2.10。虽然我们不会采取积极措施阻止使用,并且目前没有计划向模块引入不兼容的代码,但我们将停止针对 Ansible 2.9ansible-base 2.10 进行测试。这两个版本很快就会停止支持,如果您仍在使用它们,则应尽快考虑升级到 最新 Ansible / ansible-core 2.11 更高版本 (https://github.com/ansible-collections/community.postgresql/pull/245)。

已弃用功能

community.hashi_vault

community.network

  • 对 Ansible 2.9 和 ansible-base 2.10 的支持已弃用,并将在这个春季的下个主要版本(community.network 4.0.0)中删除。虽然大多数内容可能仍然可以使用 ansible-base 2.10,但我们将删除模块和操作插件的符号链接,这将使得它们无法再与 Ansible 2.9 一起使用。请使用 community.network 3.x.y 与 Ansible 2.9 和 ansible-base 2.10 一起使用,因为即使在它们停止支持后,这些版本将继续支持 Ansible 2.9 和 ansible-base 2.10 (https://github.com/ansible-community/community-topics/issues/50, https://github.com/ansible-collections/community.network/pull/382)。

vmware.vmware_rest

  • vcenter_vm_storage_policy_compliance - 删除模块,它返回 404 错误。

  • vcenter_vm_tools - 删除 upgrade 状态。

  • vcenter_vm_tools_installer - 从集合中删除模块。

v5.7.0 移植指南

重大变更

community.postgresql

fortinet.fortios

  • 支持 FortiOS 7.0.2、7.0.3、7.0.4、7.0.5。

已弃用功能

community.general

  • nmcli - 弃用桥接的默认回环模式。这样我们就可以在 community.general 7.0.0 中将其更改为 false,因为这也是 nmcli 中的默认值 (https://github.com/ansible-collections/community.general/pull/4334)。

  • proxmox 库存插件 - want_proxmox_nodes_ansible_host 选项的当前默认值 true 已弃用。默认值将在 community.general 6.0.0 中更改为 false。要保持当前行为,请在您的库存配置中显式将 want_proxmox_nodes_ansible_host 设置为 true。我们建议您通过显式将其设置为 false 以及通过使用 compose:ansible_host 设置为正确的值来切换到新行为。有关详细信息,请参阅插件文档中的示例 (https://github.com/ansible-collections/community.general/pull/4466)。

v5.6.0 移植指南

新增集合

  • community.sap (版本 1.0.0)

已弃用功能

cisco.ios

  • 弃用 lldp 模块。

v5.5.0 移植指南

已知问题

community.general

弃用功能

community.general

  • pacman - 从 community.general 5.0.0 开始,如果指定了 nameupgradeupdate_cachechanged 状态将不再被忽略。要保持旧行为,请在您的任务中添加类似 register: resultchanged_when: result.packages | length > 0 的内容 (https://github.com/ansible-collections/community.general/pull/4329).

v5.4.0 移植指南

重大变更

chocolatey.chocolatey

  • win_chocolatey - 添加了 choco_args 选项,以便将额外的参数直接传递给 Chocolatey。

vyos.vyos

  • 在 ntp_global 中的 server 键中添加 ‘pool’ 作为值。

弃用功能

cisco.ios

  • ios_acls - 弃用片段属性,添加布尔型备用值 enable_fragment。

v5.3.0 移植指南

重大变更

f5networks.f5_modules

  • bigip_device_info - 也添加了分页逻辑,以帮助提高 API 稳定性。

  • bigip_device_info - 该模块不再从设备上的所有分区收集信息。此更改将通过仅从给定分区收集资源来稳定模块,并防止模块收集可能导致崩溃的过多信息。

弃用功能

community.general

v5.2.0 移植指南

已知问题

dellemc.openmanage

  • idrac_user - 问题(192043)模块可能会出现以下错误消息:unable to perform the import or export operation because there are pending attribute changes or a configuration job is in progress。请等待作业完成并再次运行任务。

  • ome_application_alerts_smtp - 问题(212310) - 如果目标地址超过 255 个字符,模块不会提供适当的错误消息。

  • ome_application_alerts_syslog - 问题(215374) - 如果目标地址超过 255 个字符,模块不会提供适当的错误消息。

  • ome_device_local_access_configuration - 问题(215035) - 如果为 timeout_limit 参数提供不支持的值,模块会报告 Successfully updated the local access setting。但是,此值实际上并未应用于 OpenManage Enterprise Modular。

  • ome_device_local_access_configuration - 问题(217865) - 如果为 user_defined 和 lcd_language 参数提供不支持的值,模块不会显示适当的错误消息。

  • 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 支持此功能。如果使用与现有上行链路相同的名称创建上行链路,则会修改现有上行链路。

purestorage.flasharray

  • purefa_admin - 一旦设置了 max_loginlockout,目前无法将它们重置为零,除非通过 FlashArray GUI。

重大变更

cisco.meraki

  • meraki_mr_radio - 新模块

弃用功能

purestorage.flasharray

  • purefa_sso - 已弃用,建议使用 M(purefa_admin)。将在集合 2.0 中删除。

v5.1.0 移植指南

已知问题

dellemc.openmanage

  • idrac_user - 问题(192043)模块可能会出现以下错误消息:unable to perform the import or export operation because there are pending attribute changes or a configuration job is in progress。请等待作业完成并再次运行任务。

  • ome_application_alerts_smtp - 问题(212310) - 如果目标地址超过 255 个字符,模块不会提供适当的错误消息。

  • ome_application_alerts_syslog - 问题(215374) - 如果目标地址超过 255 个字符,模块不会提供适当的错误消息。

  • 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 支持此功能。如果使用与现有上行链路相同的名称创建上行链路,则会修改现有上行链路。

重大变更

containers.podman

  • 添加 podman_tag 模块

  • 添加秘密驱动程序和驱动程序选项支持

已删除功能

community.hashi_vault

弃用功能

cisco.nxos

  • 弃用 nxos_snmp_community 模块。

  • 弃用 nxos_snmp_contact 模块。

  • 弃用 nxos_snmp_host 模块。

  • 弃用 nxos_snmp_location 模块。

  • 弃用 nxos_snmp_traps 模块。

  • 弃用 nxos_snmp_user 模块。

community.general

community.hashi_vault

junipernetworks.junos

  • 从 junos_ospf_interfaces、junos_ospfv2 和 junos_ospfv3 资源模块中弃用 ‘router_id’ 选项。

v5.0.1 移植指南

重大变更

  • 将 ansible 包的 Python 要求从 >=2.7 提高到 >=3.8,以匹配 ansible-core

v5.0.0 移植指南

添加的集合

  • cisco.ise(版本 1.2.1)

  • cloud.common(版本 2.1.0)

  • community.ciscosmb(版本 1.0.4)

  • community.dns(版本 2.0.3)

  • infoblox.nios_modules(版本 1.1.2)

  • netapp.storagegrid(版本 21.7.0)

已知问题

Ansible-core

  • ansible-test - 在命令末尾以外的任何地方使用新的复合选项进行制表符补全将提供不正确的结果。有关更多详细信息,请参见 问题 351

dellemc.openmanage

  • idrac_user - 问题(192043)模块可能会出现以下错误消息:unable to perform the import or export operation because there are pending attribute changes or a configuration job is in progress。请等待作业完成并再次运行任务。

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

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

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

purestorage.flashblade

  • purefb_lag - 响应中的 mac_address 字段未填充。 此问题将在未来的 FlashBlade 更新中修复。

重大更改

Ansible-core

  • module_defaults 中的动作、模块和组名称必须为静态值。 它们的值仍然可以是模板。

  • 完全限定的“ansible.legacy”插件名称不会隐式包含在 action_groups 中。

  • module_defaults 中无法解析的组、动作插件和模块是错误。

  • ansible-test - 现在不再自动安装“cloud”测试插件的依赖项。 受影响的测试插件包括 awsazurecshcloudniosopennebulaopenshiftvcenter。 集合应该使用支持的集成测试依赖项文件之一,例如 tests/integration/requirements.txt 文件。

  • ansible-test - 使用 ansible-test shell 命令不再提供 HTTP 测试器。 只有 integrationwindows-integration 命令提供 HTTP 测试器。

  • ansible-test - --disable-httptester 选项不再可用。 HTTP 测试器对于指定它的测试不再是可选的。

  • ansible-test - --httptester 选项不再可用。 要覆盖用于 HTTP 测试器测试的容器,请改为设置 ANSIBLE_HTTP_TEST_CONTAINER 环境变量。

  • ansible-test - modulesmodule_utils 的单元测试现在仅限于从 ansible 模块导入 ansible.module_utils

  • 条件 - when 条件不再自动将字符串布尔值(如 "true""false")解析为实际的布尔值。 现在,任何非空字符串都被认为是真。 CONDITIONAL_BARE_VARS 配置变量不再有任何作用。

  • hostname - 通过使用 with open() 来简化异常处理代码,从而放弃了对 Python 2.4 的任何剩余支持,该代码在几个地方泄漏了文件句柄。

  • hostname - 在 FreeBSD 上,字符串 temporarystub 不再写入 get 方法(以及在 check_mode 中)的主机名文件。 结果,默认主机名现在将显示为 ''(空字符串)而不是 temporarystub,以保持与其他策略的一致性。 这意味着 before 结果将有所不同。

  • hostname - 在 OpenRC 系统和 Solaris 上,如果永久主机名文件不存在,则 before 值现在将为 ''(空字符串),以保持与其他策略的一致性。

  • intersect、difference、symmetric_difference、union 过滤器 - 默认行为现在是区分大小写 (https://github.com/ansible/ansible/issues/74255)

  • unique 过滤器 - 默认行为现在是如果 Jinja2 的过滤器失败则失败,并且显式 case_sensitive=False 作为 Ansible 的回退是区分大小写的 (https://github.com/ansible/ansible/pull/74256)

amazon.aws

arista.eos

  • Arista 发布了 train 4.23.X 及更高版本,并随之替换和弃用了几个命令。 此 PR 添加了对 4.23 及更高版本发布列车中的语法更改的支持。 今后,eos 模块将不支持 eos sw 版本 < 4.23。

community.aws

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

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

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

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

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

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

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

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

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

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

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

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

  • kms_info - 现在在 kms_keys 属性而不是 keys 属性中返回密钥详细信息 (https://github.com/ansible-collections/community.aws/pull/648).

community.crypto

community.dns

community.docker

community.general

community.hashi_vault

community.okd

community.routeros

community.zabbix

  • 所有角色现在通过其完全限定的集合名称引用其他角色和模块,这使得 Ansible 2.10 成为角色的最低支持版本(参见 问题 477)。

kubernetes.core

netapp.storagegrid

  • 此版本引入了重大更改。所有模块都已从 nac_sg_* 重命名为 na_sg_*。剧本和角色必须更新以匹配。

重大变化

Ansible-core

  • Python 控制器要求 - 控制节点(运行 Ansible 的机器)需要 Python 3.8 或更高版本 (https://github.com/ansible/ansible/pull/74013)

  • ansible-test - 所有使用容器的“cloud”插件现在都可以与所有 POSIX 和 Windows 主机一起使用。以前,这些插件根本无法在 Windows 上运行,并且对使用 --remote 选项创建的主机的支持不一致。

  • ansible-test - 集合现在可以指定控制器和目标特定的集成测试要求和约束。如果提供,它们将优先于以前可用的要求和约束文件。

  • ansible-test - 使用 integration 命令运行的集成测试现在可以在两个独立的主机上执行,而不是始终在控制器上运行。目标主机可以是 ansible-test 提供的或用户提供的,只要可以使用 SSH 访问它即可。

  • ansible-test - 大多数容器功能现在在 Podman 下得到支持。以前需要一个指向 podmandocker 符号链接。

  • ansible-test - 添加了新的 --controller--target / --target-python 选项,以允许对测试环境进行更多控制。

  • ansible-test - 现在需要 Python 3.8 - 3.10 才能运行 ansible-test,从而与 Ansible 控制器 Python 要求相匹配。旧版本的 Python(2.6 - 2.7 和 3.5 - 3.10)仍然可以作为相关测试的目标。

  • ansible-test - SSH 端口转发和重定向现在专门用于使容器端口在非容器主机上可用。在 POSIX 系统上进行测试时,这需要以 root 用户身份登录 SSH。以前,SSH 端口转发与防火墙规则或其他端口重定向方法相结合,一些平台不受支持。

  • ansible-test - 健全性测试始终在与每个测试要求相关的隔离的 Python 虚拟环境中运行。这些环境被缓存。

  • ansible-test - 健全性测试现在分为两类:控制器和目标。除 importcompile 之外的所有测试都是控制器测试。控制器测试始终使用与运行 ansible-test 相同的 Python 版本运行。目标测试使用用户指定的 Python 版本或所有可用的 Python 版本。

  • ansible-test - 健全性测试现在使用完全固定的要求,这些要求彼此独立,也与其他测试类型独立。

  • ansible-test - 使用 centos6default 测试容器运行的测试现在使用 PyPI 代理容器在使用 Python 2.6 时访问 PyPI。这使得在 Python 2.6 下运行的测试能够继续正常运行,即使 PyPI 停止支持不支持 SNI 的客户端。

  • ansible-test - future-import-boilerplatemetaclass-boilerplate 健全性测试仅限于远程代码。此外,对于声明不支持 Python 2.x 的集合,它们将被跳过。

  • ansible-test - importcompile 健全性测试将远程 Python 版本检查限制在远程代码。

  • ansible-test - 针对控制器专用代码的单元测试现在需要 Python 3.8 或更高版本。

  • ansible-test - 与版本无关的健全性测试现在需要 Python 3.8 或更高版本。

  • junit 回调 - 现在不再需要 junit_xmlordereddict Python 模块来使用 junit 回调插件。

amazon.aws

  • amazon.aws 集合 - 由于 AWS SDK 宣布停止支持 Python 版本低于 3.6 (https://boto3.amazonaws.com/v1/documentation/api/1.17.64/guide/migrationpy3.html),因此该集合现在需要 Python 3.6+ (https://github.com/ansible-collections/amazon.aws/pull/298)。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

cisco.ise

  • ise_uses_api_gateway 添加到模块选项。

  • 添加一个“aws_deployment”角色,该角色允许将任意大的 ISE 集群部署到 AWS。

  • 将 ise_responses 添加到信息模块的返回值。

  • 将 ise_update_response 添加到非信息模块的返回值。

  • 修复没有按名称获取且没有有效过滤器的模块的内部逻辑。

  • 将模块 device_administration_authorization_exception_rules 重命名为 device_administration_local_exception_rules。

  • 将模块 device_administration_authorization_global_exception_rules 重命名为 device_administration_global_exception_rules。

  • 将模块 network_access_authorization_exception_rules 重命名为 network_access_local_exception_rules。

  • 将模块 network_access_authorization_global_exception_rules 重命名为 network_access_global_exception_rules。

  • 更新模块所需选项。

  • 更新先前模块的 SDK 参数。

  • device_administration_authorization_exception_rules - 已删除模块。

  • device_administration_authorization_exception_rules_info - 已删除模块。

  • device_administration_authorization_global_exception_rules - 已删除模块。

  • device_administration_authorization_global_exception_rules_info - 已删除模块。

  • guest_user_reinstante - 已删除模块。

  • import_trust_cert - 已删除模块。

  • network_access_authorization_exception_rules - 已删除模块。

  • network_access_authorization_exception_rules_info - 已删除模块。

  • network_access_authorization_global_exception_rules - 已删除模块。

  • network_access_authorization_global_exception_rules_info - 已删除模块。

  • personas_check_standalone - 添加模块,用于将角色部署到现有 ISE 集群中的节点。

  • personas_export_certs - 添加模块,用于将角色部署到现有 ISE 集群中的节点。

  • personas_promote_primary - 添加模块,用于将角色部署到现有 ISE 集群中的节点。

  • personas_update_roles - 添加模块,用于将角色部署到现有 ISE 集群中的节点。

  • service_info - 已删除模块。

  • system_certificate_export - 已删除模块。

  • telemetry_info_info - 已删除模块。

cloud.common

  • turbo - 为查找插件启用 turbo 模式。

cloudscale_ch.cloud

  • 添加 custom_image 模块。

community.aws

community.ciscosmb

  • 需要 Python 2.6、2.7、3.5。

  • 添加 CBS350 支持。

  • 添加 antsibull-changelog 支持。

  • 添加 ciscosmb_command。

  • 添加事实子集“interfaces”。

  • 具有默认子集和单元测试的 ciscosmb_facts。

  • 接口名称规范化。

  • 将集合 qaxi.ciscosmb 转换为 community.ciscosmb。

  • 将 community.ciscosmb.ciscosmb_command 转换为 community.ciscosmb.command。

  • 将 community.ciscosmb.ciscosmb_facts 转换为 community.ciscosmb.facts。

  • CBS350 的单元测试。

community.dns

community.general

community.kubernetes

community.okd

community.postgresql

community.vmware

containers.podman

  • 添加 pod 的 systemd 生成

  • 为容器生成 systemd 服务文件

dellemc.openmanage

  • idrac_server_config_profile - 添加了通过 HTTP/HTTPS 共享导出和导入服务器配置配置文件的支持。

  • ome_device_group - 添加了使用设备的 IP 地址和组 ID 将设备添加到组的支持。

  • ome_firmware - 添加了暂存固件更新的选项,以及为基于基线的固件更新选择组件和设备的支持。

  • ome_firmware_baseline - 模块支持检查模式,并允许修改和删除固件基线。

  • ome_firmware_catalog - 模块支持检查模式,并允许修改和删除固件目录。

fortinet.fortios

  • 在一些配置模块的示例部分添加了现实世界的用例。

  • 收集模块的当前配置并将它们转换为剧本。

  • 改进 fortios_configuration_fact 以同时使用多个选择器。

  • 新模块 fortios_monitor_fact。

  • 支持 FortiOS 7.0.1。

  • 支持 Fortios 7.0。

  • 支持日志 API。

  • 在所有基于 configurationAPI 的模块中支持 check_mode

  • 支持为事实收集模块 fortios_configuration_factfortios_monitor_fact 进行过滤。

  • 支持对具有成员列表的对象进行成员操作(删除/添加额外成员)。

  • 支持在 firewall_central_snat_map 中移动策略。

  • 支持 fortios_monitor_factfortios_log_fact 中的选择器功能。

  • 统一监控 API 的模式。

gluster.gluster

hetzner.hcloud

  • 引入放置组

kubernetes.core

netapp.cloudmanager

  • 将阶段环境添加到 cloudmanager 中的所有模块

netbox.netbox

  • packages 现在是必需的 Python 包,并通过 Ansible 2.10+ 安装。

openvswitch.openvswitch

  • 我们错误地将存储库标记为 2.0.0,由于它不是预期的并且无法恢复,因此我们发布了 2.0.1 以让社区了解主要版本的更新。

ovirt.ovirt

已删除的功能

Ansible-core

  • 内置的模块实用程序 ansible.module_utils.common.removed 之前已弃用,现已删除。

  • 连接,已删除已移动到 become 插件的密码检查存根。

  • 任务,内联参数自动强制转换为变量已被删除。

ansible.windows

  • win_reboot - 已删除 shutdown_timeoutshutdown_timeout_sec,它们自 Ansible 2.5 以来就没有执行过任何操作。

community.crypto

community.docker

community.general

community.hashi_vault

已弃用的功能

Ansible-core

  • ansible-test - --docker-no-pull 选项已弃用,并且无效。

  • ansible-test - --no-pip-check 选项已弃用,并且无效。

  • include 动作已弃用,请改用 include_tasks、import_tasks 和 import_playbook。

  • module_utils 中的 FileLock 计划移除,由于其不可靠性,它不再使用。

amazon.aws

ansible.netcommon

ansible.windows

  • win_reboot - 可以使用 ignore_errors: True 忽略无法访问的主机,此功能将在将来的版本中移除。请改用 ignore_unreachable: True 来忽略无法访问的主机。 - https://github.com/ansible-collections/ansible.windows/issues/62

  • win_updates - 已弃用每个过滤更新的 filtered_reason 返回值,请改用 filtered_reasons。这样做是为了显示更新被过滤的所有原因,而不仅仅是第一个原因。

  • win_updates - 已弃用 use_scheduled_task 选项,因为它不再使用。

  • win_updates - 已弃用 whitelistblacklist 选项,并将其分别替换为 accept_listreject_list,以符合 Ansible 在此类选项中使用的新的标准。

arista.eos

  • 删除针对 ansible-test 集成作业的提供程序测试。这将帮助我们为迁移到 network-ee 集成测试做好准备。

cisco.ios

  • 已弃用 ios_bgp,并将其替换为 ios_bgp_global 和 ios_bgp_address_family。

  • 已弃用 ios_ntp 模块。

  • 删除针对 ansible-test 集成作业的提供程序测试。这将帮助我们为迁移到 network-ee 集成测试做好准备。

cisco.iosxr

  • iosxr_logging 模块已被弃用,并将其替换为新的 iosxr_logging_global 资源模块,并将在“2023-08-01”后的版本中移除。

cisco.nxos

  • 已弃用 nxos_ntpnxos_ntp_optionsnxos_ntp_auth 模块。

  • nxos_logging 模块已被弃用,并将其替换为新的 nxos_logging_global 资源模块,并将在“2023-08-01”后的版本中移除。

community.aws

community.azure

community.crypto

community.dns

community.docker

  • docker_* 模块和插件(docker_swarm 连接插件和 docker_compose 以及 docker_stack*` modules - the current default ``localhost 除外) - tls_hostname 的当前默认值 localhost 已弃用。在 community.docker 2.0.0 版本中,它将从 docker_host 计算得到 (https://github.com/ansible-collections/community.docker/pull/134).

  • docker_container - 新的 command_handling 的默认值 compatibility 已弃用,将在 community.docker 3.0.0 版本中更改为 correct。如果行为将发生变化,该模块将发出弃用警告。请注意,ansible-core 将仅发出一次弃用警告,因此如果它在早期任务中显示,则可能有更多任务也会出现此警告,但它不会显示 (https://github.com/ansible-collections/community.docker/pull/186).

  • docker_container - 在 published_ports 中使用特殊值 all 已被弃用。请改用 publish_all_ports=true (https://github.com/ansible-collections/community.docker/pull/210).

community.general

community.grafana

  • grafana_dashboard 查找 - 不再推荐提供 API 密钥的混淆版本。

community.hashi_vault

community.kubernetes

community.vmware

inspur.sm

  • add_ad_group - 此功能将在 inspur.sm.add_ad_group 3.0.0 中移除。已替换为 inspur.sm.ad_group。

  • add_ldap_group - 此功能将在 inspur.sm.add_ldap_group 3.0.0 中移除。已替换为 inspur.sm.ldap_group。

  • add_user - 此功能将在 inspur.sm.add_user 3.0.0 中移除。已替换为 inspur.sm.user。

  • add_user_group - 此功能将在 inspur.sm.add_user_group 3.0.0 中移除。已替换为 inspur.sm.user_group。

  • del_ad_group - 此功能将在 inspur.sm.del_ad_group 3.0.0 中移除。已替换为 inspur.sm.ad_group。

  • del_ldap_group - 此功能将在 inspur.sm.del_ldap_group 3.0.0 中移除。已替换为 inspur.sm.ldap_group。

  • del_user - 此功能将在 inspur.sm.del_user 3.0.0 中移除。已替换为 inspur.sm.user。

  • del_user_group - 此功能将在 inspur.sm.del_user_group 3.0.0 中移除。已替换为 inspur.sm.user_group。

  • edit_ad_group - 此功能将在 inspur.sm.edit_ad_group 3.0.0 中移除。已替换为 inspur.sm.ad_group。

  • edit_ldap_group - 此功能将在 inspur.sm.edit_ldap_group 3.0.0 中移除。已替换为 inspur.sm.ldap_group。

  • edit_user - 此功能将在 inspur.sm.edit_user 3.0.0 中移除。已替换为 inspur.sm.user。

  • edit_user_group - 此功能将在 inspur.sm.edit_user_group 3.0.0 中移除。已替换为 inspur.sm.user_group。

junipernetworks.junos

  • 已从 ospfv2 资源模块中弃用 router_id。

  • 已从 ospfv3 资源模块中弃用 router_id。

  • junos_logging 模块已被弃用,取而代之的是新的 junos_logging_global 资源模块,并将从 “2023-08-01” 之后的版本中移除。

vyos.vyos

  • vyos_logging 模块已被弃用,取而代之的是新的 vyos_logging_global 资源模块,并将从 “2023-08-01” 之后的版本中移除。