4f5de4b23f
The upcoming sharding feature requires a catalogue storage driver very similar to that used by the proxy. This patch ports the proxy catalogue storage driver to the queues storage space and updates the semantics accordingly. Specifically, the queues catalogue maintains a mapping from project/queue to shard identifier. Unit tests and helpers have been updated accordingly. The sqlite portion of this is still to be done, and is reserved for a future patch. The faulty storage drivers has been given the appropriate catalogue_controller impls. Furthermore, minor py3k updates were added: metaclass using six.add_metaclass. Change-Id: I380d028520e9a712064810a15e2c6576de67e485 Partially-implements: blueprint storage-sharding Closes-Bug: #1241686 |
||
---|---|---|
etc | ||
marconi | ||
tests | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
AUTHORS.rst | ||
HACKING.rst | ||
MANIFEST.in | ||
openstack-common.conf | ||
README.rst | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
Marconi
Message queuing service for OpenStack
Running a local Marconi server with MongoDB
Note: These instructions are for running a local instance of Marconi and not all of these steps are required. It is assumed you have MongoDB installed and running.
From your home folder create the
~/.marconi
folder and clone the repo:$ cd $ mkdir .marconi $ git clone https://github.com/openstack/marconi.git
Copy the Marconi config files to the directory
~/.marconi
:$ cp marconi/etc/marconi-proxy.conf-sample ~/.marconi/marconi-proxy.conf $ cp marconi/etc/marconi-queues.conf-sample ~/.marconi/marconi-queues.conf $ cp marconi/etc/logging.conf-sample ~/.marconi/logging.conf
Find the
[drivers:storage:mongodb]
section in~/.marconi/marconi-queues.conf
and modify the URI to point to your local mongod instance:uri = mongodb://$MONGODB_HOST:$MONGODB_PORT
For logging, find the
[DEFAULT]
section in~/.marconi/marconi-queues.conf
and modify as desired:log_file = server.log
Change directories back to your local copy of the repo:
$ cd marconi
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 Marconi server:
$ marconi-server
Test out that Marconi is working by creating a queue:
$ curl -i -X PUT http://127.0.0.1:8888/v1/queues/samplequeue -H "Content-type: application/json" -d '{"metadata": "Sample Queue"}'
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