修改rally,使支持cinder V3

修改rally samples下的json文件,增加api_versions的配置,配置cinder version为3,service_type为volumev3,然后执行rally task start xxx.json,结果执行不成功,提示只支持version为1和2,不支持version为3。

查看提示上下文信息,也没有有用的信息可看,考虑到api_versions是在context下配置的,可以到context下去查看相关的信息。查看rally安装服务器上的/usr/lib/python2.7/site-packages/rally_openstack/contexts/cinder目录下,

查看volumes.py文件,可以看到需要先创建一个cinder client,这个client要到osclients.py文件下查看,查看/rally_openstack/osclients.py文件,可以看到创建cinder client的class,可以看到装饰器中默认的version为2,支持的version为1,2,需要修改装饰器,修改默认version是3,支持1,2,3version。

修改成如下:

从创建v2的volume的流程看,需要使用cinder_v2.py文件,但在/usr/lib/python2.7/site-package/rally_openstack/services/storage/路径下,只有cinder_v1.py和cinder_v2.py文件,如果要创建v3的volume,需要cinder_v3.py文件,这个可以从cinder_v2.py文件获得,然后把v2统一修改成v3,这个可以得到cinder_v3.py文件(就是复制一份cinder_v2.py文件,然后把v2修改成v3,注意有的v2是小写v2,有的是大写V2,修改时需要注意,由于没有cinder_v3.py文件,只能想到这个办法,亲测可用。。。)

以上完成之后,再执行rally task start xxx.json/yaml,可以成功执行了

猜你喜欢

转载自blog.csdn.net/howard58888/article/details/82419273