Ansible facts.d文件夹未按预期工作

Ansible 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(剧本) 命令输出

似乎无法从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(剧本)

命令输出: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
....