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 keystone service.

This patch:
* Add oslo.messaging variables for RPC and Notify to defaults
* Update transport_url generation
* Update examples
* Add oslo.messaging to inventory
* Add release note

Depends-On: If4326a6848d2d32af284fdbb94798eb0b03734d5
Depends-On: I2b09145b60116c029fc85477399c24f94974b61d
Change-Id: I8d5b09dd0cb905e0dee40e260efbfeff1da180ce
This commit is contained in:
Andrew Smith 2018-04-17 14:39:32 -04:00
parent 1460a23423
commit 2b7eb22a89
5 changed files with 60 additions and 27 deletions

View File

@ -106,23 +106,24 @@ keystone_database_min_pool_size: 5
keystone_database_max_pool_size: 120 keystone_database_max_pool_size: 120
keystone_database_pool_timeout: 30 keystone_database_pool_timeout: 30
## RabbitMQ info ## Oslo Messaging
## Configuration for RPC communications
keystone_messaging_enabled: true keystone_messaging_enabled: true
keystone_rabbitmq_port: 5671
keystone_rabbitmq_userid: keystone
keystone_rabbitmq_vhost: /keystone
keystone_rabbitmq_servers: localhost
keystone_rabbitmq_use_ssl: false
## Configuration for notifications communication, i.e. [oslo_messaging_notifications] # RPC
keystone_rabbitmq_telemetry_userid: "{{ keystone_rabbitmq_userid }}" keystone_oslomsg_rpc_transport: rabbit
keystone_rabbitmq_telemetry_password: "{{ keystone_rabbitmq_password }}" keystone_oslomsg_rpc_servers: 127.0.0.1
keystone_rabbitmq_telemetry_vhost: "{{ keystone_rabbitmq_vhost }}" keystone_oslomsg_rpc_port: 5672
keystone_rabbitmq_telemetry_port: "{{ keystone_rabbitmq_port }}" keystone_oslomsg_rpc_use_ssl: False
keystone_rabbitmq_telemetry_servers: "{{ keystone_rabbitmq_servers }}" keystone_oslomsg_rpc_userid: keystone
keystone_rabbitmq_telemetry_use_ssl: "{{ keystone_rabbitmq_use_ssl }}" keystone_oslomsg_rpc_vhost: /keystone
# Notify
keystone_oslomsg_notify_transport: rabbit
keystone_oslomsg_notify_servers: 127.0.0.1
keystone_oslomsg_notify_port: 5672
keystone_oslomsg_notify_use_ssl: False
keystone_oslomsg_notify_userid: keystone
keystone_oslomsg_notify_vhost: /keystone
## Role info ## Role info
keystone_role_name: admin keystone_role_name: admin
@ -460,6 +461,8 @@ keystone_policy_overrides: {}
keystone_required_secrets: keystone_required_secrets:
- keystone_auth_admin_password - keystone_auth_admin_password
- keystone_container_mysql_password - keystone_container_mysql_password
- keystone_oslomsg_rpc_password
- keystone_oslomsg_notify_password
- keystone_rabbitmq_password - keystone_rabbitmq_password
- keystone_service_password - keystone_service_password

View File

@ -41,11 +41,19 @@
keystone_git_install_branch: master keystone_git_install_branch: master
keystone_auth_admin_password: "SuperSecretePassword" keystone_auth_admin_password: "SuperSecretePassword"
keystone_service_password: "secrete" keystone_service_password: "secrete"
keystone_rabbitmq_password: "secrete" keystone_oslomsg_rpc_password: "secrete"
keystone_oslomsg_notify_password: "secrete"
keystone_container_mysql_password: "SuperSecrete" keystone_container_mysql_password: "SuperSecrete"
keystone_rabbitmq_port: 5671 keystone_oslomsg_rpc_transport: rabbit
keystone_rabbitmq_userid: keystone keystone_oslomsg_rpc_servers: 10.100.100.101
keystone_rabbitmq_vhost: /keystone keystone_oslomsg_rpc_port: 5671
keystone_rabbitmq_servers: 10.100.100.101 keystone_oslomsg_rpc_use_ssl: true
keystone_rabbitmq_use_ssl: true keystone_oslomsg_rpc_userid: keystone
keystone_oslomsg_rpc_vhost: /keystone
keystone_oslomsg_notify_transport: rabbit
keystone_oslomsg_notify_servers: 10.100.100.101
keystone_oslomsg_notify_port: 5671
keystone_oslomsg_notify_use_ssl: true
keystone_oslomsg_notify_userid: keystone
keystone_oslomsg_notify_vhost: /keystone
galera_client_drop_config_file: false galera_client_drop_config_file: false

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.
- keystone_oslomsg_rpc_servers replaces keystone_rabbitmq_servers
- keystone_oslomsg_rpc_port replaces keystone_rabbitmq_port
- keystone_oslomsg_rpc_use_ssl replaces keystone_rabbitmq_use_ssl
- keystone_oslomsg_rpc_userid replaces keystone_rabbitmq_userid
- keystone_oslomsg_rpc_vhost replaces keystone_rabbitmq_vhost
- keystone_oslomsg_notify_servers replaces keystone_rabbitmq_telemetry_servers
- keystone_oslomsg_notify_port replaces keystone_rabbitmq_telemetry_port
- keystone_oslomsg_notify_use_ssl replaces keystone_rabbitmq_telemetry_use_ssl
- keystone_oslomsg_notify_userid replaces keystone_rabbitmq_telemetry_userid
- keystone_oslomsg_notify_vhost replaces keystone_rabbitmq_telemetry_vhost

View File

@ -18,18 +18,15 @@ secure_proxy_ssl_header = {{ keystone_secure_proxy_ssl_header }}
log_file = keystone.log log_file = keystone.log
log_dir = /var/log/keystone log_dir = /var/log/keystone
## RabbitMQ RPC ## Oslo.Messaging RPC
{% if keystone_messaging_enabled | bool %} {% if keystone_messaging_enabled | bool %}
transport_url = rabbit://{% for host in keystone_rabbitmq_servers.split(',') %}{{ keystone_rabbitmq_userid }}:{{ keystone_rabbitmq_password }}@{{ host }}:{{ keystone_rabbitmq_port }}{% if not loop.last %},{% else %}/{{ keystone_rabbitmq_vhost }}{% endif %}{% endfor %} transport_url = {{ keystone_oslomsg_rpc_transport }}://{% for host in keystone_oslomsg_rpc_servers.split(',') %}{{ keystone_oslomsg_rpc_userid }}:{{ keystone_oslomsg_rpc_password }}@{{ host }}:{{ keystone_oslomsg_rpc_port }}{% if not loop.last %},{% else %}/{{ keystone_oslomsg_rpc_vhost }}{% if keystone_oslomsg_rpc_use_ssl | bool %}?ssl=1{% else %}?ssl=0{% endif %}{% endif %}{% endfor %}
[oslo_messaging_rabbit]
ssl = {{ keystone_rabbitmq_use_ssl }}
{% endif %} {% endif %}
{% if keystone_ceilometer_enabled %} {% if keystone_ceilometer_enabled %}
[oslo_messaging_notifications] [oslo_messaging_notifications]
driver = messagingv2 driver = messagingv2
transport_url = rabbit://{% for host in keystone_rabbitmq_telemetry_servers.split(',') %}{{ keystone_rabbitmq_telemetry_userid }}:{{ keystone_rabbitmq_telemetry_password }}@{{ host }}:{{ keystone_rabbitmq_telemetry_port }}{% if not loop.last %},{% else %}/{{ keystone_rabbitmq_telemetry_vhost }}{% endif %}{% endfor %} transport_url = {{ keystone_oslomsg_notify_transport }}://{% for host in keystone_oslomsg_notify_servers.split(',') %}{{ keystone_oslomsg_notify_userid }}:{{ keystone_oslomsg_notify_password }}@{{ host }}:{{ keystone_oslomsg_notify_port }}{% if not loop.last %},{% else %}/{{ keystone_oslomsg_notify_vhost }}{% if keystone_oslomsg_notify_use_ssl | bool %}?ssl=1{% else %}?ssl=0{% endif %}{% endif %}{% endfor %}
{% endif %} {% endif %}
{% if keystone_cache_servers | length > 0 %} {% if keystone_cache_servers | length > 0 %}

View File

@ -9,6 +9,12 @@ infra1
keystone1 keystone1
keystone2 keystone2
[oslomsg_rpc_all]
infra1
[oslomsg_notify_all]
infra1
[rabbitmq_all] [rabbitmq_all]
infra1 infra1