Ansible facts.d文件夹未按预期工作
似乎无法从facts.d文件夹中发现事实。这是我的设置。所有提到的文件都在我安装了ansible的OSX机器上。在远程机器上运行playbook 文件:/work/myproject/ansible.cfgAnsible facts.d文件夹未按预期工作,ansible,Ansible,似乎无法从facts.d文件夹中发现事实。这是我的设置。所有提到的文件都在我安装了ansible的OSX机器上。在远程机器上运行playbook 文件:/work/myproject/ansible.cfg [default] fact_path=/work/myproject/facts.d 文件:/work/myproject/facts.d/info.fact(静态文件) 命令输出:ansible--version 文件:/work/myproject/test.yml(剧本) 命令输出
[default]
fact_path=/work/myproject/facts.d
文件:/work/myproject/facts.d/info.fact(静态文件)
命令输出:ansible--version
文件:/work/myproject/test.yml(剧本)
命令输出:ansible playbook-i hosts test.yml--limit=dev
....
.... 'myvar' is undefined
....
似乎不能像我期望的那样在任务中使用{{myvar}}
有人能发现问题,或者至少建议一些命令/工具来诊断问题吗
所有提到的文件都在我安装了ansible的OSX机器上
但是facts.d
目录应该在托管主机上
从:
如果远程管理系统具有/etc/ansible/facts.d目录,则此目录中以.fact结尾的任何文件都可以是JSON、INI或返回JSON的可执行文件,这些文件可以在ansible中提供本地事实。可以使用fact_path play指令指定备用目录
更新以回答评论:
关于访问事实的文档摘录。d事实:
这些数据可以在模板/剧本中访问:{{{ansible_local.preferences.general.asdf}}
所有提到的文件都在我安装了ansible的OSX机器上
但是facts.d
目录应该在托管主机上
从:
如果远程管理系统具有/etc/ansible/facts.d目录,则此目录中以.fact结尾的任何文件都可以是JSON、INI或返回JSON的可执行文件,这些文件可以在ansible中提供本地事实。可以使用fact_path play指令指定备用目录
更新以回答评论:
关于访问事实的文档摘录。d事实:
这些数据可以在模板/剧本中访问:{{{ansible_local.preferences.general.asdf}}
谢谢你澄清这一点,你是对的。我在远程机器上有fact.d文件夹。我发现还有一个问题。谢谢你澄清,你是对的。我在远程机器上有fact.d文件夹。我发现还有一个问题,我取得了一些进展。我可以使用{{ansible_local.info.myvar}访问变量。这就是工作的意义吗?我本来希望能够通过{{myvar}}访问变量(这不起作用),但我取得了一些进展。我可以使用{{ansible_local.info.myvar}访问变量。这就是工作的意义吗?我希望能够使用{{myvar}}访问变量(这不起作用)
ansible 2.4.0
config file = /work/myproject/ansible.cfg
configured module search path = Default w/o overrides
python version = 2.7.13
- name: Testing
gather_facts: true
hosts: all
user: root
roles:
- role: test
....
.... 'myvar' is undefined
....