Zaqar/Give Zaqar a try
Set up a simple Zaqar deployment
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.
$ sudo apt-get install gcc python-pip libxml2-dev libxslt1-dev
$ sudo yum install gcc python-pip libxml2-devel libxslt-devel
From your home folder create the '~/.zaqar folder and clone the repo:
$ cd $ mkdir ~/.zaqar $ git clone https://github.com/openstack/zaqar.git
Generate and Copy the Zaqar config files to the directory ~/.zaqar:
$ cd zaqar $ tox -e genconfig $ cp etc/zaqar.conf.sample ~/.zaqar/zaqar.conf $ cp etc/logging.conf.sample ~/.zaqar/logging.conf
Find [drivers] section in ~/.zaqar/zaqar.conf and specify to use mongodb storage:
message_storage = mongodb management_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
For logging, find the [DEFAULT] section in ~/.zaqar/zaqar.conf and modify as desired:
log_file = server.log
Change directories back to your local copy of the repo:
$ cd zaqar
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 Zaqar server with logging level set to INFO so you can see the port on which the server is listening:
$ zaqar-server -v
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
No handlers found for zaqar.client (...)
This happens because the current user cannot create the log file (for the default configuration in /var/log/zaqar/server.log). To solve it,
Create the folder
sudo mkdir /var/log/zaqar
Create the file
sudo touch /var/log/zaqar/server.log
And try running the server again.
First install additional requirements:
pip install -r test-requirements.txt
And then run tests:
python setup.py testr
Basic Zaqar operations
A great article about this can be found at http://developer.rackspace.com/blog/openstack-marconi-api.html.