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
  • ActionBase 中的 _remote_checksum() 方法已弃用。 任何使用此方法的动作插件都应改为使用 _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

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 开始,如果指定了 nameupgrade,将不再忽略 update_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 中将 ‘pool’ 作为 server 键的值添加。

已弃用功能

cisco.ios

  • ios_acls - 已弃用片段属性,添加布尔值 alternate 作为 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) - 如果 destination_address 超过 255 个字符,该模块不会提供适当的错误消息。

  • ome_application_alerts_syslog - 问题 (215374) - 如果 destination_address 超过 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)。将在 Collection 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) - 如果 destination_address 超过 255 个字符,该模块不会提供适当的错误消息。

  • 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_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 模块

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

已删除的功能

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

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

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 - 不再自动安装“云”测试插件的依赖项。受影响的测试插件包括 awsazurecshcloudniosopennebulaopenshiftvcenter。集合应该改用支持的集成测试依赖项文件之一,例如 tests/integration/requirements.txt 文件。

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

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

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

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

  • 条件 - when 条件不再自动将字符串布尔值(如 "true""false")解析为实际的布尔值。任何非空字符串现在都将被视为 true。 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 发布了 4.23.X 及更高版本的 train,并随之替换和弃用了一些命令。此 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 - 所有使用容器的“云”插件现在可以与所有 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 宣布停止对低于 3.6 的 Python 的支持 (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。

  • 在所有基于 cofigurationAPI 的模块中支持 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 集成作业的提供程序进行的测试。这有助于我们为迁移到网络-ee 集成测试做好准备。

cisco.ios

  • 已弃用 ios_bgp,建议使用 ios_bgp_global 和 ios_bgp_address_family。

  • 已弃用 ios_ntp 模块。

  • 移除使用 ansible-test 集成作业的提供程序进行的测试。这有助于我们为迁移到网络-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

community.general

community.grafana

  • grafana_dashboard lookup - 不再首选提供 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”后的版本中删除。