Ansible - 无法在/ etc /下使用查找文件模块

时间:2017-11-20 07:42:25

标签: ansible jinja2 ansible-2.x

我正在部署CentOS计算机,其中一个任务是读取一个文件,该文件呈现Consul服务,将其置于/etc/sysconfig之下。我试图稍后使用lookup模块在​​变量中读取它,但它在下面抛出错误:

  

致命:[ansible_vm1]:失败! => {“failed”:true,“msg”:“无法在查找中找到文件:/ etc / sysconfig / idb_EndPoint”}

但是我在生成idb_EndPoint文件的位置下面运行查找任务,并且我手动登录以查看该文件是否可用。

 - name: importing the file contents to variable
   set_fact:
     idb_endpoint: "{{ lookup('file', '/etc/sysconfig/idb_EndPoint') }}"
   become: true

我还尝试了与其他用户become_user: deployuser以及become: true的普遍升级,但仍无效。使用Ansible版本2.2.1.0。

1 个答案:

答案 0 :(得分:2)

Ansible中的所有查找插件都在控制计算机上本地执行。

而是使用slurp module

- name: importing the file contents to variable
  slurp:
    src: /etc/sysconfig/idb_EndPoint
  register: idb_endpoint_b64
  become: true

- set_fact:
    idb_endpoint: "{{ idb_endpoint_b64.content | b64decode }}"