Data Management for VMware Tanzu uses RabbitMQ for internal communication. When you deploy a Provider VM, you configure a RabbitMQ address and port number. You may be required to update this RabbitMQ address or port when:
Updating the RabbitMQ settings of a Provider VM is an asynchronous operation. The original/old RabbitMQ address should be accessible to Agents until the update operation completes.
Before you update RabbitMQ settings, ensure that you can identify the new, publicly-accessible RabbitMQ FQDN or IP address and port number on the Provider VM.
Perform the following procedure to change the RabbitMQ settings on a Provider:
Select Settings from the left navigation pane.
This action displays the Settings view, Information tab.
Locate the High Availability pane.
Examine the entries in the table, identify the Provider for which you want to update the RabbitMQ settings, and navigate to that table row.
Click the three dots in the Actions column and select Edit RabbitMQ from the pop-up menu.
The RabbitMQ Configuration form displays.
Set the properties to the new RabbitMQ settings:
Property Name | Value |
---|---|
Publicly accessible FQDN/IP | The new publicly-accessible RabbitMQ FQDN or IP address. |
Port | The new port number on which the RabbitMQ server is listening. |
Click CONFIRM.
The task returns immediately.
An Agent environment may enter a DEGRADED state due to a RabbitMQ connectivity failure if Data Management for VMware Tanzu fails to successfully notify the Agent about the RabbitMQ settings change. If you encounter this scenario, you must manually invoke one or more Data Management for VMware Tanzu API calls to rectify the situation:
Re-set the RabbitMQ settings as described in the Procedure above.
Try triggering DMS to synchronize RabbitMQ settings to all of the Agents by invoking the following API call to:
POST https://<provider-ip-address>/provider/<provider-id>/sync-rabbit-settings
Synchronizing the RabbitMQ settings to the Agents is an asynchronous operation.
Examine the RabbitMQ settings on each Agent to verify that the endpoint was updated:
GET https://<agent-ip-address>/onboarding/api/agent/rabbitmq/endpoints
If sychronizing the settings did not succeed for a specific Agent, invoke the following API call to directly modify the RabbitMQ settings on the Agent VM:
PATCH https://<agent-ip-address>/onboarding/api/agent/rabbitmq/endpoints
Request parameters:
{
"endpoint": "<new-rabbitmq-ip-address>",
"port": <new-port-number>
}