1. 程式人生 > >修改rally,使支援cinder V3

修改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,可以成功執行了