Jump to: navigation, search

Difference between revisions of "Zaqar/Give Zaqar a try"

(Created page with "''WIP'' === Set up a simple Zaqar deployment === ==== Running a local Zaqar server with MongoDB ==== '''Note:''' These instructions are for running a local instance of Zaqa...")
 
(Running a local Zaqar server with MongoDB)
 
(4 intermediate revisions by 2 users not shown)
Line 6: Line 6:
  
 
'''Note:''' These instructions are for running a local instance of Zaqar and not all of these steps are required. It is assumed you have [http://docs.mongodb.org/manual/installation/%20 MongoDB installed] and running.
 
'''Note:''' These instructions are for running a local instance of Zaqar and not all of these steps are required. It is assumed you have [http://docs.mongodb.org/manual/installation/%20 MongoDB installed] and running.
 +
 +
Install prerequisites:
 +
 +
Ubuntu/Debian:
 +
<pre><nowiki>
 +
$ sudo apt-get install gcc python-pip libxml2-dev libxslt1-dev
 +
</nowiki></pre>
 +
 +
Fedora/RHEL:
 +
<pre><nowiki>
 +
$ sudo yum install gcc python-pip libxml2-devel libxslt-devel
 +
</nowiki></pre>
  
 
From your home folder create the '''~/.zaqar'' folder and clone the repo:
 
From your home folder create the '''~/.zaqar'' folder and clone the repo:
Line 11: Line 23:
 
<pre><nowiki>
 
<pre><nowiki>
 
$ cd
 
$ cd
$ mkdir .zaqar
+
$ mkdir ~/.zaqar
 
$ git clone https://github.com/openstack/zaqar.git
 
$ git clone https://github.com/openstack/zaqar.git
 
</nowiki></pre>
 
</nowiki></pre>
  
Copy the Zaqar config files to the directory '''~/.zaqar''':
+
Generate and Copy the Zaqar config files to the directory '''~/.zaqar''':
  
 
<pre><nowiki>
 
<pre><nowiki>
$ cp zaqar/etc/zaqar.conf.sample ~/.zaqar/zaqar.conf
+
$ cd zaqar
$ cp zaqar/etc/logging.conf.sample ~/.zaqar/logging.conf
+
$ tox -e genconfig
 +
$ cp etc/zaqar.conf.sample ~/.zaqar/zaqar.conf
 +
$ cp etc/logging.conf.sample ~/.zaqar/logging.conf
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 25: Line 39:
  
 
<pre><nowiki>
 
<pre><nowiki>
storage = mongodb
+
message_storage = mongodb
 +
management_storage = mongodb
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 101: Line 116:
  
 
<pre><nowiki>
 
<pre><nowiki>
pip install ddt mock
+
pip install -r test-requirements.txt
 
</nowiki></pre>
 
</nowiki></pre>
  

Latest revision as of 22:17, 8 July 2015

WIP

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.

Install prerequisites:

Ubuntu/Debian:

$ sudo apt-get install gcc python-pip libxml2-dev libxslt1-dev

Fedora/RHEL:

$ 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
Troubleshoot

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.

Running tests

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.