17.2. OpenStack Integration Test Suite の設定
tempest の仮想マシン内で以下の手順を実行して環境を設定します。
mytempestなど、OpenStack Integration Test Suite ツールを実行する作業ディレクトリーを作成します。mkdir -p /path/to/mytempest
# mkdir -p /path/to/mytempestCopy to Clipboard Copied! Toggle word wrap Toggle overflow mytempestディレクトリーで、configure-tempest-directoryコマンドを実行してmytempestディレクトリー内で OpenStack Integration Test Suite を設定します。cd /path/to/mytempest /usr/share/openstack-tempest-*/tools/configure-tempest-directory
# cd /path/to/mytempest # /usr/share/openstack-tempest-*/tools/configure-tempest-directoryCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 適切な認証情報を使用して、Red Hat OpenStack Platform の環境変数をエクスポートします。この環境の認証情報は以下のとおりです。
export OS_USERNAME=admin export OS_PROJECT_NAME=admin export OS_PASSWORD=password export OS_AUTH_URL=http://IP:35357/v2
# export OS_USERNAME=admin # export OS_PROJECT_NAME=admin # export OS_PASSWORD=password # export OS_AUTH_URL=http://IP:35357/v2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記
OpenStack Intergration Test Suite の実行には管理者権限は必要ありません。adminの権限がある場合は、以下のアクションを実行できます。- 管理 API のテストを実行すること
- 必要に応じてテストの認証情報を生成すること
- リソースの状態を保存し、以下の認証情報を使用して
config_tempest.pyスクリプトを実行し、tempest.conf設定ファイルを正しく作成して/etcディレクトリーに配置します。tools/config_tempest.py --debug --create identity.uri $OS_AUTH_URL identity.admin_username $OS_USERNAME identity.admin_password $OS_PASSWORD identity.admin_tenant_name $OS_PROJECT_NAME object-storage.operator_role swiftoperator
# tools/config_tempest.py --debug --create identity.uri $OS_AUTH_URL identity.admin_username $OS_USERNAME identity.admin_password $OS_PASSWORD identity.admin_tenant_name $OS_PROJECT_NAME object-storage.operator_role swiftoperatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow - テストを実行する前には、既存の OpenStack クラウドのリソースをクリーンな状態に保つことが極めて重要です。
tempest cleanup --init-saved-state
# tempest cleanup --init-saved-stateCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記
OpenStack Integration Test Suite を使用してクリーンアップしても環境全体がクリーンアップされるわけではありません。既存の OpenStack クラウドをクリーンアップするには、手動の介入が必要です。 mytempestディレクトリーにあるetc/tempest.confファイルをレビューして、Red Hat OpenStack Platform 環境での要件がすべて満たされていることを確認します。tempest.api.compute.flavorsというラベルが付いたtempestの 1 つを使用して、run-test.shスクリプトが正しく実行されていることを確認します。tools/run-tests.sh --concurrency 4 tempest.api.compute.flavors
# tools/run-tests.sh --concurrency 4 tempest.api.compute.flavorsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記
concurrency 4のオプションは、OpenStack Integration Test Suite で競合状態を生み出したり、予期せぬエラーを発生させたりしないようにします。- 検証に成功した後に、以下のように
run-tests.shスクリプトを実行します。tools/run-tests.sh --concurrency 4 --skip-file tools/ra-skip-file | tee ra-out.txt
# tools/run-tests.sh --concurrency 4 --skip-file tools/ra-skip-file | tee ra-out.txtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記
ra-skip-fileには、run-tests.shスクリプトを実行時に除外された固有の tempest テストが含まれます。固有テストが除外される理由は、お使いの環境で Floating IP テストやサードパーティーテストなどの特定のシナリオが実行されないためです。ra-skip fileのサンプルは以下のようになります。-tempest\.api\.compute\.floating_ips.* -tempest\.thirdparty\.boto.* -tempest\.api\.compute\.floating_ips.* -tempest\.api\.network\.test_floating_ips.* -tempest\.api\.network\.admin\.test_floating_ips_admin_action
-tempest\.api\.compute\.floating_ips.* -tempest\.thirdparty\.boto.* -tempest\.api\.compute\.floating_ips.* -tempest\.api\.network\.test_floating_ips.* -tempest\.api\.network\.admin\.test_floating_ips_admin_actionCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat OpenStack の環境はすべて異なるので、省略するテストシナリオは環境ごとに異なります。 - OpenStack Integration Test Suite により、OpenStack デプロイメントが完了したことが確認されたら、環境をクリーンアップして、元のリソースの状態に戻します。
python -m tempest.cmd.cleanup
# python -m tempest.cmd.cleanupCopy to Clipboard Copied! Toggle word wrap Toggle overflow