python将ansible配置转为json格式实例代码

python将ansible配置转为json格式实例代码,第1张

概述python将ansible配置转为json格式实例代码ansible的配置文件举例如下,这种配置文件不利于在前端的展现,因此,我们用一段简单的代码将ansible的配置文件转为json格式的:

python将ansible配置转为Json格式实例代码

ansible的配置文件举例如下,这种配置文件不利于在前端的展现,因此,我们用一段简单的代码将ansible的配置文件转为Json格式的:

[webserver]192.168.204.70192.168.204.71[dbserver]192.168.204.72192.168.204.73192.168.204.75[proxy]192.168.204.76192.168.204.77192.168.204.78[test]192.168.204.79192.168.204.80[haproxy]192.168.205.82192.168.204.83 

用python将ansible配置转为Json格式,python代码如下:

import ConfigParserimport Jsondict_result = {}cf = ConfigParser.ConfigParser(allow_no_value=True)cf.read('/etc/ansible/hosts.test')secs = cf.sections()for sec in secs: dict_result[sec] = cf.options(sec)print Json.dumps(dict_result)

 转换结果如下(python版本使用2.7版本的):

/usr/local/python/bin/python /tmp/test.py
{"test": ["192.168.204.79","192.168.204.80"],"haproxy": ["192.168.205.82","192.168.204.83"],"webserver": ["192.168.204.70","192.168.204.71"],"proxy": ["192.168.204.76","192.168.204.77","192.168.204.78"],"dbserver": ["192.168.204.72","192.168.204.73","192.168.204.75"]}

 转换成Json文件就方便在前端进行展示了,使用Flask提供Json格式的接口如下:

#获取ansible分组@app.route('/web_test/ansible')def web_test_ansible():  dict_result = {}  cf = ConfigParser.ConfigParser(allow_no_value=True)  cf.read('/etc/ansible/hosts.test')  secs = cf.sections()  for sec in secs:    dict_result[sec] = cf.options(sec)  return Json.dumps(dict_result) 

然后前端代码(使用bootstrap treevIEw)如下:

<script src="/static/Js/bootstrap-treeview.Js"></script>  <script type="text/JavaScript">    $(document).ready(function () {      $('#btn-get-hostgroup').click(function () {        getAllCheck = $('#hostgrouptree').treevIEw('getChecked');        for (var i = 0; i < getAllCheck.length; i++) {          console.log(getAllCheck[i].text);        }      });      $.AJAX({        url: '/web_test/ansible',type: 'GET',success: function (data) {          result = JsON.parse(data);          nodes = [];          for (var hostgroup in result) {            var nodeshostgroup = [];            hosts = result[hostgroup];            for (var i = 0; i < hosts.length; i++) {              nodeshostgroup.push({text: hosts[i],selectable:false});            }            nodes.push({text: hostgroup,nodes: nodeshostgroup,selectable:false});          }          $('#hostgrouptree').treevIEw({data: [{text: 'all',nodes: nodes,selectable:false}],showCheckBox: true,showborder:false});        }      });    });  </script>{% endblock %}{% block page_content %}  <div  ID="hostgrouptree">  </div>  <div >    <button ID="btn-get-hostgroup" type="button" >获取选中的组</button>  </div> 

ansible的配置文件在前端的展示如下,获取ansible选中的组,利用ansible命令就可以实现一些简单的自动化 *** 作了:

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

总结

以上是内存溢出为你收集整理的python将ansible配置转为json格式实例代码全部内容,希望文章能够帮你解决python将ansible配置转为json格式实例代码所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1202143.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存