Sample Configuration File

The following is a sample Tempest configuration for adaptation and use. It is auto-generated from Tempest when this documentation is built, so if you are having issues with an option, please compare your version of Tempest with the version of this documentation.

The sample configuration can also be viewed in file form.

[DEFAULT]

#
# From oslo.log
#

# If set to true, the logging level will be set to DEBUG instead of
# the default INFO level. (boolean value)
# Note: This option can be changed without restarting.
#debug = false

# The name of a logging configuration file. This file is appended to
# any existing logging configuration files. For details about logging
# configuration files, see the Python logging module documentation.
# Note that when logging configuration files are used then all logging
# configuration is set in the configuration file and other logging
# configuration options are ignored (for example, log-date-format).
# (string value)
# Note: This option can be changed without restarting.
# Deprecated group/name - [DEFAULT]/log_config
#log_config_append = <None>

# Defines the format string for %%(asctime)s in log records. Default:
# %(default)s . This option is ignored if log_config_append is set.
# (string value)
#log_date_format = %Y-%m-%d %H:%M:%S

# (Optional) Name of log file to send logging output to. If no default
# is set, logging will go to stderr as defined by use_stderr. This
# option is ignored if log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logfile
#log_file = <None>

# (Optional) The base directory used for relative log_file  paths.
# This option is ignored if log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logdir
#log_dir = <None>

# DEPRECATED: Uses logging handler designed to watch file system. When
# log file is moved or removed this handler will open a new log file
# with specified path instantaneously. It makes sense only if log_file
# option is specified and Linux platform is used. This option is
# ignored if log_config_append is set. (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: This function is known to have bene broken for long time,
# and depends on the unmaintained library
#watch_log_file = false

# Use syslog for logging. Existing syslog format is DEPRECATED and
# will be changed later to honor RFC5424. This option is ignored if
# log_config_append is set. (boolean value)
#use_syslog = false

# Enable journald for logging. If running in a systemd environment you
# may wish to enable journal support. Doing so will use the journal
# native protocol which includes structured metadata in addition to
# log messages.This option is ignored if log_config_append is set.
# (boolean value)
#use_journal = false

# Syslog facility to receive log lines. This option is ignored if
# log_config_append is set. (string value)
#syslog_log_facility = LOG_USER

# Use JSON formatting for logging. This option is ignored if
# log_config_append is set. (boolean value)
#use_json = false

# Log output to standard error. This option is ignored if
# log_config_append is set. (boolean value)
#use_stderr = false

# DEPRECATED: Log output to Windows Event Log. (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Windows support is no longer maintained.
#use_eventlog = false

# (Optional) Set the 'color' key according to log levels. This option
# takes effect only when logging to stderr or stdout is used. This
# option is ignored if log_config_append is set. (boolean value)
#log_color = false

# The amount of time before the log files are rotated. This option is
# ignored unless log_rotation_type is set to "interval". (integer
# value)
#log_rotate_interval = 1

# Rotation interval type. The time of the last file change (or the
# time when the service was started) is used when scheduling the next
# rotation. (string value)
# Possible values:
# Seconds - <No description provided>
# Minutes - <No description provided>
# Hours - <No description provided>
# Days - <No description provided>
# Weekday - <No description provided>
# Midnight - <No description provided>
#log_rotate_interval_type = days

# Maximum number of rotated log files. (integer value)
#max_logfile_count = 30

# Log file maximum size in MB. This option is ignored if
# "log_rotation_type" is not set to "size". (integer value)
#max_logfile_size_mb = 200

# Log rotation type. (string value)
# Possible values:
# interval - Rotate logs at predefined time intervals.
# size - Rotate logs once they reach a predefined size.
# none - Do not rotate log files.
#log_rotation_type = none

# Format string to use for log messages with context. Used by
# oslo_log.formatters.ContextFormatter (string value)
#logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(global_request_id)s %(request_id)s %(user_identity)s] %(instance)s%(message)s

# Format string to use for log messages when context is undefined.
# Used by oslo_log.formatters.ContextFormatter (string value)
#logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s

# Additional data to append to log message when logging level for the
# message is DEBUG. Used by oslo_log.formatters.ContextFormatter
# (string value)
#logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d

# Prefix each line of exception output with this format. Used by
# oslo_log.formatters.ContextFormatter (string value)
#logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s

# Defines the format string for %(user_identity)s that is used in
# logging_context_format_string. Used by
# oslo_log.formatters.ContextFormatter (string value)
#logging_user_identity_format = %(user)s %(project)s %(domain)s %(system_scope)s %(user_domain)s %(project_domain)s

# List of package logging levels in logger=LEVEL pairs. This option is
# ignored if log_config_append is set. (list value)
#default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,oslo_messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,oslo_policy=INFO,dogpile.core.dogpile=INFO

# Enables or disables publication of error events. (boolean value)
#publish_errors = false

# The format for an instance that is passed with the log message.
# (string value)
#instance_format = "[instance: %(uuid)s] "

# The format for an instance UUID that is passed with the log message.
# (string value)
#instance_uuid_format = "[instance: %(uuid)s] "

# Interval, number of seconds, of log rate limiting. (integer value)
#rate_limit_interval = 0

# Maximum number of logged messages per rate_limit_interval. (integer
# value)
#rate_limit_burst = 0

# Log level name used by rate limiting. Logs with level greater or
# equal to rate_limit_except_level are not filtered. An empty string
# means that all levels are filtered. (string value)
# Possible values:
# CRITICAL - <No description provided>
# ERROR - <No description provided>
# INFO - <No description provided>
# WARNING - <No description provided>
# DEBUG - <No description provided>
# '' - <No description provided>
#rate_limit_except_level = CRITICAL

# Enables or disables fatal status of deprecations. (boolean value)
#fatal_deprecations = false

#
# From tempest.config
#

# Whether to pause a test in global teardown.
#
# The best use case is investigating used resources of one test.
# A test can be run as follows:
# $ stestr run --pdb TEST_ID
# or
# $ python -m testtools.run TEST_ID (boolean value)
#pause_teardown = false

# Define the prefix name for the resources created by tempest. Tempest
# cleanup CLI will use this config option to cleanup only the
# resources that match the prefix. Make sure this prefix does not
# match with the resource name you do not want Tempest cleanup CLI to
# delete. (string value)
#resource_name_prefix = tempest

# Allows to record all resources created by Tempest. These resources
# are stored in file resource_list.json, which can be later used for
# resource deletion by command tempest cleanup. The resource_list.json
# file will be appended in case of multiple Tempest runs, so the file
# will contain a list of resources created during all Tempest runs.
# (boolean value)
#record_resources = false


[auth]

#
# From tempest.config
#

# Path to the yaml file that contains the list of credentials to use
# for running tests. If used when running in parallel you have to make
# sure sufficient credentials are provided in the accounts file. For
# example if no tests with roles are being run it requires at least `2
# * CONC` distinct accounts configured in  the `test_accounts_file`,
# with CONC == the number of concurrent test processes. (string value)
#test_accounts_file = <None>

# Allows test cases to create/destroy projects and users. This option
# requires that OpenStack Identity API admin credentials are known. If
# false, isolated test cases and parallel execution, can still be
# achieved configuring a list of test accounts (boolean value)
#use_dynamic_credentials = true

# Roles to assign to all users created by tempest (list value)
#tempest_roles =

# Default domain used when getting v3 credentials. This is the name
# keystone uses for v2 compatibility. (string value)
#default_credentials_domain_name = Default

# If use_dynamic_credentials is set to True and Neutron is enabled
# Tempest will try to create a usable network, subnet, and router when
# needed for each project it creates. However in some neutron
# configurations, like with VLAN provider networks, this doesn't work.
# So if set to False the isolated networks will not be created
# (boolean value)
#create_isolated_networks = true

# Username for an administrative user. This is needed for
# authenticating requests made by project isolation to create users
# and projects (string value)
#admin_username = <None>

# Project name to use for an administrative user. This is needed for
# authenticating requests made by project isolation to create users
# and projects (string value)
#admin_project_name = <None>

# Password to use for an administrative user. This is needed for
# authenticating requests made by project isolation to create users
# and projects (string value)
#admin_password = <None>

# Admin domain name for authentication (Keystone V3). The same domain
# applies to user and project if admin_user_domain_name and
# admin_project_domain_name are not specified (string value)
#admin_domain_name = Default

# Domain name that contains the admin user (Keystone V3). May be
# different from admin_project_domain_name and admin_domain_name
# (string value)
#admin_user_domain_name = <None>

# Domain name that contains the project given by admin_project_name
# (Keystone V3). May be different from admin_user_domain_name and
# admin_domain_name (string value)
#admin_project_domain_name = <None>

# The system scope on which an admin user has an admin role
# assignment, if any. Valid values are 'all' or None. This must be set
# to 'all' if using the [oslo_policy]/enforce_scope=true option for
# the identity service. (string value)
#admin_system = <None>


[compute]

#
# From tempest.config
#

# Valid primary image reference to be used in tests. This is a
# required option (string value)
#image_ref = <None>

# Valid secondary image reference to be used in tests. This is a
# required option, but if only one image is available duplicate the
# value of image_ref above (string value)
#image_ref_alt = <None>

# Valid image reference to be used in image certificate validation
# tests when enabled. This image must also have the required
# img_signature_* properties set. Additional details available within
# the following Nova documentation:
# https://docs.openstack.org/nova/latest/user/certificate-
# validation.html (string value)
#certified_image_ref = <None>

# A list of trusted certificates to be used when the image certificate
# validation compute feature is enabled. (list value)
#certified_image_trusted_certs = <None>

# Valid primary flavor to use in tests. (string value)
#flavor_ref = 1

# Valid secondary flavor to be used in tests. (string value)
#flavor_ref_alt = 2

# Time in seconds between build status checks. (integer value)
#build_interval = 1

# Timeout in seconds to wait for an instance to build. Other services
# that do not define build_timeout will inherit this value. (integer
# value)
#build_timeout = 300

# Additional wait time for clean state, when there is no OS-EXT-STS
# extension available (integer value)
#ready_wait = 0

# Name of the fixed network that is visible to all test projects. If
# multiple networks are available for a project, this is the network
# which will be used for creating servers if tempest does not create a
# network or a network is not specified elsewhere. It may be used for
# ssh validation only if floating IPs are disabled. (string value)
#fixed_network_name = <None>

# Catalog type of the Compute service. (string value)
#catalog_type = compute

# The compute region name to use. If empty, the value of
# identity.region is used instead. If no such region is found in the
# service catalog, the first found one is used. (string value)
#region =

# The endpoint type to use for the compute service. (string value)
# Possible values:
# public - <No description provided>
# admin - <No description provided>
# internal - <No description provided>
# publicURL - <No description provided>
# adminURL - <No description provided>
# internalURL - <No description provided>
#endpoint_type = publicURL

# Expected device name when a volume is attached to an instance. Not
# all hypervisors guarantee that they will respect the user defined
# device name, tests may fail if inappropriate device name is set.
# (string value)
#volume_device_name = vdb

# Time in seconds before a shelved instance is eligible for removing
# from a host.  -1 never offload, 0 offload when shelved. This
# configuration value should be same as nova.conf:
# DEFAULT.shelved_offload_time, and some tests will run for as long as
# the time. (integer value)
#shelved_offload_time = 0

# The minimum number of compute nodes expected. This will be utilized
# by some multinode specific tests to ensure that requests match the
# expected size of the cluster you are testing with. (integer value)
#min_compute_nodes = 1

# Hypervisor type of the test target on heterogeneous compute
# environment. The value can be 'QEMU', 'xen' or something. (string
# value)
#hypervisor_type = <None>

# Lower version of the test target microversion range. The format is
# 'X.Y', where 'X' and 'Y' are int values. Tempest selects tests based
# on the range between min_microversion and max_microversion. If both
# values are not specified, Tempest avoids tests which require a
# microversion. Valid values are string with format 'X.Y' or string
# 'latest' (string value)
#min_microversion = <None>

# Upper version of the test target microversion range. The format is
# 'X.Y', where 'X' and 'Y' are int values. Tempest selects tests based
# on the range between min_microversion and max_microversion. If both
# values are not specified, Tempest avoids tests which require a
# microversion. Valid values are string with format 'X.Y' or string
# 'latest' (string value)
#max_microversion = <None>

# AZ to be used for Cinder and Nova. Set this parameter when the cloud
# has nova.conf: cinder.cross_az_attach set to false. Which means
# volumes attached to an instance must be in the same availability
# zone in Cinder as the instance availability zone in Nova. Set the
# common availability zone in this config which will be used to boot
# an instance as well as creating a volume. NOTE: If that AZ is not in
# Cinder (or allow_availability_zone_fallback=False in cinder.conf),
# the volume create request will fail and the instance will fail the
# build request. (string value)
#compute_volume_common_az = <None>

# Specify source host for live-migration, cold-migration and resize
# tests. If option is not set tests will use host automatically.
# (string value)
#migration_source_host = <None>

# Specify destination host for live-migration and cold migration. If
# option is not set tests will use host automatically. (string value)
#migration_dest_host = <None>

# When aggregating available hypervisors for testing, avoid migrating
# to and booting any test VM on hosts with a name that matches the
# provided pattern (string value)
#target_hosts_to_avoid = -ironic


[compute-feature-enabled]

#
# From tempest.config
#

# If false, skip disk config tests (boolean value)
#disk_config = true

# If false, skip fqdn instance sanitization tests. Nova started
# sanitizing the instance name by replacing the '.' with '-' to comply
# with fqdn hostname. Nova changed that in Wallaby cycle, if your
# cloud is older than wallaby then you can keep/make it False.
# (boolean value)
#hostname_fqdn_sanitization = false

# Configure a fully-qualified domain name for instance hostnames. The
# value is suffixed to instance hostname from the database to
# construct the hostname that appears in the metadata API. To disable
# this behavior (for example in order to correctly support
# microversion's 2.94 FQDN hostnames), set this to the empty string.
# (string value)
#dhcp_domain = .novalocal

# Does the test environment support changing the admin password?
# (boolean value)
#change_password = false

# Does the test environment support obtaining instance serial console
# output? (boolean value)
#console_output = true

# Does the test environment support resizing? When you enable this
# feature, 'flavor_ref_alt' should be set and it should refer to a
# larger flavor than 'flavor_ref' one. (boolean value)
#resize = false

# Does the test environment support pausing? (boolean value)
#pause = true

# Does the test environment support shelving/unshelving? (boolean
# value)
#shelve = true

# Does the test environment support cold migration of unshelved
# server? (boolean value)
#shelve_migrate = false

# Does the test environment support suspend/resume? (boolean value)
#suspend = true

# Does the test environment support cold migration? (boolean value)
#cold_migration = true

# Does the test environment support live migration? (boolean value)
#live_migration = true

# Does the test environment support live migrating VM back and forth
# between different versions of nova-compute? (boolean value)
#live_migrate_back_and_forth = false

# Does the test environment support metadata service? Ignored unless
# validation.run_validation=true. (boolean value)
#metadata_service = true

# Does the test environment use block devices for live migration
# (boolean value)
#block_migration_for_live_migration = false

# Does the test environment support migrating between any hosts? In
# environments with non-homogeneous compute nodes you can set this to
# False so that it will select destination host for migrating
# automatically (boolean value)
#can_migrate_between_any_hosts = true

# Enable VNC console. This configuration value should be same as
# nova.conf: vnc.enabled (boolean value)
#vnc_console = false

# DEPRECATED: Enable Spice console. This configuration value should be
# same as nova.conf: spice.enabled (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: This config option is not being used in Tempest, we can add
# it back when adding the test cases.
#spice_console = false

# Enable serial console. This configuration value should be the same
# as nova.conf: serial_console.enabled (boolean value)
#serial_console = false

# Does the test environment support instance rescue mode? (boolean
# value)
#rescue = true

# Does the test environment support stable device instance rescue
# mode? (boolean value)
#stable_rescue = false

# Enables returning of the instance password by the relevant server
# API calls such as create, rebuild or rescue. This configuration
# value should be same as nova.conf: DEFAULT.enable_instance_password
# (boolean value)
#enable_instance_password = true

# Does the test environment support dynamic network interface
# attachment? (boolean value)
#interface_attach = true

# Does the test environment support creating snapshot images of
# running instances? (boolean value)
#snapshot = true

# Does the test environment support server personality (boolean value)
#personality = false

# Does the test environment support attaching an encrypted volume to a
# running server instance? This may depend on the combination of
# compute_driver in nova and the volume_driver(s) in cinder. (boolean
# value)
#attach_encrypted_volume = true

# Enable special configuration drive with metadata. (boolean value)
#config_drive = true

# A list of enabled filters that Nova will accept as hints to the
# scheduler when creating a server. If the default value is overridden
# in nova.conf by the test environment (which means that a different
# set of filters is enabled than what is included in Nova by default),
# then this option must be configured to contain the same filters that
# Nova uses in the test environment. A special entry 'all' indicates
# all filters that are included with Nova are enabled. If using 'all',
# be sure to enable all filters in nova.conf, as tests can fail in
# unpredictable ways if Nova's and Tempest's enabled filters don't
# match. Empty list indicates all filters are disabled. The full list
# of enabled filters is in nova.conf:
# filter_scheduler.enabled_filters. (list value)
# Deprecated group/name - [compute-feature-enabled]/scheduler_available_filters
#scheduler_enabled_filters = AvailabilityZoneFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter

# Does the test environment support in-place swapping of volumes
# attached to a server instance? (boolean value)
#swap_volume = false

# Does the test environment support volume-backed live migration?
# (boolean value)
#volume_backed_live_migration = false

# Does the test environment support attaching a volume to more than
# one instance? This depends on hypervisor and volume backend/type and
# compute API version 2.60. (boolean value)
#volume_multiattach = false

# Does the test environment support attaching devices using an IDE bus
# to the instance? (boolean value)
#ide_bus = true

# Does the test environment support unified limits? (boolean value)
#unified_limits = false


[dashboard]

#
# From tempest.config
#

# Where the dashboard can be found (uri value)
#dashboard_url = http://localhost/

# Set to True if using self-signed SSL certificates. (boolean value)
#disable_ssl_certificate_validation = false


[debug]

#
# From tempest.config
#

# A regex to determine which requests should be traced.
#
# This is a regex to match the caller for rest client requests to be
# able to
# selectively trace calls out of specific classes and methods. It
# largely
# exists for test development, and is not expected to be used in a
# real deploy
# of tempest. This will be matched against the discovered
# ClassName:method
# in the test environment.
#
# Expected values for this field are:
#
#  * ClassName:test_method_name - traces one test_method
#  * ClassName:setUp(Class) - traces specific setup functions
#  * ClassName:tearDown(Class) - traces specific teardown functions
#  * ClassName:_run_cleanups - traces the cleanup functions
#
# If nothing is specified, this feature is not enabled. To trace
# everything
# specify .* as the regex.
#  (string value)
#trace_requests =


[enforce_scope]

#
# From tempest.config
#

# Does the compute service API policies enforce scope and new
# defaults? This configuration value should be enabled when nova.conf:
# [oslo_policy]. enforce_new_defaults and nova.conf: [oslo_policy].
# enforce_scope options are enabled in nova conf. (boolean value)
#nova = false

# Does the network service API policies enforce scope and new
# defaults? This configuration value should be enabled when
# neutron.conf: [oslo_policy]. enforce_new_defaults and neutron.conf:
# [oslo_policy]. enforce_scope options are enabled in neutron conf.
# (boolean value)
#neutron = false

# Does the Image service API policies enforce scope and new defaults?
# This configuration value should be enabled when glance.conf:
# [oslo_policy]. enforce_new_defaults and glance.conf: [oslo_policy].
# enforce_scope options are enabled in glance conf. (boolean value)
#glance = false

# Does the Volume service API policies enforce scope and new defaults?
# This configuration value should be enabled when cinder.conf:
# [oslo_policy]. enforce_new_defaults and cinder.conf: [oslo_policy].
# enforce_scope options are enabled in cinder conf. (boolean value)
#cinder = false

# Does the Identity service API policies enforce scope and new
# defaults? This configuration value should be enabled when
# keystone.conf: [oslo_policy]. enforce_new_defaults and
# keystone.conf: [oslo_policy]. enforce_scope options are enabled in
# keystone conf. (boolean value)
#keystone = false

# Does the placement service API policies enforce scope and new
# defaults? This configuration value should be enabled when
# placement.conf: [oslo_policy]. enforce_new_defaults and nova.conf:
# [oslo_policy]. enforce_scope options are enabled in placement conf.
# (boolean value)
#placement = false


[identity]

#
# From tempest.config
#

# Catalog type of the Identity service. (string value)
#catalog_type = identity

# Set to True if using self-signed SSL certificates. (boolean value)
#disable_ssl_certificate_validation = false

# Specify a CA bundle file to use in verifying a TLS (https) server
# certificate. (string value)
#ca_certificates_file = <None>

# DEPRECATED: Full URI of the OpenStack Identity API (Keystone), v2
# (uri value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: The identity v2 API tests were removed and this option has
# no effect
#uri = <None>

# Full URI of the OpenStack Identity API (Keystone), v3 (uri value)
#uri_v3 = <None>

# DEPRECATED: Identity API version to be used for authentication for
# API tests. (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Identity v2 API was removed and v3 is the only available
# identity API version now
#auth_version = v3

# The identity region name to use. Also used as the other services'
# region name unless they are set explicitly. If no such region is
# found in the service catalog, the first found one is used. (string
# value)
#region = RegionOne

# DEPRECATED: The admin endpoint type to use for OpenStack Identity
# (Keystone) API v2 (string value)
# Possible values:
# public - <No description provided>
# admin - <No description provided>
# internal - <No description provided>
# publicURL - <No description provided>
# adminURL - <No description provided>
# internalURL - <No description provided>
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: This option has no effect
#v2_admin_endpoint_type = adminURL

# DEPRECATED: The public endpoint type to use for OpenStack Identity
# (Keystone) API v2 (string value)
# Possible values:
# public - <No description provided>
# admin - <No description provided>
# internal - <No description provided>
# publicURL - <No description provided>
# adminURL - <No description provided>
# internalURL - <No description provided>
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: This option has no effect
#v2_public_endpoint_type = publicURL

# The endpoint type to use for OpenStack Identity (Keystone) API v3.
# (string value)
# Possible values:
# public - <No description provided>
# admin - <No description provided>
# internal - <No description provided>
# publicURL - <No description provided>
# adminURL - <No description provided>
# internalURL - <No description provided>
#v3_endpoint_type = public

# Role required to administrate keystone. (string value)
#admin_role = admin

# ID of the default domain (string value)
#default_domain_id = default

# Whether keystone identity v3 policy required a domain scoped token
# to use admin APIs (boolean value)
#admin_domain_scope = false

# The number of unsuccessful login attempts the user is allowed before
# having the account locked. This only takes effect when identity-
# feature-enabled.security_compliance is set to 'True'. For more
# details, refer to keystone config options
# keystone.conf:security_compliance.lockout_failure_attempts. This
# feature is disabled by default in keystone. (integer value)
#user_lockout_failure_attempts = 2

# The number of seconds a user account will remain locked. This only
# takes effect when identity-feature-enabled.security_compliance is
# set to 'True'. For more details, refer to keystone config options
# keystone.conf:security_compliance.lockout_duration. Setting this
# option will have no effect unless you also set
# identity.user_lockout_failure_attempts. (integer value)
#user_lockout_duration = 5

# The number of passwords for a user that must be unique before an old
# password can be reused. This only takes effect when identity-
# feature-enabled.security_compliance is set to 'True'. This config
# option corresponds to keystone.conf:
# security_compliance.unique_last_password_count, whose default value
# is 0 meaning disabling this feature. NOTE: This config option value
# must be same as keystone.conf:
# security_compliance.unique_last_password_count otherwise test might
# fail (integer value)
#user_unique_last_password_count = 2

# The number of days that a password must be used before the user can
# change it. This only takes effect when identity-feature-
# enabled.security_compliance is set to 'True'. For more details,
# refer to keystone config options
# keystone.conf:security_compliance.minimum_password_age. (integer
# value)
#user_minimum_password_age = 0


[identity-feature-enabled]

#
# From tempest.config
#

# Does the identity service have delegation and impersonation enabled
# (boolean value)
#trust = true

# DEPRECATED: Is the v2 identity API enabled (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: The identity v2 API tests were removed and this option has
# no effect
#api_v2 = false

# DEPRECATED: Is the v2 identity admin API available? (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: The identity v2 API tests were removed and this option has
# no effect
#api_v2_admin = true

# DEPRECATED: Is the v3 identity API enabled (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Identity v2 API was removed and v3 is the only available
# identity API version now
#api_v3 = true

# A list of enabled identity extensions with a special entry all which
# indicates every extension is enabled. Empty list indicates all
# extensions are disabled. To get the list of extensions run:
# 'openstack extension list --identity' (list value)
#api_extensions = all

# Are domain specific drivers enabled? This configuration value should
# be same as [identity]->domain_specific_drivers_enabled in
# keystone.conf. (boolean value)
#domain_specific_drivers = false

# Does the environment have the security compliance settings enabled?
# (boolean value)
#security_compliance = false

# DEPRECATED: Does the environment have access rules enabled? (boolean
# value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Access rules for application credentials is a default
# feature since Train
#access_rules = true

# Set to True if the environment has a read-only user source. This
# will skip all tests that attempt to create, delete, or modify users.
# This should not be set to True if using dynamic credentials (boolean
# value)
#immutable_user_source = false


[image]

#
# From tempest.config
#

# Catalog type of the Image service. (string value)
#catalog_type = image

# The image region name to use. If empty, the value of identity.region
# is used instead. If no such region is found in the service catalog,
# the first found one is used. (string value)
#region =

# The endpoint type to use for the image service. (string value)
# Possible values:
# public - <No description provided>
# admin - <No description provided>
# internal - <No description provided>
# publicURL - <No description provided>
# adminURL - <No description provided>
# internalURL - <No description provided>
#endpoint_type = publicURL

# Alternate endpoint name for cross-worker testing (string value)
#alternate_image_endpoint = <None>

# The endpoint type to use for the alternate image service. (string
# value)
# Possible values:
# public - <No description provided>
# admin - <No description provided>
# internal - <No description provided>
# publicURL - <No description provided>
# adminURL - <No description provided>
# internalURL - <No description provided>
#alternate_image_endpoint_type = publicURL

# Flag to enable if caching is enabled by image service, operator
# should set this parameter to True if 'image_cache_dir' is set in
# glance-api.conf (boolean value)
#image_caching_enabled = false

# http accessible image (string value)
#http_image = http://download.cirros-cloud.net/0.6.2/cirros-0.6.2-x86_64-uec.tar.gz

# http qcow2 accessible image which will be used for image conversion
# if enabled. (string value)
#http_qcow2_image = http://download.cirros-cloud.net/0.6.2/cirros-0.6.2-x86_64-disk.img

# Timeout in seconds to wait for an image to become available.
# (integer value)
#build_timeout = 300

# Time in seconds between image operation status checks. (integer
# value)
#build_interval = 1

# A list of image's container formats users can specify. (list value)
#container_formats = bare,ami,ari,aki,ovf,ova

# A list of image's disk formats users can specify. (list value)
#disk_formats = qcow2,raw,ami,ari,aki,vhd,vmdk,vdi,iso,vhdx

# A path to a manifest.yml generated using the os-test-images project
# (string value)
#images_manifest_file = <None>


[image-feature-enabled]

#
# From tempest.config
#

# DEPRECATED: Is the v2 image API enabled (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Glance v1 APIs are deprecated and v2 APIs are current one.
# In future, Tempest will test v2 APIs only so this config option will
# be removed.
#api_v2 = true

# DEPRECATED: Is image import feature enabled (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Issue with image import in WSGI mode was fixed in Victoria,
# and this feature works in any deployment architecture now.
#import_image = true

# DEPRECATED: Should we check that os_glance namespace is reserved
# (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: os_glance namespace is always reserved since Wallaby
#os_glance_reserved = true

# Is show_multiple_locations enabled in glance. Note that at least one
# http store must be enabled as well, because we use that location
# scheme to test. (boolean value)
#manage_locations = false

# Is image_conversion enabled in glance. (boolean value)
#image_conversion = false

# Indicates that image format is enforced by glance, such that we
# should not expect to be able to upload bad images for testing other
# services. (boolean value)
#image_format_enforcement = true


[network]

#
# From tempest.config
#

# Catalog type of the Neutron service. (string value)
#catalog_type = network

# The network region name to use. If empty, the value of
# identity.region is used instead. If no such region is found in the
# service catalog, the first found one is used. (string value)
#region =

# The endpoint type to use for the network service. (string value)
# Possible values:
# public - <No description provided>
# admin - <No description provided>
# internal - <No description provided>
# publicURL - <No description provided>
# adminURL - <No description provided>
# internalURL - <No description provided>
#endpoint_type = publicURL

# The cidr block to allocate project ipv4 subnets from (string value)
#project_network_cidr = 10.100.0.0/16

# The mask bits for project ipv4 subnets (integer value)
#project_network_mask_bits = 28

# The cidr block to allocate project ipv6 subnets from (string value)
#project_network_v6_cidr = 2001:db8::/48

# The mask bits for project ipv6 subnets (integer value)
#project_network_v6_mask_bits = 64

# Whether project networks can be reached directly from the test
# client. This must be set to True when the 'fixed' connect_method is
# selected. (boolean value)
#project_networks_reachable = false

# Id of the public network that provides external connectivity (string
# value)
#public_network_id =

# Default floating network name. Used to allocate floating IPs when
# neutron is enabled. (string value)
#floating_network_name = <None>

# Subnet id of subnet which is used for allocation of floating IPs.
# Specify when two or more subnets are present in network. (string
# value)
#subnet_id =

# Id of the public router that provides external connectivity. This
# should only be used when Neutron's 'allow_overlapping_ips' is set to
# 'False' in neutron.conf. usually not needed past 'Grizzly' release
# (string value)
#public_router_id =

# Timeout in seconds to wait for network operation to complete.
# (integer value)
#build_timeout = 300

# Time in seconds between network operation status checks. (integer
# value)
#build_interval = 1

# vnic_type to use when launching instances with pre-configured ports.
# Supported ports are: ['normal', 'direct', 'macvtap', 'direct-
# physical', 'baremetal', 'virtio-forwarder'] (string value)
# Possible values:
# <None> - <No description provided>
# normal - <No description provided>
# direct - <No description provided>
# macvtap - <No description provided>
# direct-physical - <No description provided>
# baremetal - <No description provided>
# virtio-forwarder - <No description provided>
#port_vnic_type = <None>

# port profile to use when launching instances with pre-configured
# ports. (dict value)
#port_profile =

# List of ip pools for subnetpools creation (list value)
#default_network = 1.0.0.0/16,2.0.0.0/16

# The environment does not support network separation between tenants.
# (boolean value)
#shared_physical_network = false


[network-feature-enabled]

#
# From tempest.config
#

# Allow the execution of IPv6 tests. (boolean value)
#ipv6 = true

# A list of enabled network extensions with a special entry all which
# indicates every extension is enabled. Empty list indicates all
# extensions are disabled. To get the list of extensions run:
# 'openstack extension list --network' (list value)
#api_extensions = all

# A list of available network features with a special entry all that
# indicates every feature is available. Empty list indicates all
# features are disabled. This list can contain features that are not
# discoverable through the API. (list value)
#available_features = all

# Allow the execution of IPv6 subnet tests that use the extended IPv6
# attributes ipv6_ra_mode and ipv6_address_mode. (boolean value)
#ipv6_subnet_attributes = false

# Does the test environment support changing port admin state?
# (boolean value)
#port_admin_state_change = true

# Does the test environment support port security? (boolean value)
#port_security = false

# Does the test environment support floating_ips? (boolean value)
#floating_ips = true

# Name of the physnet for placement based minimum bandwidth
# allocation. (string value)
#qos_placement_physnet = <None>

# Base segmentation ID to create provider networks. This value will be
# increased in case of conflict. (string value)
#provider_net_base_segmentation_id = 3000

# Does the test environment have minimum bandwidth and packet rate
# inventories configured? (boolean value)
#qos_min_bw_and_pps = false


[object-storage]

#
# From tempest.config
#

# Catalog type of the Object-Storage service. (string value)
#catalog_type = object-store

# The object-storage region name to use. If empty, the value of
# identity.region is used instead. If no such region is found in the
# service catalog, the first found one is used. (string value)
#region =

# The endpoint type to use for the object-store service. (string
# value)
# Possible values:
# public - <No description provided>
# admin - <No description provided>
# internal - <No description provided>
# publicURL - <No description provided>
# adminURL - <No description provided>
# internalURL - <No description provided>
#endpoint_type = publicURL

# Number of seconds to time on waiting for a container to container
# synchronization complete. (integer value)
#container_sync_timeout = 600

# Number of seconds to wait while looping to check the status of a
# container to container synchronization (integer value)
#container_sync_interval = 5

# Role to add to users created for swift tests to enable creating
# containers (string value)
#operator_role = member

# User role that has reseller admin (string value)
#reseller_admin_role = ResellerAdmin

# Name of sync realm. A sync realm is a set of clusters that have
# agreed to allow container syncing with each other. Set the same
# realm name as Swift's container-sync-realms.conf (string value)
#realm_name = realm1

# One name of cluster which is set in the realm whose name is set in
# 'realm_name' item in this file. Set the same cluster name as Swift's
# container-sync-realms.conf (string value)
#cluster_name = name1

# Timeout in seconds to wait for objects to create. (integer value)
#build_timeout = 10


[object-storage-feature-enabled]

#
# From tempest.config
#

# A list of the enabled optional discoverable apis. A single entry,
# all, indicates that all of these features are expected to be enabled
# (list value)
#discoverable_apis = all

# Execute (old style) container-sync tests (boolean value)
#container_sync = true

# Execute object-versioning tests (boolean value)
#object_versioning = true

# Execute discoverability tests (boolean value)
#discoverability = true

# Hashing algorithm to use for the temp_url tests. Needs to be
# supported both by Swift and the hashlib module, for example sha1 or
# sha256 (string value)
#tempurl_digest_hashlib = sha256


[oslo_concurrency]

#
# From oslo.concurrency
#

# Enables or disables inter-process locks. (boolean value)
#disable_process_locking = false

# Directory to use for lock files.  For security, the specified
# directory should only be writable by the user running the processes
# that need locking. Defaults to environment variable OSLO_LOCK_PATH.
# If external locks are used, a lock path must be set. (string value)
#lock_path = <None>


[placement]

#
# From tempest.config
#

# The endpoint type to use for the placement service. (string value)
# Possible values:
# public - <No description provided>
# admin - <No description provided>
# internal - <No description provided>
#endpoint_type = public

# Catalog type of the Placement service. (string value)
#catalog_type = placement

# The placement region name to use. If empty, the value of
# [identity]/region is used instead. If no such region is found in the
# service catalog, the first region found is used. (string value)
#region =

# Lower version of the test target microversion range. The format is
# 'X.Y', where 'X' and 'Y' are int values. Valid values are string
# with format 'X.Y' or string 'latest' (string value)
#min_microversion = <None>

# Upper version of the test target microversion range. The format is
# 'X.Y', where 'X' and 'Y' are int values. Valid values are string
# with format 'X.Y' or string 'latest' (string value)
#max_microversion = <None>


[profiler]

#
# From tempest.config
#

# The secret key to enable OpenStack Profiler. The value should match
# the one configured in OpenStack services under
# `[profiler]/hmac_keys` property. The default empty value keeps
# profiling disabled (string value)
#key = <None>


[scenario]

#
# From tempest.config
#

# Image full path. (string value)
# Deprecated group/name - [scenario]/qcow2_img_file
#img_file = /opt/stack/new/devstack/files/images/cirros-0.3.1-x86_64-disk.img

# Image disk format (string value)
#img_disk_format = qcow2

# Image container format (string value)
#img_container_format = bare

# Glance image properties. Use for custom images which require them
# (dict value)
#img_properties = <None>

# DHCP client used by images to renew DHCP lease. If left empty,
# update operation will be skipped. Supported clients: "udhcpc",
# "dhclient", "dhcpcd" (string value)
# Possible values:
# udhcpc - <No description provided>
# dhclient - <No description provided>
# dhcpcd - <No description provided>
# '' - <No description provided>
#dhcp_client = udhcpc

# The protocol used in security groups tests to check connectivity.
# (string value)
# Possible values:
# icmp - <No description provided>
# tcp - <No description provided>
# udp - <No description provided>
#protocol = icmp

# Directory in which to write the timestamp file. (string value)
#target_dir = /tmp


[service-clients]

#
# From tempest.config
#

# Timeout in seconds to wait for the http request to return (integer
# value)
#http_timeout = 60

# Specify an http proxy to use. (string value)
#proxy_url = <None>


[service_available]

#
# From tempest.config
#

# Whether or not cinder is expected to be available (boolean value)
#cinder = true

# Whether or not neutron is expected to be available (boolean value)
#neutron = true

# Whether or not glance is expected to be available (boolean value)
#glance = true

# Whether or not swift is expected to be available (boolean value)
#swift = true

# Whether or not nova is expected to be available (boolean value)
#nova = true

# Whether or not horizon is expected to be available (boolean value)
#horizon = true


[validation]

#
# From tempest.config
#

# Enable ssh on created servers and creation of additional validation
# resources to enable remote access. In case the guest does not
# support ssh set it to false (boolean value)
#run_validation = true

# Enable/disable security groups. (boolean value)
#security_group = true

# Enable/disable security group rules. (boolean value)
#security_group_rules = true

# Default IP type used for validation (string value)
# Possible values:
# fixed - uses the first IP belonging to the fixed network
# floating - creates and uses a floating IP
#connect_method = floating

# Default authentication method to the instance. Only ssh via keypair
# is supported for now. Additional methods will be handled in a
# separate spec. (string value)
# Possible values:
# keypair - <No description provided>
#auth_method = keypair

# Default IP version for ssh connections. (integer value)
#ip_version_for_ssh = 4

# Timeout in seconds to wait for ping to succeed. (integer value)
#ping_timeout = 120

# Timeout in seconds to wait for the TCP connection to be successful.
# (integer value)
#connect_timeout = 60

# Timeout in seconds to wait for the ssh banner. (integer value)
#ssh_timeout = 300

# User name used to authenticate to an instance. (string value)
#image_ssh_user = root

# User name used to authenticate to an alt instance. (string value)
#image_alt_ssh_user = root

# Password used to authenticate to an instance. (string value)
#image_ssh_password = password

# Password used to authenticate to an alt instance. (string value)
#image_alt_ssh_password = password

# Shell fragments to use before executing a command when sshing to a
# guest. (string value)
#ssh_shell_prologue = set -eu -o pipefail; PATH=$$PATH:/sbin:/usr/sbin;

# The packet size for ping packets originating from remote linux hosts
# (integer value)
#ping_size = 56

# The number of ping packets originating from remote linux hosts
# (integer value)
#ping_count = 1

# Unallocated floating IP range, which will be used to test the
# floating IP bulk feature for CRUD operation. This block must not
# overlap an existing floating IP pool. (string value)
#floating_ip_range = 10.0.0.0/29

# Network used for SSH connections. Ignored if
# connect_method=floating. (string value)
#network_for_ssh = public

# Type of key to use for ssh connections. (string value)
# Possible values:
# ecdsa - <No description provided>
# rsa - <No description provided>
#ssh_key_type = ecdsa

# Allowed VM network connection downtime during live migration, in
# seconds. When the measured downtime exceeds this value, an exception
# is raised. (floating point value)
#allowed_network_downtime = 5.0

# Allowed VM metadata connection downtime during live migration, in
# seconds. When the measured downtime exceeds this value, an exception
# is raised. (floating point value)
#allowed_metadata_downtime = 6.0


[volume]

#
# From tempest.config
#

# Time in seconds between volume availability checks. (integer value)
#build_interval = 1

# Timeout in seconds to wait for a volume to become available.
# (integer value)
#build_timeout = 300

# Catalog type of the Volume Service (string value)
#catalog_type = block-storage

# The volume region name to use. If empty, the value of
# identity.region is used instead. If no such region is found in the
# service catalog, the first found one is used. (string value)
#region =

# The endpoint type to use for the volume service. (string value)
# Possible values:
# public - <No description provided>
# admin - <No description provided>
# internal - <No description provided>
# publicURL - <No description provided>
# adminURL - <No description provided>
# internalURL - <No description provided>
#endpoint_type = publicURL

# What kind of backup_driver does cinder
# use?https://docs.openstack.org/cinder/latest/configuration/block-
# storage/backup-drivers.html (string value)
# Possible values:
# ceph - <No description provided>
# swift - <No description provided>
# nfs - <No description provided>
# glusterfs - <No description provided>
# posix - <No description provided>
# google - <No description provided>
# s3 - <No description provided>
#backup_driver = ceph

# A list of backend names separated by comma. The backend name must be
# declared in cinder.conf (list value)
#backend_names = BACKEND_1,BACKEND_2

# Volume type to be used while creating volume. (string value)
#volume_type =

# Multiattach volume type used while creating multiattach volume.
# (string value)
#volume_type_multiattach =

# Backend protocol to target when creating volume types (string value)
#storage_protocol = iSCSI

# Backend vendor to target when creating volume types (string value)
#vendor_name = Open Source

# Disk format to use when copying a volume to image (string value)
#disk_format = raw

# Default size in GB for volumes created by volumes tests (integer
# value)
#volume_size = 1

# Size in GB a volume is extended by - if a test extends a volume, the
# size of the new volume will be volume_size + volume_size_extend.
# (integer value)
#volume_size_extend = 1

# A reference to existing volume for volume manage. It contains two
# elements, the first is ref type (like 'source-name', 'source-id',
# etc), the second is volume name template used in storage backend
# (list value)
#manage_volume_ref = source-name,volume-%s

# A reference to existing snapshot for snapshot manage. It contains
# two elements, the first is ref type (like 'source-name', 'source-
# id', etc), the second is snapshot name template used in storage
# backend (list value)
#manage_snapshot_ref = source-name,_snapshot-%s

# Lower version of the test target microversion range. The format is
# 'X.Y', where 'X' and 'Y' are int values. Tempest selects tests based
# on the range between min_microversion and max_microversion. If both
# values are not specified, Tempest avoids tests which require a
# microversion. Valid values are string with format 'X.Y' or string
# 'latest' (string value)
#min_microversion = <None>

# Upper version of the test target microversion range. The format is
# 'X.Y', where 'X' and 'Y' are int values. Tempest selects tests based
# on the range between min_microversion and max_microversion. If both
# values are not specified, Tempest avoids tests which require a
# microversion. Valid values are string with format 'X.Y' or string
# 'latest' (string value)
#max_microversion = <None>


[volume-feature-enabled]

#
# From tempest.config
#

# Runs Cinder multi-backend test (requires 2 backends) (boolean value)
#multi_backend = false

# Runs Cinder volumes backup test (boolean value)
#backup = true

# Runs Cinder volume snapshot test (boolean value)
#snapshot = true

# Runs Cinder volume clone test (boolean value)
#clone = true

# Runs Cinder manage snapshot tests (boolean value)
#manage_snapshot = false

# Runs Cinder manage volume tests (boolean value)
#manage_volume = false

# A list of enabled volume extensions with a special entry all which
# indicates every extension is enabled. Empty list indicates all
# extensions are disabled (list value)
#api_extensions = all

# Does the cloud support extending the size of a volume which is
# currently attached to a server instance? This depends on the 3.42
# volume API microversion and the 2.51 compute API microversion. Also,
# not all volume or compute backends support this operation. (boolean
# value)
#extend_attached_volume = false

# Does the cloud support extending the size of an encrypted volume
# which is currently attached to a server instance? This depends on
# the 3.42 volume API microversion and the 2.51 compute API
# microversion. Also, not all volume or compute backends support this
# operation. (boolean value)
#extend_attached_encrypted_volume = false

# Does the cloud support extending the size of a volume which has
# snapshot? Some drivers do not support this operation. (boolean
# value)
#extend_volume_with_snapshot = true

# Volume types used for data volumes. Multiple volume types can be
# assigned. (string value)
#volume_types_for_data_volume = <None>

# Run tests for dependencies between images, volumesand instance
# snapshots (boolean value)
#enable_volume_image_dep_tests = true