Ansible 2.9 移植ガイド

このセクションでは、Ansible 2.8 と Ansible 2.9 での動作の変更点について説明します。

本書では、このバージョンの Ansible で動作するように、Playbook、プラグイン、その他の Ansible インフラストラクチャーの更新を支援することが目的です。

このページと、Ansible Changelog for 2.9 をお読みいただくと、必要な更新を理解できます。

このドキュメントは、移植ガイドに関するコレクションの一部です。移植ガイドの完全なリストは、『移植ガイド』を参照してください。

Playbook

インベントリー

  • インベントリーソースが hash_behaviour からの影響を受けるようになりました。Playbook を merge に設定している場合には、インベントリーから取得するデータが変更される可能性があるため、それに合わせて Playbook を更新する必要があります。デフォルト設定 (overwrite) を使用する場合は、変更はありません。以前は、インベントリーは、この設定を無視していました。

ループ

Ansible 2.9 は、「安全でない」データをより確実に処理して、「安全でない」とマークされたデータがテンプレート化されるのを防ぎます。以前の Ansible バージョンでは、lookup() を直接使用して返された全データに、再帰的に「安全でない」というマークを付けていましたが、返される要素が文字列の場合には、with_X のスタイルループを使用してルックアップを間接的に使用して返された構造化データにだけ「安全でない」というマークを付けていました。Ansible 2.9 では、これら 2 つのアプローチを整合的に処理するようになりました。

その結果、with_dict を使用して、テンプレート化できる値とキーが返された場合には、テンプレートは Ansible 2.9 では想定どおりに動作しなくなる可能性があります。

以前と同じ動作を可能にするには、with_X から、with_X から loop への移行 で説明しているようなフィルターを付けた loop を使用するように切り替えてください。

コマンドライン

  • Galaxy トークンファイルの場所が ~/.ansible_galaxy から ~/.ansible/galaxy_token に変更されました。GALAXY_TOKEN_PATH 設定を使用して、パスとファイル名の両方を設定できます。

非推奨

主な変更はありません。

コレクションローダーの変更

コレクションから PowerShell モジュールまたは C# モジュールのユーティリティーをインポートする方法は、Ansible 2.9 リリースで変更になりました。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# ユーティリティーの名前空間を更新する必要があります。これは、より詳細で、さまざまな種類のプラグインの中で、プラグイン名の競合を回避し、Python モジュールの仕組みでインポートが PowerShell でどのように機能するかを標準化するために作られました。

モジュール

  • 今回のリリースでは、win_get_url および win_uri モジュールは、ansible-httpget のデフォルトの User-Agent でリクエストを送信するようになりました。これは、http_agent キーを使用して変更できます。
  • 今回のリリースでは、apt モジュールは、独自の依存関係をインストールする場合に update_cache = false を尊重してキャッシュの更新をスキップするようになりました。update_cache = true を明示的に設定するか、パラメーター update_cache を省略すると、独自の依存関係をインストールする場合にキャッシュが更新されるようになります。

_facts から _info への名前変更

モジュールにより Ansible ファクト が返されないため、Ansible 2.9 では多くのモジュールの名前が <something>_facts から <something>_info に変更になりました。Ansible ファクトは特定のホストに関連しています。たとえば、ネットワークインターフェースの構成、UNIX サーバーのオペレーティングシステム、Windows ボックスにインストールされているパッケージのリストは、すべて Ansible ファクトです。名前が変更されたモジュールが返す値は、ホスト固有ではありません。たとえば、クラウドプロバイダーの地域データまたはアカウント情報などです。これらのモジュール名を変更すると、各モジュールセットが提供する戻り値のタイプが、より明確になります。

モジュールの記述

  • 今回のリリースでは、モジュールおよび module_utils ファイルは、相対インポートを使用して他の module_utils ファイルを含めることができるようになりました。 これは、特にコレクションで、長いインポート行を短縮するのに役立ちます。

    コレクションで相対インポートを使用する例:

    # ファイル: ansible_collections/my_namespace/my_collection/plugins/modules/my_module.py
    # 絶対インポートを使用してコレクションから module_utils をインポートする従来の手法:
    from ansible_collections.my_namespace.my_collection.plugins.module_utils import my_util
    # 相対インポートを使用する新しい手法:
    from ..module_utils import my_util
    

    Ansible に同梱されているモジュールと module_utils では、相対インポートも使用できますが、 短縮される量は少なくなります。

    # ファイル: ansible/modules/system/ping.py
    # 絶対インポートを使用してコアから module_utils をインポートする従来の手法:
    from ansible.module_utils.basic import AnsibleModule
    # 相対インポートを使用する新しい手法:
    from ...module_utils.basic import AnsibleModule
    

    単一ドット (.) はそれぞれツリーの 1 レベルを表します (ファイルシステムの相対リンクの ../ に相当)。

    See also

    The Python Relative Import Docs では、相対インポートの記述方法をさらに詳しく説明しています。

削除されたモジュール

次のモジュールはもう存在していません。

  • Apstra の aos_ * モジュール。 新しいモジュールは、https://github.com/apstra を参照してください。
  • ec2_ami_find では、代わりに ec2_ami_facts が使用されます。
  • kubernetes では、代わりに k8s_raw が使用されます。
  • nxos_ip_interface では、代わりに nxos_l3_interface が使用されます。
  • nxos_portchannel では、代わりに nxos_linkagg が使用されます。
  • nxos_switchport では、代わりに nxos_l2_interface が使用されます。
  • oc では、代わりに openshift_raw が使用されます。
  • panos_nat_policy では、代わりに panos_nat_rule が使用されます。
  • panos_security_policy では、代わりに panos_security_rule が使用されます。
  • vsphere_guest では、代わりに vmware_guest が使用されます。

非推奨のお知らせ

次のモジュールは、Ansible 2.13 で削除されます。Playbook を随時、更新してください。

  • 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 を随時、更新してください。

次の機能は、Ansible 2.13 で削除されます。Playbook を随時、更新してください。

以下のモジュールは、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 モジュールの名前が:ref:gcp_compute_instance_info <gcp_compute_instance_info_module> に変更されました。
  • 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 モジュールの名前が:ref: gcp_compute_interconnect_attachment_info <gcp_compute_interconnect_attachment_info_module> に変更されました。
  • 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 がリファクタリングされ、メンテナンス/バグ修正が容易になりました。クラスターの構成には、新しい 3 つの特殊なモジュールを使用します。DRS は vmware_cluster_drs で設定し、HA は vmware_cluster_ha で設定し、vSAN は vmware_cluster_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 パラメーターの環境変数を取得するようになりました。この変更により、これらのパラメーターはオプションとしてマークされます。
  • 非推奨となっていた win_firewall_ruleforce オプションは削除されました。
  • openssl_certificateownca プロバイダーは、ownca_create_authority_key_identifier: no で明示的に無効にされていない限り、認証局キー識別子を作成します。これが当てはまるのは cryptography バックエンドの場合のみです (cryptography ライブラリーが使用可能になっているときには、これがデフォルトで選択されています)。
  • openssl_certificateownca プロバイダーおよび selfsigned プロバイダーは、それぞれ ownca_create_subject_key_identifier: never_create および selfsigned_create_subject_key_identifier: never_create で明示的に無効にされていない限り、サブジェクトキー識別子を作成します。CSR でサブジェクトキー識別子を指定している場合にはその識別子が取得され、指定されていない場合は公開鍵から作成されます。これが当てはまるのは cryptography バックエンドの場合のみです (cryptography ライブラリーが使用可能になっているときには、これがデフォルトで選択されています)。
  • このバージョンでは、openssh_keypair は、公開鍵と秘密鍵の両方に、同じファイルパーミッションと所有権を適用するようになりました (両方とも同じ modeownergroup などを取得します)。1 つの鍵のパーミッション/所有権を変更する必要がある場合は、file を使用して、作成後に変更を行います。

プラグイン

削除されたルックアッププラグイン

  • redis_kv では、代わりに redis が使用されます。

カスタムスクリプトの移植

主な変更はありません。

ネットワーキング

ネットワークリソースモジュール

Ansible 2.9 で、ネットワークリソースモジュールの最初のバッチが導入されました。ネットワークデバイスの構成のセクションは、そのネットワークデバイスが提供するリソースと考えることができます。ネットワークリソースモジュールは、単一のリソースを構成するように意図的にスコープされています。このモジュールをビルディングブロックとして組み合わせることで、複雑なネットワークサービスを構成できます。従来のモジュールは Ansible 2.9 で非推奨となり、Ansible 2.13 で削除される予定です。上記の非推奨になったモジュールのリストに目を通して、Playbook で新しいネットワークリソースモジュールに置き換えてください。詳細は、「Ansible Network Features in 2.9」を参照してください。

ネットワークデバイスの gather_facts サポートの改善

Ansible 2.9 では、gather_facts キーワードが、標準化された鍵と値のペアでネットワークデバイスファクトの収集に対応するようになりました。これらのネットワークファクトをさらにタスクに送信して、ネットワークデバイスを管理できます。また、新しい gather_network_resources パラメーターを、ネットワークの *_facts モジュール (eos_facts など) とともに使用すると、デバイス設定のサブセットのみを返すことができます。 この例は、ネットワークデバイスからのファクトの収集 を参照してください。

2.9 で削除された最上位の接続引数

usernamehostpassword といった最上位の接続引数は、バージョン 2.9 で削除されています。

Ansible 2.4 以前の 引数

- name: 接続プロパティーの最上位オプションの使用例
  ios_command:
    commands: show version
    host: "{{ inventory_hostname }}"
    username: cisco
    password: cisco
    authorize: yes
    auth_pass: cisco

標準の Ansible 接続プロパティーを使用し、この接続プロパティーをグループごとにインベントリーに設定して、Playbook を接続タイプ network_cli および netconf に変更してください。Playbook とインベントリーファイルの更新時に、become を簡単に変更して権限を昇格させることができます (この操作がサポートされているプラットフォームの場合)。詳細は、「ネットワークモジュールで become を使用」ガイドおよび プラットフォームのドキュメント を参照してください。