[identity]
# This section contains configuration options that a variety of Tempest
# test clients use when authenticating with different user/tenant
# combinations

# The type of endpoint for a Identity service. Unless you have a
# custom Keystone service catalog implementation, you probably want to leave
# this value as "identity"
catalog_type = identity
# Ignore SSL certificate validation failures? Use when in testing
# environments that have self-signed SSL certs.
disable_ssl_certificate_validation = False
# URL for where to find the OpenStack Identity API endpoint (Keystone)
uri = http://127.0.0.1:5000/v2.0/
# Should typically be left as keystone unless you have a non-Keystone
# authentication API service
strategy = keystone
# The identity region
region = RegionOne

# This should be the username of a user WITHOUT administrative privileges
username = demo
# The above non-administrative user's password
password = secret
# The above non-administrative user's tenant name
tenant_name = demo

# This should be the username of an alternate user WITHOUT
# administrative privileges
alt_username = alt_demo
# The above non-administrative user's password
alt_password = secret
# The above non-administrative user's tenant name
alt_tenant_name = alt_demo

# This should be the username of a user WITH administrative privileges
admin_username = admin
# The above administrative user's password
admin_password = secret
# The above administrative user's tenant name
admin_tenant_name = admin

[compute]
# This section contains configuration options used when executing tests
# against the OpenStack Compute API.

# Allows test cases to create/destroy tenants and users. This option
# enables isolated test cases and better parallel execution,
# but also requires that OpenStack Identity API admin credentials
# are known.
allow_tenant_isolation = true

# Allows test cases to create/destroy tenants and users. This option
# enables isolated test cases and better parallel execution,
# but also requires that OpenStack Identity API admin credentials
# are known.
allow_tenant_reuse = true

# Reference data for tests. The ref and ref_alt should be
# distinct images/flavors.
image_ref = {$IMAGE_ID}
image_ref_alt = {$IMAGE_ID_ALT}
flavor_ref = 1
flavor_ref_alt = 2

# Number of seconds to wait while looping to check the status of an
# instance that is building.
build_interval = 10

# Number of seconds to time out on waiting for an instance
# to build or reach an expected status
build_timeout = 600

# Run additional tests that use SSH for instance validation?
# This requires the instances be routable from the host
#  executing the tests
run_ssh = false

# Name of a user used to authenticated to an instance
ssh_user = cirros

# Network id used for SSH (public, private, etc)
network_for_ssh = private

# IP version of the address used for SSH
ip_version_for_ssh = 4

# Number of seconds to wait to authenticate to an instance
ssh_timeout = 300

# Number of seconds to wait for output from ssh channel
ssh_channel_timeout = 60

# The type of endpoint for a Compute API service. Unless you have a
# custom Keystone service catalog implementation, you probably want to leave
# this value as "compute"
catalog_type = compute

# Does the Compute API support creation of images?
create_image_enabled = true

# For resize to work with libvirt/kvm, one of the following must be true:
# Single node: allow_resize_to_same_host=True must be set in nova.conf
# Cluster: the 'nova' user must have scp access between cluster nodes
resize_available = true

# Does the compute API support changing the admin password?
change_password_available=true

# Run live migration tests (requires 2 hosts)
live_migration_available = false

# Use block live migration (Otherwise, non-block migration will be
# performed, which requires XenServer pools in case of using XS)
use_block_migration_for_live_migration = false

# By default, rely on the status of the diskConfig extension to
# decide if to execute disk config tests. When set to false, tests
# are forced to skip, regardless of the extension status
disk_config_enabled_override = true


[whitebox]
# Whitebox options for compute. Whitebox options enable the
# whitebox test cases, which look at internal Nova database state,
# SSH into VMs to check instance state, etc.

# Should we run whitebox tests for Compute?
whitebox_enabled = true

# Path of nova source directory
source_dir = /opt/stack/nova

# Path of nova configuration file
config_path = /etc/nova/nova.conf

# Directory containing nova binaries such as nova-manage
bin_dir = /usr/local/bin

# Connection string to the database of Compute service
db_uri = mysql://nova:secret@localhost/nova

# Path to a private key file for SSH access to remote hosts
path_to_private_key = /home/user/.ssh/id_rsa

[compute-admin]
# This should be the username of a user WITH administrative privileges
# If not defined the admin user from the identity section will be used
username =
# The above administrative user's password
password =
# The above administrative user's tenant name
tenant_name =

[image]
# This section contains configuration options used when executing tests
# against the OpenStack Images API

# The type of endpoint for an Image API service. Unless you have a
# custom Keystone service catalog implementation, you probably want to leave
# this value as "image"
catalog_type = image

# The version of the OpenStack Images API to use
api_version = 1

# HTTP image to use for glance http image testing
http_image = http://download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-uec.tar.gz

[network]
# This section contains configuration options used when executing tests
# against the OpenStack Network API.

# Version of the Quantum API
api_version = v1.1
# Catalog type of the Quantum Service
catalog_type = network

# A large private cidr block from which to allocate smaller blocks for
# tenant networks.
tenant_network_cidr = 10.100.0.0/16

# The mask bits used to partition the tenant block.
tenant_network_mask_bits = 28

# If tenant networks are reachable, connectivity checks will be
# performed directly against addresses on those networks.
tenant_networks_reachable = false

# Id of the public network that provides external connectivity.
public_network_id = {$PUBLIC_NETWORK_ID}

# Id of a shared public router that provides external connectivity.
# A shared public router would commonly be used where IP namespaces
# were disabled.  If namespaces are enabled, it would be preferable
# for each tenant to have their own router.
public_router_id = {$PUBLIC_ROUTER_ID}

# Whether or not quantum is expected to be available
quantum_available = false

[volume]
# This section contains the configuration options used when executing tests
# against the OpenStack Block Storage API service

# The type of endpoint for a Cinder or Block Storage API service.
# Unless you have a custom Keystone service catalog implementation, you
# probably want to leave this value as "volume"
catalog_type = volume
# Number of seconds to wait while looping to check the status of a
# volume that is being made available
build_interval = 10
# Number of seconds to time out on waiting for a volume
# to be available or reach an expected status
build_timeout = 300
# Runs Cinder multi-backend tests (requires 2 backend declared in cinder.conf)
# They must have different volume_backend_name (backend1_name and backend2_name
# have to be different)
multi_backend_enabled = false
backend1_name = LVM_iSCSI
backend2_name = LVM_iSCSI_1

[object-storage]
# This section contains configuration options used when executing tests
# against the OpenStack Object Storage API.

# You can configure the credentials in the compute section

# The type of endpoint for an Object Storage API service. Unless you have a
# custom Keystone service catalog implementation, you probably want to leave
# this value as "object-store"
catalog_type = object-store

# Number of seconds to time on waiting for a container to container
# synchronization complete
container_sync_timeout = 120
# Number of seconds to wait while looping to check the status of a
# container to container synchronization
container_sync_interval = 5

[boto]
# This section contains configuration options used when executing tests
# with boto.

# EC2 URL
ec2_url = http://localhost:8773/services/Cloud
# S3 URL
s3_url = http://localhost:3333

# Use keystone ec2-* command to get those values for your test user and tenant
aws_access =
aws_secret =

#Image materials for S3 upload
# ALL content of the specified directory will be uploaded to S3
s3_materials_path = /opt/stack/devstack/files/images/s3-materials/cirros-0.3.1

# The manifest.xml files, must be in the s3_materials_path directory
# Subdirectories not allowed!
# The filenames will be used as a Keys in the S3 Buckets

#ARI Ramdisk manifest. Must be in the above s3_materials_path
ari_manifest = cirros-0.3.1-x86_64-initrd.manifest.xml

#AMI Machine Image manifest. Must be in the above s3_materials_path
ami_manifest = cirros-0.3.1-x86_64-blank.img.manifest.xml

#AKI Kernel Image manifest, Must be in the above s3_materials_path
aki_manifest = cirros-0.3.1-x86_64-vmlinuz.manifest.xml

#Instance type
instance_type = m1.tiny

#TCP/IP connection timeout
http_socket_timeout = 5

#Number of retries actions on connection or 5xx error
num_retries = 1

# Status change wait timout
build_timeout = 120

# Status change wait interval
build_interval = 1
