Ansible 6 移植指南

Ansible 6 基于 Ansible-core 2.13。

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

剧本

  • 模板 - 您不再可以在 Jinja 模板之外执行算术和连接操作。以下语句需要重写才能生成[1, 2]

- name: Prior to 2.13
  debug:
    msg: '[1] + {{ [2] }}'

- name: 2.13 and forward
  debug:
    msg: '{{ [1] + [2] }}'
  • AnsibleUndefined 对象表示的未定义变量的 __repr__ 方法的返回值已更改。{{ '%r'|format(undefined_variable) }} 在 2.13 中返回 AnsibleUndefined(hint=None, obj=missing, name='undefined_variable'),而在 2.12 及更早版本中仅返回 AnsibleUndefined

  • 在全局范围内不再公开 finalize 方法以在模板中使用。要将 None 转换为空字符串,可以使用以下表达式:{{ value if value is not none }}

命令行

没有明显的更改

已弃用

没有明显的更改

模块

  • 要使用 ansible-core 2.13 进行模块执行,您必须使用 Python 2 版本 2.7 或 Python 3 版本 3.5 或更高版本。任何使用 ansible.module_utils.basic 的代码都无法与较低的 Python 版本一起使用。

已移除的模块

以下模块不再存在

  • 没有明显的更改

弃用通知

没有明显的更改

值得注意的模块更改

没有明显的更改

重大更改

  • ansible.module_utils.urls.fetch_url 现在将捕获的 HTTPError 异常作为 r 返回。HTTPError 是一个类似响应的对象,可以为模块作者提供更多信息。模块应该依赖于 info['status'] >= 400 来确定是否存在故障,而不是使用 r is None 或在尝试 r.read() 时捕获 AttributeError

插件

没有明显的更改

移植自定义脚本

没有明显的更改

网络

没有明显的更改

v6.7.0 移植指南

已知问题

community.routeros

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

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

主要更改

cisco.meraki

  • meraki_mr_l7_firewall - 新模块

  • meraki_webhook_payload_template - 新模块

community.zabbix

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

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

containers.podman

  • 新 become 插件 - podman_unshare

  • Podman 生成 systemd 模块

fortinet.fortimanager

  • 修复 ansible 2.9.x 和 ansible-base 2.10.x 的兼容性问题。

  • 支持 Ansible 变更日志。

fortinet.fortios

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

已弃用的功能

community.general

  • 请注意,某些工具(如 VScode 插件(https://github.com/ansible/vscode-ansible/issues/573)或 ansible-doc --list --type module)建议将 community.general 中模块和操作的正确 FQCN 替换为具有三个以上组件的内部名称。例如,建议将 community.general.ufw 替换为 community.general.system.ufw。虽然这些较长的名称确实有效,但它们被集合视为**内部名称**,并且随时可能更改或删除。它们将在 community.general 6.0.0 中删除并导致弃用消息。避免使用这些内部名称,而是使用通用的三组件 FQCN(community.general.<name_of_module>)(https://github.com/ansible-collections/community.general/pull/5373)。

v6.6.0 移植指南

新增集合

  • lowlydba.sqlserver (版本 1.0.4)

已知问题

community.routeros

  • community.routeros.command 模块声称支持检查模式。由于它无法判断执行的命令是否修改状态,因此此行为不正确。由于这可能会破坏现有的 playbook,因此我们不会更改此行为,直到 community.routeros 3.0.0。

重大变更

community.general

主要变更

community.general

fortinet.fortimanager

  • 修复了许多 Ansible 健全性测试警告和错误。

  • 支持 FortiManager Schema 7.2.0,新增 98 个模块

已弃用功能

cisco.mso

  • mso_schema_template_contract_filter 的 contract_filter_type 属性已弃用。该值现在从 filter_type 推断得出。

community.general

v6.5.0 移植指南

主要变更

infoblox.nios_modules

  • 用于额外安全层的功能,在 playbook 中使用 certkey 参数,用于使用证书和密钥 *.pem 文件绝对路径进行身份验证 #154

  • 修复了由于使用 Ansible 模块 nios network 删除网络时模板属性导致的问题 #147

已弃用功能

community.general

v6.4.0 移植指南

新增集合

  • inspur.ispim (版本 1.0.1)

  • vultr.cloud (版本 1.1.0)

已弃用功能

community.general

v6.3.0 移植指南

主要变更

community.mysql

  • mysql_db - pipefail 参数的默认值将在 community.mysql 4.0.0 中更改为 true。如果您的目标机器不使用 bash 作为默认解释器,请显式地将 pipefail 设置为 false。但是,我们强烈建议设置 bash 作为默认值,并将 pipefail=true,因为它可以防止您获得未知的损坏转储 (https://github.com/ansible-collections/community.mysql/issues/407)。

fortinet.fortios

  • 支持在检查模式下进行差异功能。

  • 支持 Fortios 7.2.0。

已弃用功能

v6.2.0 移植指南

新增集合

  • ibm.spectrum_virtualize (版本 1.9.0)

已知问题

netapp.ontap

  • na_ontap_snapshot - 添加了使用 UTC 格式表示 expiry_time 的文档。

主要变更

community.postgresql

已弃用功能

community.hashi_vault

v6.1.0 移植指南

新增集合

  • purestorage.fusion (版本 1.0.2)

已知问题

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_device_quick_deploy - 问题 (216352) - 如果为 ipv6_prefix_length 和 vlan_id 参数提供了不受支持的值,模块不会显示正确的错误消息。

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

重大更改

chocolatey.chocolatey

  • win_chocolatey - 添加了 bootstrap_script 选项,允许用户将脚本 URL 指定为在客户端上安装 Chocolatey 的目标。

  • win_chocolatey_facts - 将过时的软件包列表添加到返回的数据中。

infoblox.nios_modules

  • 更新 TXT 记录的 text 字段 #128

  • 使用 old_namenew_name 对具有虚拟名称 old_name(系统中不存在)的对象执行更新操作不会在系统中创建新对象。系统会抛出一个错误,指出该对象在系统中不存在 #129

已弃用的功能

cisco.ios

  • 已弃用 ios_linkagg_module,建议使用 ios_lag_interfaces。

community.aws

  • aws_codebuild - tags 参数当前使用非标准格式,已被弃用。在 6.0.0 版本中,此参数将接受简单的键值对字典,而不是当前的字典列表。建议迁移到使用 resource_tags 参数,该参数已接受简单的字典格式 (https://github.com/ansible-collections/community.aws/pull/1221)。

  • route53_info - HostedZonesResourceRecordSetsHealthChecks 的驼峰式大小写返回值已被弃用,在将来的版本中,必须使用蛇形命名法返回值 hosted_zonesresource_record_setshealth_checks 代替。

community.crypto

  • 对 Ansible 2.9 和 ansible-base 2.10 的支持已被弃用,并将在下一个主要版本 (community.crypto 3.0.0) 中删除。某些模块在之后可能仍然可以使用这些版本,但我们不再保留支持它们所需的兼容性代码 (https://github.com/ansible-collections/community.crypto/pull/460)。

community.docker

  • 对 Docker API 版本 1.20 到 1.24 的支持已被弃用,并将从 community.docker 3.0.0 中删除。第一个支持 API 版本 1.25 的 Docker 版本是 2017 年 1 月发布的 Docker 1.13。这会影响模块 docker_containerdocker_container_execdocker_container_infodocker_composedocker_logindocker_imagedocker_image_infodocker_image_loaddocker_host_infodocker_networkdocker_network_infodocker_node_infodocker_swarm_infodocker_swarm_servicedocker_swarm_service_infodocker_volume_infodocker_volume,它们的最低支持 API 版本介于 1.20 和 1.24 之间 (https://github.com/ansible-collections/community.docker/pull/396)。

  • 对 Python 2.6 的支持已被弃用,并将从下一个主要版本 (community.docker 3.0.0) 中删除。某些模块可能仍然可以使用 Python 2.6,但我们不再尝试确保兼容性 (https://github.com/ansible-collections/community.docker/pull/388)。

community.general

v6.0.0 移植指南

新增集合

  • cisco.dnac (版本 6.4.0)

  • community.sap (版本 1.0.0)

  • community.sap_libs (版本 1.1.0)

  • vmware.vmware_rest (版本 2.1.5)

已知问题

Ansible-core

ansible.netcommon

  • eos - 在 Ansible 2.9 上使用 eos 模块时,任务偶尔会失败,并显示已启用 import_modules。可以通过设置 import_modules: no 来避免这种情况。

community.general

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_application_console_preferences - 问题 (224690) - 当为参数 report_row_limit、email_sender_settings 和 metric_collection_settings 提供了不受支持的值时,模块不会显示正确的错误消息,并且该值会应用于 OpenManage Enterprise。

  • 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_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_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_device_quick_deploy - 问题 (216352) - 如果为 ipv6_prefix_length 和 vlan_id 参数提供了不受支持的值,模块不会显示正确的错误消息。

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

PureStorage FlashArray

  • purefa_admin - 一旦设置了 max_loginlockout,目前除了通过 FlashArray GUI 之外,没有其他方法将它们重置为零。

重大更改

Ansible Core

  • 模块 Python 依赖项 - 放弃对模块执行中 Python 2.6 的支持。

  • 模板 - 不再允许在 Jinja 模板之外执行算术和连接操作 (https://github.com/ansible/ansible/pull/75587)。

  • 在模板中使用的全局变量中不再公开 finalize 方法。

Amazon AWS

  • aws_caller_facts - 删除已弃用的 aws_caller_facts 别名。请改用 aws_caller_info

  • cloudformation_facts - 删除已弃用的 cloudformation_facts 别名。请改用 cloudformation_info

  • ec2_ami_facts - 删除已弃用的 ec2_ami_facts 别名。请改用 ec2_ami_info

  • ec2_eni_facts - 删除已弃用的 ec2_eni_facts 别名。请改用 ec2_eni_info

  • ec2_group_facts - 删除已弃用的 ec2_group_facts 别名。请改用 ec2_group_info

  • ec2_instance_facts - 删除已弃用的 ec2_instance_facts 别名。请改用 ec2_instance_info

  • ec2_snapshot_facts - 删除已弃用的 ec2_snapshot_facts 别名。请改用 ec2_snapshot_info

  • ec2_vol_facts - 删除已弃用的 ec2_vol_facts 别名。请改用 ec2_vol_info

  • ec2_vpc_dhcp_option_facts - 删除已弃用的 ec2_vpc_dhcp_option_facts 别名。请改用 ec2_vpc_dhcp_option_info

  • ec2_vpc_endpoint_facts - 删除已弃用的 ec2_vpc_endpoint_facts 别名。请改用 ec2_vpc_endpoint_info

  • ec2_vpc_igw_facts - 删除已弃用的 ec2_vpc_igw_facts 别名。请改用 ec2_vpc_igw_info

  • ec2_vpc_nat_gateway_facts - 删除已弃用的 ec2_vpc_nat_gateway_facts 别名。请改用 ec2_vpc_nat_gateway_info

  • ec2_vpc_net_facts - 删除已弃用的 ec2_vpc_net_facts 别名。请改用 ec2_vpc_net_info

  • ec2_vpc_route_table_facts - 删除已弃用的 ec2_vpc_route_table_facts 别名。请改用 ec2_vpc_route_table_info

  • ec2_vpc_subnet_facts - 删除已弃用的 ec2_vpc_subnet_facts 别名。请改用 ec2_vpc_subnet_info

Ansible.Netcommon

  • httpapi - 将 import_modules 选项的默认值从 no 更改为 yes

  • netconf - 将 import_modules 选项的默认值从 no 更改为 yes

  • network_cli - 将 import_modules 选项的默认值从 no 更改为 yes

Arista EOS

  • eos_command - 参数 command 的新子选项 version,它控制 JSON 响应版本。以前,network_cli 假设值为“latest”,httpapi 为“1”,但现在两个连接的默认值都将为“latest”。此选项也可用于使用 plugins.module_utils.network.eos.eos.run_commands() 进行自身设备请求的模块,并具有相同的新的默认行为。(https://github.com/ansible-collections/arista.eos/pull/258)。

  • httpapi - eos_use_sessions 选项现在是布尔值而不是整数。

Community.AWS

  • aws_acm_facts - 删除已弃用的别名 aws_acm_facts。请改用 aws_acm_info

  • aws_kms_facts - 删除已弃用的别名 aws_kms_facts。请改用 aws_kms_info

  • aws_kms_info - 已弃用的 keys_attr 字段现在被忽略 (https://github.com/ansible-collections/community.aws/pull/838)。

  • aws_region_facts - 删除已弃用的别名 aws_region_facts。请改用 aws_region_info

  • aws_s3_bucket_facts - 删除已弃用的别名 aws_s3_bucket_facts。请改用 aws_s3_bucket_info

  • aws_sgw_facts - 删除已弃用的别名 aws_sgw_facts。请改用 aws_sgw_info

  • aws_waf_facts - 删除已弃用的别名 aws_waf_facts。请改用 aws_waf_info

  • cloudfront_facts - 删除已弃用的别名 cloudfront_facts。请改用 cloudfront_info

  • cloudwatchlogs_log_group_facts - 删除已弃用的别名 cloudwatchlogs_log_group_facts。请改用 cloudwatchlogs_log_group_info

  • dynamodb_table - 目前已弃用的更新(针对主键和 global_all 索引)将被忽略,现在将导致失败。(https://github.com/ansible-collections/community.aws/pull/837)。

  • ec2_asg_facts - 删除已弃用的别名 ec2_asg_facts。请改用 ec2_asg_info

  • ec2_customer_gateway_facts - 删除已弃用的别名 ec2_customer_gateway_facts。请改用 ec2_customer_gateway_info

  • ec2_eip_facts - 删除已弃用的别名 ec2_eip_facts。请改用 ec2_eip_info

  • ec2_elb_facts - 删除已弃用的别名 ec2_elb_facts。请改用 ec2_elb_info

  • ec2_elb_info - 已删除 ec2_elb_info 模块。请改用 the ``elb_classic_lb_info 模块。

  • ec2_lc_facts - 删除已弃用的别名 ec2_lc_facts。请改用 ec2_lc_info

  • ec2_placement_group_facts - 删除已弃用的别名 ec2_placement_group_facts。请改用 ec2_placement_group_info

  • ec2_vpc_nacl_facts - 删除已弃用的别名 ec2_vpc_nacl_facts。请改用 ec2_vpc_nacl_info

  • ec2_vpc_peering_facts - 删除已弃用的别名 ec2_vpc_peering_facts。请改用 ec2_vpc_peering_info

  • ec2_vpc_route_table_facts - 删除已弃用的别名 ec2_vpc_route_table_facts。请改用 ec2_vpc_route_table_info

  • ec2_vpc_vgw_facts - 删除已弃用的别名 ec2_vpc_vgw_facts。请改用 ec2_vpc_vgw_info

  • ec2_vpc_vpn_facts - 删除已弃用的别名 ec2_vpc_vpn_facts。请改用 ec2_vpc_vpn_info

  • ecs_service_facts - 删除已弃用的别名 ecs_service_facts。请改用 ecs_service_info

  • ecs_taskdefinition_facts - 删除已弃用的别名 ecs_taskdefinition_facts。请改用 ecs_taskdefinition_info

  • efs_facts - 删除已弃用的别名 efs_facts。请改用 efs_info

  • elasticache_facts - 删除已弃用的别名 elasticache_facts。请改用 elasticache_info

  • elb_application_lb_facts - 删除已弃用的别名 elb_application_lb_facts。请改用 elb_application_lb_info

  • elb_classic_lb_facts - 删除已弃用的别名 elb_classic_lb_facts。请改用 elb_classic_lb_info

  • elb_target_facts - 删除已弃用的别名 elb_target_facts。请改用 elb_target_info

  • elb_target_group_facts - 删除已弃用的别名 elb_target_group_facts。请改用 elb_target_group_info

  • iam - 已删除已弃用的 community.aws.iam 模块。请改用 community.aws.iam_usercommunity.aws.iam_access_keycommunity.aws.iam_group (https://github.com/ansible-collections/community.aws/pull/839)。

  • iam_cert_facts - 删除已弃用的别名 iam_cert_facts。请改用 iam_cert_info

  • iam_mfa_device_facts - 删除已弃用的别名 iam_mfa_device_facts。请改用 iam_mfa_device_info

  • iam_role_facts - 删除已弃用的别名 iam_role_facts。请改用 iam_role_info

  • iam_server_certificate_facts - 删除已弃用的别名 iam_server_certificate_facts。请改用 iam_server_certificate_info

  • lambda_facts - 删除已弃用的模块 lambda_facts``。请改用 lambda_info

  • rds - 已删除已弃用的 community.aws.rds 模块。请改用 community.aws.rds_instance (https://github.com/ansible-collections/community.aws/pull/839)。

  • rds_instance_facts - 删除已弃用的别名 rds_instance_facts。请改用 rds_instance_info

  • rds_snapshot_facts - 删除已弃用的别名 rds_snapshot_facts。请改用 rds_snapshot_info

  • redshift_facts - 删除已弃用的别名 redshift_facts。请改用 redshift_info

  • route53_facts - 删除已弃用的别名 route53_facts。请改用 route53_info

community.general

community.mysql

community.vmware

  • 此集合现在至少需要 ansible-core 2.11.0。不再支持 Ansible 3 及之前版本以及 ansible-base 版本。

  • vmware_cluster_drs - enable 的默认值已从 false 更改为 true

  • vmware_cluster_drs - 已删除参数别名 enable_drs,请改用 enable

  • vmware_cluster_ha - enable 的默认值已从 false 更改为 true

  • vmware_cluster_ha - 已删除参数别名 enable_ha,请改用 enable

  • vmware_cluster_vsan - enable 的默认值已从 false 更改为 true

  • vmware_cluster_vsan - 已删除参数别名 enable_vsan,请改用 enable

  • vmware_guest - 基于虚拟化的安全有一些要求(nested_virtsecure_bootiommu),该模块会静默启用它们。现在必须显式启用它们。

dellemc.openmanage

  • HTTPS SSL 证书验证是一个**重大更改**,需要修改现有的 playbook。请参阅 SSL 证书验证 部分中的 README.md,了解对现有 playbook 的修改。

theforeman.foreman

  • 将 inventory 插件的 use_reports_api 默认值设置为 true

  • 删除对 Ansible 2.8 的支持

主要更改

  • 添加一个 ansible-community CLI 工具,允许打印 Ansible 社区发行版的版本。使用 ansible-community --version 打印此版本。

Ansible-core

amazon.aws

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

ansible.netcommon

  • cli_parse - 此模块已移至 ansible.utils 集合。 ansible.netcommon.cli_parse 将继续工作以引用其新位置的模块,但此重定向将在未来版本中删除。

  • network_cli - 将 ssh_type 选项的默认值从 paramiko 更改为 auto。此值将在安装 ansible-pylibssh 模块时使用 libssh,否则将回退到 paramiko。

arista.eos

chocolatey.chocolatey

  • win_chocolatey - 添加了 choco_args 选项以将其他参数直接传递给 Chocolatey。

cisco.asa

  • 最低要求的 ansible.netcommon 版本为 2.5.1。

  • 更新了对 ansible.netcommon 的基本插件引用。

cisco.ios

  • 最低要求的 ansible.netcommon 版本为 2.5.1。

  • 更新了对 ansible.netcommon 的基本插件引用。

  • facts - gather_subset 的默认值已更改为 min,而不是 !config。

cisco.iosxr

  • 最低要求的 ansible.netcommon 版本为 2.5.1。

  • 更新了对 ansible.netcommon 的基本插件引用。

  • facts - gather_subset 的默认值已更改为 min,而不是 !config。

cisco.ise

  • 将 ciscoisesdk 要求更新为 1.2.0。

  • anc_endpoint_bulk_monitor_status_info - 更改返回值,它返回 BulkStatus 内容。

  • anc_policy_bulk_monitor_status_info - 更改返回值,它返回 BulkStatus 内容。

  • backup_last_status_info - 更改返回值,它返回响应内容。

  • device_administration_authentication_rules - 删除参数 identitySourceId。

  • device_administration_authentication_rules_info - 更改返回值,它返回响应内容。

  • device_administration_authorization_rules_info - 更改返回值,它返回响应内容。

  • device_administration_conditions - 删除参数 attributeId。

  • device_administration_conditions_for_authentication_rule_info - 更改返回值,它返回响应内容。

  • device_administration_conditions_for_authorization_rule_info - 更改返回值,它返回响应内容。

  • device_administration_conditions_for_policy_set_info - 更改返回值,它返回响应内容。

  • device_administration_conditions_info - 更改返回值,它返回响应内容。

  • device_administration_dictionary_attributes_authentication_info - 更改返回值,它返回响应内容。

  • device_administration_dictionary_attributes_authorization_info - 更改返回值,它返回响应内容。

  • device_administration_dictionary_attributes_policy_set_info - 更改返回值,它返回响应内容。

  • device_administration_global_exception_rules_info - 更改返回值,它返回响应内容。

  • device_administration_network_conditions_info - 更改返回值,它返回响应内容。

  • device_administration_time_date_conditions - 删除参数 attributeId。

  • device_administration_time_date_conditions_info - 更改返回值,它返回响应内容。

  • egress_matrix_cell_bulk_monitor_status_info - 更改返回值,它返回 BulkStatus 内容。

  • network_access_authentication_rules - 删除参数 identitySourceId。

  • network_access_conditions - 删除参数 attributeId。

  • network_access_time_date_conditions - 删除参数 attributeId。

  • node_deployment - 更新参数。

  • node_deployment_info - 添加 filter 和 filterType 参数。

  • node_group - 修复响应收集。

  • node_group_info - 修复响应收集。

  • repository_files_info - 更改返回值,它返回响应内容。

  • repository_info - 更改返回值,它返回响应内容。

  • sg_acl_bulk_monitor_status_info - 更改返回值,它返回 BulkStatus 内容。

  • sg_mapping_bulk_monitor_status_info - 更改返回值,它返回 BulkStatus 内容。

  • sg_mapping_group_bulk_monitor_status_info - 更改返回值,它返回 BulkStatus 内容。

  • sg_mapping_group_info - 更改返回值,它返回 BulkStatus 内容。

  • sg_to_vn_to_vlan_bulk_monitor_status_info - 更改返回值,它返回 BulkStatus 内容。

  • sgt - 将 generationId 类型从 int 更改为 str。

  • sgt_bulk_monitor_status_info - 更改返回值,它返回 BulkStatus 内容。

  • sxp_connections_bulk_monitor_status_info - 更改返回值,它返回 BulkStatus 内容。

  • sxp_local_bindings_bulk_monitor_status_info - 更改返回值,它返回 BulkStatus 内容。

  • sxp_vpns_bulk_monitor_status_info - 更改返回值,它返回 BulkStatus 内容。

  • system_certificate - 新参数 portalTagTransferForSameSubject 和 roleTransferForSameSubject。

  • system_certificate - portalTagTransferForSameSubject 参数重命名为 allowPortalTagTransferForSameSubject。

  • system_certificate - roleTransferForSameSubject 参数重命名为 allowRoleTransferForSameSubject。

  • system_certificate_import - 新参数 portalTagTransferForSameSubject 和 roleTransferForSameSubject。

  • system_certificate_import - portalTagTransferForSameSubject 参数重命名为 allowPortalTagTransferForSameSubject。

  • system_certificate_import - roleTransferForSameSubject 参数重命名为 allowRoleTransferForSameSubject。

  • trustsec_nbar_app_info - 将类型从 str 更改为 list。

  • trustsec_vn_info - 将类型从 str 更改为 list。

cisco.meraki

  • meraki_mr_radio - 新模块

cisco.nxos

  • 最低要求的 ansible.netcommon 版本已提升至 v2.6.1。

  • 更新了对 ansible.netcommon 的基本插件引用。

  • nxos_facts - 将默认的 gather_subset 从 !config 更改为 min (https://github.com/ansible-collections/cisco.nxos/issues/418)。

  • nxos_file_copy 已重写为模块。此更改还删除了对文件提取操作的 pexpect 依赖项。由于现在使用 AnsibleModule 类进行 argspec 验证,因此验证消息将略有不同。在某些情况下,预计返回负载会发生变化。所有功能保持不变。

community.aws

community.general

  • community.general 集合不再支持 Ansible 2.9 和 ansible-base 2.10。虽然我们没有采取任何主动措施来阻止使用,但我们将删除许多兼容性代码和其他兼容性措施,这将有效地阻止使用此集合的大多数内容与 Ansible 2.9 一起使用,以及使用此集合的一些内容与 ansible-base 2.10 一起使用。Ansible 2.9 和 ansible-base 2.10 很快就会停止支持,如果您仍在使用它们,则应尽快考虑升级到 ansible-core 2.11 或更高版本 (https://github.com/ansible-collections/community.general/pull/4548)。

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.network

  • community.network 集合不再支持 Ansible 2.9 和 ansible-base 2.10。虽然我们没有采取任何主动措施来阻止使用,但我们将删除兼容性代码和其他兼容性措施,这将有效地阻止使用此集合的大多数内容与 Ansible 2.9 一起使用,以及使用此集合的一些内容与 ansible-base 2.10 一起使用。Ansible 2.9 和 ansible-base 2.10 很快就会停止支持,如果您仍在使用它们,则应尽快考虑升级到 ansible-core 2.11 或更高版本 (https://github.com/ansible-collections/community.network/pull/426)。

community.postgresql

community.vmware

containers.podman

  • 添加 podman_tag 模块

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

dellemc.openmanage

  • 所有模块都可以从环境变量中读取自定义或组织 CA 签名的证书。请参阅 SSL 证书验证 部分中的 README.md,了解现有 playbook 的修改或设置环境变量的方法。

  • 所有模块现在都支持通过 HTTPS 的 SSL 和套接字级超时。

  • idrac_server_config_profile - 模块已增强,支持使用 Redfish 导出、导入和预览 SCP 配置,并添加了对检查模式的支持。

f5networks.f5_modules

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

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

fortinet.fortios

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

frr.frr

  • 最低要求的 ansible.netcommon 版本为 2.5.1。

  • 更新了对 ansible.netcommon 的基本插件引用。

ibm.qradar

  • 最低要求的 ansible.netcommon 版本为 2.5.1。

  • 更新了对 ansible.netcommon 的基本插件引用。

junipernetworks.junos

  • 最低要求的 ansible.netcommon 版本为 2.5.1。

  • 更新了对 ansible.netcommon 的基本插件引用。

  • junos_facts - 将默认的 gather_subset 从 !config 更改为 min

ovirt.ovirt

splunk.es

  • 最低要求的 ansible.netcommon 版本为 2.5.1。

  • 更新了对 ansible.netcommon 的基本插件引用。

vyos.vyos

  • 在 ntp_global 中将“pool”作为服务器密钥的值添加。

  • 最低要求的 ansible.netcommon 版本为 2.5.1。

  • 更新了对 ansible.netcommon 的基本插件引用。

  • vyos_facts - 将默认的 gather_subset 从 !config 更改为 min (https://github.com/ansible-collections/vyos.vyos/issues/231).

已移除的集合

  • community.kubernetes(之前包含的版本:2.0.1)

  • community.kubevirt(之前包含的版本:1.0.0)

已移除的功能

  • community.kubernetes 集合已从 Ansible 6 中移除。它自 Ansible 4.2 起已弃用,并且自 Ansible 5 起包含的 2.0.0 版本只是一组从 community.kubernetes 到 kubernetes.core 的弃用重定向。如果您仍然需要重定向,可以使用 ansible-galaxy collection install community.kubernetes 手动安装 community.kubernetes (https://github.com/ansible-community/community-topics/issues/93).

  • community.kubevirt 集合已从 Ansible 6 中移除。它无法与自 Ansible 5.0.0 起包含的 community.kubernetes 集合一起使用,并且不幸的是,没有人设法调整该集合以使其与 kubernetes.core >= 2.0.0 一起使用。如果您需要使用此集合,则需要手动安装 community.kubernetes < 2.0.0 以及 community.kubevirt,方法是使用 ansible-galaxy collection install community.kubevirt 'community.kubernetes:<2.0.0' (https://github.com/ansible-community/community-topics/issues/92).

Ansible-core

community.general

community.hashi_vault

community.network

community.vmware

  • vcenter_extension_facts - 已移除已弃用的模块 vcenter_extension_facts,请改用 vcenter_extension_info

  • vmware_about_facts - 已移除已弃用的模块 vmware_about_facts,请改用 vmware_about_info

  • vmware_category_facts - 已移除已弃用的模块 vmware_category_facts,请改用 vmware_category_info

  • vmware_cluster - 已移除 DRS 配置,请改用模块 vmware_cluster_drs

  • vmware_cluster - 已移除 HA 配置,请改用模块 vmware_cluster_ha

  • vmware_cluster - 已移除 VSAN 配置,请改用模块 vmware_cluster_vsan

  • vmware_cluster_facts - 已移除已弃用的模块 vmware_cluster_facts,请改用 vmware_cluster_info

  • vmware_datastore_facts - 已移除已弃用的模块 vmware_datastore_facts,请改用 vmware_datastore_info

  • vmware_drs_group_facts - 已移除已弃用的模块 vmware_drs_group_facts,请改用 vmware_drs_group_info

  • vmware_drs_rule_facts - 已移除已弃用的模块 vmware_drs_rule_facts,请改用 vmware_drs_rule_info

  • vmware_dvs_portgroup - 已移除已弃用的参数 portgroup_type,请改用 port_binding

  • vmware_dvs_portgroup_facts - 已移除已弃用的模块 vmware_dvs_portgroup_facts,请改用 vmware_dvs_portgroup_info

  • vmware_guest_boot_facts - 已移除已弃用的模块 vmware_guest_boot_facts,请改用 vmware_guest_boot_info

  • vmware_guest_customization_facts - 已移除已弃用的模块 vmware_guest_customization_facts,请改用 vmware_guest_customization_info

  • vmware_guest_disk_facts - 已移除已弃用的模块 vmware_guest_disk_facts,请改用 vmware_guest_disk_info

  • vmware_guest_facts - 已移除已弃用的模块 vmware_guest_facts,请改用 vmware_guest_info

  • vmware_guest_snapshot_facts - 已移除已弃用的模块 vmware_guest_snapshot_facts,请改用 vmware_guest_snapshot_info

  • vmware_host_capability_facts - 已移除已弃用的模块 vmware_host_capability_facts,请改用 vmware_host_capability_info

  • vmware_host_config_facts - 已移除已弃用的模块 vmware_host_config_facts,请改用 vmware_host_config_info

  • vmware_host_dns_facts - 已移除已弃用的模块 vmware_host_dns_facts,请改用 vmware_host_dns_info

  • vmware_host_feature_facts - 已移除已弃用的模块 vmware_host_feature_facts,请改用 vmware_host_feature_info

  • vmware_host_firewall_facts - 已移除已弃用的模块 vmware_host_firewall_facts,请改用 vmware_host_firewall_info

  • vmware_host_ntp_facts - 已移除已弃用的模块 vmware_host_ntp_facts,请改用 vmware_host_ntp_info

  • vmware_host_package_facts - 已移除已弃用的模块 vmware_host_package_facts,请改用 vmware_host_package_info

  • vmware_host_service_facts - 已移除已弃用的模块 vmware_host_service_facts,请改用 vmware_host_service_info

  • vmware_host_ssl_facts - 已移除已弃用的模块 vmware_host_ssl_facts,请改用 vmware_host_ssl_info

  • vmware_host_vmhba_facts - 已移除已弃用的模块 vmware_host_vmhba_facts,请改用 vmware_host_vmhba_info

  • vmware_host_vmnic_facts - 已移除已弃用的模块 vmware_host_vmnic_facts,请改用 vmware_host_vmnic_info

  • vmware_local_role_facts - 已移除已弃用的模块 vmware_local_role_facts,请改用 vmware_local_role_info

  • vmware_local_user_facts - 已移除已弃用的模块 vmware_local_user_facts,请改用 vmware_local_user_info

  • vmware_portgroup_facts - 已移除已弃用的模块 vmware_portgroup_facts,请改用 vmware_portgroup_info

  • vmware_resource_pool_facts - 已移除已弃用的模块 vmware_resource_pool_facts,请改用 vmware_resource_pool_info

  • vmware_tag_facts - 已弃用的模块 vmware_tag_facts 已移除,请使用 vmware_tag_info 代替。

  • vmware_target_canonical_facts - 已弃用的模块 vmware_target_canonical_facts 已移除,请使用 vmware_target_canonical_info 代替。

  • vmware_vm_facts - 已弃用的模块 vmware_vm_facts 已移除,请使用 vmware_vm_info 代替。

  • vmware_vmkernel_facts - 已弃用的模块 vmware_vmkernel_facts 已移除,请使用 vmware_vmkernel_info 代替。

  • vmware_vmkernel_ip_config - 已弃用的模块 vmware_vmkernel_ip_config 已移除,请使用 vmware_vmkernel 代替。

  • vmware_vswitch_facts - 已弃用的模块 vmware_vswitch_facts 已移除,请使用 vmware_vswitch_info 代替。

已弃用功能

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

Ansible-core

  • ansible-core - 移除对 Python 2.6 的支持。

  • ansible-test - 移除对 Python 2.6 的支持。

  • ssh 连接插件选项 scp_if_ssh 已被 ssh_transfer_method 取代。

amazon.aws

  • ec2_instance - `instance_type` 的默认值已弃用,在将来的版本中,您必须设置 instance_type 或 launch_template (https://github.com/ansible-collections/amazon.aws/pull/587)。

  • module_utils - 对原始 AWS SDK boto 的支持已弃用,转而支持 boto3/botocore SDK。所有基于 boto 的模块要么已弃用,要么已迁移到 botocore,并且 module_utils 中剩余的支持代码将在 amazon.aws 集合的 4.0.0 版本中移除。任何基于 boto 库的 amazon.aws 和 community.aws 集合之外的模块都需要迁移到 boto3/botocore 库 (https://github.com/ansible-collections/amazon.aws/pull/575)。

cisco.ios

  • 弃用 lldp 模块。

  • ios_acls - 已弃用添加布尔值的 fragment 属性,作为 enable_fragment。

cisco.nxos

  • 已弃用 nxos_snmp_community 模块。

  • 已弃用 nxos_snmp_contact 模块。

  • 已弃用 nxos_snmp_host 模块。

  • 已弃用 nxos_snmp_location 模块。

  • 已弃用 nxos_snmp_traps 模块。

  • 已弃用 nxos_snmp_user 模块。

community.docker

community.general

community.hashi_vault

community.network

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

junipernetworks.junos

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

purestorage.flasharray

  • purefa_sso - 已弃用,转而支持 M(purefa_admin)。将在集合 2.0 中移除