Ansible 无法对/etc下的文件使用查找文件模块/
我正在部署一台CentOS机器,其中一项任务是读取一个文件,该文件由领事服务提供,并将其置于Ansible 无法对/etc下的文件使用查找文件模块/,ansible,jinja2,ansible-2.x,Ansible,Jinja2,Ansible 2.x,我正在部署一台CentOS机器,其中一项任务是读取一个文件,该文件由领事服务提供,并将其置于/etc/sysconfig下。我稍后试图使用查找模块在变量中读取它,但它抛出了以下错误: 致命:[ansible_vm1]:失败!=>{“failed”:true,“msg”:“在查找中找不到文件:/etc/sysconfig/idb_EndPoint”} 但是,我在生成idb_EndPoint文件的点下方运行查找任务,并且我在登录时手动查找该文件,以验证该文件是否可用 - name: importi
/etc/sysconfig
下。我稍后试图使用查找
模块在变量中读取它,但它抛出了以下错误:
致命:[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
我还尝试了与另一个用户
been\u user:deployuser
以及been:true
一起进行previlege升级,但仍然无法工作。使用Ansible 2.2.1.0版。Ansible中的所有查找插件都在控制计算机上本地执行
而是使用:
伟大的现在就开始测试。我自己发现使用了
b64decode
construct我还在b64decode
之后添加了一个replace('\n','')
,以删除后面的新行“line”?有多个吗?对不起,我不明白。我测试了将一个文件复制到目标文件,然后将其拖回,并逐点与源文件进行比较-它们是相同的,没有添加换行符。没关系,我认为它存在于我拖回的文件中,一行,然后是一行新行。没关系,成功了
- 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 }}"