博主是在OpenStack Juno版本上安裝測試
安裝
目前Tempest沒有打成包,需要用源碼方式安裝
源碼下載
# git clone https://github.com/openstack/tempest.git
修改requirement的文件
# cd tempest # echo "discover>=0.4.0" >> requirements.txt
安裝依賴包
# yum install gcc libxslt-devel ibevent-devel openssl-devel libffi-devel python-devel python-pip python-virtualenv # pip install pbr
安裝
# python setup.py install
配置
copy配置文件
# cp etc/tempest.conf.sample etc/tempest.conf
修改配置文件中的相應配置項
這邊配置項視需要測試的項目會有不同,可以參考redhat相應文檔或者OpenStack官網進行配置。
本文以一次配置爲例說明
# egrep -v '^#|^$' etc/tempest.conf [DEFAULT] lock_path=keystone [auth] [baremetal] [boto] [cli] [compute] [compute-feature-enabled] [dashboard] [data_processing] [data_processing-feature-enabled] [database] [debug] [identity] endpoint_type=publicURL catalog_type=identity uri = http://controller:5000/v2.0 uri_v3 = http://controller:5000/v3.0 auth_version = v2 username = admin tenant_name = admin admin_role = admin password = admin admin_username = admin admin_tenant_name = admin admin_password = admin [identity-feature-enabled] api_v2 = true [p_w_picpath] [p_w_picpath-feature-enabled] [input-scenario] [messaging] [negative] [network] [network-feature-enabled] [object-storage] [object-storage-feature-enabled] [orchestration] [oslo_concurrency] [scenario] [service_available] [stress] [telemetry] [volume] [volume-feature-enabled]
運行
可以通過腳本(testr)或者nosetests來運行測試。
使用腳本運行
可以直接運行Tempest目錄下的腳本(-V是用虛擬環境運行):
# ./run_tempest.sh -V
使用nosetests運行
安裝nosetests和junitxml
# yum install python-nose-exclude # pip install junitxml
運行命令
測試v2接口的tokens
# nosetests tempest/api/identity/admin/v2/test_tokens.py --with-xunit --xunit-file=/root/keystone_test_tokens.xml
上述的目錄或文件按實際測試需求去添加。 --with-xunit --xunit-file兩個參數是指將結果以xml格式輸出到指定文件。