Document updates to messaging configuration
Change-Id: If33683e322ae3e7c411c1b4008fc6ae259445ca5
This commit is contained in:
parent
e11b160325
commit
10d6e4a888
@ -16,6 +16,7 @@ Documentation on how to enable and configure various features available in
|
|||||||
ops_tools
|
ops_tools
|
||||||
high_availability
|
high_availability
|
||||||
instance_ha
|
instance_ha
|
||||||
|
oslo_messaging_config
|
||||||
baremetal_overcloud
|
baremetal_overcloud
|
||||||
ovs_dpdk_config
|
ovs_dpdk_config
|
||||||
deployed_server
|
deployed_server
|
||||||
|
107
doc/source/install/advanced_deployment/oslo_messaging_config.rst
Normal file
107
doc/source/install/advanced_deployment/oslo_messaging_config.rst
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
Configuring Messaging RPC and Notifications
|
||||||
|
===========================================
|
||||||
|
|
||||||
|
TripleO can configure oslo.messaging RPC and Notification services and
|
||||||
|
deploy the corresponding messaging backends for the undercloud and
|
||||||
|
overcloud. The roles OsloMessagingRPC and OsloMessagingNotify have been
|
||||||
|
added in place of the RabbitMQ Server. Having independent roles for RPC
|
||||||
|
and Notify allows for the separation of messaging backends as well as
|
||||||
|
the deployment of different messaging backend intermediaries that are
|
||||||
|
supported by oslo.messaging drivers::
|
||||||
|
|
||||||
|
+----------------+-----------+-----------+-----+--------+-----------+
|
||||||
|
| Oslo.Messaging | Transport | Backend | RPC | Notify | Messaging |
|
||||||
|
| Driver | Protocol | Server | | | Type |
|
||||||
|
+================+===========+===========+=====+========+===========+
|
||||||
|
| rabbit | AMQP V0.9 | rabbitmq | yes | yes | queue |
|
||||||
|
+----------------+-----------+-----------+-----+--------+-----------+
|
||||||
|
| amqp | AMQP V1.0 | qdrouterd | yes | | direct |
|
||||||
|
+----------------+-----------+-----------+-----+--------+-----------+
|
||||||
|
| kafka | kafka | kafka | | yes | queue |
|
||||||
|
| (experimental) | binary | | | | (stream) |
|
||||||
|
+----------------+-----------+-----------+-----+--------+-----------+
|
||||||
|
|
||||||
|
Standard Deployment of RabbitMQ Server Backend
|
||||||
|
----------------------------------------------
|
||||||
|
|
||||||
|
A single RabbitMQ backend (e.g. server or cluster) is the default
|
||||||
|
deployment for TripleO. This messaging backend provides the services
|
||||||
|
for both RPC and Notification communications through its integration
|
||||||
|
with the oslo.messaging rabbit driver.
|
||||||
|
|
||||||
|
The example `standard messaging`_ environment file depicts the
|
||||||
|
resource association for this defacto deployment configuration::
|
||||||
|
|
||||||
|
# *******************************************************************
|
||||||
|
# This file was created automatically by the sample environment
|
||||||
|
# generator. Developers should use `tox -e genconfig` to update it.
|
||||||
|
# Users are recommended to make changes to a copy of the file instead
|
||||||
|
# of the original, if any customizations are needed.
|
||||||
|
# *******************************************************************
|
||||||
|
# title: Share single rabbitmq backend for rpc and notify messaging backend
|
||||||
|
# description: |
|
||||||
|
# Include this environment to enable a shared rabbitmq backend for
|
||||||
|
# oslo.messaging rpc and notification services
|
||||||
|
parameter_defaults:
|
||||||
|
# The network port for messaging backend
|
||||||
|
# Type: number
|
||||||
|
RpcPort: 5672
|
||||||
|
|
||||||
|
resource_registry:
|
||||||
|
OS::TripleO::Services::OsloMessagingNotify: ../../docker/services/messaging/notify-rabbitmq-shared.yaml
|
||||||
|
OS::TripleO::Services::OsloMessagingRpc: ../../docker/services/messaging/rpc-rabbitmq.yaml
|
||||||
|
|
||||||
|
The `rpc-rabbitmq.yaml`_ instantiates the rabbitmq server backend
|
||||||
|
while `notify-rabbitmq-shared.yaml`_ sets up the notification
|
||||||
|
transport configuration to use the same shared rabbitmq server.
|
||||||
|
|
||||||
|
Deployment of Separate RPC and Notify Messaging Backends
|
||||||
|
--------------------------------------------------------
|
||||||
|
|
||||||
|
Separate messaging backends can be deployed for RPC and Notification
|
||||||
|
communications. For this TripleO deployment, the apache dispatch
|
||||||
|
router (qdrouterd) can be deployed for the RPC messaging backend using
|
||||||
|
the oslo.messaging AMQP 1.0 driver.
|
||||||
|
|
||||||
|
The example `hybrid messaging`_ environment file can be used for an
|
||||||
|
overcloud deployment::
|
||||||
|
|
||||||
|
# *******************************************************************
|
||||||
|
# This file was created automatically by the sample environment
|
||||||
|
# generator. Developers should use `tox -e genconfig` to update it.
|
||||||
|
# Users are recommended to make changes to a copy of the file instead
|
||||||
|
# of the original, if any customizations are needed.
|
||||||
|
# *******************************************************************
|
||||||
|
# title: Hybrid qdrouterd for rpc and rabbitmq for notify messaging backend
|
||||||
|
# description: |
|
||||||
|
# Include this environment to enable hybrid messaging backends for
|
||||||
|
# oslo.messaging rpc and notification services
|
||||||
|
parameter_defaults:
|
||||||
|
# The network port for messaging Notify backend
|
||||||
|
# Type: number
|
||||||
|
NotifyPort: 5672
|
||||||
|
|
||||||
|
# The network port for messaging backend
|
||||||
|
# Type: number
|
||||||
|
RpcPort: 31459
|
||||||
|
|
||||||
|
resource_registry:
|
||||||
|
OS::TripleO::Services::OsloMessagingNotify: ../../docker/services/messaging/notify-rabbitmq.yaml
|
||||||
|
OS::TripleO::Services::OsloMessagingRpc: ../../docker/services/messaging/rpc-qdrouterd.yaml
|
||||||
|
|
||||||
|
The above will instantiate qdrouterd server(s) and configure them for
|
||||||
|
use as the RPC transport and will also instantiate the rabbitmq backend
|
||||||
|
and configure it for use as the Notification transport. It should
|
||||||
|
be noted that the RPC and Notify ports must be distinct to prevent the
|
||||||
|
qdrouterd and rabbitmq servers from simultaneously using the amqp
|
||||||
|
standard port (5672).
|
||||||
|
|
||||||
|
Add the following arguments to your `openstack overcloud deploy`
|
||||||
|
command to deploy with separate messaging backends::
|
||||||
|
|
||||||
|
openstack overcloud deploy --templates -e /usr/share/openstack-tripleo-heat-templates/environments/messaging/rpc-qdrouterd-notify-rabbitmq-hybrid.yaml
|
||||||
|
|
||||||
|
.. _`standard messaging`: https://github.com/openstack/tripleo-heat-templates/blob/master/environments/messaging/rpc-rabbitmq-notify-rabbitmq-shared.yaml
|
||||||
|
.. _`rpc-rabbitmq.yaml`: https://github.com/openstack/tripleo-heat-templates/blob/master/docker/services/messaging/rpc-rabbitmq.yaml
|
||||||
|
.. _`notify-rabbitmq-shared.yaml`: https://github.com/openstack/tripleo-heat-templates/blob/master/docker/services/messaging/notify-rabbitmq-shared.yaml
|
||||||
|
.. _`hybrid messaging`: https://github.com/openstack/tripleo-heat-templates/blob/master/environments/messaging/rpc-qdrouterd-notify-rabbitmq-hybrid.yaml
|
Loading…
x
Reference in New Issue
Block a user