前沿:

      ansible的那几个插件都不错,现在咱们聊聊lookup plugins这个插件。 Lookup_plugins主要是用来实现扩展playbook里面各种的字符串和变量的扩展。对于我个人来说,用途不是太大,但是看了下官方提供的lookup_plugins的扩展列表,还是有些想法的。

一开始使用lookup的时,遇到了一个问题,{{ lookup }}里面的数据没有处理,怎么也找不到解决的方法,最后问题在于ubuntu下的版本问题。貌似那个版本对lookup组建支持不好。  

看这个例子,他的意思是说,通过lookup找到file这个插件扩展,file.py的功能主要是查看/etc/foo.txt文件的各种属性 。

这里在show下更多的lookup_plugins的扩展。


pipe一看这名字,管道,执行linux命令。

redis_kv是 链接到redis 做操作 。

我们来看下pipe.py的插件实现代码:

代码很是干脆,就是subprocess执行,然后return ret。

我这跑的一个测试,简单:

wKiom1POHHSQzBgDAAEMR3VpXNk358.jpg

通过结果我们看到,他会从lookup插件,找到相应的插件,然后来处理数据。 这个数据是本地的。

wKiom1POHGvgpQjrAAn1y9XKb-o616.jpg

官方的redis_kv感觉有些麻烦,就自己写了个简单的lookup关于redis的插件。


我的执行过程,playbook里面调用,{{ lookup(‘redis_kv’,'blog’) }}   他会从redis里面get blog这个key键。 



wKiom1POJYOBIeCKAAIGkGJe4ik158.jpg


总结下,这东西 就是用来做playbook的扩展的。 我设立一个变量,但是这个变量是不固定的,需要每次推送playbook的时候,做更新的。  这个时候就可以考虑用lookup plugins插件做支持。



对Python及运维开发感兴趣的朋友可以加QQ群 : 478476595 !!!
{ 2000人qq大群内有各厂大牛,常组织线上分享及沙龙,对高性能及分布式场景感兴趣同学欢迎加入该QQ群 }

另外如果大家觉得文章对你有些作用!   帮忙点击广告. 一来能刺激我写博客的欲望,二来好维护云主机的费用.
如果想赏钱,可以用微信扫描下面的二维码. 另外再次标注博客原地址  xiaorui.cc  ……   感谢!

沈灿的新书 《Ansible自动化运维:技术与最佳实践》

    说说沈灿吧,在蓝汛、京东、百度…都转悠过,  擅长集群管理运维,水平挺好。 跟沈灿认识也有好几年了,一直说带我去大保健,...

阅读全文

关于ansible tower的一些介绍及api

都知道ansible是个好东西,现在也有不少公司在基于ansible做运维平台的开发,然而ansible的官方在推一个Tower的东西,看来和saltstack一样,程序是开源了,...

阅读全文

基于ssh的运维自动化工具ansible api的使用

前言:     对于saltstack的人来说,Ansible是一款很好的基于ssh方案的,替代品,他能够大大简化Unix管理员的自动化配置管理与...

阅读全文