diff --git a/defaults/main.yml b/defaults/main.yml index 8cfa86c1..a9153184 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -106,23 +106,24 @@ keystone_database_min_pool_size: 5 keystone_database_max_pool_size: 120 keystone_database_pool_timeout: 30 -## RabbitMQ info - -## Configuration for RPC communications +## Oslo Messaging 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] -keystone_rabbitmq_telemetry_userid: "{{ keystone_rabbitmq_userid }}" -keystone_rabbitmq_telemetry_password: "{{ keystone_rabbitmq_password }}" -keystone_rabbitmq_telemetry_vhost: "{{ keystone_rabbitmq_vhost }}" -keystone_rabbitmq_telemetry_port: "{{ keystone_rabbitmq_port }}" -keystone_rabbitmq_telemetry_servers: "{{ keystone_rabbitmq_servers }}" -keystone_rabbitmq_telemetry_use_ssl: "{{ keystone_rabbitmq_use_ssl }}" +# RPC +keystone_oslomsg_rpc_transport: rabbit +keystone_oslomsg_rpc_servers: 127.0.0.1 +keystone_oslomsg_rpc_port: 5672 +keystone_oslomsg_rpc_use_ssl: False +keystone_oslomsg_rpc_userid: keystone +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 keystone_role_name: admin @@ -460,6 +461,8 @@ keystone_policy_overrides: {} keystone_required_secrets: - keystone_auth_admin_password - keystone_container_mysql_password + - keystone_oslomsg_rpc_password + - keystone_oslomsg_notify_password - keystone_rabbitmq_password - keystone_service_password diff --git a/examples/playbook.yml b/examples/playbook.yml index 947c1a5a..c3ae817c 100644 --- a/examples/playbook.yml +++ b/examples/playbook.yml @@ -41,11 +41,19 @@ keystone_git_install_branch: master keystone_auth_admin_password: "SuperSecretePassword" keystone_service_password: "secrete" - keystone_rabbitmq_password: "secrete" + keystone_oslomsg_rpc_password: "secrete" + keystone_oslomsg_notify_password: "secrete" keystone_container_mysql_password: "SuperSecrete" - keystone_rabbitmq_port: 5671 - keystone_rabbitmq_userid: keystone - keystone_rabbitmq_vhost: /keystone - keystone_rabbitmq_servers: 10.100.100.101 - keystone_rabbitmq_use_ssl: true + keystone_oslomsg_rpc_transport: rabbit + keystone_oslomsg_rpc_servers: 10.100.100.101 + keystone_oslomsg_rpc_port: 5671 + keystone_oslomsg_rpc_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 diff --git a/releasenotes/notes/oslo-messaging-separate-backends-e68c98d4f9d9a79c.yaml b/releasenotes/notes/oslo-messaging-separate-backends-e68c98d4f9d9a79c.yaml new file mode 100644 index 00000000..470cfba6 --- /dev/null +++ b/releasenotes/notes/oslo-messaging-separate-backends-e68c98d4f9d9a79c.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. + - 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 diff --git a/templates/keystone.conf.j2 b/templates/keystone.conf.j2 index 92031fec..b6f75132 100644 --- a/templates/keystone.conf.j2 +++ b/templates/keystone.conf.j2 @@ -18,18 +18,15 @@ secure_proxy_ssl_header = {{ keystone_secure_proxy_ssl_header }} log_file = keystone.log log_dir = /var/log/keystone -## RabbitMQ RPC +## Oslo.Messaging RPC {% 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 %} - -[oslo_messaging_rabbit] -ssl = {{ keystone_rabbitmq_use_ssl }} +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 %} {% endif %} {% if keystone_ceilometer_enabled %} [oslo_messaging_notifications] 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 %} {% if keystone_cache_servers | length > 0 %} diff --git a/tests/inventory b/tests/inventory index c8fe17c0..7abcfa64 100644 --- a/tests/inventory +++ b/tests/inventory @@ -9,6 +9,12 @@ infra1 keystone1 keystone2 +[oslomsg_rpc_all] +infra1 + +[oslomsg_notify_all] +infra1 + [rabbitmq_all] infra1