我想使用getent包装器模块来解析/ etc / hosts的内容并将ip地址保存在变量中以备后用。如果在/ etc / hosts
上找到IP,我就无法隔离我们这样做是为了检查服务器场上的/ etc / hosts是否最新,我们将使用此变量针对dns进行验证,如果两个地址不匹配,则更正/ etc / hosts。我也尝试过吃喝但是没有成功
---
- hosts: all
tasks:
- name: getent hosts
getent:
database: hosts
key: "{{ansible_hostname}}"
register: results
- name: print result
debug:
msg="{{results}}"
- set_fact:
a_host_ip={{ getent_hosts[ansible_default_ipv4.address] }}
- debug: var=a_host_ip
我想将IP地址包含在变量a_host_ip
中,但实际内容是与该IP地址相对应的主机名。如何将IP地址保存在变量中。
答案 0 :(得分:0)
要获取IP列表:
{{ getent_hosts.keys() }}
要获取单个元素:
{{ getent_hosts.keys() | first }}