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
的默认值已更改为 auto
。INTERPRETER_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 模块(如果可用),除非指定了executable
或virtualenv
。
已删除的模块
以下模块不再存在
没有重大更改
弃用通知
没有重大更改
值得注意的模块更改
没有重大更改
插件
Jinja2 < 2.10 的
unique
过滤器区分大小写,如果case_sensitive=False
而不是case_sensitive=True
时,现在会一致地引发错误。集合论过滤器(
intersect
、difference
、symmetric_difference
和union
)现在区分大小写。显式地使用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
对 Ansible 2.9 和 ansible-base 2.10 的支持已弃用,并将在下个主要版本(community.docker 3.0.0)中删除。一些模块可能在之后仍然可以使用这些版本,但我们不再保留支持它们所需的兼容性代码 (https://github.com/ansible-collections/community.docker/pull/361)。
对执行环境的 docker-compose 依赖项已弃用,并将从 community.docker 3.0.0 中删除。 Python docker-compose 库 未维护,可能会导致依赖项问题。您可以在需要时手动将其安装在执行环境中 (https://github.com/ansible-collections/community.docker/pull/373)。
各种模块 -
tls_hostname
的默认值,该值原本应该在 community.docker 2.0.0 中删除,现在将在 3.0.0 版本中删除 (https://github.com/ansible-collections/community.docker/pull/362)。docker_stack - 原本应该在 community.docker 2.0.0 中删除的返回值
out
和err
现在将在 3.0.0 版本中删除 (https://github.com/ansible-collections/community.docker/pull/362)。
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.9
和ansible-base 2.10
。虽然我们不会采取积极措施阻止使用,并且目前没有计划向模块引入不兼容的代码,但我们将停止针对Ansible 2.9
和ansible-base 2.10
进行测试。这两个版本很快就会停止支持,如果您仍在使用它们,则应尽快考虑升级到最新 Ansible / ansible-core 2.11 或 更高版本
(https://github.com/ansible-collections/community.mysql/pull/343)。
community.postgresql
community.postgresql 集合不再支持
Ansible 2.9
和ansible-base 2.10
。虽然我们不会采取积极措施阻止使用,并且目前没有计划向模块引入不兼容的代码,但我们将停止针对Ansible 2.9
和ansible-base 2.10
进行测试。这两个版本很快就会停止支持,如果您仍在使用它们,则应尽快考虑升级到最新 Ansible / ansible-core 2.11 或 更高版本
(https://github.com/ansible-collections/community.postgresql/pull/245)。
已弃用功能
community.hashi_vault
token_validate 选项 - 共享身份验证选项
token_validate
将在 community.hashi_vault 4.0.0 版本中将其默认值从True
更改为False
。vault_login
查找和模块将保留True
的默认值 (https://github.com/ansible-collections/community.hashi_vault/issues/248)。
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
postgresql_user -
priv
参数已弃用,将在community.postgresql 3.0.0
中删除。请使用postgresql_privs
模块授予/撤销权限 (https://github.com/ansible-collections/community.postgresql/issues/212)。
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
pacman -
update_cache
无法区分最新和过时的软件包列表,并且在两种情况下都会报告changed
(https://github.com/ansible-collections/community.general/pull/4318)。pacman - 在
executable
参数中指定的二进制文件必须支持--print-format
才能被此模块使用。特别是,AUR 助手yay
目前已知不支持它 (https://github.com/ansible-collections/community.general/pull/4312).
弃用功能
community.general
pacman - 从 community.general 5.0.0 开始,如果指定了
name
或upgrade
,update_cache
的changed
状态将不再被忽略。要保持旧行为,请在您的任务中添加类似register: result
和changed_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
邮件回调插件 - 未指定
sender
已被弃用,并将被 community.general 6.0.0 禁止 (https://github.com/ansible-collections/community.general/pull/4140).
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_login 和 lockout,目前无法将它们重置为零,除非通过 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
已删除“传统”集成测试设置;这不会影响最终用户,仅与贡献者相关 (https://github.com/ansible-collections/community.hashi_vault/pull/191).
弃用功能
cisco.nxos
弃用 nxos_snmp_community 模块。
弃用 nxos_snmp_contact 模块。
弃用 nxos_snmp_host 模块。
弃用 nxos_snmp_location 模块。
弃用 nxos_snmp_traps 模块。
弃用 nxos_snmp_user 模块。
community.general
module_helper 模块实用程序 - 弃用属性
ModuleHelper.VarDict
(https://github.com/ansible-collections/community.general/pull/3801).
community.hashi_vault
对 Ansible 2.9 和 ansible-base 2.10 的支持已弃用,并将在下个主要版本(community.hashi_vault 3.0.0)中删除,即明年春季 (https://github.com/ansible-community/community-topics/issues/50, https://github.com/ansible-collections/community.hashi_vault/issues/189).
aws_iam_login 身份验证方法 -
aws_iam_login
方法已重命名为aws_iam
。旧名称将在集合版本3.0.0
中删除。在此之前,这两个名称都将有效,并且在使用旧名称时会显示警告 (https://github.com/ansible-collections/community.hashi_vault/pull/193).
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”测试插件的依赖项。 受影响的测试插件包括
aws
、azure
、cs
、hcloud
、nios
、opennebula
、openshift
和vcenter
。 集合应该使用支持的集成测试依赖项文件之一,例如tests/integration/requirements.txt
文件。ansible-test - 使用
ansible-test shell
命令不再提供 HTTP 测试器。 只有integration
和windows-integration
命令提供 HTTP 测试器。ansible-test -
--disable-httptester
选项不再可用。 HTTP 测试器对于指定它的测试不再是可选的。ansible-test -
--httptester
选项不再可用。 要覆盖用于 HTTP 测试器测试的容器,请改为设置ANSIBLE_HTTP_TEST_CONTAINER
环境变量。ansible-test -
modules
和module_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
ec2_instance - 实例等待状态行为已更改。 如果剧本需要在启动新实例时等待实例监控状态变为
OK
的旧行为,则该操作需要指定state: started
(https://github.com/ansible-collections/amazon.aws/pull/481).ec2_snapshot - 对无限期等待的支持已被删除,新的默认值为 10 分钟 (https://github.com/ansible-collections/amazon.aws/pull/356).
ec2_vol_info - 返回的
attachment_set
现在是磁盘上具有多附件支持的附件列表。 (https://github.com/ansible-collections/amazon.aws/pull/362).ec2_vpc_dhcp_option - 该模块已重构为使用 boto3。 该模块返回的键和值类型现在一致,这与之前的行为不同。 已添加
purge_tags
选项,其默认值为True
。 (https://github.com/ansible-collections/amazon.aws/pull/252)ec2_vpc_dhcp_option_info - 现在在返回值中保留标签键的大小写。 (https://github.com/ansible-collections/amazon.aws/pull/252)
module_utils.core - 已从区域参数中删除 boto3 开关 (https://github.com/ansible-collections/amazon.aws/pull/287).
module_utils/compat - 删除了 ipaddress 的供应商副本 (https://github.com/ansible-collections/amazon.aws/pull/461).
module_utils/core - 更新了
scrub_none_parameters
函数,以便descend_into_lists
默认设置为True
(https://github.com/ansible-collections/amazon.aws/pull/297).
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
调整
dirName
文本解析和文本转换代码,使其符合 RFC 4514 的第 2 和 3 节。这类似于 cryptography 的处理方式 (https://github.com/ansible-collections/community.crypto/pull/274).acme 模块实用程序 - 删除兼容性代码 (https://github.com/ansible-collections/community.crypto/pull/290).
acme_* 模块 - 删除 Python 库
ipaddress
的打包副本。如果您使用的是 Python 2.x,请确保安装该库 (https://github.com/ansible-collections/community.crypto/pull/287).compatibility 模块实用程序 - 删除 Python 库
ipaddress
的打包副本 (https://github.com/ansible-collections/community.crypto/pull/287).crypto 模块实用程序 - 删除兼容性代码 (https://github.com/ansible-collections/community.crypto/pull/290).
get_certificate、openssl_csr_info、x509_certificate_info - 依赖于使用的
cryptography
版本,模块可能不会返回证书或 CSR 中包含的扩展的 ASN.1 值,而是返回其重新编码的版本。这通常应该与源文件中包含的值相同,除非该值格式错误。对于 C(cryptography) 不处理的扩展,源文件中包含的值始终保持不变 (https://github.com/ansible-collections/community.crypto/pull/318).module_utils - 删除 openssl_pkcs12 模块不需要的各种 PyOpenSSL 支持函数和默认后端值 (https://github.com/ansible-collections/community.crypto/pull/273).
openssl_csr、openssl_csr_pipe、x509_crl -
subject
或issuer
字段不再忽略空值,而是遇到空值时失败 (https://github.com/ansible-collections/community.crypto/pull/316).openssl_privatekey_info - 默认情况下,不会运行一致性检查;需要通过传递
check_consistency=true
来显式请求它们 (https://github.com/ansible-collections/community.crypto/pull/309).x509_crl - 对于幂等性检查,
issuer
顺序将被忽略。如果顺序很重要,请使用新的issuer_ordered
选项 (https://github.com/ansible-collections/community.crypto/pull/316).
community.dns
所有处理 DNS 记录的 Hetzner 模块和插件现在默认情况下使用未加引号的 TXT 值。可以通过设置
txt_transformation=api
来获取旧的行为 (https://github.com/ansible-collections/community.dns/issues/48,https://github.com/ansible-collections/community.dns/pull/57,https://github.com/ansible-collections/community.dns/pull/60).Hosttech API 创建 - 现在需要
ModuleOptionProvider
对象,而不是AnsibleModule
对象。或者,可以传递 Ansible 插件实例 (https://github.com/ansible-collections/community.dns/pull/37).hetzner_dns_record_info 和 hosttech_dns_record_info 模块分别改名为 hetzner_dns_record_set_info 和 hosttech_dns_record_set_info (https://github.com/ansible-collections/community.dns/pull/54).
hosttech_dns_record 模块已改名为 hosttech_dns_record_set (https://github.com/ansible-collections/community.dns/pull/31).
内部批量记录更新助手 (
bulk_apply_changes
) 现在还返回已删除、创建或更新的记录 (https://github.com/ansible-collections/community.dns/pull/63).内部记录 API 不再允许显式管理注释 (https://github.com/ansible-collections/community.dns/pull/63).
使用内部模块 API 时,现在必须传递区域 ID 类型和提供程序信息对象 (https://github.com/ansible-collections/community.dns/pull/27).
hetzner_dns_record* 模块 - 实现对默认 TTL 的正确处理。在这种情况下,现在接受并返回
none
值 (https://github.com/ansible-collections/community.dns/pull/52,https://github.com/ansible-collections/community.dns/issues/50).hetzner_dns_record、hetzner_dns_record_set、hetzner_dns_record_sets - 默认 TTL 现在为 300,不再是 3600,这与 Web 控制台中的默认值相同 (https://github.com/ansible-collections/community.dns/pull/43).
hosttech_* 模块实用程序 - 完全重写和重构,以支持新的 JSON API 并允许重用与提供程序无关的模块逻辑 (https://github.com/ansible-collections/community.dns/pull/4).
hosttech_dns_record_set -
overwrite
选项已替换为新的on_existing
选项。指定overwrite=true
等效于on_existing=replace
(新的默认值)。指定overwrite=false
与state=present
等效于on_existing=keep_and_fail
,指定overwrite=false
与state=absent
等效于on_existing=keep
(https://github.com/ansible-collections/community.dns/pull/31).
community.docker
docker_compose - 修复了
timeout
的默认行为,以便如果在 compose 文件中定义了 timeout`,则在未指定 timeout` 时将使用它 (https://github.com/ansible-collections/community.docker/pull/163).
community.general
archive - 为
destination
文件中的文件名和内容更改添加幂等性检查 (https://github.com/ansible-collections/community.general/pull/3075).lxd inventory plugin - 与 Python 2 一起使用时,插件现在需要安装
ipaddress
来自 pypi (https://github.com/ansible-collections/community.general/pull/2441).scaleway_security_group_rule - 与 Python 2 一起使用时,模块现在需要安装
ipaddress
来自 pypi (https://github.com/ansible-collections/community.general/pull/2441).
community.hashi_vault
连接选项 -
url
选项(Vault 地址)不再有默认值,因此必须提供值 (https://github.com/ansible-collections/community.hashi_vault/issues/83).
community.okd
放弃 Python 2 支持 (https://github.com/openshift/community.okd/pull/93).
community.routeros
api - 由于编程错误,模块在发生错误时从未失败。现在已修复此问题。如果您依赖于模块在幂等命令的情况下不失败(导致像
failure: already have such address
这样的错误),则需要调整您的角色/剧本。我们建议使用failed_when
来接受特定情况下发生的失败,例如failed_when: "'failure: already have ' in result.msg[0]"
(https://github.com/ansible-collections/community.routeros/pull/39).api - 拆分命令不再使用按空格进行简单的拆分,而是使用更兼容 RouterOS CLI 的拆分算法 (https://github.com/ansible-collections/community.routeros/pull/45).
command - 模块现在始终指示发生了更改。如果这是不正确的,请使用
changed_when
来确定任务的正确更改状态 (https://github.com/ansible-collections/community.routeros/pull/50).
community.zabbix
所有角色现在通过其完全限定的集合名称引用其他角色和模块,这使得 Ansible 2.10 成为角色的最低支持版本(参见 问题 477)。
kubernetes.core
放弃 Python 2 支持 (https://github.com/ansible-collections/kubernetes.core/pull/86).
helm_plugin - 删除未使用的
release_namespace
参数 (https://github.com/ansible-collections/kubernetes.core/pull/85).helm_plugin_info - 删除未使用的
release_namespace
参数 (https://github.com/ansible-collections/kubernetes.core/pull/85).k8s_cluster_info - 返回 api 作为列表,以避免在多个版本的情况下被覆盖 (https://github.com/ansible-collections/kubernetes.core/pull/41).
k8s_facts - 从 k8s_facts 到 k8s_info 删除了已弃用的别名 (https://github.com/ansible-collections/kubernetes.core/pull/125).
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 下得到支持。以前需要一个指向
podman
的docker
符号链接。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 - 健全性测试现在分为两类:控制器和目标。除
import
和compile
之外的所有测试都是控制器测试。控制器测试始终使用与运行ansible-test
相同的 Python 版本运行。目标测试使用用户指定的 Python 版本或所有可用的 Python 版本。ansible-test - 健全性测试现在使用完全固定的要求,这些要求彼此独立,也与其他测试类型独立。
ansible-test - 使用
centos6
和default
测试容器运行的测试现在使用 PyPI 代理容器在使用 Python 2.6 时访问 PyPI。这使得在 Python 2.6 下运行的测试能够继续正常运行,即使 PyPI 停止支持不支持 SNI 的客户端。ansible-test -
future-import-boilerplate
和metaclass-boilerplate
健全性测试仅限于远程代码。此外,对于声明不支持 Python 2.x 的集合,它们将被跳过。ansible-test -
import
和compile
健全性测试将远程 Python 版本检查限制在远程代码。ansible-test - 针对控制器专用代码的单元测试现在需要 Python 3.8 或更高版本。
ansible-test - 与版本无关的健全性测试现在需要 Python 3.8 或更高版本。
junit 回调 - 现在不再需要
junit_xml
和ordereddict
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.0
和boto3<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.aws 集合 - community.aws 集合已停止支持
botocore<1.18.0
和boto3<1.15.0
(https://github.com/ansible-collections/community.aws/pull/711)。大多数模块将继续与旧版本的 AWS SDK 一起使用,但是不能保证与旧版本的 SDK 的兼容性,并且不会对其进行测试。使用旧版本的 SDK 时,Ansible 将发出警告 (https://github.com/ansible-collections/amazon.aws/pull/442)。
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
hosttech_* 模块 - 支持新的 JSON API 位于 https://api.ns1.hosttech.eu/api/documentation/ (https://github.com/ansible-collections/community.dns/pull/4).
community.general
bitbucket_* 模块 -
client_id
不再被标记为no_log=true
。 如果你依赖于它的值不会出现在日志和输出中,请将整个任务标记为no_log: true
(https://github.com/ansible-collections/community.general/pull/2045).
community.kubernetes
将所有内容从
community.kubernetes
重定向到kubernetes.core
(https://github.com/ansible-collections/community.kubernetes/pull/425).
community.okd
更新为使用 kubernetes.core 2.0 (https://github.com/openshift/community.okd/pull/93).
community.postgresql
postgresql_query -
as_single_query
选项的默认值将在 community.postgresql 2.0.0 中更改为yes
(https://github.com/ansible-collections/community.postgresql/issues/85).
community.vmware
vmware_object_custom_attributes_info - 添加了一个新模块来收集对象的自定义属性 (https://github.com/ansible-collections/community.vmware/pull/851).
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_fact
和fortios_monitor_fact
进行过滤。支持对具有成员列表的对象进行成员操作(删除/添加额外成员)。
支持在
firewall_central_snat_map
中移动策略。支持
fortios_monitor_fact
和fortios_log_fact
中的选择器功能。统一监控 API 的模式。
gluster.gluster
在启动 gluster 卷之前启用 client.ssl,server.ssl (https://github.com/gluster/gluster-ansible-collection/pull/19)
hetzner.hcloud
引入放置组
kubernetes.core
k8s - 不推荐使用 merge_type=json。 JSON patch 功能从未起作用过 (https://github.com/ansible-collections/kubernetes.core/pull/99).
k8s_json_patch - 将 JSON patch 功能拆分为单独的模块 (https://github.com/ansible-collections/kubernetes.core/pull/99).
使用官方的 kubernetes 客户端替换 openshift 客户端 (https://github.com/ansible-collections/kubernetes.core/issues/34).
netapp.cloudmanager
将阶段环境添加到 cloudmanager 中的所有模块
netbox.netbox
packages 现在是必需的 Python 包,并通过 Ansible 2.10+ 安装。
openvswitch.openvswitch
我们错误地将存储库标记为 2.0.0,由于它不是预期的并且无法恢复,因此我们发布了 2.0.1 以让社区了解主要版本的更新。
ovirt.ovirt
remove_stale_lun - 添加了用于删除陈旧 LUN 的角色 (https://bugzilla.redhat.com/1966873).
已删除的功能
Ansible-core
内置的模块实用程序
ansible.module_utils.common.removed
之前已弃用,现已删除。连接,已删除已移动到 become 插件的密码检查存根。
任务,内联参数自动强制转换为变量已被删除。
ansible.windows
win_reboot - 已删除
shutdown_timeout
和shutdown_timeout_sec
,它们自 Ansible 2.5 以来就没有执行过任何操作。
community.crypto
acme_* 模块 - 现在
acme_directory
选项是必需的 (https://github.com/ansible-collections/community.crypto/pull/290).acme_* 模块 - 现在
acme_version
选项是必需的 (https://github.com/ansible-collections/community.crypto/pull/290).acme_account_facts - 已删除弃用的重定向。 请改用 community.crypto.acme_account_info (https://github.com/ansible-collections/community.crypto/pull/290).
acme_account_info -
retrieve_orders=url_list
不再返回返回值orders
。 请改用返回值order_uris
(https://github.com/ansible-collections/community.crypto/pull/290).crypto.info 模块实用程序 - 已删除弃用的重定向。 请改用
crypto.pem
(https://github.com/ansible-collections/community.crypto/pull/290).get_certificate - 已删除
pyopenssl
后端 (https://github.com/ansible-collections/community.crypto/pull/273).openssl_certificate - 已删除弃用的重定向。 请改用 community.crypto.x509_certificate (https://github.com/ansible-collections/community.crypto/pull/290).
openssl_certificate_info - 已删除弃用的重定向。 请改用 community.crypto.x509_certificate_info (https://github.com/ansible-collections/community.crypto/pull/290).
openssl_csr - 已删除
pyopenssl
后端 (https://github.com/ansible-collections/community.crypto/pull/273).openssl_csr 和 openssl_csr_pipe -
version
现在只接受(默认)值 1 (https://github.com/ansible-collections/community.crypto/pull/290).openssl_csr_info - 已删除
pyopenssl
后端 (https://github.com/ansible-collections/community.crypto/pull/273).openssl_csr_pipe - 已删除
pyopenssl
后端 (https://github.com/ansible-collections/community.crypto/pull/273).openssl_privatekey - 已删除
pyopenssl
后端 (https://github.com/ansible-collections/community.crypto/pull/273).openssl_privatekey_info - 已删除
pyopenssl
后端 (https://github.com/ansible-collections/community.crypto/pull/273).openssl_privatekey_pipe - 已删除
pyopenssl
后端 (https://github.com/ansible-collections/community.crypto/pull/273).openssl_publickey - 已删除
pyopenssl
后端 (https://github.com/ansible-collections/community.crypto/pull/273).openssl_publickey_info - 已删除
pyopenssl
后端 (https://github.com/ansible-collections/community.crypto/pull/273).openssl_signature - 已删除
pyopenssl
后端 (https://github.com/ansible-collections/community.crypto/pull/273).openssl_signature_info - 已移除
pyopenssl
后端 (https://github.com/ansible-collections/community.crypto/pull/273).x509_certificate - 已移除
assertonly
提供程序 (https://github.com/ansible-collections/community.crypto/pull/289).x509_certificate - 已移除
pyopenssl
后端 (https://github.com/ansible-collections/community.crypto/pull/273).x509_certificate_info - 已移除
pyopenssl
后端 (https://github.com/ansible-collections/community.crypto/pull/273).x509_certificate_pipe - 已移除
pyopenssl
后端 (https://github.com/ansible-collections/community.crypto/pull/273).
community.docker
docker_container -
container_default_behavior
的默认值已更改为no_defaults
(https://github.com/ansible-collections/community.docker/pull/210).docker_container -
network_mode
的默认值现在是networks
中指定的第一网络的名称,如果指定了该网络并且networks_cli_compatible=true
(https://github.com/ansible-collections/community.docker/pull/210).docker_container - 特殊值
all
不再可以在published_ports
中与其他值一起使用。请改用publish_all_ports=true
(https://github.com/ansible-collections/community.docker/pull/210).docker_login - 已移除
email
选项 (https://github.com/ansible-collections/community.docker/pull/210).
community.general
community.general 中包含的所有清单和保管库脚本已移至 contrib-scripts GitHub 存储库 (https://github.com/ansible-collections/community.general/pull/2696).
ModuleHelper 模块实用程序 - 移除无法确定参数值的回退 (https://github.com/ansible-collections/community.general/pull/3461).
已移除不推荐使用的 netapp 模块实用程序和文档片段 (https://github.com/ansible-collections/community.general/pull/3197).
nios、nios_next_ip、nios_next_network 查找插件,nios 文档片段以及 nios_host_record、nios_ptr_record、nios_mx_record、nios_fixed_address、nios_zone、nios_member、nios_a_record、nios_aaaa_record、nios_network、nios_dns_view、nios_txt_record、nios_naptr_record、nios_srv_record、nios_cname_record、nios_nsgroup 和 nios_network_view 模块已从 community.general 4.0.0 中移除,并已替换为指向 infoblox.nios_modules 集合的重定向。请安装
infoblox.nios_modules
集合以继续使用这些插件和模块,并更新您的 FQCN (https://github.com/ansible-collections/community.general/pull/3592).已移除
ipaddress
的供应商副本。请使用 Python 3 标准库中的ipaddress
,或 来自 pypi 的ipaddress
。 (https://github.com/ansible-collections/community.general/pull/2441).cpanm - 已移除不推荐使用的
system_lib
选项。请改用 Ansible 的权限提升机制;该选项基本上使用sudo
(https://github.com/ansible-collections/community.general/pull/3461).grove - 已移除
message_content
选项的不推荐使用的别名message
(https://github.com/ansible-collections/community.general/pull/3461).proxmox -
proxmox_default_behavior
的默认值已更改为no_defaults
(https://github.com/ansible-collections/community.general/pull/3461).proxmox_kvm -
proxmox_default_behavior
的默认值已更改为no_defaults
(https://github.com/ansible-collections/community.general/pull/3461).runit - 已移除不推荐使用的
dist
选项,该选项未被模块使用 (https://github.com/ansible-collections/community.general/pull/3461).telegram - 已移除不推荐使用的
msg
、msg_format
和chat_id
选项 (https://github.com/ansible-collections/community.general/pull/3461).xfconf -
disable_facts
的默认值已更改为true
,并且不再允许false
值。请改用注册模块结果 (https://github.com/ansible-collections/community.general/pull/3461).
community.hashi_vault
已放弃对 Python 2 和 Python 3.5 的支持 (https://github.com/ansible-collections/community.hashi_vault/issues/81).
已移除对以下不推荐使用的环境变量的支持:
VAULT_AUTH_METHOD
、VAULT_TOKEN_PATH
、VAULT_TOKEN_FILE
、VAULT_ROLE_ID
、VAULT_SECRET_ID
(https://github.com/ansible-collections/community.hashi_vault/pull/173).
已弃用的功能
Ansible-core
ansible-test -
--docker-no-pull
选项已弃用,并且无效。ansible-test -
--no-pip-check
选项已弃用,并且无效。include 动作已弃用,请改用 include_tasks、import_tasks 和 import_playbook。
module_utils 中的 FileLock 计划移除,由于其不可靠性,它不再使用。
amazon.aws
ec2 - 基于 boto 的
ec2
模块已弃用,请改用基于 boto3 的ec2_instance
模块。ec2
模块将在 4.0.0 版本中移除 (https://github.com/ansible-collections/amazon.aws/pull/424).ec2_classic_lb -
ec2_elb
事实设置已弃用,将在该集合的 4.0.0 版本中移除。该模块现在返回elb
,可以使用 register 关键字访问它 (https://github.com/ansible-collections/amazon.aws/pull/552).ec2_vpc_dhcp_option -
new_config
返回键已弃用,将在将来的版本中移除。它将被dhcp_config
替换。同时返回这两个值。 (https://github.com/ansible-collections/amazon.aws/pull/252)
ansible.netcommon
network_cli - paramiko_ssh 设置
look_for_keys
将根据传递给 network_cli 的password
和private_key_file
选项的值自动设置。现在可以显式设置此选项,并且将在 2024-01-01 之后移除look_for_keys
的自动设置 (https://github.com/ansible-collections/ansible.netcommon/pull/271).
ansible.windows
win_reboot - 可以使用
ignore_errors: True
忽略无法访问的主机,此功能将在将来的版本中移除。请改用ignore_unreachable: True
来忽略无法访问的主机。 - https://github.com/ansible-collections/ansible.windows/issues/62win_updates - 已弃用每个过滤更新的
filtered_reason
返回值,请改用filtered_reasons
。这样做是为了显示更新被过滤的所有原因,而不仅仅是第一个原因。win_updates - 已弃用
use_scheduled_task
选项,因为它不再使用。win_updates - 已弃用
whitelist
和blacklist
选项,并将其分别替换为accept_list
和reject_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_ntp、nxos_ntp_options、nxos_ntp_auth 模块。
nxos_logging 模块已被弃用,并将其替换为新的 nxos_logging_global 资源模块,并将在“2023-08-01”后的版本中移除。
community.aws
dynamodb_table - DynamoDB 不支持在创建
ALL
索引时指定非键属性。对于此类索引,传递includes
目前会被忽略,但将在 3.0.0 版本之后导致失败 (https://github.com/ansible-collections/community.aws/pull/726).dynamodb_table - DynamoDB 不支持更新表上的主索引。尝试进行此类更改目前会被忽略,但将在 3.0.0 版本之后导致失败 (https://github.com/ansible-collections/community.aws/pull/726).
ec2_elb -
ec2_elb
模块已被删除,并重定向到功能相同的elb_instance
模块。原始的ec2_elb
名称现已弃用,并将在 3.0.0 版本中删除 (https://github.com/ansible-collections/community.aws/pull/586).ec2_elb_info - 基于 boto 的
ec2_elb_info
模块已被弃用,并将其替换为基于 boto3 的elb_classic_lb_info
模块。ec2_elb_info
模块将在 3.0.0 版本中删除 (https://github.com/ansible-collections/community.aws/pull/586).elb_classic_lb -
elb_classic_lb
模块已被删除,并重定向到功能相同的amazon.aws.ec2_elb_lb
模块。elb_instance -
ec2_elb
事实的设置已被弃用,并将在集合的 4.0.0 版本中删除。有关使用 register 关键字的替代示例,请参阅模块文档 (https://github.com/ansible-collections/community.aws/pull/773).iam - 基于 boto 的
iam
模块已被弃用,并将其替换为基于 boto3 的iam_user
、iam_group
和iam_role
模块。iam
模块将在 3.0.0 版本中删除 (https://github.com/ansible-collections/community.aws/pull/664).iam_cert - iam_cert 模块已重命名为 iam_server_certificate,以与 companion iam_server_certificate_info 模块保持一致。模块的使用方式没有改变。iam_cert 别名将在 4.0.0 版本中删除 (https://github.com/ansible-collections/community.aws/pull/728).
iam_server_certificate - 向
cert
、chain_cert
和key
参数传递文件名已被弃用。建议使用查找插件来读取文件,请参阅文档以获取示例 (https://github.com/ansible-collections/community.aws/pull/735).iam_server_certificate -
dup_ok
参数的默认值当前为false
,在 4.0.0 版本中将更新为true
。要保留当前行为,请明确将dup_ok
参数设置为false
(https://github.com/ansible-collections/community.aws/pull/737).rds - 基于 boto 的
rds
模块已被弃用,并将其替换为基于 boto3 的rds_instance
模块。rds
模块将在 3.0.0 版本中删除 (https://github.com/ansible-collections/community.aws/pull/663).rds_snapshot - rds_snapshot 模块已重命名为 rds_instance_snapshot。模块的使用方式没有改变。rds_snapshot 别名将在 4.0.0 版本中删除 (https://github.com/ansible-collections/community.aws/pull/783).
script_inventory_ec2 - ec2.py 库存脚本正在迁移到新的存储库。现在可以从 https://github.com/ansible-community/contrib-scripts/blob/main/inventory/ec2.py 下载该脚本,并将从本集合的 3.0 版本中移除。建议从脚本迁移到 amazon.aws.ec2 库存插件。
community.azure
所有 community.azure.azure_rm_<resource>_facts 模块均已弃用。请改用 azure.azcollection.azure_rm_<resource>_info 模块 (https://github.com/ansible-collections/community.azure/pull/24).
所有 community.azure.azure_rm_<resource>_info 模块均已弃用。请改用 azure.azcollection.azure_rm_<resource>_info 模块 (https://github.com/ansible-collections/community.azure/pull/24).
community.azure.azure_rm_managed_disk 和 community.azure.azure_rm_manageddisk 已弃用。请改用 azure.azcollection.azure_rm_manageddisk (https://github.com/ansible-collections/community.azure/pull/24).
community.azure.azure_rm_virtualmachine_extension 和 community.azure.azure_rm_virtualmachineextension 已弃用。请改用 azure.azcollection.azure_rm_virtualmachineextension (https://github.com/ansible-collections/community.azure/pull/24).
community.azure.azure_rm_virtualmachine_scaleset 和 community.azure.azure_rm_virtualmachinescaleset 已弃用。请改用 azure.azcollection.azure_rm_virtualmachinescaleset (https://github.com/ansible-collections/community.azure/pull/24).
community.crypto
acme_* 模块 - ACME 版本 1 现已弃用,对它的支持将在 community.crypto 2.0.0 版本中移除 (https://github.com/ansible-collections/community.crypto/pull/288).
community.dns
hosttech_dns_records 模块已重命名为 hosttech_dns_record_sets。旧名称将在 community.dns 3.0.0 版本中停止工作 (https://github.com/ansible-collections/community.dns/pull/31).
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
对 Ansible 2.9 和 ansible-base 2.10 的支持已被弃用,并将在下一个主要版本(community.general 5.0.0)的下一个春天中移除。虽然大多数内容可能仍然适用于 ansible-base 2.10,但我们将删除模块和操作插件的符号链接,这将使其无法再与 Ansible 2.9 一起使用。请将 community.general 4.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.general/pull/3723).
ali_instance_info - 已标记移除弃用参数
availability_zone
和instance_names
(https://github.com/ansible-collections/community.general/issues/2429).bitbucket_* 模块 -
username
选项已被弃用,取而代之的是workspace
,并将从 community.general 6.0.0 中移除 (https://github.com/ansible-collections/community.general/pull/2045).dnsimple - python-dnsimple < 2.0.0 已被弃用,对它的支持将在 community.general 5.0.0 中移除 (https://github.com/ansible-collections/community.general/pull/2946#discussion_r667624693).
gitlab_group_members - 将
gitlab_group
设置为name
或path
已被弃用。请使用full_path
代替 (https://github.com/ansible-collections/community.general/pull/3451).keycloak_authentication - 返回值
flow
现已弃用,并将从 community.general 6.0.0 中移除;请使用end_state
代替 (https://github.com/ansible-collections/community.general/pull/3280).keycloak_group - 返回值
group
现已弃用,并将从 community.general 6.0.0 中移除;请使用end_state
代替 (https://github.com/ansible-collections/community.general/pull/3280).linode - 参数
backupsenabled
已被弃用,并将从 community.general 5.0.0 中移除 (https://github.com/ansible-collections/community.general/pull/2410).lxd_container -
ignore_volatile_options
的当前默认值true
已被弃用,将在 community.general 6.0.0 中更改为false
(https://github.com/ansible-collections/community.general/pull/3429).serverless - 弃用参数
functions
,因为它在代码中未被使用 (https://github.com/ansible-collections/community.general/pull/2845).xfconf - 弃用
get
状态。应该使用新的模块xfconf_info
代替 (https://github.com/ansible-collections/community.general/pull/3049).
community.grafana
grafana_dashboard 查找 - 不再推荐提供 API 密钥的混淆版本。
community.hashi_vault
hashi_vault 集合 - 对 Python 2 的支持将在
community.hashi_vault
的2.0.0
版本中被移除 (https://github.com/ansible-collections/community.hashi_vault/issues/81).hashi_vault 集合 - 对 Python 3.5 的支持将在
community.hashi_vault
的2.0.0
版本中被移除 (https://github.com/ansible-collections/community.hashi_vault/issues/81).查找 hashi_vault -
ansible.cfg
文件中的[lookup_hashi_vault]
部分已被弃用,并将从集合版本3.0.0
中移除。相反,可以使用[hashi_vault_collection]
部分,这将应用于未来集合中的所有插件 (https://github.com/ansible-collections/community.hashi_vault/pull/144).
community.kubernetes
正在将
community.kubernetes
集合重命名为kubernetes.core
。集合中的所有内容已被弃用,并重定向到kubernetes.core
。如果您正在使用以community.kubernetes
开头的 FQCN,请将其更新为kubernetes.core
(https://github.com/ansible-collections/community.kubernetes/pull/439).
community.vmware
vmware_guest_vnc - Sphere 7.0 已移除内置 VNC 服务器 (https://docs.vmware.com/en/VMware-vSphere/7.0/rn/vsphere-esxi-vcenter-server-70-release-notes.html#productsupport).
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” 之后的版本中移除。