Jump to: navigation, search

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...")
 
(Set a simple Marconi deployment)
Line 1: Line 1:
 
''WIP''
 
''WIP''
  
=== Set a simple Marconi deployment ===
+
=== Set up a simple Marconi deployment ===
 +
 
 +
==== 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 [http://docs.mongodb.org/manual/installation/%20 MongoDB installed] and running.
 +
 
 +
From your home folder create the '''~/.marconi''' folder and clone the repo:
 +
 
 +
<pre><nowiki>
 +
$ cd
 +
$ mkdir .marconi
 +
$ git clone https://github.com/openstack/marconi.git
 +
</nowiki></pre>
 +
 
 +
Copy the Marconi config files to the directory '''~/.marconi''':
 +
 
 +
<pre><nowiki>
 +
$ cp marconi/etc/marconi.conf.sample ~/.marconi/marconi.conf
 +
$ cp marconi/etc/logging.conf.sample ~/.marconi/logging.conf
 +
</nowiki></pre>
 +
 
 +
Find '''[drivers]''' section in '''~/.marconi/marconi.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 '''~/.marconi/marconi.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 marconi
 +
</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 Marconi server with logging level set to INFO so you can see the port on which the server is listening:
 +
 
 +
<pre><nowiki>
 +
$ marconi-server -v
 +
</nowiki></pre>
 +
 
 +
Test out that Marconi 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 marconi.client (...)'''
 +
 
 +
This happens because the current user cannot create the log file (for the default configuration in /var/log/marconi/server.log). To solve it,
 +
 
 +
Create the folder
 +
 
 +
<pre><nowiki>sudo mkdir /var/log/marconi</nowiki></pre>
 +
 
 +
Create the file
 +
 
 +
<pre><nowiki>sudo touch /var/log/marconi/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 Marconi operations ===
 
=== Basic Marconi 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.

Revision as of 14:57, 13 May 2014

WIP

Set up a simple Marconi deployment

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.conf.sample ~/.marconi/marconi.conf
$ cp marconi/etc/logging.conf.sample ~/.marconi/logging.conf

Find [drivers] section in ~/.marconi/marconi.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:

</nowiki>
uri = mongodb://127.0.0.1:27017
</nowiki>

For logging, find the [DEFAULT] section in ~/.marconi/marconi.conf and modify as desired:

</nowiki>
log_file = server.log
</nowiki>

Change directories back to your local copy of the repo:

</nowiki>
$ cd marconi
</nowiki>

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 with logging level set to INFO so you can see the port on which the server is listening:

$ marconi-server -v

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"

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 marconi.client (...)

This happens because the current user cannot create the log file (for the default configuration in /var/log/marconi/server.log). To solve it,

Create the folder

sudo mkdir /var/log/marconi

Create the file

sudo touch /var/log/marconi/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 Marconi operations

A great article about this can be found at http://developer.rackspace.com/blog/openstack-marconi-api.html.