fuel-library/deployment/puppet/rabbitmq
Dmitry Ilyin ad2999fcfa Remove unused tcp_listeners section
It also broke cluster configuration because of name collision
2013-10-19 16:34:46 +04:00
..
files Move rabbitmq host and port from env to init 2013-10-18 17:27:16 +04:00
lib/puppet Update from upstream version 2.0.1 to 2.1.0 and merge our changes. All tests are green. 2013-07-08 17:56:08 +04:00
manifests Move rabbitmq host and port from env to init 2013-10-18 17:27:16 +04:00
spec Update from upstream version 2.0.1 to 2.1.0 and merge our changes. All tests are green. 2013-07-08 17:56:08 +04:00
templates Remove unused tcp_listeners section 2013-10-19 16:34:46 +04:00
tests tested support for 2.7.1 plugins and updated documentation 2012-01-09 22:21:09 +11:00
.fixtures.yml Update new modulefile template 2012-05-25 14:16:01 -07:00
.gemfile Switch from duplicated files to using the puppetlabs_spec_helper gem for common tasks 2012-06-08 14:34:37 -07:00
.gitignore Ignore metadata.json 2013-01-11 14:09:25 +04:00
.project Add project files 2013-01-10 18:37:05 +04:00
.travis.yml Switch from duplicated files to using the puppetlabs_spec_helper gem for common tasks 2012-06-08 14:34:37 -07:00
CHANGELOG Update from upstream version 2.0.1 to 2.1.0 and merge our changes. All tests are green. 2013-07-08 17:56:08 +04:00
LICENSE checked in gitignore, apache license and todo list 2011-06-06 08:23:38 -07:00
Modulefile Update from upstream version 2.0.1 to 2.1.0 and merge our changes. All tests are green. 2013-07-08 17:56:08 +04:00
Rakefile Switch from duplicated files to using the puppetlabs_spec_helper gem for common tasks 2012-06-08 14:34:37 -07:00
README.md Update from upstream version 2.0.1 to 2.1.0 and merge our changes. All tests are green. 2013-07-08 17:56:08 +04:00
TODO updated README and TODO. 2011-06-14 11:19:31 -07:00

RabbitMQ Puppet Module

This module manages the RabbitMQ Middleware service.

This module has been tested against 2.7.1 and is known to not support all features against earlier versions.

Authors

Classes

This module provides its core functionality through two main classes:

rabbitmq::repo::rhel

Installs the RPM from rabbitmq upstream, and imports their signing key

class { 'rabbitmq::repo::rhel':
    $version    => "2.8.4",
    $relversion => "1",
}

rabbitmq::repo::apt

Sets up an apt repo source for the vendor rabbitmq packages

class { 'rabbitmq::repo::apt':
  pin    => 900,
  before => Class['rabbitmq::server']
}

rabbitmq::server

Class for installing rabbitmq-server:

class { 'rabbitmq::server':
  port              => '5673',
  delete_guest_user => true,
}

Clustering

To use RabbitMQ clustering and H/A facilities, use the rabbitmq::server parameters config_cluster and cluster_disk_nodes, e.g.:

class { 'rabbitmq::server':
  config_cluster => true,
  cluster_disk_nodes => ['rabbit1', 'rabbit2'],
}

Currently all cluster nodes are registered as disk nodes (not ram).

NOTE: You still need to use x-ha-policy: all in your client applications for any particular queue to take advantage of H/A, this module merely clusters RabbitMQ instances.

Native Types

NOTE: Unfortunately, you must specify the provider explicitly for these types

rabbitmq_user

query all current users: $ puppet resource rabbitmq_user

rabbitmq_user { 'dan':
  admin    => true,
  password => 'bar',
  provider => 'rabbitmqctl',
}

rabbitmq_vhost

query all current vhosts: $ puppet resource rabbitmq_vhost

rabbitmq_vhost { 'myhost':
  ensure => present,
  provider => 'rabbitmqctl',
}

rabbitmq_user_permissions

rabbitmq_user_permissions { 'dan@myhost':
  configure_permission => '.*',
  read_permission      => '.*',
  write_permission     => '.*',
  provider => 'rabbitmqctl',
}

rabbitmq_plugin

query all currently enabled plugins $ puppet resource rabbitmq_plugin

rabbitmq_plugin {'rabbitmq_stomp':
  ensure => present,
  provider => 'rabbitmqplugins',
}