例如,如何将 Ansible 的设置模块 (gather_facts) 限制为仅检索服务器的主机名?=?



严格来说,为了加快 Ansible 流程,我只需要从主机检索一些细节。我最常需要的信息是ansible_hostname,以确保我登陆正确的主机,因为我有一个动态 DNS。 主机名属于哪个gather_subset? 这是关于限制从主机收集的数据,而不是filter选项。

可以使用gather_facts限制收集的信息。请查看 ansible 设置模块的文档,了解如何根据各种子集限制信息。

- hosts: my_target
gather_facts:no
pre_tasks:
- setup:
gather_subset: 'network'
tasks:
- debug: var=ansible_hostname

可以从中收集信息的可用子集如下

全部, all_ipv4_addresses, all_ipv6_addresses, 装甲, 建筑, 帽, chroot, cmdline, date_time, default_ipv4, default_ipv6, 设备, 分布、distribution_major_version、distribution_release、 distribution_version、DNS、effective_group_ids、effective_user_id、 env, facter, fips, hardware, interfaces, is_chroot, 内核, local, LSB, 机器, machine_id, 装载, 网络, 欧海, os_family, pkg_mgr, 平台, 处理器, processor_cores, processor_count, 蟒蛇, python_version, real_user_id, selinux, service_mgr, ssh_host_key_dsa_public、ssh_host_key_ecdsa_public、 ssh_host_key_ed25519_public、ssh_host_key_rsa_public、 ssh_host_pub_keys、ssh_pub_keys、系统、system_capabilities、 system_capabilities_enforced、用户、user_dir、user_gecos、user_gid、 user_id、user_shell、user_uid、虚拟、virtualization_role、 virtualization_type

当我们提供不受支持的值时,错误中会提到这些值。

该文档仅提到了几个值,其中"min"和"any"在错误中未提及。

这是一个已知的错误: https://github.com/ansible/ansible/issues/47603

最新更新