8af8395094
This patch sets the ZAQAR_TEST_MONGODB env variable just for the py27 test. We would enable it for all envs, but only the py27 gate has a recent enough version of MongoDB available. We considered automatically detecting the mongo version in code and skipping tests if the version was incompatible, but that proved to be problematic since stevedore masks exceptions that get raised by a driver class' __init__ method. Change-Id: Ib751048a9ed1d7bb33ef80a5ed9e9cf7bdf71d57 |
||
---|---|---|
doc | ||
etc | ||
tests | ||
tools/config | ||
zaqar | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.testr.conf | ||
AUTHORS.rst | ||
babel.cfg | ||
bench-requirements.txt | ||
doc-test.conf | ||
HACKING.rst | ||
LICENSE | ||
MANIFEST.in | ||
openstack-common.conf | ||
README.rst | ||
requirements-py3.txt | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements-py3.txt | ||
test-requirements.txt | ||
tox.ini |
Zaqar
Message queuing service for OpenStack. To find more information read our wiki.
Running a local Zaqar server with MongoDB
Note: These instructions are for running a local instance of Zaqar and not all of these steps are required. It is assumed you have MongoDB installed and running.
From your home folder create the
~/.zaqar
folder and clone the repo:$ cd $ mkdir .zaqar $ git clone https://github.com/openstack/zaqar.git
Copy the Zaqar config files to the directory
~/.zaqar
:$ cp zaqar/etc/zaqar.conf.sample ~/.zaqar/zaqar.conf $ cp zaqar/etc/logging.conf.sample ~/.zaqar/logging.conf
Find
[drivers]
section in~/.zaqar/zaqar.conf
and specify to use mongodb storage:storage = mongodb
Then find the
[drivers:storage:mongodb]
section and modify the URI to point to your local mongod instance:uri = mongodb://$MONGODB_HOST:$MONGODB_PORT
By default, you will have:
uri = mongodb://127.0.0.1:27017
For logging, find the
[DEFAULT]
section in~/.zaqar/zaqar.conf
and modify as desired:log_file = server.log
Change directories back to your local copy of the repo:
$ cd zaqar
Run the following so you can see the results of any changes you make to the code without having to reinstall the package each time:
$ pip install -e .
Start the Zaqar server with logging level set to INFO so you can see the port on which the server is listening:
$ zaqar-server -v
Test out that Zaqar is working by creating a queue:
$ curl -i -X PUT http://127.0.0.1:8888/v1/queues/samplequeue -H "Content-type: application/json"
You should get an HTTP 201 along with some headers that will look similar to this:
HTTP/1.0 201 Created
Date: Fri, 25 Oct 2013 15:34:37 GMT
Server: WSGIServer/0.1 Python/2.7.3
Content-Length: 0
Location: /v1/queues/samplequeue
Running tests
First install additional requirements:
pip install tox
And then run tests:
tox -e py27
You can read more about running functional tests in separate TESTS_README.