Adding cleanup for all test runner calls

This commit is contained in:
msdubov 2013-09-02 13:48:26 +04:00 committed by Boris Pavlovic
parent 8629282547
commit 067f9e1c01
4 changed files with 185 additions and 1 deletions

View File

@ -18,7 +18,9 @@
import multiprocessing
import os
import pytest
import time
import fuel_health.cleanup as fuel_cleanup
from rally import utils
@ -54,6 +56,8 @@ class Tester(object):
res[item['proc_name']] = item
if not running:
break
time.sleep(0.5)
self._cleanup(self.config)
return res
@staticmethod
@ -64,3 +68,8 @@ class Tester(object):
msg = filter(lambda line: line and '===' not in line,
out.getvalue().split('\n'))
queue.put({'msg': msg, 'status': status, 'proc_name': proc_name})
@staticmethod
def _cleanup(path):
os.environ['OSTF_CONFIG'] = path
fuel_cleanup.cleanup()

173
rally/benchmark/test.conf Normal file
View File

@ -0,0 +1,173 @@
[identity]
# This section contains configuration options that a variety of
# test clients use when authenticating with different user/tenant
# combinations
url = http://localhost/
# 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://localhost:5000/v2.0/
# URL for where to find the OpenStack V3 Identity API endpoint (Keystone)
#uri_v3 = http://127.0.0.1:5000/v3/
# 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 WITH administrative privileges
admin_username = admin
# The above administrative user's password
admin_password = admin
# The above administrative user's tenant name
admin_tenant_name = service
[compute]
# This section contains configuration options used when executing tests
# against the OpenStack Compute API.
#One of the controller nodes
controller_nodes = localhost
controller_nodes_name = localhost
#Controller node user who able connect via ssh
controller_node_ssh_user = root
#Controller node ssh user's password
controller_node_ssh_password = r00tme
#When you use devstack single-machine deployment make sure you have keys created and user your running tests from can
#access keys as well
controller_node_ssh_key_path = /root/.ssh/id_rsa
#The list of the services should be enabled
enabled_services=nova-cert, nova-consoleauth, nova-scheduler, nova-conductor, nova-compute, nova-network, nova-compute, nova-network
# 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_name = cirros-0.3.1-x86_64-uec
flavor_ref = 1
# User names used to authenticate to an instance for a given image.
image_ssh_user = cirros
image_alt_ssh_user = cirros
# Number of seconds to wait while looping to check the status of an
# instance that is building.
build_interval = 3
# Number of seconds to time out on waiting for an instance
# to build or reach an expected status
build_timeout = 300
# Run additional tests that use SSH for instance validation?
# This requires the instances be routable from the host
# executing the tests
run_ssh = false
# 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
[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 = 2.0
# 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.0.0.0/24
# 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 = true
# Whether or not quantum is expected to be available
neutron_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 = 3
# 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 backends 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 = BACKEND_1
backend2_name = BACKEND_2
[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

View File

@ -10,5 +10,7 @@ sh
six
pytest
-e git+https://github.com/simpleranchero/fuel-ostf-tests#egg=fuel-ostf-tests
-f http://tarballs.openstack.org/oslo.config/oslo.config-1.2.0a3.tar.gz#egg=oslo.config-1.2.0a3
oslo.config>=1.2.0a3

View File

@ -28,7 +28,7 @@ def test_dummy():
class BenchmarkTestCase(test.NoDBTestCase):
def test_running_test(self):
tester = benchmark.Tester('')
tester = benchmark.Tester('rally/benchmark/test.conf')
tester.tests['test'] = ['./tests/benchmark/test_benchmark.py',
'-k', 'test_dummy']
for result in tester.run('test', 3).itervalues():