Allow configuration of multiple rabbit clusters

Introduced new variables so the transport_url values
used for RPC and notifications can vary. By default
they will remain the same.

Change-Id: I133e1fdea930b925b0f137c14b521bec6f863312
Implements: blueprint multi-rabbitmq-clusters
This commit is contained in:
Travis Truman 2016-07-20 14:50:20 -04:00
parent 3a07c98a0a
commit 3188747b93
3 changed files with 24 additions and 22 deletions

View File

@ -67,11 +67,21 @@ glance_enable_v2_api: True
glance_enable_v2_registry: True
## RabbitMQ info
## Configuration for RPC communications
glance_rabbitmq_userid: glance
glance_rabbitmq_vhost: /glance
glance_rabbitmq_port: 5672
glance_rabbitmq_servers: 127.0.0.1
glance_rabbitmq_use_ssl: False
## Configuration for notifications communication, i.e. [oslo_messaging_notifications]
glance_rabbitmq_telemetry_userid: "{{ glance_rabbitmq_userid }}"
glance_rabbitmq_telemetry_vhost: "{{ glance_rabbitmq_vhost }}"
glance_rabbitmq_telemetry_port: "{{ glance_rabbitmq_port }}"
glance_rabbitmq_telemetry_servers: "{{ glance_rabbitmq_servers }}"
glance_rabbitmq_telemetry_use_ssl: "{{ glance_rabbitmq_use_ssl }}"
## DB info
glance_galera_database: glance
glance_galera_user: glance

View File

@ -24,6 +24,7 @@ enable_v2_api = {{ glance_enable_v2_api }}
enable_v2_registry = {{ glance_enable_v2_registry }}
rpc_backend = {{ glance_rpc_backend }}
transport_url = rabbit://{% for host in glance_rabbitmq_servers.split(',') %}{{ glance_rabbitmq_userid }}:{{ glance_rabbitmq_password }}@{{ host }}:{{ glance_rabbitmq_port }}/{{ glance_rabbitmq_vhost }}?rabbit_use_ssl={{ glance_rabbitmq_use_ssl }},{% endfor %}
delayed_delete = False
scrub_time = 43200
@ -32,11 +33,6 @@ image_cache_dir = {{ glance_system_user_home }}/cache/
# defaults to true if RBD is used as default store
show_image_direct_url = {{ glance_show_image_direct_url }}
{% if glance_ceilometer_enabled %}
[oslo_messaging_notifications]
driver = messagingv2
{% endif %}
[task]
task_executor = {{ glance_task_executor }}
@ -73,15 +69,15 @@ policy_default_rule = {{ glance_policy_default_rule }}
policy_dirs = {{ glance_policy_dirs }}
[oslo_messaging_rabbit]
rabbit_hosts = {{ glance_rabbitmq_servers }}
rabbit_port = {{ glance_rabbitmq_port }}
rabbit_userid = {{ glance_rabbitmq_userid }}
rabbit_password = {{ glance_rabbitmq_password }}
rabbit_virtual_host = {{ glance_rabbitmq_vhost }}
rabbit_use_ssl = {{ glance_rabbitmq_use_ssl }}
rabbit_notification_exchange = glance
rabbit_notification_topic = notifications
{% if glance_ceilometer_enabled %}
[oslo_messaging_notifications]
driver = messagingv2
transport_url = rabbit://{% for host in glance_rabbitmq_telemetry_servers.split(',') %}{{ glance_rabbitmq_telemetry_userid }}:{{ glance_rabbitmq_telemetry_password }}@{{ host }}:{{ glance_rabbitmq_telemetry_port }}/{{ glance_rabbitmq_telemetry_vhost }}?rabbit_use_ssl={{ glance_rabbitmq_telemetry_use_ssl }},{% endfor %}
{% endif %}
[paste_deploy]
flavor = {{ glance_flavor }}

View File

@ -14,12 +14,8 @@ backlog = 4096
workers = {{ glance_registry_workers | default(api_threads) }}
api_limit_max = 1000
limit_param_default = 25
rpc_backend = {{ glance_rpc_backend }}
{% if glance_ceilometer_enabled %}
[oslo_messaging_notifications]
driver = messagingv2
{% endif %}
transport_url = rabbit://{% for host in glance_rabbitmq_servers.split(',') %}{{ glance_rabbitmq_userid }}:{{ glance_rabbitmq_password }}@{{ host }}:{{ glance_rabbitmq_port }}/{{ glance_rabbitmq_vhost }}?rabbit_use_ssl={{ glance_rabbitmq_use_ssl }},{% endfor %}
[database]
connection = mysql+pymysql://{{ glance_galera_user }}:{{ glance_container_mysql_password }}@{{ glance_galera_address }}/{{ glance_galera_database }}?charset=utf8
@ -49,15 +45,15 @@ memcache_secret_key = {{ memcached_encryption_key }}
check_revocations_for_cached = False
[oslo_messaging_rabbit]
rabbit_hosts = {{ glance_rabbitmq_servers }}
rabbit_port = {{ glance_rabbitmq_port }}
rabbit_userid = {{ glance_rabbitmq_userid }}
rabbit_password = {{ glance_rabbitmq_password }}
rabbit_virtual_host = {{ glance_rabbitmq_vhost }}
rabbit_use_ssl = {{ glance_rabbitmq_use_ssl }}
rabbit_notification_exchange = glance
rabbit_notification_topic = notifications
{% if glance_ceilometer_enabled %}
[oslo_messaging_notifications]
driver = messagingv2
transport_url = rabbit://{% for host in glance_rabbitmq_telemetry_servers.split(',') %}{{ glance_rabbitmq_telemetry_userid }}:{{ glance_rabbitmq_telemetry_password }}@{{ host }}:{{ glance_rabbitmq_telemetry_port }}/{{ glance_rabbitmq_telemetry_vhost }}?rabbit_use_ssl={{ glance_rabbitmq_telemetry_use_ssl }},{% endfor %}
{% endif %}
[oslo_policy]
policy_file = {{ glance_policy_file }}
policy_default_rule = {{ glance_policy_default_rule }}