李成石

导航

 

ceilometerclient入口

工程ceilometerclient shell.py中的main方法

ceilometerclient目录

--ceilometerclient
  --common/公共方法,args装饰器及获取数据后格式化打印等
  --apiclient/
  --tests/ 接口测试用例
  --v2/
     --shell.py ceilometer调用v2目录下api各种接口的总控制文件
  --client.py  封装request请求的ceilometer client,提供获取client的方法,包括keystone的client,提供获取endpoint和token的方法
  --shell.py   入口方法

根目录下shell.py 完成如下逻辑,以ceilometer sample-list -m mem_util -l 2 为例:

 v2目录下shell.py提供了do_**的函数完成从上层shell.py传进来的命令并返回结果。其它的py文件按照名称以Manager类的形式分别对应ceilometer各个资源的操作实现。client.py引用所有的Manager,shell.py只需要依赖client就可以完成对各个资源的操作。

   

在v2目录中shell.py中的do_sample_list方法如下:

其中do_sample_list(cc, args)调用v2目录下samples.py中list方法发送request请求到/v2/meters/mem_util?limit=1 获取数据

以上是个人理解,实现具体可参考我的github: https://github.com/CaesarLinsa/ceilometer_TestCase

posted on 2018-08-31 22:31  李成石  阅读(224)  评论(0编辑  收藏  举报