Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

17.2. OpenStack Integration Test Suite の設定

tempest の仮想マシン内で以下の手順を実行して環境を設定します。
  1. mytempest など、OpenStack Integration Test Suite ツールを実行する作業ディレクトリーを作成します。
    # mkdir -p /path/to/mytempest
  2. mytempest ディレクトリーで、configure-tempest-directory コマンドを実行して mytempest ディレクトリー内で OpenStack Integration Test Suite を設定します。
    # cd /path/to/mytempest
    # /usr/share/openstack-tempest/tools/configure-tempest-directory
  3. 適切な認証情報を使用して、Red Hat OpenStack Platform の環境変数をエクスポートします。この環境の認証情報は以下のとおりです。
    # export OS_USERNAME=admin
    # export OS_TENANT_NAME=admin
    # export OS_PASSWORD=
    # export OS_AUTH_URL=http://IP:35357/v2

    注記

    OpenStack Intergration Test Suite の実行には管理者権限は必要ありません。admin の権限がある場合は、以下のアクションを実行できます。
    • 管理 API のテストを実行すること
    • 必要に応じてテストの認証情報を生成すること
  4. リソースの状態を保存し、以下の認証情報を使用して config_tempest.py スクリプトを実行し、tempest.conf 設定ファイルを正しく作成して /etc ディレクトリーに配置します。
    # tools/config_tempest.py --debug --create identity.uri OS_AUTH_URLidentity.admin_username OS_USERNAME identity.admin_password OS_PASSWORD identity.admin_tenant_name OS_TENANT_NAME object-storage.operator_role Member
  5. テストを実行する前には、既存の OpenStack クラウドのリソースをクリーンな状態に保つことが極めて重要です。
    # python -m tempest.cmd.cleanup --init-saved-state

    注記

    OpenStack Integration Test Suite を使用してクリーンアップしても環境全体がクリーンアップされるわけではありません。既存の OpenStack クラウドをクリーンアップするには、手動の介入が必要です。
  6. mytempest ディレクトリーにある etc/tempest.conf ファイルをレビューして、Red Hat OpenStack Platform 環境での要件がすべて満たされていることを確認します。
  7. tempest.api.compute.flavors というラベルが付いた tempest の 1 つを使用して、run-test.sh スクリプトが正しく実行されていることを確認します。
    # tools/run-tests.sh --concurrency 4 tempest.api.compute.flavors

    注記

    concurrency 4 のオプションは、OpenStack Integration Test Suite で競合状態を生み出したり、予期せぬエラーを発生させたりしないようにします。
  8. 検証に成功した後に、以下のように run-tests.sh スクリプトを実行します。
    # tools/run-tests.sh --concurrency 4 --skip-file tools/ra-skip-file | tee ra-out.txt

    注記

    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
    Red Hat OpenStack の環境はすべて異なるので、省略するテストシナリオは環境ごとに異なります。
  9. OpenStack Integration Test Suite により、OpenStack デプロイメントが完了したことが確認されたら、環境をクリーンアップして、元のリソースの状態に戻します。
    # python -m tempest.cmd.cleanup