Difference between revisions of "Give Zaqar a try (Zaqar)"
(Created page with "''WIP'' === Set a simple Marconi deployment === === Basic Marconi operations === A great article about this can be found at http://developer.rackspace.com/blog/openstack-ma...") |
m (Vkmc moved page Give Marconi a Try (Marconi) to Give Zaqar a try (Zaqar)) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
''WIP'' | ''WIP'' | ||
− | === Set a simple | + | === Set up a simple Zaqar deployment === |
− | === Basic | + | ==== 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 [http://docs.mongodb.org/manual/installation/%20 MongoDB installed] and running. | ||
+ | |||
+ | From your home folder create the '''~/.zaqar'' folder and clone the repo: | ||
+ | |||
+ | <pre><nowiki> | ||
+ | $ cd | ||
+ | $ mkdir .zaqar | ||
+ | $ git clone https://github.com/openstack/zaqar.git | ||
+ | </nowiki></pre> | ||
+ | |||
+ | Copy the Zaqar config files to the directory '''~/.zaqar''': | ||
+ | |||
+ | <pre><nowiki> | ||
+ | $ cp zaqar/etc/zaqar.conf.sample ~/.zaqar/zaqar.conf | ||
+ | $ cp zaqar/etc/logging.conf.sample ~/.zaqar/logging.conf | ||
+ | </nowiki></pre> | ||
+ | |||
+ | Find '''[drivers]''' section in '''~/.zaqar/zaqar.conf''' and specify to use mongodb storage: | ||
+ | |||
+ | <pre><nowiki> | ||
+ | storage = mongodb | ||
+ | </nowiki></pre> | ||
+ | |||
+ | Then find the '''[drivers:storage:mongodb]''' section and modify the URI to point to your local mongod instance: | ||
+ | |||
+ | <pre><nowiki> | ||
+ | uri = mongodb://$MONGODB_HOST:$MONGODB_PORT | ||
+ | </nowiki></pre> | ||
+ | |||
+ | By default, you will have: | ||
+ | |||
+ | <pre><nowiki> | ||
+ | uri = mongodb://127.0.0.1:27017 | ||
+ | </nowiki></pre> | ||
+ | |||
+ | For logging, find the '''[DEFAULT]''' section in '''~/.zaqar/zaqar.conf''' and modify as desired: | ||
+ | |||
+ | <pre><nowiki> | ||
+ | log_file = server.log | ||
+ | </nowiki></pre> | ||
+ | |||
+ | Change directories back to your local copy of the repo: | ||
+ | |||
+ | <pre><nowiki> | ||
+ | $ cd zaqar | ||
+ | </nowiki></pre> | ||
+ | |||
+ | 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: | ||
+ | |||
+ | <pre><nowiki> | ||
+ | $ pip install -e . | ||
+ | </nowiki></pre> | ||
+ | |||
+ | Start the Zaqar server with logging level set to INFO so you can see the port on which the server is listening: | ||
+ | |||
+ | <pre><nowiki> | ||
+ | $ zaqar-server -v | ||
+ | </nowiki></pre> | ||
+ | |||
+ | Test out that Zaqar is working by creating a queue: | ||
+ | |||
+ | <pre><nowiki> | ||
+ | $ curl -i -X PUT http://127.0.0.1:8888/v1/queues/samplequeue -H "Content-type: application/json" | ||
+ | </nowiki></pre> | ||
+ | |||
+ | You should get an '''HTTP 201''' along with some headers that will look similar to this: | ||
+ | |||
+ | <pre><nowiki> | ||
+ | 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 | ||
+ | </nowiki></pre> | ||
+ | |||
+ | ===== 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 | ||
+ | |||
+ | <pre><nowiki>sudo mkdir /var/log/zaqar</nowiki></pre> | ||
+ | |||
+ | Create the file | ||
+ | |||
+ | <pre><nowiki>sudo touch /var/log/zaqar/server.log</nowiki></pre> | ||
+ | |||
+ | And try running the server again. | ||
+ | |||
+ | ==== Running tests ==== | ||
+ | |||
+ | First install additional requirements: | ||
+ | |||
+ | <pre><nowiki> | ||
+ | pip install ddt mock | ||
+ | </nowiki></pre> | ||
+ | |||
+ | And then run tests: | ||
+ | |||
+ | <pre><nowiki> | ||
+ | python setup.py testr | ||
+ | </nowiki></pre> | ||
+ | |||
+ | === Basic Zaqar operations === | ||
A great article about this can be found at http://developer.rackspace.com/blog/openstack-marconi-api.html. | A great article about this can be found at http://developer.rackspace.com/blog/openstack-marconi-api.html. |
Latest revision as of 13:10, 28 August 2014
WIP
Contents
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.
From your home folder create the '~/.zaqar folder and clone the repo:
$ cd $ mkdir .zaqar $ git clone https://github.com/openstack/zaqar.git
Copy the Zaqar config files to the directory ~/.zaqar:
$ cp zaqar/etc/zaqar.conf.sample ~/.zaqar/zaqar.conf $ cp zaqar/etc/logging.conf.sample ~/.zaqar/logging.conf
Find [drivers] section in ~/.zaqar/zaqar.conf and specify to use mongodb storage:
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 ddt mock
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.