Pivotal Knowledge Base

Follow

How to Migrate Spring Cloud Services Broker Message Bus to RabbitMQ on-demand instance

Environment

Spring Cloud Services v1.5 and above

Purpose

Spring Cloud Services v1.5 supports configuring a message bus service other than the default shared p-rabbitmq/standard instance. This article is for migrating Spring Cloud Services message bus to use RabbitMQ for PCF's on-demand service instance

Procedure

Note: RabbitMQ v1.10+ is required

Following are the steps to migrate Spring Cloud Services 

1. Target Spring Cloud Services broker space

$ cf t -o system -s p-spring-cloud-services

2. Stop broker and worker

$ cf stop spring-cloud-broker
$ cf stop spring-cloud-broker-worker  

3. Unbind RabbitMQ service instance

$ cf unbind-service spring-cloud-broker spring-cloud-broker-rmq
$ cf unbind-service spring-cloud-broker-worker spring-cloud-broker-rmq  

4. Delete the RabbitMQ service instance.

$ cf delete-service spring-cloud-broker-rmq

5. Configure Operations Manager from Spring Cloud Services. Go to Spring Cloud Services. and then run the following:

Message bus service => p.rabbitmq
Message bus service plan => an existing on-demand service plan

6. Turn Post-Deploy errands to When Changed

7. Click Apply Changes.

8. A confirmation appears that the smoke-test completes successfully. 

Impact

  • There is downtime during migration with Spring Cloud Services broker and worker, a developer cannot manage Spring Cloud Services instances.
  • There is no data loss risk, a message bus does not keep permanent data.  

Additional Information

RabbitMQ instances being used by circuit breaker dashboard(CBD) wouldn't be migrated. Currently, only p-rabbitmq service is supported by CBD. 

Comments

Powered by Zendesk