MagnetoDB/QA/Tests on env with devstack

Tests on environment with DevStack
The easiest way to build a fully functional development environment is with DevStack. Create a machine (such as a VM or Vagrant box) running a distribution supported by DevStack and install DevStack there.

Environment Creation
1. Clone DevStack $ git clone https://github.com/openstack-dev/devstack.git

2. Integrate MagnetoDB with DevStack. To install: $ DEVSTACK_DIR=.../path/to/devstack $ echo "enable_plugin magnetodb https://git.openstack.org/stackforge/magnetodb" >> local.conf To configure devstack to run MagnetoDB with functional testing: $ cd ${DEVSTACK_DIR} $ echo "enable_service tempest" >> local.conf

Run DevStack as normal: $ ./stack.sh

Note: Make sure that your local.conf contains localrc in the first line. See more about configuration of DevStack at http://devstack.org/configuration.html Also you can change other MagnetoDB variables, see file lib/magnetodb

4. Make sure magnetodb-server-api started $ ps aux | grep magnetodb

5. Change current directory to magnetodb $ cd /opt/stack/magnetodb

Tests Running
6. Run tox with necessary parameters: $ tox
 * to start unit tests:

Tempest functional/integration tests
$ cd /opt/stack/tempest
 * change directory to tempest

$ tox -e magnetodb-stable
 * to start stable tempest tests (this folder contains scenarios that verify already implemented functionality):

$ tox -e magnetodb-in-progress
 * to start in_progress tempest tests (contains scenarios that are in progress (i.e. is being worked on) or the functionality that is a subject to changes (minor additions, refactoring, debugging)):

$ tox -e magnetodb-not-ready
 * to start not_ready tempest tests (dedicated to the test scenarios that were created, but the appropriate functionality is not ready yet (not implemented or partially implemented)):

Note: Each group of tests run in individual venv and will require some time to install dependencies (Python packages)