From e8eae7d06787e6a364491248049c01ea377fc43b Mon Sep 17 00:00:00 2001 From: Andrew Smith Date: Wed, 11 Apr 2018 14:18:21 -0400 Subject: [PATCH] Update to use oslo.messaging service for RPC and Notify This introduces oslo.messaging variables that define the RPC and Notify transports for the OpenStack services. These parameters replace the rabbitmq values and are used to generate the messaging transport_url for the service. The association of the messaging backend server to the oslo.messaging services will then be transparent to the cinder service. This patch: * Add oslo.messaging variables for RPC and Notify to defaults * Update transport_url generation * Add oslo.messaging to inventory * Add release note Depends-On: If4326a6848d2d32af284fdbb94798eb0b03734d5 Depends-On: I2b09145b60116c029fc85477399c24f94974b61d Change-Id: I6b29b89c80889eff34fe78674cd888ea9d398388 --- defaults/main.yml | 29 ++++++++++--------- ...ng-separate-backends-06a1b30ffb228f22.yaml | 19 ++++++++++++ templates/cinder.conf.j2 | 6 ++-- tests/inventory | 6 ++++ 4 files changed, 43 insertions(+), 17 deletions(-) create mode 100644 releasenotes/notes/oslo-messaging-separate-backends-06a1b30ffb228f22.yaml diff --git a/defaults/main.yml b/defaults/main.yml index 399a44b7..6b721503 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -62,22 +62,23 @@ cinder_galera_database: cinder cinder_galera_use_ssl: "{{ galera_use_ssl | default(False) }}" cinder_galera_ssl_ca_cert: "{{ galera_ssl_ca_cert | default('/etc/ssl/certs/galera-ca.pem') }}" -## RabbitMQ info +## Oslo Messaging -## Configuration for RPC communications -cinder_rabbitmq_userid: cinder -cinder_rabbitmq_vhost: /cinder -cinder_rabbitmq_port: 5672 -cinder_rabbitmq_servers: 127.0.0.1 -cinder_rabbitmq_use_ssl: False +# RPC +cinder_oslomsg_rpc_transport: rabbit +cinder_oslomsg_rpc_servers: 127.0.0.1 +cinder_oslomsg_rpc_port: 5672 +cinder_oslomsg_rpc_use_ssl: False +cinder_oslomsg_rpc_userid: cinder +cinder_oslomsg_rpc_vhost: /cinder -## Configuration for notifications communication, i.e. [oslo_messaging_notifications] -cinder_rabbitmq_telemetry_userid: "{{ cinder_rabbitmq_userid }}" -cinder_rabbitmq_telemetry_password: "{{ cinder_rabbitmq_password }}" -cinder_rabbitmq_telemetry_vhost: "{{ cinder_rabbitmq_vhost }}" -cinder_rabbitmq_telemetry_port: "{{ cinder_rabbitmq_port }}" -cinder_rabbitmq_telemetry_servers: "{{ cinder_rabbitmq_servers }}" -cinder_rabbitmq_telemetry_use_ssl: "{{ cinder_rabbitmq_use_ssl }}" +# Notify +cinder_oslomsg_notify_transport: rabbit +cinder_oslomsg_notify_servers: 127.0.0.1 +cinder_oslomsg_notify_port: 5672 +cinder_oslomsg_notify_use_ssl: False +cinder_oslomsg_notify_userid: cinder +cinder_oslomsg_notify_vhost: /cinder ## Cinder User / Group cinder_system_user_name: cinder diff --git a/releasenotes/notes/oslo-messaging-separate-backends-06a1b30ffb228f22.yaml b/releasenotes/notes/oslo-messaging-separate-backends-06a1b30ffb228f22.yaml new file mode 100644 index 00000000..ec1e2f76 --- /dev/null +++ b/releasenotes/notes/oslo-messaging-separate-backends-06a1b30ffb228f22.yaml @@ -0,0 +1,19 @@ +--- +features: + - Support separate oslo.messaging services for RPC and Notifications + to enable operation of separate and different messaging backend servers. +deprecations: + - | + The rabbitmq server parameters have been replaced by corresponding + oslo.messaging RPC and Notify parameters in order to abstract the + messaging service from the actual backend server deployment. + - cinder_oslomsg_rpc_servers replaces cinder_rabbitmq_servers + - cinder_oslomsg_rpc_port replaces cinder_rabbitmq_port + - cinder_oslomsg_rpc_use_ssl replaces cinder_rabbitmq_use_ssl + - cinder_oslomsg_rpc_userid replaces cinder_rabbitmq_userid + - cinder_oslomsg_rpc_vhost replaces cinder_rabbitmq_vhost + - cinder_oslomsg_notify_servers replaces cinder_rabbitmq_telemetry_servers + - cinder_oslomsg_notify_port replaces cinder_rabbitmq_telemetry_port + - cinder_oslomsg_notify_use_ssl replaces cinder_rabbitmq_telemetry_use_ssl + - cinder_oslomsg_notify_userid replaces cinder_rabbitmq_telemetry_userid + - cinder_oslomsg_notify_vhost replaces cinder_rabbitmq_telemetry_vhost diff --git a/templates/cinder.conf.j2 b/templates/cinder.conf.j2 index 776c64ec..0dc27fc8 100644 --- a/templates/cinder.conf.j2 +++ b/templates/cinder.conf.j2 @@ -47,7 +47,7 @@ backup_ceph_pool = {{ cinder_service_backup_ceph_pool }} executor_thread_pool_size = {{ cinder_rpc_executor_thread_pool_size }} rpc_response_timeout = {{ cinder_rpc_response_timeout }} -transport_url = rabbit://{% for host in cinder_rabbitmq_servers.split(',') %}{{ cinder_rabbitmq_userid }}:{{ cinder_rabbitmq_password }}@{{ host }}:{{ cinder_rabbitmq_port }}{% if not loop.last %},{% else %}/{{ cinder_rabbitmq_vhost }}{% endif %}{% endfor %} +transport_url = {{ cinder_oslomsg_rpc_transport }}://{% for host in cinder_oslomsg_rpc_servers.split(',') %}{{ cinder_oslomsg_rpc_userid }}:{{ cinder_oslomsg_rpc_password }}@{{ host }}:{{ cinder_oslomsg_rpc_port }}{% if not loop.last %},{% else %}/{{ cinder_oslomsg_rpc_vhost }}{% if cinder_oslomsg_rpc_use_ssl | bool %}?ssl=1{% else %}?ssl=0{% endif %}{% endif %}{% endfor %} ## Quota quota_volumes = {{ cinder_quota_volumes }} @@ -104,12 +104,12 @@ enabled_backends={% for backend in cinder_backends|dictsort %}{{ backend.0 }}{% connection = mysql+pymysql://{{ cinder_galera_user }}:{{ cinder_container_mysql_password }}@{{ cinder_galera_address }}/{{ cinder_galera_database }}?charset=utf8{% if cinder_galera_use_ssl | bool %}&ssl_ca={{ cinder_galera_ssl_ca_cert }}{% endif %} [oslo_messaging_rabbit] -ssl = {{ cinder_rabbitmq_use_ssl }} +ssl = {{ cinder_oslomsg_rpc_use_ssl }} {% if cinder_ceilometer_enabled %} [oslo_messaging_notifications] driver = messagingv2 -transport_url = rabbit://{% for host in cinder_rabbitmq_telemetry_servers.split(',') %}{{ cinder_rabbitmq_telemetry_userid }}:{{ cinder_rabbitmq_telemetry_password }}@{{ host }}:{{ cinder_rabbitmq_telemetry_port }}{% if not loop.last %},{% else %}/{{ cinder_rabbitmq_telemetry_vhost }}{% endif %}{% endfor %} +transport_url = {{ cinder_oslomsg_notify_transport }}://{% for host in cinder_oslomsg_notify_servers.split(',') %}{{ cinder_oslomsg_notify_userid }}:{{ cinder_oslomsg_notify_password }}@{{ host }}:{{ cinder_oslomsg_notify_port }}{% if not loop.last %},{% else %}/{{ cinder_oslomsg_notify_vhost }}{% if cinder_oslomsg_notify_use_ssl | bool %}?ssl=1{% else %}?ssl=0{% endif %}{% endif %}{% endfor %} {% endif %} [oslo_concurrency] diff --git a/tests/inventory b/tests/inventory index 93ed5a0e..89ab86f1 100644 --- a/tests/inventory +++ b/tests/inventory @@ -9,6 +9,12 @@ infra1 keystone cinder +[oslomsg_rpc_all] +infra1 + +[oslomsg_notify_all] +infra1 + [rabbitmq_all] infra1