我们可以通过Facts来获取目标主机的系统信息,当这些信息还不能满足我们的功能需要时,可以通过编写自定义的Facts模块来实现。当然,还有一个更简单的实现方法,就是通过本地Facts来实现。只需在目标设备 /etc/ansible/facts.d 目录自定义JSON、INI或可执行文件的JSON输出,文件扩展名要求使用 ".fact" ,这些文件都可以作为Ansible的本地Facts。

例如,在目标设备192.168.1.21定义三个变量,供以后playbook进行引用。

【 /etc/ansible/facts.d/preferences.fact 】

[general]

max_memory_size=32

max_user_processes=3730

open_files=65535

然后在主控端运行 ansible 192.168.1.21 -m setup -a "filter=ansible_local"   filter作用是从setup输出的信息中摘出该 ansible_local 项。

可看到定义的结果,返回结果如下:

。。。

注意返回JSON的层次结构,preferences(facts文件名前缀)-->general(INI的节名)-->key:value(INI的键与值),最后就可以在我们的模板或playbook中通过以下方式进行调用:

{{ ansible_local.preferences.general.open_file }}

参考资料:http://ju.outofmemory.cn/entry/104885

最新文章

  1. linux 7z 命令编译安装
  2. [Exchange 2013]创建约会和会议
  3. UVA 11210 中国麻将
  4. [nginx] connect() failed (111: Connection refused) while connecting to upstream, client: 101.18.123.107, server: localhost,
  5. MVC 区域功能
  6. 在chrome console加入jquery库
  7. Java开发从零开始填坑
  8. (转)9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路
  9. 国内maven 仓库
  10. restrict和volatile的作用
  11. IOS UITableView NSIndexPath属性讲解
  12. .net机试题总结
  13. Yii2 报错Getting unknown property: app\models\Product::
  14. UML中类图的一些基本知识
  15. SpringBoot系列: 理解 Spring 的依赖注入(一)
  16. HDU 2000 ASCII码排序
  17. 转--python -- 收发邮件
  18. Python Select模型(程序流程)(转)
  19. java字节码的工具(含IDEA插件)
  20. mac下连接阿里云总是提示密码是吧,permission denied

热门文章

  1. 辅助字符串处理类:org.apache.commons.lang3.StringUtils
  2. mySQL 教程 第4章 数据查询
  3. golang中如何判断文件是否有可执行权限
  4. [C++ Primer] : 第10章: 泛型算法
  5. js 正则用空格分割字符串
  6. shell 3数组
  7. InfluxDB 备份和恢复
  8. Linux常用的一些基础命令
  9. 使用SolrNet访问Solr-5.5.0
  10. 20165233 2017-2018-2 《Java程序设计》第八周学习总结