LATEST VERSION: 1.10.5 - CHANGELOG
RabbitMQ for PCF v1.8.20

RabbitMQ for PCF

About RabbitMQ for PCF

RabbitMQ for PCF enables PCF app developers to provision and use the RabbitMQ message broker with a single command.

RabbitMQ for PCF v1.8 supports two types of service, an on-demand service and a pre-provisioned service. This table summarizes the main differences between the two:

Available Since VMs it Runs On How VMs are Created Metrics Name Prefix
On-Demand Service New for v1.8 Dedicated VM that serves a single service instance PCF creates each VM on-demand when app developer creates service instance p.rabbitmq (with a dot) in future versions. As of v1.8.2, emitted asp-rabbitmq, a known issue.
Pre-Provisioned Service v1.2 Multi-tenant VMs shared by apps across PCF deployment PCF creates all VMs when operator deploys or updates service p-rabbitmq (with a dash)

This RabbitMQ for PCF v1.8 documentation describes both service types. Documentation for RabbitMQ for PCF v1.7 and earlier only describes a pre-provisioned service.

What are Dedicated Instances

For PCF RabbitMQ versions before v1.8.0, the RabbitMQ Service instances correspond to a unique RabbitMQ Vhost on the multi-tenant RabbitMQ cluster. RabbitMQ for PCF v1.8.0 introduced On-Demand Broker (ODB) support. That means that a new, single-tenant, cluster can be created and dedicated to a single app.

About RabbitMQ

RabbitMQ is a fast and dependable open-source message server, which supports a wide range of use cases including reliable integration, content-based routing and global data delivery, and high-volume monitoring and data ingestion.

Emerging as the de facto standard for cloud messaging, RabbitMQ is used for efficient communication between servers, applications and devices, and creates lasting value by enabling rapid development of modern decentralized application and data architectures that can scale with your business needs.

Product Snapshot

The following table provides version and version-support information about RabbitMQ for PCF.

Element Details
Version v1.8.20
Release date November 2, 2017
Software component version RabbitMQ OSS v3.6.12
Compatible Ops Manager version(s) v1.9.x, 1.10.x, and 1.11.x
Compatible Elastic Runtime version(s) v1.9.x, 1.10.x, and 1.11x
IaaS support AWS, Azure, GCP, OpenStack, and vSphere
IPsec support No

Features

On-Demand

  • Provision on-demand single node dedicated instances of RabbitMQ
  • Emit metrics for Dedicated Instances

Pre-Provisioned

  • Provision an instance of the RabbitMQ service, which corresponds to a unique RabbitMQ Vhost (virtual host)
  • Bind applications to an instance of the plan, providing unique credentials for each binding
  • Management dashboard access to PCF Operators and application developers
  • Deployment across multiple availability zones, with nodes striped across the AZs automatically
  • Enable SSL (Secure Sockets Layer) for the AMQP, MQTT, STOMP protocols
  • HAProxy load balancer across all nodes to balance connections
  • Plugin configuration can be easily changed at any time and the cluster redeployed and updated
  • The cluster topology can be changed and easily scaled out
  • Automated upgrades of RabbitMQ for major, minor and patch releases (see release notes for downtime requirements)
  • Configure the end point for the RabbitMQ Syslog
  • RabbitMQ and HAProxy metrics are exposed on the firehose
  • Enable operators to select disk_free_limit setting

Known Issues

  • Metrics are not emitted if RabbitMQ for PCF v1.8.x is installed on Ops Manager v1.11.0. or later.
  • Smoke tests fail if SSL/TLS is configured for your RabbitMQ cluster.
  • Metrics name is namespaced with /p-rabbitmq (this should be /p.rabbitmq).
  • Cluster scaling or changing Erlang Cookie require downtime in deployments.
  • IPsec does not work with this version of the tile, and it must be installed into a non-IPsec subnet or by excluding the deployment IPs following the steps in the documentation.
  • As of Ops Manager v10.0.0, errands set to the When Changed rule do not always run when the tile has relevant changes. For more information, see Errands. One-time rules should be set when using Ops Manager 1.10.7 or earlier to ensure that Update All Service Instances is run.
  • Changing networks an/or IP addresses for the RabbitMQ Server job results in a failed upgrade deployment. For details, see this page.
  • RabbitMQ for PCF v1.8.12 and earlier has a bug that does not delete management users, mu-*, when a service is deleted. To automate deletion of these users, contact Pivotal Support.

RabbitMQ for PCF and Other PCF Services

Some PCF services offer on-demand service plans. These plans let developers provision service instances when they want.

These contrast with the more common pre-provisioned service plans, which require operators to provision the service instances during installation and configuration through the service tile UI.

The following PCF services offer on-demand service plans:

  • MySQL for PCF

  • RabbitMQ for PCF

  • Redis for PCF

  • Pivotal Cloud Cache (PCC)

These services package and deliver their on-demand service offerings differently. For example, some services, like Redis for PCF, have one tile, and you configure the tile differently depending on whether you want on-demand service plans or pre-provisioned service plans.

For other services, like PCC, you install one tile for on-demand service plans and a different tile for pre-provisioned service plans.

The following table lists and contrasts the different ways that PCF services package on-demand and pre-provisioned service offerings.

PCF service tile Standalone product related to the service Versions supporting on demand Versions supporting pre-provisioned
RabbitMQ for PCF Pivotal RabbitMQ v1.8 and later All versions
Redis for PCF Redis v1.8 and later All versions
MySQL for PCF MySQL v2.x
(based on Percona Server)
v1.x
(based on MariaDB and Galera)
PCC Pivotal GemFire All versions NA
GemFire for PCF Pivotal GemFire NA All versions

Feedback

Please provide any bugs, feature requests, or questions to the PCF Feedback list.

Create a pull request or raise an issue on the source for this page in GitHub