How to Configure
Your Cloud and Tempest
for
Interoperability Testing
Catherine Diep
Solutions Architect & Performance Engineer
IBM
Chris Hoge
Interop Engineer
OpenStack Foundation
May 19, 2015
OpenStack Summit, Vancouver
Why Test?
Defcore, Interoperability, and You
A Committee formed during the OpenStack IceHouse Summit in Hong Kong by Board Resolution on 11/4/2013
https://wiki.openstack.org/wiki/Governance/Foundation/2014ProposedBylawsAmendment
Introducing Refstack
There are three parts in the Refstack project:
A source of tools for OpenStack interoperability testing. Data collected by these tools can be used to validate against the DefCore required capabilities.
Test tools installation
https://git.openstack.org/cgit/openstack/defcore/tree/2015.04/procedure.rst
Cloud Asset Configuration
Tempest Configuration
Tempest Configuration Guide
Much of this guidance comes from the docs recently added to the Tempest repository:
http://docs.openstack.org/developer/tempest/configuration.html
tl;dr: Three ways to configure users and assets
tl;dr: You can’t not read that document, and it’s not that long.
Essential tempest.conf settings
#resize = false
resize = true
Essential tempest.conf settings
Alternative: Locking Accounts
Alternative: Locking Accounts
- username: 'testuser'
tenant_name: 'test1'
password: 'pass1'
resources:
network: 'private-net'
roles:
- '_member_'
- 'swiftoperator'
Running tests with Tempest
There are various ways to initiate a Tempest test run
Interpreting Test Results
subunit-1to2 .testrepository/6 | subunit2csv > 6.csv
Running tests with refstack-client
Run a full Tempest API test set with the following command:
./refstack-client test -c <path your tempest.conf file> -vv
Run only the tests listed in a file with the following command:
./refstack-client test -c <path your tempest.conf file> -vv \
-t "--load-list <your test-list file>"
Once you’ve completed a test run and you are happy with the results, you can upload it to the API server.
./refstack-client upload <Path of results file>
This defaults to uploading the data to refstack.net however you can override that by using the --url flag if you want to keep track of results on your own running API server. When the results are finished uploading you will see something like this;
Test results uploaded!
URL: http://refstack.net/#/results/79e70f27-47ca-424a-a575-fd24d79686f4
Test results on Refstack UI
Why run Refstack?
Thank you!
Questions?