Jump to: navigation, search

Solum/Testing

< Solum
Revision as of 17:06, 7 July 2014 by Devdattakulkarni (talk | contribs) (Configure Tempest)

Solum Testing

Currently Solum depends on OpenStack Keystone, Nova, Heat, Glance, and Swift. Additional dependencies may be added in the future. We recommend using Devstack to set up Solum with its various low level services. See the Getting Started Guide for information about how to set up your Devstack environment. You can use the provided Vagrant setup, or you can configure Devstack on your own.

Tempest Setup

Solum uses the tempest functional testing framework. To manually set up tempest:

Checkout tempest code

 cd ${DEVSTACK_DIR}
 git clone https://github.com/openstack/tempest.git

Create tempest configuration file

 cd ${DEVSTACK_DIR}/tempest/etc
 cp tempest.conf.sample tempest.conf

Configure Tempest

Add the following text to etc/tempest.conf

 [DEFAULT]
 debug=True
 use_stderr=False
 log_file=tempest.log

 [identity]
 auth_version = v2
 admin_domain_name = Default
 admin_tenant_name = admin
 admin_password = solum
 admin_username = admin
 alt_tenant_name = alt_demo
 alt_password = solum
 alt_username = alt_demo
 tenant_name = demo
 password = solum
 username = demo
 uri_v3 = http://10.0.2.15:5000/v3/
 uri = http://10.0.2.15:5000/v2.0/

NOTE: The uri_v3 and uri setting should correspond to where you are running your Keystone instance.

Running Functional Tests

Once you have Tempest set up, you may execute your functional tests:

 cd ${DEVSTACK_DIR}/solum/functionaltests
 export TEMPEST_DIR=${DEVSTACK_DIR}/tempest
 ./run_tests.sh

Running Unit Tests

Unit tests are automatically run for Solum through our Stackforge gate jobs when new code is submitted for review in the git repository, and are automatically tested again prior to merge. To run tests locally in your development environment, you can use tox with your local version of python (example is for Python 2.6):

tox -e py26

On CentOS 6.5, the following additional packages may be needed:

sudo yum -y install openssl-devel python-devel libffi-devel python-lxml libxml2-devel libxslt-devel

On Ubuntu:

sudo apt-get install libxml2-dev libxslt-dev