亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2017年05月15日 14:44:07   作者:鴻弟  
這篇文章主要介紹了python將ansible配置轉為json格式實例代碼的相關資料,需要的朋友可以參考下

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

ansible的配置文件舉例如下,這種配置文件不利于在前端的展現,因此,我們用一段簡單的代碼將ansible的配置文件轉為json格式的:

[webserver]
192.168.204.70
192.168.204.71

[dbserver]
192.168.204.72
192.168.204.73
192.168.204.75

[proxy]
192.168.204.76
192.168.204.77
192.168.204.78

[test]
192.168.204.79
192.168.204.80

[haproxy]
192.168.205.82
192.168.204.83
 

用python將ansible配置轉為json格式,python代碼如下:

import ConfigParser
import json
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)
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實現比較兩個列表(list)范圍

    Python實現比較兩個列表(list)范圍

    這篇文章主要介紹了Python實現比較兩個列表(list)范圍,本文根據一道題目實現解決代碼,本文分別給出題目和解答源碼,需要的朋友可以參考下
    2015-06-06
  • python壓縮和解壓縮模塊之zlib的用法

    python壓縮和解壓縮模塊之zlib的用法

    這篇文章主要介紹了python壓縮和解壓縮模塊之zlib的用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Python中用xlwt制作表格實例講解

    Python中用xlwt制作表格實例講解

    在本篇文章里小編給大家整理的是一篇關于Python中用xlwt制作表格實例講解內容,有興趣的朋友們可以學習下。
    2020-11-11
  • django用戶登錄和注銷的實現方法

    django用戶登錄和注銷的實現方法

    這篇文章主要介紹了django用戶登錄和注銷的實現方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • 跟老齊學Python之深入變量和引用對象

    跟老齊學Python之深入變量和引用對象

    本講再次提及變量和引用對象,就是要讓看官對變量和賦值有一個知其然和知其所以然的認識。當然,最后能不能達到此目的,主要看我是不是說的通俗易懂了。如果您沒有明白,就說明我說的還不夠好,可以聯系我,我再為您效勞。
    2014-09-09
  • 帶你學習Python如何實現回歸樹模型

    帶你學習Python如何實現回歸樹模型

    這篇文章主要介紹了Python如何實現回歸樹模型,文中講解非常細致,幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • Python利用yarl實現輕松操作url

    Python利用yarl實現輕松操作url

    在諸如網絡爬蟲、web應用開發(fā)等場景中,我們需要利用Python完成大量的url解析、生成等操作。本文為大家介紹了Pythonyarl操作url的方法,需要的可以了解一下
    2022-10-10
  • python分布式環(huán)境下的限流器的示例

    python分布式環(huán)境下的限流器的示例

    本篇文章主要介紹了python分布式環(huán)境下的限流器的示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • Python 判斷文件或目錄是否存在的實例代碼

    Python 判斷文件或目錄是否存在的實例代碼

    這篇文章主要介紹了Python 判斷文件或目錄是否存在的實例代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-07-07
  • django中上傳圖片分頁三級聯動效果的實現代碼

    django中上傳圖片分頁三級聯動效果的實現代碼

    這篇文章主要介紹了django中上傳圖片分頁三級聯動效果的實現代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2019-08-08

最新評論