Ansible 5 移植指南
Ansible 5 基于 Ansible-core 2.12。
我们建议您阅读此页面以及Ansible 5 变更日志,以了解您可能需要进行的更新。
Playbook
当调用任务并设置
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"
)解析为实际的布尔值。任何包含非空字符串的变量都被视为 true。以前可以通过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 模块(如果可用),除非指定了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 中。community.sap
中的内容将在 Ansible 7.0.0 中被替换为指向新集合的已弃用重定向,这些重定向最终将从 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)。
各种模块 - 本应在 community.docker 2.0.0 中删除的
tls_hostname
的默认值现在将在版本 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 - 弃用的 fragment 属性添加了布尔值 alternate 作为 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):如果 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_login 和 lockout,目前除了通过 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
已删除“旧版”集成测试设置;这不会影响最终用户,并且仅与贡献者相关(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
‘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 - 使用新组合选项在命令末尾以外的任何位置进行 Tab 补全都会提供不正确的结果。有关其他详细信息,请参阅 问题 351。
dellemc.openmanage
idrac_user - 问题(192043):模块可能会报错,显示消息
无法执行导入或导出操作,因为存在待处理的属性更改或正在进行配置作业
。请等待作业完成后再次运行该任务。ome_device_power_settings - 问题(212679):如果为参数
power_cap
提供的值不在支持的 0 到 32767 范围内,则 ome_device_power_settings 模块会报错,显示以下消息:无法完成请求,因为 PowerCap 不存在或不适用于资源 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 中的 action、模块和组名称必须是静态值。它们的值仍然可以是模板。
完全限定的 'ansible.legacy' 插件名称不会隐式包含在 action_groups 中。
module_defaults 中无法解析的组、action 插件和模块是错误。
ansible-test - 不再自动安装 “cloud” 测试插件的要求。受影响的测试插件是
aws
、azure
、cs
、hcloud
、nios
、opennebula
、openshift
和vcenter
。集合应改为使用支持的集成测试需求文件之一,例如tests/integration/requirements.txt
文件。ansible-test - HTTP Tester 不再通过
ansible-test shell
命令提供。只有integration
和windows-integration
命令提供 HTTP Tester。ansible-test - 不再提供
--disable-httptester
选项。对于指定 HTTP Tester 的测试,HTTP Tester 不再是可选的。ansible-test - 不再提供
--httptester
选项。要覆盖用于 HTTP Tester 测试的容器,请改为设置ANSIBLE_HTTP_TEST_CONTAINER
环境变量。ansible-test -
modules
和module_utils
的单元测试现在仅限于从ansible
模块导入ansible.module_utils
。conditionals -
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
ec2_instance - 实例等待状态的行为已更改。如果 playbook 要求在启动新实例时等待实例监控状态变为
OK
的旧行为,则 action 将需要指定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 - 已从 region 参数中删除 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 发布了 4.23.X 及更新版本,并随之替换和弃用了一些命令。此 PR 添加了对 4.23 及之后版本中语法更改的支持。未来,eos 模块将不支持 eos sw 版本 < 4.23。
community.aws
ec2_instance - 该模块已迁移到
amazon.aws
集合。使用此模块的完全限定集合名称的 playbook 应更新为使用amazon.aws.ec2_instance
。ec2_instance_info - 该模块已迁移到
amazon.aws
集合。使用此模块的完全限定集合名称的 playbook 应更新为使用amazon.aws.ec2_instance_info
。ec2_vpc_endpoint - 该模块已从
community.aws
集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用amazon.aws.ec2_vpc_endpoint
。ec2_vpc_endpoint_facts - 该模块已从
community.aws
集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用amazon.aws.ec2_vpc_endpoint_info
。ec2_vpc_endpoint_info - 该模块已从
community.aws
集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用amazon.aws.ec2_vpc_endpoint_info
。ec2_vpc_endpoint_service_info - 该模块已从
community.aws
集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用amazon.aws.ec2_vpc_endpoint_service_info
。ec2_vpc_igw - 该模块已从
community.aws
集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用amazon.aws.ec2_vpc_igw
。ec2_vpc_igw_facts - 该模块已从
community.aws
集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用amazon.aws.ec2_vpc_igw_info
。ec2_vpc_igw_info - 该模块已从
community.aws
集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用amazon.aws.ec2_vpc_igw_info
。ec2_vpc_nat_gateway - 该模块已从
community.aws
集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用amazon.aws.ec2_vpc_nat_gateway
。ec2_vpc_nat_gateway_facts - 该模块已从
community.aws
集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用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
的 vendor 版本。如果您使用的是 Python 2.x,请确保安装该库(https://github.com/ansible-collections/community.crypto/pull/287)。兼容性 module_utils - 删除了 Python 库
ipaddress
的 vendor 版本(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_* module_utils - 完全重写和重构,以支持新的 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 文件中定义了stop_grace_period
,则在未指定 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 插件 - 当与 Python 2 一起使用时,该插件现在需要安装 来自 pypi 的
ipaddress
(https://github.com/ansible-collections/community.general/pull/2441)。scaleway_security_group_rule - 当与 Python 2 一起使用时,该模块现在需要安装 来自 pypi 的
ipaddress
(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 - 将 apis 作为列表返回,以避免在多个版本的情况下被覆盖 (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_*
。必须更新 Playbook 和角色以匹配。
重大更改
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 - Sanity 测试始终在特定于每个测试要求的隔离 Python 虚拟环境中运行。环境会被缓存。
ansible-test - Sanity 测试现在分为两个类别,控制器和目标。除了
import
和compile
之外的所有测试都是控制器测试。控制器测试始终使用用于运行ansible-test
的相同 Python 版本运行。目标测试使用用户指定的 Python 版本或所有可用的 Python 版本。ansible-test - Sanity 测试现在使用完全固定的要求,这些要求彼此独立且与其他测试类型无关。
ansible-test - 使用
centos6
和default
测试容器运行的测试现在使用 PyPI 代理容器在 Python 2.6 时访问 PyPI。这允许在 Python 2.6 下运行的测试继续正常运行,即使 PyPI 正在停止对不支持 SNI 的客户端的支持。ansible-test -
future-import-boilerplate
和metaclass-boilerplate
Sanity 测试仅限于远程代码。此外,对于声明不支持 Python 2.x 的集合,会跳过这些测试。ansible-test -
import
和compile
Sanity 测试将远程 Python 版本检查限制为仅远程代码。ansible-test - 现在,仅控制器代码的单元测试需要 Python 3.8 或更高版本。
ansible-test - 现在,版本中性的 Sanity 测试需要 Python 3.8 或更高版本。
junit 回调 - 不再需要
junit_xml
和ordereddict
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.0
和boto3<1.15.0
。大多数模块将继续与旧版本的 AWS SDK 一起工作,但是不保证与旧版本的 SDK 的兼容性,也不会进行测试。当使用旧版本的 SDK 时,Ansible 将发出警告 (https://github.com/ansible-collections/amazon.aws/pull/502)。ec2_instance - 该模块已从
community.aws
集合迁移。使用此模块的完全限定集合名称的 Playbook 应更新为使用amazon.aws.ec2_instance
。ec2_instance_info - 该模块已从
community.aws
集合迁移。使用此模块的完全限定集合名称的 Playbook 应更新为使用amazon.aws.ec2_instance_info
。ec2_vpc_endpoint - 该模块已从
community.aws
集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用amazon.aws.ec2_vpc_endpoint
。ec2_vpc_endpoint_facts - 该模块已从
community.aws
集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用amazon.aws.ec2_vpc_endpoint_info
。ec2_vpc_endpoint_info - 该模块已从
community.aws
集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用amazon.aws.ec2_vpc_endpoint_info
。ec2_vpc_endpoint_service_info - 该模块已从
community.aws
集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用amazon.aws.ec2_vpc_endpoint_service_info
。ec2_vpc_igw - 该模块已从
community.aws
集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用amazon.aws.ec2_vpc_igw
。ec2_vpc_igw_facts - 该模块已从
community.aws
集合迁移。使用此模块的完全限定集合名称的 Playbook 应更新为使用amazon.aws.ec2_vpc_igw_facts
。ec2_vpc_igw_info - 该模块已从
community.aws
集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用amazon.aws.ec2_vpc_igw_info
。ec2_vpc_nat_gateway - 该模块已从
community.aws
集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用amazon.aws.ec2_vpc_nat_gateway
。ec2_vpc_nat_gateway_facts - 该模块已从
community.aws
集合迁移。使用此模块的完全限定集合名称的 playbook 应更新为使用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
集合迁移。使用此模块的完全限定集合名称的 Playbook 应更新为使用amazon.aws.ec2_vpc_route_table
。ec2_vpc_route_table_facts - 该模块已从
community.aws
集合迁移。使用此模块的完全限定集合名称的 Playbook 应更新为使用amazon.aws.ec2_vpc_route_table_facts
。ec2_vpc_route_table_info - 该模块已从
community.aws
集合迁移。使用此模块的完全限定集合名称的 Playbook 应更新为使用amazon.aws.ec2_vpc_route_table_info
。
cisco.ise
向模块选项添加
ise_uses_api_gateway
。添加一个 'aws_deployment' 角色,允许将任意大型 ISE 集群部署到 AWS。
将 ise_responses 添加到 info 模块的返回值。
将 ise_update_response 添加到非 info 模块的返回值。
修复没有按名称获取且没有工作过滤器的模块的内部逻辑。
将模块 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 - 添加用于将 personas 部署到 ISE 集群中现有节点的模块。
personas_export_certs - 添加用于将 personas 部署到 ISE 集群中现有节点的模块。
personas_promote_primary - 添加用于将 personas 部署到 ISE 集群中现有节点的模块。
personas_update_roles - 添加用于将 personas 部署到 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
添加 facts 子集“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
在一些配置模块的示例部分中添加实际用例。
收集模块的当前配置,并将它们转换为 playbook。
改进
fortios_configuration_fact
以便同时使用多个选择器。新模块 fortios_monitor_fact。
支持 FortiOS 7.0.1。
支持 Fortios 7.0。
支持日志 API。
在所有基于配置 API 的模块中支持
check_mode
。支持对事实收集模块
fortios_configuration_fact
和fortios_monitor_fact
进行过滤。支持对具有成员列表的对象进行成员操作(删除/添加额外成员)。
支持在
firewall_central_snat_map
中移动策略。支持
fortios_monitor_fact
和fortios_log_fact
中的选择器功能。统一监控 API 的 schema。
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 补丁功能从未工作 (https://github.com/ansible-collections/kubernetes.core/pull/99)。
k8s_json_patch - 将 JSON 补丁功能拆分到单独的模块中 (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
之前已弃用,现已删除。连接,删除了已移动到成为插件的密码检查存根。
任务,自动强制转换为变量的内联参数已删除。
ansible.windows
win_reboot - 删除了自 Ansible 2.5 以来未执行任何操作的
shutdown_timeout
和shutdown_timeout_sec
。
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 - 如果指定了
networks
且networks_cli_compatible=true
,则network_mode
的默认值现在是networks
中指定的第一个网络的名称 (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 中包含的所有 inventory 和 vault 脚本都已移动到 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 中的版本。(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
别名,该别名是message_content
选项的别名 (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
选项的值自动设置。此选项现在可以显式设置,并且look_for_keys
的自动设置将在 2024-01-01 之后移除 (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
删除使用 provider 进行 ansible-test 集成作业的测试。这有助于我们准备迁移到 network-ee 集成测试。
cisco.ios
弃用 ios_bgp,推荐使用 ios_bgp_global 和 ios_bgp_address_family。
弃用 ios_ntp 模块。
删除使用 provider 进行 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,以与配套的 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*` 模块 - 当前 默认的 ``localhost``
对于tls_hostname
已弃用。在 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 lookup - 不再建议提供经过处理的 API 密钥版本。
community.hashi_vault
hashi_vault 集合 -
community.hashi_vault
的2.0.0
版本将不再支持 Python 2 (https://github.com/ansible-collections/community.hashi_vault/issues/81)。hashi_vault 集合 -
community.hashi_vault
的2.0.0
版本将不再支持 Python 3.5 (https://github.com/ansible-collections/community.hashi_vault/issues/81)。lookup 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” 之后的版本中删除。