Juju Charm - RabbitMQ
Go to file
OpenDev Sysadmins cf703a649d OpenDev Migration Patch
This commit was bulk generated and pushed by the OpenDev sysadmins
as a part of the Git hosting and code review systems migration
detailed in these mailing list posts:

http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003603.html
http://lists.openstack.org/pipermail/openstack-discuss/2019-April/004920.html

Attempts have been made to correct repository namespaces and
hostnames based on simple pattern matching, but it's possible some
were updated incorrectly or missed entirely. Please reach out to us
via the contact information listed at https://opendev.org/ with any
questions you may have.
2019-04-19 19:44:43 +00:00
actions Re-license charm as Apache-2.0 2016-07-01 18:06:36 +01:00
hooks Replace openstack.org git:// URLs with https:// 2019-03-24 20:33:10 +00:00
lib Update tox.ini files from release-tools gold copy 2016-09-19 09:33:20 +01:00
scripts Changed the Nagios status when the queue data is not available from CRIT to UNKNOWN. 2015-12-02 08:38:33 +01:00
templates Change default collect_statistics_interval to 30s 2017-02-10 10:25:15 -05:00
tests Fix DNS resolution problems 2016-12-13 08:06:32 -08:00
unit_tests Fix DNS resolution problems 2016-12-13 08:06:32 -08:00
.coveragerc [wolson,r=jamespage,t=osci] Update restart logic around config-change hook to avoid extra restarts. 2015-01-22 15:37:28 +00:00
.gitignore Resync charm-helpers 2016-03-02 12:11:05 +00:00
.gitreview OpenDev Migration Patch 2019-04-19 19:44:43 +00:00
.project Added pydev project 2013-03-18 11:06:15 +00:00
.pydevproject Added pydev project 2013-03-18 11:06:15 +00:00
.testr.conf Add missing files 2016-02-16 07:52:08 +00:00
LICENSE Re-license charm as Apache-2.0 2016-07-01 18:06:36 +01:00
Makefile Use bundletester for amulet test execution 2016-07-21 17:58:15 +00:00
README.md Add Juju Network Space support 2016-04-01 09:25:33 +01:00
actions.yaml Add pause/resume actions and sync charm-helpers 2016-04-05 18:52:37 +00:00
charm-helpers-hooks.yaml Updates for stable branch creation 2016-10-13 20:07:36 +01:00
charm-helpers-tests.yaml Updates for stable branch creation 2016-10-13 20:07:36 +01:00
config.yaml Add hardening support 2016-03-24 11:38:33 +00:00
copyright Re-license charm as Apache-2.0 2016-07-01 18:06:36 +01:00
hardening.yaml Add hardening support 2016-03-24 11:38:33 +00:00
icon.svg Added icon.svg 2013-04-25 14:23:14 -04:00
metadata.yaml Add charm series data to metadata.yaml 2016-09-19 10:34:17 +01:00
requirements.txt Fix pbr requirement 2016-04-13 10:25:23 +00:00
revision Added stats cronjob and queue monitoring nagios plugin 2014-05-07 10:52:24 +01:00
setup.cfg Create virtualenv to run unit tests 2015-01-19 15:02:29 -03:00
test-requirements.txt Use bundletester for amulet test execution 2016-07-21 17:58:15 +00:00
tox.ini Update tox.ini files from release-tools gold copy 2016-09-19 09:33:20 +01:00

README.md

Overview

RabbitMQ is an implementation of AMQP, the emerging standard for high performance enterprise messaging.

The RabbitMQ server is a robust and scalable implementation of an AMQP broker.

This charm deploys RabbitMQ server and provides AMQP connectivity to clients.

Usage

To deploy this charm:

juju deploy rabbitmq-server

deploying multiple units will form a native RabbitMQ cluster:

juju deploy -n 3 rabbitmq-server

To make use of AMQP services, simply relate other charms that support the rabbitmq interface:

juju add-relation rabbitmq-server nova-cloud-controller

Configuration: SSL

Generate an unencrypted RSA private key for the servers and a certificate:

openssl genrsa -out rabbit-server-privkey.pem 2048

Get an X.509 certificate. This can be self-signed, for example:

openssl req -batch -new -x509 -key rabbit-server-privkey.pem -out rabbit-server-cert.pem -days 10000

Deploy the service:

juju deploy rabbitmq-server

Enable SSL, passing in the key and certificate as configuration settings:

juju set rabbitmq-server ssl_enabled=True ssl_key="`cat rabbit-server-privkey.pem`" ssl_cert="`cat rabbit-server-cert.pem`"

Configuration: source

To change the source that the charm uses for packages:

juju set rabbitmq-server source="cloud:precise-icehouse"

This will enable the Icehouse pocket of the Cloud Archive (which contains a new version of RabbitMQ) and upgrade the install to the new version.

The source option can be used in a few different ways:

source="ppa:james-page/testing" - use the testing PPA owned by james-page
source="http://myrepo/ubuntu main" - use the repository located at the provided URL

The charm also supports use of arbitary archive key's for use with private repositories:

juju set rabbitmq-server key="C6CEA0C9"

Note that in clustered configurations, the upgrade can be a bit racey as the services restart and re-cluster; this is resolvable using:

juju resolved --retry rabbitmq-server/1

Network Spaces support

This charm supports the use of Juju Network Spaces, allowing the charm to be bound to network space configurations managed directly by Juju. This is only supported with Juju 2.0 and above.

The amqp relation can be bound to a specific network space, allowing client connections to be routed over specific networks:

juju deploy rabbitmq-server --bind "amqp=internal-space"

alternatively this can also be provided as part of a juju native bundle configuration:

rabbitmq-server:
  charm: cs:xenial/rabbitmq-server
  num_units: 1
  bindings:
    amqp: internal-space

NOTE: Spaces must be configured in the underlying provider prior to attempting to use them.

NOTE: Existing deployments using the access-network configuration option will continue to function; this option is preferred over any network space binding provided if set.

Contact Information

Author: OpenStack Charmers openstack-charmers@lists.ubuntu.com Bugs: http://bugs.launchpad.net/charms/+source/rabbitmq-server/+filebug Location: http://jujucharms.com/rabbitmq-server