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. Clone MagnetoDB
$ git clone https://github.com/stackforge/magnetodb.git
3. Integrate MagnetoDB with Devstack. To install:
$ DEVSTACK_DIR=.../path/to/devstack $ cp magnetodb/contrib/devstack/lib/magnetodb ${DEVSTACK_DIR}/lib $ cp magnetodb/contrib/devstack/extras.d/90-magnetodb.sh ${DEVSTACK_DIR}/extras.d
To configure devstack to run MagnetoDB:
$ cd ${DEVSTACK_DIR} $ echo "enable_service magnetodb" >> 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 magnetodb
Tests Running
6. Run tox with necessary parameters:
- to start unit tests:
$ tox
- to start stable tempest tests (this folder contains scenarios that verify already implemented functionality):
$ tox -e tempest-stable
- 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 tempest-in-progress
- 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)):
$ tox -e tempest-not-ready
Note: Each group of tests run in individual venv and will require some time to install dependencies (Python packages)