国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python將ansible配置轉為json格式實例代碼

2020-01-04 17:10:06
字體:
來源:轉載
供稿:網友

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 class="col-md-4" id="hostgrouptree">  </div>  <div class="col-md-6">    <button id="btn-get-hostgroup" type="button" class="btn btn-default">獲取選中的組</button>  </div> 

ansible的配置文件在前端的展示如下,獲取ansible選中的組,利用ansible命令就可以實現一些簡單的自動化操作了:

python將ansible配置轉為json格式,ansible配置轉為json格式

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 海南省| 章丘市| 古田县| 黔西| 柯坪县| 拜泉县| 玛沁县| 和硕县| 孝昌县| 晋宁县| 彩票| 望奎县| 宁乡县| 娄底市| 曲水县| 乃东县| 离岛区| 泽州县| 宣威市| 伊金霍洛旗| 芮城县| 交城县| 平乐县| 高雄县| 凤城市| 宜章县| 姜堰市| 洪雅县| 河西区| 洱源县| 乌兰县| 阜康市| 福泉市| 景洪市| 仲巴县| 涟源市| 定边县| 兴国县| 沾益县| 宁强县| 德安县|