首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从ansible getent wrapper模块中提取IP

如何从ansible getent wrapper模块中提取IP
EN

Stack Overflow用户
提问于 2019-02-01 00:04:49
回答 1查看 256关注 0票数 0

我想使用getent wrapper模块来解析/etc/hosts的内容,并将ip地址保存在一个变量中以备后用。如果在/etc/hosts上找到IP,则无法将其隔离

我们这样做是为了检查服务器场上的/etc/hosts是否是最新的,我们将使用此变量根据dns进行验证,如果两个地址不匹配,则更正/etc/hosts。我也尝试过slurp,但没有太多成功。

代码语言:javascript
复制
---
- 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

我希望在可变a_host_ip中包含ip地址,但实际内容是与ip地址对应的主机名。如何将IP地址保存在变量中。

EN

回答 1

Stack Overflow用户

发布于 2019-02-01 02:36:50

获取IP列表:

代码语言:javascript
复制
{{ getent_hosts.keys() }}

要获取单个元素,请执行以下操作:

代码语言:javascript
复制
{{ getent_hosts.keys() | first }}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54464616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档