当可缓存为true时,将set_facts存储在哪里?

时间:2018-10-04 17:55:49

标签: ansible

下面有一个示例剧本。当我说可缓存时:true事实存储在哪里?另外,如何在重新播放后删除这些事实?我已经查看了远程主机(我们的示例数据库),却一无所获,而在本地主机(运行我的剧本的地方)上也找不到它。我可以看到显示的事实。不过,在易用的文档https://docs.ansible.com/ansible/2.5/modules/set_fact_module.html上发现了这一点,对理解并没有太大帮助。

 ---
 - name: Setting database facts 
   hosts: database_servers:!localhost
   tasks:
   - name: set_facts for database servers
       set_fact:
         database_endpoints:   "{{ remote_endpoints_dev }}"
         cacheable: true
       when: ENVIR == "dev"

1 个答案:

答案 0 :(得分:1)

  

当我说可缓存时:true事实存储在哪里?

cacheable仅在启用fact caching时才生效,并且事实存储的位置取决于您配置事实缓存的方式。

  

另外,如何在重新播放后删除这些事实?

每次set_fact任务运行时,事实都会更新。我使用标签来控制这些任务的运行时间。您可以控制事实缓存配置中的内容在缓存中保留的时间。