Installing and Configuring a9s RabbitMQ for PCF

This topic describes how to install and configure a9s RabbitMQ for Pivotal Cloud Foundry (PCF).

Prerequisites

Before installing a9s RabbitMQ for PCF, ensure that you have installed and configured the products and tiles listed in Requirements.

This comprises the a9s Consul DNS for PCF tile and the a9s BOSH for PCF tile.

The a9s Consul DNS for PCF tile is required because it is responsible for providing an internal DNS system to the other a9s service tiles, the a9s RabbitMQ for PCF included.

For more information about this tile, see The Purpose of the a9s Consul DNS for PCF Tile.

The a9s BOSH for PCF tile is required because it is used by the a9s service tiles, for the provisioning and lifecycle management of their VM.

For more information about this tile, see a9s BOSH for PCF Use Case.

Install and Configure a9s RabbitMQ for PCF

To install a9s RabbitMQ for PCF, perform the following steps:

  1. Download the product file from Pivotal Network.

  2. Navigate to the Ops Manager Installation Dashboard and click Import a Product to upload the product file.

  3. Click Add or +(depending on the PCF version) next to the uploaded a9s RabbitMQ for PCF tile in the Ops Manager Available Products view to add it to your staging area.

  4. Click the new tile, then click Settings to review the configuration settings for each tab. See the following sections for more information on how to configure the properties on each side-tab:

  5. Click Apply Changes to deploy the service.

After you install a9s RabbitMQ for PCF, developers can access the service in the Marketplace. See Using a9s RabbitMQ for PCF.

Assign AZs and Networks

Use Assign AZs and Networks to configure the location of service instance jobs. You should configure your network to balance cluster jobs between as many AZs as possible.

Az and networks

Configure Errands

Use Errands to configure the lifecycle errands that run when you install or uninstall a9s RabbitMQ for PCF. The list below describes each errand. For more information, see Understanding Lifecycle Errands.

A9s rabbitmq for pcf errands

Post-Deploy Errands

  • Run BOSH Configurator: This errand configures a9s BOSH for PCF so that it can provision RabbitMQ service instances. When enabled, this errand uploads the required releases in the a9s BOSH Director. Disabling this errand may speed up the deployment of all tiles.

    Note: To ensure your configuration remains up-to-date, disable this errand only when necessary.

  • Run Template Uploader: This errand is required to configure generic components that are included in a9s RabbitMQ for PCF with RabbitMQ configurations. Disabling this errand may speed up the deployment of all tiles.

    Note: To ensure your configuration remains up-to-date, disable this errand only when necessary.

  • Run Broker Registrar: This errand registers the a9s RabbitMQ for PCF service broker with Elastic Runtime. This makes the service available in the Elastic Runtime marketplace.

  • Run Smoke Tests: This errand runs a series of basic tests against your a9s RabbitMQ for PCF installation to ensure that it is configured properly. The tests can take over 30 minutes.

Pre-Delete Errands

  • Delete all a9s RabbitMQ instances: This errand deletes all a9s RabbitMQ instances that were created with the cf create-service command.

    Warning: This task cannot be undone. All VMs of the service instances are permanently deleted. If a service instance is bound to an app or has existing service keys, the errand fails.

  • Run Broker Deregistrar: This errand unregisters the a9s RabbitMQ for PCF service broker in Elastic Runtime. It also removes the a9s RabbitMQ service from the Elastic Runtime marketplace.

Configure Resources

You can configure the dimensions of the VMs that host the a9s RabbitMQ for PCF components. This configuration does not cover the dedicated RabbitMQ instances that run on VMs provided by the a9s BOSH tile for PCF.

For more information, see Configure Service Plan VMs.

Note: Pivotal recommends using a VM Type of large or greater to support the tile compilation.

A9s rabbitmq resource config

Configure Stemcells

If you want to use a stemcell other than the default, click Stemcell, and then click Import Stemcell to upload the stemcell.

Stemcell tab

Configure Service Plans

The sizes and types of VMs used to provision service instances of a given service plan are specified in the Cloud Config pane of the a9s BOSH for PCF tile. See the Cloud Config section of the a9s BOSH for PCF installation documentation that corresponds to your IaaS.

The table below lists available service plans:

This plan… Uses these a9s BOSH for PCF settings to determine VM and disk size
rabbitmq-single-small Cloud properties for the VM Type Small
Cloud properties for the Disk Type Small
rabbitmq-cluster-small Cloud properties for the VM Type Small
Cloud properties for the Disk Type Small
rabbitmq-single-big Cloud properties for the VM Type Large
Cloud properties for the Disk Type Big
rabbitmq-cluster-big Cloud properties for the VM Type Large
Cloud properties for the Disk Type Big

Update Existing Service Instances

After updating the a9s RabbitMQ for PCF tile, run the Deployment Updater errand to update all provisioned service instances to the new service and stemcell versions.

Note: anynines recommends running the smoke tests before running this errand.

Note: To run the errand, you must know how to use the Ops Manager Director. For more information, see Advanced Troubleshooting with the BOSH CLI.

  1. SSH into the Ops Manager VM:

    $ ssh ubuntu@OPS-MANAGER-FQDN
    Password: ***********
    

  2. Target the BOSH Director:

    $ bosh --ca-cert /var/tempest/workspaces/default/root_ca_certificate target OPS-MANAGER-DIRECTOR-IP
    Target set to DIRECTOR_UUID
    

  3. Log in to the BOSH Director:

    $ bosh login
    Your username: director
    Enter password: DIRECTOR_CREDENTIAL
    Logged in as 'director'
    

  4. Run bosh deployments and record the name of the a9s RabbitMQ for PCF deployment from the Name column:

    $ bosh deployments
    Acting as user 'director' on 'p-bosh'
    +-------------------------------------------+-------------------------------+-------------
    | Name                                      | Release(s)                    | Stemcell(s)
    +-------------------------------------------+-------------------------------+-------------
    | a9s-bosh-a40c3b10d101faca4fbc             | bosh-aws-cpi/53               | bosh-vsphere
    | ...
    +-------------------------------------------+-------------------------------+-------------
    | a9s-consul-dns-3f3a49fb941f8c0874cb       | consul/9                      | bosh-vsphere
    | ...
    +-------------------------------------------+-------------------------------+-------------
    | a9s-rabbitmq-service-94443f82b52dcf333bbd | bosh-configurator-rabbitmq/3  | bosh-vsphere
    | ...
    +-------------------------------------------+-------------------------------+-------------
    

  5. Switch the CLI to operate on the a9s RabbitMQ for PCF deployment by running bosh deployment /var/tempest/workspaces/default/deployments/DEPLOYMENT-NAME.yml with the a9s-rabbitmq-service-... name from the previous step:

    $ bosh deployment /var/tempest/workspaces/default/deployments/a9s-rabbitmq-service-94443f82b52dcf333bbd.yml
    % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                               Dload  Upload   Total   Spent    Left  Speed
    100   352  100   352    0     0  12014      0 --:--:-- --:--:-- --:--:-- 12137
    Deployment set to '/var/tempest/workspaces/default/deployments/a9s-rabbitmq-service-94443f82b52dcf333bbd.yml'

  6. Run bosh run errand deployment-updater to force the update for all existing a9s RabbitMQ for PCF instances:

    $ bosh run errand deployment-updater
    % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                               Dload  Upload   Total   Spent    Left  Speed
    100   352  100   352    0     0  26378      0 --:--:-- --:--:-- --:--:-- 27076
    Acting as user 'director' on deployment 'a9s-rabbitmq-service-94443f82b52dcf333bbd' on 'p-bosh'
     
    Director task 6533
    Started preparing deployment > Preparing deployment. Done (00:00:01)
     
    ...
     
    Errand 'deployment-updater' completed successfully (exit code 0)
    

    Note: Depending on the number of service instances, the Deployment Updater may take significant time to finish running. BOSH shows no logging output while the errand runs.

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