RabbitMQ config rework

RPC configuration now uses transport_url. Notification config
now uses the rabbitmq_telemetry_* vars by default

Role testing is now testing using RabbitMQ with no SSL
for consistency with all other role tests.

Implements: blueprint multi-rabbitmq-clusters
Change-Id: I35664b096ab236e19a3b9dff4bef2ebdeb974039
This commit is contained in:
Travis Truman 2016-08-03 20:37:01 -04:00
parent 1d01cc7005
commit 14329548f5
3 changed files with 36 additions and 34 deletions

View File

@ -49,18 +49,18 @@ ceilometer_db_ip: localhost
ceilometer_db_port: 27017
ceilometer_connection_string: "{{ ceilometer_db_type }}://{{ ceilometer_database_user }}:{{ ceilometer_container_db_password }}@{{ ceilometer_db_ip }}:{{ ceilometer_db_port }}/{{ ceilometer_database_name }}"
## RabbitMQ info
## Configuration for RPC communications
ceilometer_rabbitmq_userid: ceilometer
ceilometer_rabbitmq_vhost: /ceilometer
ceilometer_rabbitmq_port: 5672
ceilometer_rabbitmq_use_ssl: False
# Comma separated list of hosts
ceilometer_rabbitmq_servers: 127.0.0.1
ceilometer_rabbitmq_use_ssl: False
# Inventory group containing the hosts for the cluster
ceilometer_rabbitmq_host_group: "rabbitmq_all"
#Ceilometer services info
ceilometer_role_name: admin

View File

@ -6,10 +6,11 @@
[DEFAULT]
debug = {{ debug }}
auth_strategy = keystone
notification_topics = notifications
rpc_backend = rabbit
aodh_is_enabled = {{ ceilometer_aodh_enabled | bool }}
# RPC
transport_url = rabbit://{% for host in ceilometer_rabbitmq_servers.split(',') %}{{ ceilometer_rabbitmq_userid }}:{{ ceilometer_rabbitmq_password }}@{{ host }}:{{ ceilometer_rabbitmq_port }}{% if not loop.last %},{% else %}/{{ ceilometer_rabbitmq_vhost }}{% endif %}{% endfor %}
{% if ceilometer_gnocchi_enabled | bool %}
event_dispatchers =
meter_dispatchers = gnocchi
@ -19,12 +20,6 @@ meter_dispatchers = gnocchi
policy_file = /etc/ceilometer/policy.json
[oslo_messaging_rabbit]
rpc_backend = rabbit
rabbit_port = {{ ceilometer_rabbitmq_port }}
rabbit_userid = {{ ceilometer_rabbitmq_userid }}
rabbit_password = {{ ceilometer_rabbitmq_password }}
rabbit_virtual_host = {{ ceilometer_rabbitmq_vhost }}
rabbit_hosts = {{ ceilometer_rabbitmq_servers }}
rabbit_use_ssl = {{ ceilometer_rabbitmq_use_ssl }}
[api]
@ -42,48 +37,55 @@ batch_timeout = 5
[notification]
workers = {{ ceilometer_notification_workers | default(workers) }}
store_events = {{ not ceilometer_gnocchi_enabled | bool }}
# Configuring the notification queue listeners
# Notification queues to listen on
# Ceilometer needs to connect to it's own rabbitmq vhost
{% for host in groups[ceilometer_rabbitmq_host_group] %}
messaging_urls = rabbit://{{ ceilometer_rabbitmq_userid }}:{{ ceilometer_rabbitmq_password }}@{{ hostvars[host]['ansible_ssh_host'] }}:{{ ceilometer_rabbitmq_port }}/{{ ceilometer_rabbitmq_vhost }}
{% endfor %}
{% if glance_ceilometer_enabled %}
# Glance
{% for host in groups[glance_rabbitmq_host_group] %}
messaging_urls = rabbit://{{ glance_rabbitmq_userid }}:{{ glance_rabbitmq_password }}@{{ hostvars[host]['ansible_ssh_host'] }}:{{ glance_rabbitmq_port }}/{{ glance_rabbitmq_vhost }}
# Glance notifications
{% for host in groups[glance_rabbitmq_telemetry_host_group] %}
messaging_urls = rabbit://{{ glance_rabbitmq_telemetry_userid }}:{{ glance_rabbitmq_telemetry_password }}@{{ hostvars[host]['ansible_ssh_host'] }}:{{ glance_rabbitmq_telemetry_port }}/{{ glance_rabbitmq_telemetry_vhost }}
{% endfor %}
{% endif %}
{% if nova_ceilometer_enabled %}
# Nova
{% for host in groups[nova_rabbitmq_host_group] %}
messaging_urls = rabbit://{{ nova_rabbitmq_userid }}:{{ nova_rabbitmq_password }}@{{ hostvars[host]['ansible_ssh_host'] }}:{{ nova_rabbitmq_port }}/{{ nova_rabbitmq_vhost }}
# Nova notifications
{% for host in groups[nova_rabbitmq_telemetry_host_group] %}
messaging_urls = rabbit://{{ nova_rabbitmq_telemetry_userid }}:{{ nova_rabbitmq_telemetry_password }}@{{ hostvars[host]['ansible_ssh_host'] }}:{{ nova_rabbitmq_telemetry_port }}/{{ nova_rabbitmq_telemetry_vhost }}
{% endfor %}
{% endif %}
{% if cinder_ceilometer_enabled %}
# Cinder
{% for host in groups[cinder_rabbitmq_host_group] %}
messaging_urls = rabbit://{{ cinder_rabbitmq_userid }}:{{ cinder_rabbitmq_password }}@{{ hostvars[host]['ansible_ssh_host'] }}:{{ cinder_rabbitmq_port }}/{{ cinder_rabbitmq_vhost }}
# Cinder notifications
{% for host in groups[cinder_rabbitmq_telemetry_host_group] %}
messaging_urls = rabbit://{{ cinder_rabbitmq_telemetry_userid }}:{{ cinder_rabbitmq_telemetry_password }}@{{ hostvars[host]['ansible_ssh_host'] }}:{{ cinder_rabbitmq_telemetry_port }}/{{ cinder_rabbitmq_telemetry_vhost }}
{% endfor %}
{% endif %}
{% if neutron_ceilometer_enabled %}
# Neutron
{% for host in groups[neutron_rabbitmq_host_group] %}
messaging_urls = rabbit://{{ neutron_rabbitmq_userid }}:{{ neutron_rabbitmq_password }}@{{ hostvars[host]['ansible_ssh_host'] }}:{{ neutron_rabbitmq_port }}/{{ neutron_rabbitmq_vhost }}
# Neutron notifications
{% for host in groups[neutron_rabbitmq_telemetry_host_group] %}
messaging_urls = rabbit://{{ neutron_rabbitmq_telemetry_userid }}:{{ neutron_rabbitmq_telemetry_password }}@{{ hostvars[host]['ansible_ssh_host'] }}:{{ neutron_rabbitmq_telemetry_port }}/{{ neutron_rabbitmq_telemetry_vhost }}
{% endfor %}
{% endif %}
{% if heat_ceilometer_enabled %}
# Heat
{% for host in groups[heat_rabbitmq_host_group] %}
messaging_urls = rabbit://{{ heat_rabbitmq_userid }}:{{ heat_rabbitmq_password }}@{{ hostvars[host]['ansible_ssh_host'] }}:{{ heat_rabbitmq_port }}/{{ heat_rabbitmq_vhost }}
# Heat notifications
{% for host in groups[heat_rabbitmq_telemetry_host_group] %}
messaging_urls = rabbit://{{ heat_rabbitmq_telemetry_userid }}:{{ heat_rabbitmq_telemetry_password }}@{{ hostvars[host]['ansible_ssh_host'] }}:{{ heat_rabbitmq_telemetry_port }}/{{ heat_rabbitmq_telemetry_vhost }}
{% endfor %}
{% endif %}
{% if keystone_ceilometer_enabled %}
# Keystone
{% for host in groups[keystone_rabbitmq_host_group] %}
messaging_urls = rabbit://{{ keystone_rabbitmq_userid }}:{{ keystone_rabbitmq_password }}@{{ hostvars[host]['ansible_ssh_host'] }}:{{ keystone_rabbitmq_port }}/{{ keystone_rabbitmq_vhost }}
# Keystone notifications
{% for host in groups[keystone_rabbitmq_telemetry_host_group] %}
messaging_urls = rabbit://{{ keystone_rabbitmq_telemetry_userid }}:{{ keystone_rabbitmq_telemetry_password }}@{{ hostvars[host]['ansible_ssh_host'] }}:{{ keystone_rabbitmq_telemetry_port }}/{{ keystone_rabbitmq_telemetry_vhost }}
{% endfor %}
{% endif %}
# TODO(alextricity25): Swift
[database]
metering_connection = {{ ceilometer_connection_string }}

View File

@ -238,7 +238,7 @@
keystone_service_password: "secrete"
keystone_rabbitmq_password: "secrete"
keystone_container_mysql_password: "SuperSecrete"
keystone_rabbitmq_port: 5671
keystone_rabbitmq_port: 5672
keystone_rabbitmq_userid: keystone
keystone_rabbitmq_vhost: /keystone
keystone_rabbitmq_servers: 10.100.100.2
@ -283,8 +283,8 @@
external_lb_vip_address: 10.100.100.3
internal_lb_vip_address: 10.100.100.3
rabbitmq_servers: 10.100.100.2
rabbitmq_use_ssl: true
rabbitmq_port: 5671
rabbitmq_use_ssl: False
rabbitmq_port: 5672
memcached_servers: 127.0.0.1
memcached_encryption_key: "secrete"
ceilometer_db_ip: 10.100.100.2