OpenStack Messaging (Zaqar)
Go to file
Flavio Percoco 962979a922 Add flavors support to mongodb
This patch is a follow-up on the queue's flavor work. It adds support
for such feature to the MongoDB storage driver.

Partially-Implements blueprint: marconi-queue-flavors

Change-Id: Ib3231ab361896e1c08831d17899dd4111710ab9b
2014-08-06 12:54:23 +02: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 Add flavors support to mongodb 2014-08-06 12:54:23 +02:00
tools/config Rename Marconi to Zaqar 2014-08-04 10:36:50 +02:00
zaqar Add flavors support to mongodb 2014-08-06 12:54:23 +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.