tempest run under the hood uses stestr and also provides --subunit option to geneate subunit raw ouput. Instead of using extra stestr binary use tempest run binary for running tempest and generating subunit raw output. It also helps to maintain one less dependency while using tempest from master. Change-Id: I8dce171bf8d4534d99659096dc9ebd72e8164e2e
284 lines
11 KiB
YAML
284 lines
11 KiB
YAML
---
|
|
# Copyright 2014, Rackspace US, Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
## Verbosity Options
|
|
debug: False
|
|
|
|
# Install openstack tempest
|
|
# set the tempest_install_method to source or distro
|
|
# on choosing source it will install from git or venv
|
|
# on choosing distro it will install based on distribution
|
|
tempest_install_method: "source"
|
|
|
|
# Set the package install state for distribution and pip packages
|
|
# # Options are 'present' and 'latest'
|
|
tempest_package_state: "latest"
|
|
tempest_pip_package_state: "latest"
|
|
|
|
# Set the host which will execute the shade modules
|
|
# for the service setup. The host must already have
|
|
# clouds.yaml properly configured.
|
|
tempest_service_setup_host: "{{ openstack_service_setup_host | default('localhost') }}"
|
|
tempest_service_setup_host_python_interpreter: "{{ openstack_service_setup_host_python_interpreter | default((tempest_service_setup_host == 'localhost') | ternary(ansible_playbook_python, ansible_python['executable'])) }}"
|
|
|
|
# Toggle whether tempest actually executes
|
|
tempest_run: no
|
|
# Define 0 (serial) or more to use a non default concurrency
|
|
#tempest_run_concurrency:
|
|
|
|
# We comment `tempest_git_repo` so that the repo_build role does not attempt to
|
|
# build the wheel from this repo/branch. Instead, we want tempest to get built
|
|
# from the stable release defined in global requirements.
|
|
#tempest_git_repo: https://git.openstack.org/openstack/tempest
|
|
tempest_git_install_branch: master
|
|
tempest_developer_mode: False
|
|
tempest_developer_constraints:
|
|
- "git+{{ tempest_git_repo }}@{{ tempest_git_install_branch }}#egg=tempest"
|
|
|
|
# TODO(odyssey4me):
|
|
# This can be simplified once all the roles are using
|
|
# python_venv_build. We can then switch to using a
|
|
# set of constraints in pip.conf inside the venv,
|
|
# perhaps prepared by giving a giving a list of
|
|
# constraints to the role.
|
|
tempest_pip_install_args: >-
|
|
{{ tempest_developer_mode | ternary(pip_install_developer_constraints | default('--constraint /opt/developer-pip-constraints.txt'), '') }}
|
|
{{ (pip_install_upper_constraints is defined) | ternary('--constraint ' + pip_install_upper_constraints | default(''), '') }}
|
|
{{ pip_install_options | default('') }}
|
|
|
|
# Name of the virtual env to deploy into
|
|
tempest_venv_tag: "{{ venv_tag | default('untagged') }}"
|
|
tempest_venv_bin: "/openstack/venvs/tempest-{{ tempest_venv_tag }}/bin"
|
|
# venv_download, even when true, will use the fallback method of building the
|
|
# venv from scratch if the venv download fails.
|
|
tempest_venv_download: "{{ not tempest_developer_mode | bool }}"
|
|
tempest_venv_download_url: http://127.0.0.1/venvs/untagged/ubuntu/tempest.tgz
|
|
|
|
# The location where the tempest logs will be placed
|
|
tempest_log_dir: "/var/log/tempest"
|
|
|
|
## Tempest Plugins
|
|
# By default, the following tempest plugins are installed.
|
|
# Override ``tempest_plugins`` variable with your own plugins, depending
|
|
# on your installation.
|
|
# The structure of each item of the list is the following:
|
|
# - name: designate-tempest-plugin #name of the plugin
|
|
# repo: https://git.openstack.org/openstack/designate-tempest-plugin #for installing the plugin from sources
|
|
# branch: master #for installing the plugin from sources
|
|
# install_test_requirements: True #for installing the plugin with its test_requirements (default: True)
|
|
# - name: ironic-tempest-plugin
|
|
# package: ironic #for installing the plugin from packages
|
|
tempest_plugins: "{{ _tempest_plugins['keystone'] + _tempest_plugins['cinder'] + _tempest_plugins['heat'] + _tempest_plugins['neutron'] }}"
|
|
|
|
# tempest_workspace where tempest can be runned
|
|
tempest_workspace: "{{ ansible_env.HOME }}/workspace"
|
|
|
|
# The location where the test whitelist/blacklist will be placed
|
|
tempest_test_whitelist_file_path: "{{ tempest_workspace }}/etc/tempest_whitelist.txt"
|
|
tempest_test_blacklist_file_path: "{{ tempest_workspace }}/etc/tempest_blacklist.txt"
|
|
|
|
# Tests to execute:
|
|
# This sets up a list of tests to execute based on what's deployed in the environment.
|
|
# The list gets added to the whitelist which tempest executes.
|
|
tempest_test_whitelist:
|
|
- "{{ (ansible_pkg_mgr == 'apt' and tempest_install_method == 'distro') |
|
|
ternary('(?!.*\\.test_list_all_implied_roles)', '') ~ 'tempest.api.identity.admin.v3' }}"
|
|
- "tempest.api.identity.v3"
|
|
- "{{ (tempest_service_available_ceilometer | bool) | ternary('tempest.api.telemetry', '') }}"
|
|
- "{{ (tempest_service_available_heat | bool) | ternary('tempest.api.orchestration.stacks.test_non_empty_stack', '') }}"
|
|
# TODO(odyssey4me):
|
|
# Once the issue with this test is worked out, re-enable it.
|
|
#- "{{ (tempest_service_available_nova | bool) | ternary('tempest.scenario.test_minimum_basic', '') }}"
|
|
- "{{ (tempest_service_available_nova | bool) | ternary('tempest.scenario.test_server_basic_ops', '') }}"
|
|
- "{{ (tempest_service_available_swift | bool) | ternary('tempest.scenario.test_object_storage_basic_ops', '') }}"
|
|
- "{{ (tempest_volume_multi_backend_enabled | bool) | ternary('tempest.api.volume.admin.test_multi_backend', '') }}"
|
|
# TODO(evrardjp): Bring this back when upstream is fixed
|
|
# (revert of https://github.com/openstack/cinder/commit/737c50b4ea54e2e63d6e3fe8a73d22b393df4205)
|
|
# - "{{ (tempest_volume_backup_enabled | bool) | ternary('tempest.api.volume.admin.test_volumes_backup', '') }}"
|
|
|
|
# Tests to NOT execute:
|
|
# This sets up a list of tests to skip, which can even include those included in the whitelist.
|
|
tempest_test_blacklist: []
|
|
|
|
# Toggle fatal deprecations
|
|
tempest_fatal_deprecations: False
|
|
|
|
# Private network configuration
|
|
# Currently supports 2 types
|
|
# vlan - will need to make sure your seg id and subnet cidr are correct
|
|
# vxlan - default, can change subnet cidr and seg id
|
|
|
|
# This needs to coincide with tempest_network_tenant_network_cidr and
|
|
# tempest_network_tenant_network_mask_bits below
|
|
tempest_private_net_name: "private"
|
|
tempest_private_subnet_name: "private-subnet"
|
|
tempest_private_subnet_cidr: "192.168.74.0/28"
|
|
tempest_private_net_provider_type: "vxlan"
|
|
tempest_private_net_seg_id: 1
|
|
|
|
# Public network configuration
|
|
# Currently supports 2 types
|
|
# Flat - default
|
|
# Vlan - make sure you override seg id, cidr, provider and physical
|
|
tempest_public_net_name: "public"
|
|
tempest_public_subnet_name: "public-subnet"
|
|
tempest_public_subnet_cidr: "10.1.13.0/24"
|
|
# Neutron default gateway to first ip of subnet, usually .1
|
|
# tempest_public_subnet_gateway_ip:
|
|
tempest_public_net_provider_type: "flat"
|
|
tempest_public_net_physical_type: "flat"
|
|
tempest_public_net_seg_id: ""
|
|
tempest_public_router_external: "True"
|
|
# Example allocation range:
|
|
# tempest_public_subnet_allocation_pools: "10.1.13.150-10.1.13.200"
|
|
tempest_public_subnet_allocation_pools: ""
|
|
|
|
tempest_compute_ssh_user: cirros
|
|
tempest_compute_image_ssh_user: cirros
|
|
tempest_compute_run_ssh: True
|
|
tempest_compute_console_output_enabled: True
|
|
tempest_compute_resize_enabled: True
|
|
tempest_compute_snapshot_enabled: True
|
|
tempest_compute_change_password: False
|
|
tempest_network_tenant_network_cidr: "192.168.74.0/24"
|
|
tempest_network_tenant_network_mask_bits: 28
|
|
|
|
tempest_dashboard_url: "https://{{ external_lb_vip_address }}/"
|
|
|
|
tempest_service_available_aodh: False
|
|
tempest_service_available_ceilometer: False
|
|
tempest_service_available_cinder: True
|
|
tempest_service_available_glance: True
|
|
tempest_service_available_heat: True
|
|
tempest_service_available_horizon: True
|
|
tempest_service_available_ironic: False
|
|
tempest_service_available_neutron: True
|
|
tempest_service_available_nova: True
|
|
tempest_service_available_sahara: False
|
|
tempest_service_available_swift: True
|
|
tempest_service_available_zaqar: False
|
|
|
|
tempest_image_api_v1_enabled: False
|
|
tempest_image_api_v2_enabled: True
|
|
|
|
tempest_swift_enabled: True
|
|
tempest_swift_container_sync: True
|
|
tempest_swift_object_versioning: True
|
|
tempest_swift_discoverable_apis:
|
|
- bulk
|
|
- object
|
|
- container_quotas
|
|
- container_sync
|
|
- slo
|
|
- tempurl
|
|
|
|
tempest_volume_backend_names: [ backend1, backend2 ]
|
|
tempest_volume_backup_enabled: False
|
|
tempest_volume_multi_backend_enabled: False
|
|
|
|
tempest_main_group: tempest_all
|
|
|
|
tempest_pip_packages:
|
|
- cmd2<0.9.0 # >=0.9.0 is python3 only
|
|
- ddt
|
|
- junitxml
|
|
- lxml
|
|
- nose
|
|
- python-ceilometerclient
|
|
- python-cinderclient
|
|
- python-glanceclient
|
|
- python-heatclient
|
|
- python-keystoneclient
|
|
- python-memcached
|
|
- python-neutronclient
|
|
- python-novaclient
|
|
- python-openstackclient
|
|
- python-saharaclient
|
|
- python-subunit
|
|
- python-swiftclient
|
|
- tempest
|
|
- testscenarios
|
|
- os-testr
|
|
|
|
# The list of images for tempest to download.
|
|
# url: where to download from (required)
|
|
# checksum: the checksum of the downloaded file to validate against, format: <algorithm>:<checksum> (optional)
|
|
# format: format to use when uploading to glance (required)
|
|
# name: name to use when uploading to glance - default is to use the downloaded file's name (optional)
|
|
tempest_images:
|
|
- url: "http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img"
|
|
checksum: "sha256:e137062a4dfbb4c225971b67781bc52183d14517170e16a3841d16f962ae7470"
|
|
format: "qcow2"
|
|
name: "cirros"
|
|
- url: "http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img"
|
|
checksum: "sha256:e137062a4dfbb4c225971b67781bc52183d14517170e16a3841d16f962ae7470"
|
|
format: "qcow2"
|
|
name: "cirros"
|
|
|
|
# The location where images are downloaded to
|
|
tempest_image_dir: "/opt/cache/files"
|
|
tempest_image_dir_owner: "{{ lookup('env', 'USER') }}"
|
|
|
|
tempest_enable_instance_password: True
|
|
|
|
tempest_flavors:
|
|
- name: tempest1
|
|
id: 201
|
|
ram: 256
|
|
disk: 1
|
|
vcpus: 1
|
|
- name: tempest2
|
|
id: 202
|
|
ram: 512
|
|
disk: 1
|
|
vcpus: 1
|
|
|
|
# The projects for tempest to use
|
|
tempest_projects:
|
|
- "demo"
|
|
- "alt_demo"
|
|
|
|
# The users for tempest to use
|
|
tempest_users:
|
|
- name: "demo"
|
|
- name: "alt_demo"
|
|
|
|
# The keystone roles for tempest to use
|
|
tempest_roles: []
|
|
|
|
# This variable is used by the repo_build process to determine
|
|
# which host group to check for members of before building the
|
|
# pip packages required by this role. The value is picked up
|
|
# by the py_pkgs lookup.
|
|
tempest_role_project_group: utility_all
|
|
|
|
## Tunable overrides
|
|
tempest_tempest_conf_overrides: {}
|
|
|
|
# python-tempestconf variables
|
|
# The tempest_use_tempestconf by default is set to false, set to true if you
|
|
# want to generate the tempest.conf file with this tool, instead of
|
|
# tempest.conf from the template
|
|
tempest_use_tempestconf: false
|
|
tempest_tempestconf_venv_bin: "/openstack/venvs/tempestconf/bin"
|
|
tempest_tempestconf_pip_packages:
|
|
- python-tempestconf
|
|
tempest_tempestconf_extra_cli_call_overrides:
|
|
auth.use_dynamic_credentials: true
|
|
|
|
# Stackviz tarball url
|
|
stackviz_tarball: "https://tarballs.openstack.org/package-stackviz-element/stackviz-latest.tar.gz"
|
|
stackviz_venv_bin: "/openstack/venvs/stackviz/bin"
|