facts.d文件夹无法正常工作

时间:2017-04-12 16:44:33

标签: ansible

似乎无法从facts.d文件夹中发现事实。这是我的设置。提到的所有文件都在我安装了ansible的OSX机器上。针对远程计算机运行playbook

file:/work/myproject/ansible.cfg

[default]
fact_path=/work/myproject/facts.d

file:/work/myproject/facts.d/info.fact(静态文件)

myvar=myvalue

命令输出:ansible --version

ansible 2.4.0
  config file = /work/myproject/ansible.cfg
  configured module search path = Default w/o overrides
  python version = 2.7.13 

file:/work/myproject/test.yml(playbook)

- name: Testing
  gather_facts: true
  hosts: all
  user: root
  roles:
    - role: test

命令输出:ansible-playbook -i hosts test.yml --limit = dev

....
.... 'myvar' is undefined
....

似乎无法像我期望的那样在任务中使用{{myvar}}。

有人能发现问题,或者至少建议一些命令/工具来诊断问题吗?

1 个答案:

答案 0 :(得分:2)

  

提到的所有文件都在我安装了ansible的OSX机器上

facts.d目录应位于托管主机

来自docs

  

如果远程管理系统具有/etc/ansible/facts.d目录,则此目录中以.fact结尾的任何文件都可以是JSON,INI或返回JSON的可执行文件,以及这些可以在Ansible中提供当地事实。可以使用fact_path play指令指定备用目录。

更新回复评论:

关于访问facts.d fact的文档摘录:

  

此数据可以在模板/剧本中访问:{{ ansible_local.preferences.general.asdf }}