Skip to content

Commit

Permalink
RabbitMQ config rework
Browse files Browse the repository at this point in the history
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
  • Loading branch information
Travis Truman committed Aug 4, 2016
1 parent 1d01cc7 commit 1432954
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 34 deletions.
6 changes: 3 additions & 3 deletions defaults/main.yml
Expand Up @@ -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

Expand Down
58 changes: 30 additions & 28 deletions templates/ceilometer.conf.j2
Expand Up @@ -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
Expand All @@ -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]
Expand All @@ -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 }}
Expand Down
6 changes: 3 additions & 3 deletions tests/test.yml
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 1432954

Please sign in to comment.