Ansible 是什么导致事实变得不可用?
是什么导致剧本中的事实变得不可用?我试图访问Ansible的Ansible 是什么导致事实变得不可用?,ansible,ansible-facts,Ansible,Ansible Facts,是什么导致剧本中的事实变得不可用?我试图访问Ansible的Ansible\u date\u time事实,但我似乎不知道如何访问它。接下来,它应该简单地在剧本中提供,例如: --- #test.yml -主机:本地主机 任务: -调试:var=ansible\u date\u time 当以以下方式运行时: ansible playbook test.yml 应产生以下输出: PLAY [localhost] ****************************************
Ansible\u date\u time
事实,但我似乎不知道如何访问它。接下来,它应该简单地在剧本中提供,例如:
---
#test.yml
-主机:本地主机
任务:
-调试:var=ansible\u date\u time
当以以下方式运行时:
ansible playbook test.yml
应产生以下输出:
PLAY [localhost] **************************************************
GATHERING FACTS ***************************************************************
ok: [localhost]
TASK: [debug var=ansible_date_time] *******************************************
ok: [localhost] => {
"ansible_date_time": {
"date": "2015-07-09",
"day": "09",
"epoch": "1436461166",
"hour": "16",
"iso8601": "2015-07-09T16:59:26Z",
"iso8601_micro": "2015-07-09T16:59:26.896629Z",
"minute": "59",
"month": "07",
"second": "26",
"time": "16:59:26",
"tz": "UTC",
"tz_offset": "+0000",
"weekday": "Thursday",
"year": "2015"
}
}
PLAY RECAP ********************************************************************
localhost : ok=2 changed=0 unreachable=0 failed=0
但是,当我运行剧本时,我会收到:
PLAY [localhost] **************************************************************
TASK: [debug var=ansible_date_time] *******************************************
ok: [localhost] => {
"var": {
"ansible_date_time": "ansible_date_time"
}
}
PLAY RECAP ********************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=0
什么会导致ansible\u date\u time
不可用
更新:
/etc/ansible/ansible.cfg
的内容是:
[默认值]
sudo_user=root
聚集=显式
ansible.cfg文件包含收集事实的设置。文档在这里:
默认情况下,
implicit
将收集事实。explicit
将改变行为。这两种设置都可以在剧本中覆盖 这本剧本是为我准备的。你换了ansible.cfg吗?@ThoFin我查了ansible.cfg,看起来是罪魁祸首。当然,文档中没有提到中的聚集设置。@ThoFin如果您发布了一个关于确保ansible.cfg中的聚集未设置为显式的答案,我会将其标记为已接受的答案。