Ansible 2.9 移植指南
本节讨论 Ansible 2.8 和 Ansible 2.9 之间的行为更改。
它旨在帮助更新您的剧本、插件和 Ansible 基础设施的其他部分,使其与 Ansible 的此版本兼容。
我们建议您阅读本页面以及 Ansible 2.9 的更改日志,以了解您可能需要进行哪些更新。
本文件是移植集合的一部分。移植指南的完整列表可在 移植指南 中找到。
剧本
清单
hash_behaviour
现在会影响清单来源。如果您将其设置为merge
,您从清单获得的数据可能会发生更改,您需要相应地更新剧本。如果您使用默认设置 (overwrite
),您将不会看到任何更改。清单以前会忽略此设置。
循环
Ansible 2.9 更稳健地处理“不安全”数据,确保标记为“不安全”的数据不会被模板化。在以前版本中,Ansible 会递归地将通过直接使用 lookup()
返回的所有数据标记为“不安全”,但仅将通过使用 with_X
风格循环的间接查找返回的结构化数据标记为“不安全”,前提是返回的元素是字符串。Ansible 2.9 对这两种方法进行了一致的处理。
因此,如果您使用 with_dict
返回带有可模板化值的键,则您的模板在 Ansible 2.9 中可能不再按预期工作。
要允许旧行为,请从使用 with_X
切换到使用带过滤器的 loop
,如 从 with_X 迁移到 loop 中所述。
命令行
Galaxy 令牌文件的位置已从
~/.ansible_galaxy
更改为~/.ansible/galaxy_token
。您可以使用 GALAXY_TOKEN_PATH 配置来配置路径和文件名。
已弃用
没有明显的变化
集合加载器更改
在 Ansible 2.9 版本中,从集合导入 PowerShell 或 C# 模块实用程序的方式发生了更改。在 Ansible 2.8 中,实用程序使用以下语法导入
#AnsibleRequires -CSharpUtil AnsibleCollections.namespace_name.collection_name.util_filename
#AnsibleRequires -PowerShell AnsibleCollections.namespace_name.collection_name.util_filename
在 Ansible 2.9 中,这已更改为
#AnsibleRequires -CSharpUtil ansible_collections.namespace_name.collection_name.plugins.module_utils.util_filename
#AnsibleRequires -PowerShell ansible_collections.namespace_name.collection_name.plugins.module_utils.util_filename
集合导入名称的更改还要求所有 C# 实用程序命名空间使用更新的名称格式进行更新。这更加冗长,但旨在确保我们避免不同插件类型之间的插件名称冲突,并使 PowerShell 中的导入方式与 Python 模块的导入方式标准化。
模块
win_get_url
和win_uri
模块现在使用默认的User-Agent
为ansible-httpget
发送请求。这可以通过使用http_agent
键来更改。apt
模块现在在安装自己的依赖项时尊重update_cache=false
并跳过缓存更新。显式设置update_cache=true
或省略参数update_cache
将导致在安装自己的依赖项时进行缓存更新。Ansible 的 2.9.12 版本将基于文件的任务的默认模式更改为
0o600 & ~umask
,前提是用户在基于文件的任务上未指定mode
参数。这是对 CVE 报告的回应,我们已经重新考虑了。因此,模式更改已在 2.9.13 中恢复,模式现在将默认设置为0o666 & ~umask
,就像 Ansible 的先前版本一样。如果您在使用 2.9.12 时更改了任何任务以指定权限限制较少,则这些更改在 2.9.13 中将不再需要(但不会造成任何伤害)。
为了避免 CVE-2020-1736 中提出的问题,请在所有接受它的基于文件的任务中指定
mode
参数。dnf
和yum
- 从 2.9.13 版本开始,dnf
模块(以及使用dnf
的yum
操作)现在可以正确验证包的 GPG 签名(CVE-2020-14365)。如果您看到类似Failed to validate GPG signature for [package name]
的错误,请确保您已为正在使用的 DNF 存储库和/或包导入了正确的 GPG 密钥。一种方法是使用rpm_key
模块。虽然我们不鼓励这样做,但在某些情况下,可能需要禁用 GPG 检查。这可以通过在您的dnf
或yum
任务中显式添加disable_gpg_check: yes
来完成。
从 _facts
重命名为 _info
Ansible 2.9 将许多模块从 <something>_facts
重命名为 <something>_info
,因为这些模块不返回 Ansible 事实。Ansible 事实与特定主机相关。例如,网络接口的配置、Unix 服务器上的操作系统以及 Windows 机器上安装的软件包列表都是 Ansible 事实。已重命名的模块返回的值不是主机独有的。例如,云提供商的帐户信息或区域数据。重命名这些模块应该可以更清楚地了解每组模块提供的返回值类型。
编写模块
模块和 module_utils 文件现在可以使用相对导入来包含其他 module_utils 文件。这对于缩短长导入行很有用,尤其是在集合中。
在集合中使用相对导入的示例
# File: ansible_collections/my_namespace/my_collection/plugins/modules/my_module.py # Old way to use an absolute import to import module_utils from the collection: from ansible_collections.my_namespace.my_collection.plugins.module_utils import my_util # New way using a relative import: from ..module_utils import my_util
与 Ansible 一起提供的模块和 module_utils 也可以使用相对导入,但节省的程度较小
# File: ansible/modules/system/ping.py # Old way to use an absolute import to import module_utils from core: from ansible.module_utils.basic import AnsibleModule # New way using a relative import: from ...module_utils.basic import AnsibleModule
每个句点 (
.
) 代表树的一级(相当于文件系统相对链接中的../
)。另请参阅
Python 相对导入文档 更详细地介绍了如何编写相对导入。
已删除的模块
以下模块已不存在
Apstra 的
aos_*
模块。查看新模块,请访问 https://github.com/apstra。ec2_ami_find 使用 ec2_ami_facts 替代。
kubernetes 使用 k8s 替代。
nxos_ip_interface 使用 nxos_l3_interface 替代。
nxos_portchannel 使用 nxos_linkagg 替代。
nxos_switchport 使用 nxos_l2_interface 替代。
oc 使用 k8s 替代。
panos_nat_policy 使用 panos_nat_rule 替代。
panos_security_policy 使用 panos_security_rule 替代。
vsphere_guest 使用 vmware_guest 替代。
弃用通知
以下模块将在 Ansible 2.13 中移除。请相应地更新您的剧本。
cs_instance_facts 使用 cs_instance_info 替代。
cs_zone_facts 使用 cs_zone_info 替代。
digital_ocean_sshkey_facts 使用 digital_ocean_sshkey_info 替代。
eos_interface 使用 eos_interfaces 替代。
eos_l2_interface 使用 eos_l2_interfaces 替代。
eos_l3_interface 使用 eos_l3_interfaces 替代。
eos_linkagg 使用 eos_lag_interfaces 替代。
eos_lldp_interface 使用 eos_lldp_interfaces 替代。
eos_vlan 使用 eos_vlans 替代。
ios_interface 使用 ios_interfaces 替代。
ios_l2_interface 使用 ios_l2_interfaces 替代。
ios_l3_interface 使用 ios_l3_interfaces 替代。
ios_vlan 使用 ios_vlans 替代。
iosxr_interface 使用 iosxr_interfaces 替代。
junos_interface 使用 junos_interfaces 替代。
junos_l2_interface 使用 junos_l2_interfaces 替代。
junos_l3_interface 使用 junos_l3_interfaces 替代。
junos_linkagg 使用 junos_lag_interfaces 替代。
junos_lldp 使用 junos_lldp_global 替代。
junos_lldp_interface 使用 junos_lldp_interfaces 替代。
junos_vlan 使用 junos_vlans 替代。
lambda_facts 使用 lambda_info 替代。
na_ontap_gather_facts 使用 na_ontap_info 替代。
net_banner 使用特定于平台的 [netos]_banner 模块替代。
net_interface 使用新的特定于平台的 [netos]_interfaces 模块替代。
net_l2_interface 使用新的特定于平台的 [netos]_l2_interfaces 模块替代。
net_l3_interface 使用新的特定于平台的 [netos]_l3_interfaces 模块替代。
net_linkagg 使用新的特定于平台的 [netos]_lag 模块替代。
net_lldp 使用新的特定于平台的 [netos]_lldp_global 模块替代。
net_lldp_interface 使用新的特定于平台的 [netos]_lldp_interfaces 模块替代。
net_logging 使用特定于平台的 [netos]_logging 模块替代。
net_static_route 使用特定于平台的 [netos]_static_route 模块替代。
net_system 使用特定于平台的 [netos]_system 模块替代。
net_user 使用特定于平台的 [netos]_user 模块替代。
net_vlan 使用新的特定于平台的 [netos]_vlans 模块替代。
net_vrf 使用特定于平台的 [netos]_vrf 模块替代。
nginx_status_facts 使用 nginx_status_info 替代。
nxos_interface 使用 nxos_interfaces 替代。
nxos_l2_interface 使用 nxos_l2_interfaces 替代。
nxos_l3_interface 使用 nxos_l3_interfaces 替代。
nxos_linkagg 使用 nxos_lag_interfaces 替代。
nxos_vlan 使用 nxos_vlans 替代。
online_server_facts 使用 online_server_info 替代。
online_user_facts 使用 online_user_info 替代。
purefa_facts 使用 purefa_info 替代。
purefb_facts 使用 purefb_info 替代。
scaleway_image_facts 使用 scaleway_image_info 替代。
scaleway_ip_facts 使用 scaleway_ip_info 替代。
scaleway_organization_facts 使用 scaleway_organization_info 替代。
scaleway_security_group_facts 使用 scaleway_security_group_info 替代。
scaleway_server_facts 使用 scaleway_server_info 替代。
scaleway_snapshot_facts 使用 scaleway_snapshot_info 替代。
scaleway_volume_facts 使用 scaleway_volume_info 替代。
vcenter_extension_facts 使用 vcenter_extension_info 替代。
vmware_about_facts 使用 vmware_about_info 替代。
vmware_category_facts 使用 vmware_category_info 替代。
vmware_drs_group_facts 使用 vmware_drs_group_info 替代。
vmware_drs_rule_facts 使用 vmware_drs_rule_info 替代。
vmware_dvs_portgroup_facts 使用 vmware_dvs_portgroup_info 替代。
vmware_guest_boot_facts 使用 vmware_guest_boot_info 代替。
vmware_guest_customization_facts 使用 vmware_guest_customization_info 代替。
vmware_guest_disk_facts 使用 vmware_guest_disk_info 代替。
vmware_host_capability_facts 使用 vmware_host_capability_info 代替。
vmware_host_config_facts 使用 vmware_host_config_info 代替。
vmware_host_dns_facts 使用 vmware_host_dns_info 代替。
vmware_host_feature_facts 使用 vmware_host_feature_info 代替。
vmware_host_firewall_facts 使用 vmware_host_firewall_info 代替。
vmware_host_ntp_facts 使用 vmware_host_ntp_info 代替。
vmware_host_package_facts 使用 vmware_host_package_info 代替。
vmware_host_service_facts 使用 vmware_host_service_info 代替。
vmware_host_ssl_facts 使用 vmware_host_ssl_info 代替。
vmware_host_vmhba_facts 使用 vmware_host_vmhba_info 代替。
vmware_host_vmnic_facts 使用 vmware_host_vmnic_info 代替。
vmware_local_role_facts 使用 vmware_local_role_info 代替。
vmware_local_user_facts 使用 vmware_local_user_info 代替。
vmware_portgroup_facts 使用 vmware_portgroup_info 代替。
vmware_resource_pool_facts 使用 vmware_resource_pool_info 代替。
vmware_target_canonical_facts 使用 vmware_target_canonical_info 代替。
vmware_vmkernel_facts 使用 vmware_vmkernel_info 代替。
vmware_vswitch_facts 使用 vmware_vswitch_info 代替。
vultr_account_facts 使用 vultr_account_info 代替。
vultr_block_storage_facts 使用 vultr_block_storage_info 代替。
vultr_dns_domain_facts 使用 vultr_dns_domain_info 代替。
vultr_firewall_group_facts 使用 vultr_firewall_group_info 代替。
vultr_network_facts 使用 vultr_network_info 代替。
vultr_os_facts 使用 vultr_os_info 代替。
vultr_plan_facts 使用 vultr_plan_info 代替。
vultr_region_facts 使用 vultr_region_info 代替。
vultr_server_facts 使用 vultr_server_info 代替。
vultr_ssh_key_facts 使用 vultr_ssh_key_info 代替。
vultr_startup_script_facts 使用 vultr_startup_script_info 代替。
vultr_user_facts 使用 vultr_user_info 代替。
vyos_interface 使用 vyos_interfaces 代替。
vyos_l3_interface 使用 vyos_l3_interfaces 代替。
vyos_linkagg 使用 vyos_lag_interfaces 代替。
vyos_lldp 使用 vyos_lldp_global 代替。
vyos_lldp_interface 使用 vyos_lldp_interfaces 代替。
以下功能将在 Ansible 2.12 中移除。请根据需要更新您的 playbook。
vmware_cluster
DRS、HA 和 VSAN 配置;使用 vmware_cluster_drs、vmware_cluster_ha 和 vmware_cluster_vsan 代替。
以下功能将在 Ansible 2.13 中移除。请根据需要更新您的 playbook。
openssl_certificate
不再支持assertonly
提供程序。请查看 openssl_certificate 文档示例,了解如何使用 openssl_certificate_info、openssl_csr_info、openssl_privatekey_info 和 assert 模块替换提供程序。
对于以下模块,基于 PyOpenSSL 的后端 pyopenssl
已被弃用,并将从 Ansible 2.13 中移除
重命名模块
以下模块已重命名。旧名称已被弃用,并将从 Ansible 2.13 中移除。请根据需要更新您的 playbook。
模块
ali_instance_facts
已重命名为 ali_instance_info。模块
aws_acm_facts
已重命名为 aws_acm_info。模块
aws_az_facts
已重命名为 aws_az_info。模块
aws_caller_facts
已重命名为 aws_caller_info。模块
aws_kms_facts
已重命名为 aws_kms_info。模块
aws_region_facts
已重命名为 aws_region_info。模块
aws_s3_bucket_facts
已重命名为 aws_s3_bucket_info。使用新名称调用时,模块不再返回ansible_facts
。要访问返回值,请 注册变量。模块
aws_sgw_facts
已重命名为 aws_sgw_info。模块
aws_waf_facts
已重命名为 aws_waf_info。模块
azure_rm_aks_facts
已重命名为 azure_rm_aks_info。模块
azure_rm_aksversion_facts
已重命名为 azure_rm_aksversion_info。模块
azure_rm_applicationsecuritygroup_facts
已重命名为 azure_rm_applicationsecuritygroup_info。模块
azure_rm_appserviceplan_facts
已重命名为 azure_rm_appserviceplan_info。模块
azure_rm_automationaccount_facts
已重命名为 azure_rm_automationaccount_info。模块
azure_rm_autoscale_facts
已重命名为 azure_rm_autoscale_info。模块
azure_rm_availabilityset_facts
已重命名为 azure_rm_availabilityset_info。模块
azure_rm_cdnendpoint_facts
已重命名为 azure_rm_cdnendpoint_info。模块
azure_rm_cdnprofile_facts
已重命名为 azure_rm_cdnprofile_info。模块
azure_rm_containerinstance_facts
已重命名为 azure_rm_containerinstance_info。模块
azure_rm_containerregistry_facts
已重命名为 azure_rm_containerregistry_info。模块
azure_rm_cosmosdbaccount_facts
已重命名为 azure_rm_cosmosdbaccount_info。模块
azure_rm_deployment_facts
已重命名为 azure_rm_deployment_info。模块
azure_rm_resourcegroup_facts
已重命名为 azure_rm_resourcegroup_info。模块
bigip_device_facts
已重命名为 bigip_device_info。模块
bigiq_device_facts
已重命名为 bigiq_device_info。模块
cloudformation_facts
已重命名为 cloudformation_info。使用新名称调用该模块时,它不再返回ansible_facts
。要访问返回值,请 注册一个变量。模块
cloudfront_facts
已重命名为 cloudfront_info。使用新名称调用该模块时,它不再返回ansible_facts
。要访问返回值,请 注册一个变量。模块
cloudwatchlogs_log_group_facts
已重命名为 cloudwatchlogs_log_group_info。模块
digital_ocean_account_facts
已重命名为 digital_ocean_account_info。模块
digital_ocean_certificate_facts
已重命名为 digital_ocean_certificate_info。模块
digital_ocean_domain_facts
已重命名为 digital_ocean_domain_info。模块
digital_ocean_firewall_facts
已重命名为 digital_ocean_firewall_info。模块
digital_ocean_floating_ip_facts
已重命名为 digital_ocean_floating_ip_info。模块
digital_ocean_image_facts
已重命名为 digital_ocean_image_info。模块
digital_ocean_load_balancer_facts
已重命名为 digital_ocean_load_balancer_info。模块
digital_ocean_region_facts
已重命名为 digital_ocean_region_info。模块
digital_ocean_size_facts
已重命名为 digital_ocean_size_info。模块
digital_ocean_snapshot_facts
已重命名为 digital_ocean_snapshot_info。模块
digital_ocean_tag_facts
已重命名为 digital_ocean_tag_info。模块
digital_ocean_volume_facts
已重命名为 digital_ocean_volume_info。模块
ec2_ami_facts
已重命名为 ec2_ami_info。模块
ec2_asg_facts
已重命名为 ec2_asg_info。模块
ec2_customer_gateway_facts
已重命名为 ec2_customer_gateway_info。模块
ec2_eip_facts
已重命名为 ec2_eip_info。模块
ec2_elb_facts
已重命名为 ec2_elb_info。模块
ec2_eni_facts
已重命名为 ec2_eni_info。模块
ec2_group_facts
已重命名为 ec2_group_info。模块
ec2_instance_facts
已重命名为 ec2_instance_info。模块
ec2_lc_facts
已重命名为 ec2_lc_info。模块
ec2_placement_group_facts
已重命名为 ec2_placement_group_info。模块
ec2_snapshot_facts
已重命名为 ec2_snapshot_info。模块
ec2_vol_facts
已重命名为 ec2_vol_info。模块
ec2_vpc_dhcp_option_facts
已重命名为 ec2_vpc_dhcp_option_info。模块
ec2_vpc_endpoint_facts
已重命名为 ec2_vpc_endpoint_info。模块
ec2_vpc_igw_facts
已重命名为 ec2_vpc_igw_info。模块
ec2_vpc_nacl_facts
已重命名为 ec2_vpc_nacl_info。模块
ec2_vpc_nat_gateway_facts
已重命名为 ec2_vpc_nat_gateway_info。模块
ec2_vpc_net_facts
已重命名为 ec2_vpc_net_info。模块
ec2_vpc_peering_facts
已重命名为 ec2_vpc_peering_info。模块
ec2_vpc_route_table_facts
已重命名为 ec2_vpc_route_table_info。模块
ec2_vpc_subnet_facts
已重命名为 ec2_vpc_subnet_info。模块
ec2_vpc_vgw_facts
已重命名为 ec2_vpc_vgw_info。模块
ec2_vpc_vpn_facts
已重命名为 ec2_vpc_vpn_info。模块
ecs_service_facts
已重命名为 ecs_service_info。 使用新名称调用模块时,模块不再返回ansible_facts
。 要访问返回值,请 注册变量。模块
ecs_taskdefinition_facts
已重命名为 ecs_taskdefinition_info。模块
efs_facts
已重命名为 efs_info。 使用新名称调用模块时,模块不再返回ansible_facts
。 要访问返回值,请 注册变量。模块
elasticache_facts
已重命名为 elasticache_info。模块
elb_application_lb_facts
已重命名为 elb_application_lb_info。模块
elb_classic_lb_facts
已重命名为 elb_classic_lb_info。模块
elb_target_facts
已重命名为 elb_target_info。模块
elb_target_group_facts
已重命名为 elb_target_group_info。模块
gcp_bigquery_dataset_facts
已重命名为 gcp_bigquery_dataset_info。模块
gcp_bigquery_table_facts
已重命名为 gcp_bigquery_table_info。模块
gcp_cloudbuild_trigger_facts
已重命名为 gcp_cloudbuild_trigger_info。模块
gcp_compute_address_facts
已重命名为 gcp_compute_address_info。模块
gcp_compute_backend_bucket_facts
已重命名为 gcp_compute_backend_bucket_info。模块
gcp_compute_backend_service_facts
已重命名为 gcp_compute_backend_service_info。模块
gcp_compute_disk_facts
已重命名为 gcp_compute_disk_info。模块
gcp_compute_firewall_facts
已重命名为 gcp_compute_firewall_info。模块
gcp_compute_forwarding_rule_facts
已重命名为 gcp_compute_forwarding_rule_info。模块
gcp_compute_global_address_facts
已重命名为 gcp_compute_global_address_info。模块
gcp_compute_global_forwarding_rule_facts
已重命名为 gcp_compute_global_forwarding_rule_info。模块
gcp_compute_health_check_facts
已重命名为 gcp_compute_health_check_info。模块
gcp_compute_http_health_check_facts
已重命名为 gcp_compute_http_health_check_info。模块
gcp_compute_https_health_check_facts
已重命名为 gcp_compute_https_health_check_info。模块
gcp_compute_image_facts
已重命名为 gcp_compute_image_info。模块
gcp_compute_instance_facts
已重命名为 gcp_compute_instance_info。模块
gcp_compute_instance_group_facts
已重命名为 gcp_compute_instance_group_info。模块
gcp_compute_instance_group_manager_facts
已重命名为 gcp_compute_instance_group_manager_info。模块
gcp_compute_instance_template_facts
已重命名为 gcp_compute_instance_template_info。模块
gcp_compute_interconnect_attachment_facts
已重命名为 gcp_compute_interconnect_attachment_info。模块
gcp_compute_network_facts
已重命名为 gcp_compute_network_info。模块
gcp_compute_region_disk_facts
已重命名为 gcp_compute_region_disk_info。模块
gcp_compute_route_facts
已重命名为 gcp_compute_route_info。模块
gcp_compute_router_facts
已重命名为 gcp_compute_router_info。模块
gcp_compute_ssl_certificate_facts
已重命名为 gcp_compute_ssl_certificate_info。模块
gcp_compute_ssl_policy_facts
已重命名为 gcp_compute_ssl_policy_info。模块
gcp_compute_subnetwork_facts
已重命名为 gcp_compute_subnetwork_info。模块
gcp_compute_target_http_proxy_facts
已重命名为 gcp_compute_target_http_proxy_info。模块
gcp_compute_target_https_proxy_facts
已重命名为 gcp_compute_target_https_proxy_info。模块
gcp_compute_target_pool_facts
已重命名为 gcp_compute_target_pool_info。模块
gcp_compute_target_ssl_proxy_facts
已重命名为 gcp_compute_target_ssl_proxy_info。模块
gcp_compute_target_tcp_proxy_facts
已重命名为 gcp_compute_target_tcp_proxy_info。模块
gcp_compute_target_vpn_gateway_facts
已重命名为 gcp_compute_target_vpn_gateway_info。模块
gcp_compute_url_map_facts
已重命名为 gcp_compute_url_map_info。模块
gcp_compute_vpn_tunnel_facts
已重命名为 gcp_compute_vpn_tunnel_info。模块
gcp_container_cluster_facts
已重命名为 gcp_container_cluster_info。模块
gcp_container_node_pool_facts
已重命名为 gcp_container_node_pool_info。模块
gcp_dns_managed_zone_facts
已重命名为 gcp_dns_managed_zone_info。模块
gcp_dns_resource_record_set_facts
已重命名为 gcp_dns_resource_record_set_info。模块
gcp_iam_role_facts
已重命名为 gcp_iam_role_info。模块
gcp_iam_service_account_facts
已重命名为 gcp_iam_service_account_info。模块
gcp_pubsub_subscription_facts
已重命名为 gcp_pubsub_subscription_info。模块
gcp_pubsub_topic_facts
已重命名为 gcp_pubsub_topic_info。模块
gcp_redis_instance_facts
已重命名为 gcp_redis_instance_info。模块
gcp_resourcemanager_project_facts
已重命名为 gcp_resourcemanager_project_info。模块
gcp_sourcerepo_repository_facts
已重命名为 gcp_sourcerepo_repository_info。模块
gcp_spanner_database_facts
已重命名为 gcp_spanner_database_info。模块
gcp_spanner_instance_facts
已重命名为 gcp_spanner_instance_info。模块
gcp_sql_database_facts
已重命名为 gcp_sql_database_info。模块
gcp_sql_instance_facts
已重命名为 gcp_sql_instance_info。模块
gcp_sql_user_facts
已重命名为 gcp_sql_user_info。模块
gcp_tpu_node_facts
已重命名为 gcp_tpu_node_info。模块
gcpubsub_facts
已重命名为 gcpubsub_info。模块
github_webhook_facts
已重命名为 github_webhook_info。模块
gluster_heal_facts
已重命名为 gluster_heal_info。使用新名称调用时,该模块不再返回ansible_facts
。要访问返回值,请 注册一个变量。模块
hcloud_datacenter_facts
已重命名为 hcloud_datacenter_info。使用新名称调用时,该模块不再返回ansible_facts
。要访问返回值,请 注册一个变量。模块
hcloud_floating_ip_facts
已重命名为 hcloud_floating_ip_info。使用新名称调用时,该模块不再返回ansible_facts
。要访问返回值,请 注册一个变量。模块
hcloud_image_facts
已重命名为 hcloud_image_info。使用新名称调用时,该模块不再返回ansible_facts
。要访问返回值,请 注册一个变量。模块
hcloud_location_facts
已重命名为 hcloud_location_info。使用新名称调用时,该模块不再返回ansible_facts
。要访问返回值,请 注册一个变量。模块
hcloud_server_facts
已重命名为 hcloud_server_info。使用新名称调用模块后,模块不再返回ansible_facts
。要访问返回值,请 注册一个变量。模块
hcloud_server_type_facts
已重命名为 hcloud_server_type_info。使用新名称调用模块后,模块不再返回ansible_facts
。要访问返回值,请 注册一个变量。模块
hcloud_ssh_key_facts
已重命名为 hcloud_ssh_key_info。使用新名称调用模块后,模块不再返回ansible_facts
。要访问返回值,请 注册一个变量。模块
hcloud_volume_facts
已重命名为 hcloud_volume_info。使用新名称调用模块后,模块不再返回ansible_facts
。要访问返回值,请 注册一个变量。模块
hpilo_facts
已重命名为 hpilo_info。使用新名称调用模块后,模块不再返回ansible_facts
。要访问返回值,请 注册一个变量。模块
iam_mfa_device_facts
已重命名为 iam_mfa_device_info。模块
iam_role_facts
已重命名为 iam_role_info。模块
iam_server_certificate_facts
已重命名为 iam_server_certificate_info。模块
idrac_redfish_facts
已重命名为 idrac_redfish_info。使用新名称调用模块后,模块不再返回ansible_facts
。要访问返回值,请 注册一个变量。模块
intersight_facts
已重命名为 intersight_info。模块
jenkins_job_facts
已重命名为 jenkins_job_info。模块
k8s_facts
已重命名为 k8s_info。模块
memset_memstore_facts
已重命名为 memset_memstore_info。模块
memset_server_facts
已重命名为 memset_server_info。模块
one_image_facts
已重命名为 one_image_info。模块
onepassword_facts
已重命名为 onepassword_info。使用新名称调用模块后,模块不再返回ansible_facts
。要访问返回值,请 注册一个变量。模块
oneview_datacenter_facts
已重命名为 oneview_datacenter_info。使用新名称调用模块后,模块不再返回ansible_facts
。要访问返回值,请 注册一个变量。模块
oneview_enclosure_facts
已重命名为 oneview_enclosure_info。使用新名称调用模块后,模块不再返回ansible_facts
。要访问返回值,请 注册一个变量。模块
oneview_ethernet_network_facts
已重命名为 oneview_ethernet_network_info。使用新名称调用模块后,模块不再返回ansible_facts
。要访问返回值,请 注册一个变量。模块
oneview_fc_network_facts
已重命名为 oneview_fc_network_info。使用新名称调用模块后,模块不再返回ansible_facts
。要访问返回值,请 注册一个变量。模块
oneview_fcoe_network_facts
已重命名为 oneview_fcoe_network_info。使用新名称调用模块后,模块不再返回ansible_facts
。要访问返回值,请 注册一个变量。模块
oneview_logical_interconnect_group_facts
已重命名为 oneview_logical_interconnect_group_info。使用新名称调用模块后,模块不再返回ansible_facts
。要访问返回值,请 注册一个变量。模块
oneview_network_set_facts
已重命名为 oneview_network_set_info。使用新名称调用模块后,模块不再返回ansible_facts
。要访问返回值,请 注册一个变量。模块
oneview_san_manager_facts
已重命名为 oneview_san_manager_info。使用新名称调用模块后,模块不再返回ansible_facts
。要访问返回值,请 注册一个变量。模块
os_flavor_facts
已重命名为 os_flavor_info。使用新名称调用模块后,模块不再返回ansible_facts
。要访问返回值,请 注册一个变量。模块
os_image_facts
已重命名为 os_image_info。使用新名称调用模块后,模块不再返回ansible_facts
。要访问返回值,请 注册一个变量。模块
os_keystone_domain_facts
已重命名为 os_keystone_domain_info。使用新名称调用模块后,模块不再返回ansible_facts
。要访问返回值,请 注册一个变量。模块
os_networks_facts
已重命名为 os_networks_info。使用新名称调用模块后,模块不再返回ansible_facts
。要访问返回值,请 注册一个变量。模块
os_port_facts
已重命名为 os_port_info。使用新名称调用模块后,模块不再返回ansible_facts
。要访问返回值,请 注册一个变量。os_project_facts
模块已重命名为 os_project_info。使用新名称调用时,模块不再返回ansible_facts
。要访问返回值,请 注册变量。os_server_facts
模块已重命名为 os_server_info。使用新名称调用时,模块不再返回ansible_facts
。要访问返回值,请 注册变量。os_subnets_facts
模块已重命名为 os_subnets_info。使用新名称调用时,模块不再返回ansible_facts
。要访问返回值,请 注册变量。os_user_facts
模块已重命名为 os_user_info。使用新名称调用时,模块不再返回ansible_facts
。要访问返回值,请 注册变量。ovirt_affinity_label_facts
模块已重命名为 ovirt_affinity_label_info。使用新名称调用时,模块不再返回ansible_facts
。要访问返回值,请 注册变量。ovirt_api_facts
模块已重命名为 ovirt_api_info。使用新名称调用时,模块不再返回ansible_facts
。要访问返回值,请 注册变量。ovirt_cluster_facts
模块已重命名为 ovirt_cluster_info。使用新名称调用时,模块不再返回ansible_facts
。要访问返回值,请 注册变量。ovirt_datacenter_facts
模块已重命名为 ovirt_datacenter_info。使用新名称调用时,模块不再返回ansible_facts
。要访问返回值,请 注册变量。ovirt_disk_facts
模块已重命名为 ovirt_disk_info。使用新名称调用时,模块不再返回ansible_facts
。要访问返回值,请 注册变量。ovirt_event_facts
模块已重命名为 ovirt_event_info。使用新名称调用时,模块不再返回ansible_facts
。要访问返回值,请 注册变量。ovirt_external_provider_facts
模块已重命名为 ovirt_external_provider_info。使用新名称调用时,模块不再返回ansible_facts
。要访问返回值,请 注册变量。ovirt_group_facts
模块已重命名为 ovirt_group_info。使用新名称调用时,模块不再返回ansible_facts
。要访问返回值,请 注册变量。ovirt_host_facts
模块已重命名为 ovirt_host_info。使用新名称调用时,模块不再返回ansible_facts
。要访问返回值,请 注册变量。ovirt_host_storage_facts
模块已重命名为 ovirt_host_storage_info。使用新名称调用时,模块不再返回ansible_facts
。要访问返回值,请 注册变量。ovirt_network_facts
模块已重命名为 ovirt_network_info。使用新名称调用时,模块不再返回ansible_facts
。要访问返回值,请 注册变量。ovirt_nic_facts
模块已重命名为 ovirt_nic_info。使用新名称调用时,模块不再返回ansible_facts
。要访问返回值,请 注册变量。ovirt_permission_facts
模块已重命名为 ovirt_permission_info。使用新名称调用时,模块不再返回ansible_facts
。要访问返回值,请 注册变量。ovirt_quota_facts
模块已重命名为 ovirt_quota_info。使用新名称调用时,模块不再返回ansible_facts
。要访问返回值,请 注册变量。ovirt_scheduling_policy_facts
模块已重命名为 ovirt_scheduling_policy_info。使用新名称调用时,模块不再返回ansible_facts
。要访问返回值,请 注册变量。ovirt_snapshot_facts
模块已重命名为 ovirt_snapshot_info。使用新名称调用时,模块不再返回ansible_facts
。要访问返回值,请 注册变量。ovirt_storage_domain_facts
模块已重命名为 ovirt_storage_domain_info。使用新名称调用时,模块不再返回ansible_facts
。要访问返回值,请 注册变量。ovirt_storage_template_facts
模块已重命名为 ovirt_storage_template_info。使用新名称调用时,模块不再返回ansible_facts
。要访问返回值,请 注册变量。ovirt_storage_vm_facts
模块已重命名为 ovirt_storage_vm_info。使用新名称调用时,模块不再返回ansible_facts
。要访问返回值,请 注册变量。ovirt_tag_facts
模块已重命名为 ovirt_tag_info。使用新名称调用时,模块不再返回ansible_facts
。要访问返回值,请 注册变量。ovirt_template_facts
模块已重命名为 ovirt_template_info。使用新名称调用时,模块不再返回ansible_facts
。要访问返回值,请 注册变量。模块
ovirt_user_facts
已重命名为 ovirt_user_info。 使用新名称调用该模块后,它将不再返回ansible_facts
。 要访问返回值,请 注册一个变量。模块
ovirt_vm_facts
已重命名为 ovirt_vm_info。 使用新名称调用该模块后,它将不再返回ansible_facts
。 要访问返回值,请 注册一个变量。模块
ovirt_vmpool_facts
已重命名为 ovirt_vmpool_info。 使用新名称调用该模块后,它将不再返回ansible_facts
。 要访问返回值,请 注册一个变量。模块
python_requirements_facts
已重命名为 python_requirements_info。模块
rds_instance_facts
已重命名为 rds_instance_info。模块
rds_snapshot_facts
已重命名为 rds_snapshot_info。模块
redfish_facts
已重命名为 redfish_info。 使用新名称调用该模块后,它将不再返回ansible_facts
。 要访问返回值,请 注册一个变量。模块
redshift_facts
已重命名为 redshift_info。模块
route53_facts
已重命名为 route53_info。模块
smartos_image_facts
已重命名为 smartos_image_info。 使用新名称调用该模块后,它将不再返回ansible_facts
。 要访问返回值,请 注册一个变量。模块
vertica_facts
已重命名为 vertica_info。 使用新名称调用该模块后,它将不再返回ansible_facts
。 要访问返回值,请 注册一个变量。模块
vmware_cluster_facts
已重命名为 vmware_cluster_info。模块
vmware_datastore_facts
已重命名为 vmware_datastore_info。模块
vmware_guest_facts
已重命名为 vmware_guest_info。模块
vmware_guest_snapshot_facts
已重命名为 vmware_guest_snapshot_info。模块
vmware_tag_facts
已重命名为 vmware_tag_info。模块
vmware_vm_facts
已重命名为 vmware_vm_info。模块
xenserver_guest_facts
已重命名为 xenserver_guest_info。模块
zabbix_group_facts
已重命名为 zabbix_group_info。模块
zabbix_host_facts
已重命名为 zabbix_host_info。
值得注意的模块更改
vmware_cluster 已重构,以便更易于维护/修复错误。 使用三个新的专用模块来配置集群。 使用 vmware_cluster_drs 配置 DRS,使用 vmware_cluster_ha 配置 HA,并使用 vmware_cluster_vsan 配置 vSAN。
vmware_dvswitch 接受
folder
参数,以将 dvswitch 放置在用户定义的文件夹中。 此选项使datacenter
成为可选参数。vmware_datastore_cluster 接受
folder
参数,以将数据存储集群放置在用户定义的文件夹中。 此选项使datacenter
成为可选参数。mysql_db 在
db
参数之外,还返回新的db_list
参数。 此db_list
参数指的是数据库名称列表。db
参数将在 2.13 版中弃用。snow_record 和 snow_record_find 现在接受用于
instance
、username
和password
参数的环境变量。 此更改将这些参数标记为可选。已弃用的
force
选项已从win_firewall_rule
中删除。openssl_certificate 的
ownca
提供程序会在未显式禁用ownca_create_authority_key_identifier: no
的情况下创建颁发机构密钥标识符。 这仅适用于cryptography
后端,如果cryptography
库可用,则该后端默认选择。openssl_certificate 的
ownca
和selfsigned
提供程序在未显式禁用ownca_create_subject_key_identifier: never_create
(分别为selfsigned_create_subject_key_identifier: never_create
)的情况下创建主体密钥标识符。 如果 CSR 提供了主体密钥标识符,则将使用该标识符;否则,将从公钥创建该标识符。 这仅适用于cryptography
后端,如果cryptography
库可用,则该后端默认选择。openssh_keypair 现在将相同的文件权限和所有权应用于公钥和私钥(两者都获得相同的
mode
、owner
、group
等等)。 如果您需要更改一个密钥的权限/所有权,请在创建后使用 file 来修改它。
插件
已删除的查找插件
redis_kv
使用 redis 代替。
移植自定义脚本
没有明显的变化
网络
网络资源模块
Ansible 2.9 引入了第一批网络资源模块。网络设备配置的各个部分可以被认为是该设备提供的资源。网络资源模块的范围被有意地限定为配置单个资源,您可以将它们组合起来作为构建块来配置复杂的网络服务。旧模块在 Ansible 2.9 中已弃用,将在 Ansible 2.13 中删除。您应该扫描上面列出的已弃用模块列表,并在您的剧本中用新的网络资源模块替换它们。有关详细信息,请参阅 Ansible 2.9 中的网络功能。
改进的 gather_facts
对网络设备的支持
在 Ansible 2.9 中,gather_facts
关键字现在支持以标准化的键值对收集网络设备事实。您可以将这些网络事实馈送到后续任务中以管理网络设备。您也可以使用新的 gather_network_resources
参数与网络 *_facts
模块(例如 eos_facts)一起使用,以仅返回设备配置的子集。有关示例,请参阅 从网络设备收集事实。
2.9 中删除的顶级连接参数
顶级连接参数(如 username
、host
和 password
)在 2.9 版本中被删除。
旧 在 Ansible < 2.4 中
- name: example of using top-level options for connection properties
ios_command:
commands: show version
host: "{{ inventory_hostname }}"
username: cisco
password: cisco
authorize: yes
auth_pass: cisco
将您的剧本更改为连接类型 network_cli
和 netconf
,使用标准的 Ansible 连接属性,并在清单中按组设置这些属性。当您更新您的剧本和清单文件时,您可以轻松地将更改为 become
以进行特权升级(在支持它的平台上)。有关更多信息,请参阅 在网络模块中使用 become 指南和 平台文档。