我正在从事一个只需要收集一个事实的角色。
性能是一个问题,我知道收集事实非常耗时。
我正在寻找某种方法来过滤gather_facts
剧本,这将使我只收集所需的事实。
使用 setup core 模块可以做到这一点:
ansible -m setup -a 'filter=ansible_hostname' my_host
10.200.0.127 | success >> {
"ansible_facts": {
"ansible_hostname": "my_host"
},
"changed": false
}
可以在剧本中使用此功能吗?像这样的东西?
- hosts: all
sudo: yes
gather_facts: True
filter: "filter=ansible_*"
PS:上面的代码抛出语法异常。
编辑 1:如果有人需要获取主机名,还有另一个有用的变量inventory_hostname。