OpenStack Messaging (Zaqar)
Go to file
kgriffs 8af8395094 Enable MongoDB tests on py27
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
2014-08-05 10:40:00 -05:00
doc Rename Marconi to Zaqar 2014-08-04 10:36:50 +02:00
etc Rename Marconi to Zaqar 2014-08-04 10:36:50 +02:00
tests Require mongodb >= 2.2 or fail misserably 2014-08-04 17:48:12 +02:00
tools/config Rename Marconi to Zaqar 2014-08-04 10:36:50 +02:00
zaqar Require mongodb >= 2.2 or fail misserably 2014-08-04 17:48:12 +02:00
.coveragerc Rename Marconi to Zaqar 2014-08-04 10:36:50 +02:00
.gitignore adds docs directory with dev guide 2014-03-18 14:48:54 -04:00
.gitreview Update .gitreview for incubation org move 2013-09-14 17:44:26 +00:00
.testr.conf Use testr instead of nosetest 2014-01-17 15:43:49 +01:00
AUTHORS.rst refactor: Rename AUTHORS so that it doesn't keep getting overwritten 2013-03-19 16:33:43 -04:00
babel.cfg Prepare marconi for localization 2014-06-04 22:31:55 +02:00
bench-requirements.txt Rename Marconi to Zaqar 2014-08-04 10:36:50 +02:00
doc-test.conf Rename Marconi to Zaqar 2014-08-04 10:36:50 +02:00
HACKING.rst Rename Marconi to Zaqar 2014-08-04 10:36:50 +02:00
LICENSE Include full license text 2014-03-21 10:16:28 +01:00
MANIFEST.in Initial import. 2012-11-01 09:52:20 +01:00
openstack-common.conf Rename Marconi to Zaqar 2014-08-04 10:36:50 +02:00
README.rst Rename Marconi to Zaqar 2014-08-04 10:36:50 +02:00
requirements-py3.txt Updated from global requirements 2014-08-04 15:29:06 +00:00
requirements.txt Updated from global requirements 2014-08-04 15:29:06 +00:00
setup.cfg Rename Marconi to Zaqar 2014-08-04 10:36:50 +02:00
setup.py Updated from global requirements 2014-04-30 02:40:38 +00:00
test-requirements-py3.txt Updated from global requirements 2014-07-30 14:07:39 +00:00
test-requirements.txt Updated from global requirements 2014-07-30 14:07:39 +00:00
tox.ini Enable MongoDB tests on py27 2014-08-05 10:40:00 -05:00

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.

  1. From your home folder create the ~/.zaqar folder and clone the repo:

    $ cd
    $ mkdir .zaqar
    $ git clone https://github.com/openstack/zaqar.git
  2. 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
  3. 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
  4. For logging, find the [DEFAULT] section in ~/.zaqar/zaqar.conf and modify as desired:

    log_file = server.log
  5. Change directories back to your local copy of the repo:

    $ cd zaqar
  6. 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 .
  7. 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
  8. 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.