99热99这里只有精品6国产,亚洲中文字幕在线天天更新,在线观看亚洲精品国产福利片 ,久久久久综合网

歡迎加入QQ討論群258996829
麥子學院 頭像
蘋果6袋
6
麥子學院

Python學習之rados命令詳解

發(fā)布時間:2017-03-02 14:01  回復(fù):0  查看:4575   最后回復(fù):2017-03-02 14:01  
本文和大家分享的主要是 python開發(fā)中rados 命令的使用相關(guān)案例,一起來看看吧,希望對大家學習和使用這部分內(nèi)容有所幫助。
  我們以前的管理平臺在python 平臺下面做的,內(nèi)部做的一些操作采用的是命令執(zhí)行,然后解析的方式去做的, ceph 自身有 python rados 接口,可以直接調(diào)用原生接口,然后直接解析 json 的方式,這樣更靠近底層
  在看ceph-dash 內(nèi)部的實現(xiàn)的時候,發(fā)現(xiàn)里面的獲取集群信息的代碼可以留存?zhèn)溆?/span>
   代碼實例
  #!/usr/bin/env python# -*- coding: UTF-8 -*- import json
   from rados  import Rados from rados  import Error  as RadosError
   class  CephClusterCommand(dict):
  """
  Issue a ceph command on the given cluster and provide the returned json
  """
   def  __init__(self, cluster, **kwargs):
  dict.__init__(self)
  ret, buf, err = cluster.mon_command(json.dumps(kwargs), '', timeout=5)
   if ret != 0:
  self['err'] = err
   else:
  self.update(json.loads(buf))
  config={'conffile': '/etc/ceph/ceph.conf', 'conf': {}} with Rados(**config)  as cluster:
  cluster_status = CephClusterCommand(cluster, prefix='status', format='json')
   print cluster_status
   總結(jié)
  調(diào)用原生接口的好處在于, 只需要很少的庫就可以取得監(jiān)控系統(tǒng)所需要的值
  最近在研究系統(tǒng)的時候發(fā)現(xiàn)一個問題
  跟著錯誤的文檔實踐只會掉進同一個坑
  在遇到一個小的錯誤的時候,翻到了一個github Issue ,然后看到一個人把自己的配置過程和配置文件詳詳細細的都寫在 Issue 下面,然后就跟著他的過程走了一遍,發(fā)現(xiàn)不論怎么弄都是同樣的錯誤
  而返回去根據(jù)另一個正確的文檔又走一遍的時候,發(fā)現(xiàn)終于跑通了,回顧了一遍,發(fā)現(xiàn)是那個錯誤的過程里面的配置文件里面是有配置項目,不兼容的,而軟件也沒有拋出相關(guān)的錯誤,然后在同一個地方找了兩天
  所以如果有碰到無法解決的操作步驟文檔的時候,就盡量不要去根據(jù)那個文檔操作了,除非自己對細節(jié)弄的很清楚了
   變更記錄
Python學習之rados命令詳解
來源:zphj1987'Blog
您還未登錄,請先登錄

熱門帖子

最新帖子

?