欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中的 ansible 動態(tài)Inventory 腳本

 更新時間:2020年01月19日 10:20:31   作者:breaklinux  
這篇文章主要介紹了Python中的 ansible 動態(tài)Inventory 腳本,本章節(jié)通過實例代碼從mysql數(shù)據(jù)作為數(shù)據(jù)源生成動態(tài)ansible主機為入口介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧

1.Ansible Inventory  介紹;

Ansible Inventory 是包含靜態(tài) Inventory 和動態(tài) Inventory 兩部分的,靜態(tài) Inventory 指的是在文件中指定的主機和組,動態(tài) Inventory 指通過外部腳本獲取主機列表,并按照 ansible 所要求的格式返回給 ansilbe 命令的。這部分一般會結合 CMDB 資管系統(tǒng)、云計算平臺等獲取主機信息。由于主機資源一般會動態(tài)的進行增減,而這些系統(tǒng)一般會智能更新。我們可以通過這些工具提供的 API 或者接入庫查詢等方式返回主機列表。

2.mysql數(shù)據(jù)結構如下;

3.本章節(jié)演示從mysql數(shù)據(jù)作為數(shù)據(jù)源生成動態(tài)ansible 主機;

#!/usr/bin/env python36
def commmysql():
  import mysql.connector
  import json
  mydb = mysql.connector.connect(
    host="192.168.1.23", # 數(shù)據(jù)庫主機地址
    user="root", # 數(shù)據(jù)庫用戶名
    passwd="123456",
    database="test"
  )
  mycursor = mydb.cursor()
  mycursor.execute(" select host,`group` from ansible_hosts;")
  #mycursor.
  myresult = mycursor.fetchall()
  data = dict()
  #####查詢出group分組并去重#############
  groups = list(set([i[1].decode() for i in myresult]))
  data["all"] = {"children": groups}
  data["_meta"] = {"hostvars": {}}
  for group in groups:
    data[group] = dict()
    data[group]["hosts"] = list()
    for x in myresult:
      if x[1].decode("utf-8") == group:
        data[group]["hosts"].append(x[0].decode("utf-8"))
  return json.dumps(data,indent=3)
def main():
  from optparse import OptionParser
  parse = OptionParser()
  parse.add_option("-l", "--list", action="store_true", dest="list", default=False)
  (option, arges) = parse.parse_args()
  if option.list:
    print(commmysql())
  else:
    print("abc")
if __name__ == '__main__':
  from optparse import OptionParser
  parse = OptionParser()
  parse.add_option("-l", "--list", action="store_true", dest="list", default=False)
  (option, arges) = parse.parse_args()
  if option.list:
    print(commmysql())
  else:
    print("test")

4.數(shù)據(jù)格式結果如下;

5.ansible 執(zhí)行動態(tài)主機如下;

總結

以上所述是小編給大家介紹的Python中的 ansible 動態(tài)Inventory 腳本,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

相關文章

  • Python實現(xiàn)向列表或數(shù)組添加元素

    Python實現(xiàn)向列表或數(shù)組添加元素

    Python中的列表是一種動態(tài)數(shù)組,可以存儲不同數(shù)據(jù)類型的元素,并提供多種方法進行元素的添加和刪除,列表是Python中非常靈活和強大的數(shù)據(jù)結構,可以通過索引訪問、修改和操作列表中的元素,列表的創(chuàng)建十分簡單,只需使用方括號括起元素,并用逗號分隔
    2024-09-09
  • Pytorch使用PIL和Numpy將單張圖片轉為Pytorch張量方式

    Pytorch使用PIL和Numpy將單張圖片轉為Pytorch張量方式

    這篇文章主要介紹了Pytorch使用PIL和Numpy將單張圖片轉為Pytorch張量方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Django Celery異步任務隊列的實現(xiàn)

    Django Celery異步任務隊列的實現(xiàn)

    這篇文章主要介紹了Django Celery異步任務隊列的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • TFRecord格式存儲數(shù)據(jù)與隊列讀取實例

    TFRecord格式存儲數(shù)據(jù)與隊列讀取實例

    今天小編就為大家分享一篇TFRecord格式存儲數(shù)據(jù)與隊列讀取實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python Log文件大小設置及備份的方法

    Python Log文件大小設置及備份的方法

    這篇文章主要介紹了Python Log文件大小設置及備份的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-11-11
  • 簡潔的十分鐘Python入門教程

    簡潔的十分鐘Python入門教程

    這篇文章主要介紹了簡潔的十分鐘Python入門教程,Python語言本身的簡潔也使得網(wǎng)絡上各種Python快門入門教程有著很高的人氣,本文是國內此類其中的一篇,需要的朋友可以參考下
    2015-04-04
  • 正確的理解和使用Django信號(Signals)

    正確的理解和使用Django信號(Signals)

    這篇文章主要介紹了如何正確的理解和使用Django信號(Signals),幫助大家更好的理解和學習是Django,感興趣的朋友可以了解下
    2021-04-04
  • Python socket模塊ftp傳輸文件過程解析

    Python socket模塊ftp傳輸文件過程解析

    這篇文章主要介紹了Python socket模塊ftp傳輸文件過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • Python中atexit模塊的基本使用示例

    Python中atexit模塊的基本使用示例

    這篇文章主要介紹了Python中atexit模塊的基本使用示例,示例代碼基于Python2.x版本,注意其和Python3的兼容性,需要的朋友可以參考下
    2015-07-07
  • Python實用庫 PrettyTable 學習筆記

    Python實用庫 PrettyTable 學習筆記

    這篇文章主要介紹了Python實用庫 PrettyTable 學習筆記,結合實例形式分析了Python表格操作庫PrettyTable的安裝、使用技巧與相關注意事項,需要的朋友可以參考下
    2019-08-08

最新評論