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
This commit is contained in:
Andrew Smith 2018-04-11 14:18:21 -04:00
parent 5b0612ceb6
commit e8eae7d067
4 changed files with 43 additions and 17 deletions

View File

@ -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

View File

@ -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

View File

@ -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]

View File

@ -9,6 +9,12 @@ infra1
keystone
cinder
[oslomsg_rpc_all]
infra1
[oslomsg_notify_all]
infra1
[rabbitmq_all]
infra1