skip to navigation
skip to content

rod.recipe.rabbitmq 2.0.0

ZC Buildout recipe for setting up RabbitMQ.

Buildout recipe for downloading and installing RabbitMQ.

Credits

Thanks to Martijn Pieters for refactoring script generation to ensure that we always use an appropriate rabbitmq-server script for the installed version.

A brief documentation

This recipe takes a number of options:

erlang-path
The path where to find the erlc command (default = find it in PATH).
url
The URL to download the RabbitMQ source distribution.
cookie
Optional string passed as cookie to the erl runtime (-setcookie).
make
Alternate make command (e.g. gmake).

To further customize your RabbitMQ server configuration, create a rabbitmq-env file in the etc/ directory of your buildout, following the RabbitMQ configuration guide to set environment variables.

You can also create a rabbitmq.config file in the same location to provide erlang configuration statements.

Tests

We will define a buildout template used by the recipe:

>>> buildout_cfg = """
... [buildout]
... parts = rabbitmq
... offline = true
...
... [rabbitmq]
... recipe = rod.recipe.rabbitmq
... url = http://www.rabbitmq.com/releases/rabbitmq-server/v2.4.1/rabbitmq-server-2.4.1.tar.gz
... """

We’ll start by creating a buildout:

>>> import os.path
>>> write('buildout.cfg', buildout_cfg)

Running the buildout gives us:

>>> output = system(buildout)
>>> if output.endswith("ebin ebin/rabbit.app < ebin/rabbit_app.in\n"): True
... else: print output
True

Changes

2.0.0 2011-05-18

  • Uses the buildout download cache if available.
  • Refactored script generation: reuses the existing scripts and customize them using the built-in rabbitmq-env sourcing option. This ensures we always use an appropriate rabbitmq-server script for the installed version.
  • Abandoned obsolete prefix buildout option.
  • Updated documentation.

1.1.7 2011-04-11

  • Added ‘make’ buildout option to specify an alternate make command (e.g. gmake).

1.1.6 2010-06-21

  • Using rabbit@localhost as NODENAME in order to provide portability of the database across machines independent of the hostname since you can not start RabbitMQ on a different machine with a different hostname (the database is tied to the hostname).

1.1.5 2010-06-21

  • Added support for setting an optional erlang cookie (-setcookie) through the ‘cookie’ option.

1.1.4 2010-05-09

  • Fixed issue where rabbitmq scripts used an incorrect default Erlang path when no erlang-path option was specified.

1.1.3 2010-05-03

  • Fixed parameter in generated rabbitmqctl script (-sname instead of -name).

1.1.2 2010-05-02

  • Fixed parameter in generated rabbitmq-server script (-sname instead of -name).

1.1.1 2010-03-21

  • Fixes an issue where the Erlang path wasn’t set correctly.

1.1.0 2010-03-20

  • Updated for RabbitMQ 1.7.2.

1.0.0 2009-08-23

  • Initial release.
 
File Type Py Version Uploaded on Size
rod.recipe.rabbitmq-2.0.0.tar.gz (md5) Source 2011-05-18 11KB