030c309476a5078f9d7bc6d54be8bc7d31a8bcef
This patchset introduces the marconi-proxy service. The service makes it possible to abstract marconi deployments into partitions, as defined in the referenced blue print. This reference implementation uses falcon to manage WSGI aspects, redis for catalogue storage, and recommends gunicorn or uwsgi as the server. Includes: - registering partitions - cataloguing queues - forwarding requests to the appropriate marconi partitions - round-robin selection of partition nodes - weighted selection of partitions at queue creation time - queue listing w/ metadata (GET /v1/queues?detailed=true) Still needed, working on: - unit tests A few things that will be handled in later patchsets - queue metadata handling + metadata endpoint (2) - request forwarding to marconi (3) - hierarchical caching with authoritative persistent storage (4) - regeneration of the catalogue from authoritative cache (5) Change-Id: I5dabc92497f3edf5bc32d58c8a2c4e43ff9833a3 Implements: blueprint placement-service
Marconi
Message queuing service for OpenStack
Running a local Marconi server with MongoDB
Start a MongoDB instance:
mongodClone the Marconi repo:
git clone https://github.com/stackforge/marconi.gitcd to your local copy of the repo
Copy the Marconi config files to the directory ~/.marconi:
cp -r marconi/etc/*.conf-sample ~/.marconi/marconi.confFind the
[drivers:storage:mongodb]section in ~/.marconi/marconi.conf and modify the URI to point to your local mongod instance:uri = mongodb://localhostRun the following so you can see the results of any changes you make to the code, without having to reinstall the package each time:
python setup.py developStart the marconi server:
marconi-server
Description
Languages
Python
95.6%
PHP
1.8%
Shell
1.3%
HTML
0.9%
Lua
0.3%