![kgriffs](/assets/img/avatar_default.png)
This patch plumbs storage drivers so they all get a cache instance they can use at their discretion. I decided to make cache a required param to the initializers, since any deployment of Marconi of any significance would likely opt to enable caching anyway, and the cache library has a default in-memory backend that can be used for simple deployments. Note also that both data- and control-plane drivers receive a cache instance, even though the sharding controllers will not use it (caching will be done in the sharding data driver instead.) I thought it would be better to pass cache in both cases so we can share test code and avoid complicating utils.load_storage_driver(). Also, the control driver may eventually support operations other than sharding; cache may come in handy then. Change-Id: I647791af0d7a5914c30cb2489033ec650a455370 Signed-off-by: kgriffs <kurt.griffiths@rackspace.com>
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