我正在部署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。
答案 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 }}"