Installing OpenStack Marconi (Message Queuing Service) on Ubuntu 12.04 LTS

Post to Twitter

OpenStack Marconi is a message queuing service, if you’ve used a message queue before like Amazon SQS, RabbitMQ, etc. then you’ll be familiar with the concepts of Marconi. Marconi is an OpenStack project currently in the incubation phase. Today I’ll focus on setting up a development server running Marconi. Keep in mind that this will not be a production server installation, just something to mess around with and kick the tires so to speak.

Recently I updated the Marconi Readme with similar instructions however in this article I’ll add more details for those new to Marconi or setting up this kind of thing in general.

Note: I’m assuming your using a clean install of Ubuntu Desktop 12.04 LTS. Marconi also supports OpenStack Keystone as well as SSL. I won’t be setting either of these up but if your interested you can see my previous article on setting up OpenStack Keystone.

The first step is to install MongoDB locally:

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
$ sudo echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
$ sudo apt-get update
$ sudo apt-get install mongodb-10gen

Now we need a few other packages installed:

$ sudo apt-get install git-core python-pip curl

Install Marconi (via GitHub):

$ cd
$ mkdir .marconi
$ git clone https://github.com/openstack/marconi.git

Copy the config files to the .marconi folder (you can also use /etc/marconi/ just make sure Marconi is aware the config files are located there):

$ cp marconi/etc/marconi-proxy.conf-sample ~/.marconi/marconi-proxy.conf
$ cp marconi/etc/marconi-queues.conf-sample ~/.marconi/marconi-queues.conf
$ cp marconi/etc/logging.conf-sample ~/.marconi/logging.conf

Edit the marconi-queues.conf file:

$ cd .marconi/
$ nano marconi-queues.conf

Looks for this section:

[queues:drivers:storage:mongodb]
uri = mongodb://db1.example.net,db2.example.net:2500/?replicaSet=test&ssl=true&w=majority

Modify it to look like this:

[queues:drivers:storage:mongodb]
uri = mongodb://localhost

Still inside the marconi-queues.conf file adjust the following to point to the location you want to log to:

[DEFAULT]
log_file = server.log

Go into the Marconi folder:

$ cd ~/marconi

If you are not using a tool like pyenv with virtualenv for this then you may need to use sudo on the following command(s):

$ pip install -r requirements.txt
$ pip install -e .

Start Marconi:

$ marconi-server -v

Test that its working with a Health Check which should return an HTTP 204:

$ curl -i -X GET http://127.0.0.1:8888/v1/health

Expected Result:

HTTP/1.0 204 No Content
Date: Mon, 14 Oct 2013 03:34:00 GMT
Server: WSGIServer/0.1 Python/2.7.3
Content-Length: 0

That’s it, Marconi is now working. Next, I’ll show you some of the things you can do with it.

Post to Twitter

This entry was posted in Open Source, OpenStack, Ubuntu. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>