Ceilometer can leverage coordination driver. With that we have an option to deploy and leverage zookeeper for such deployments. While we have already added support to some services, like Designate and Cinder, Telemetry remained unpatched. Related-Bug: #1629395 Change-Id: I3cf6116d0e51d885fb29f584b810959944f517bc Signed-off-by: Dmitriy Rabotyagov <dmitriy.rabotyagov@cleura.com>
132 lines
7.7 KiB
Django/Jinja
132 lines
7.7 KiB
Django/Jinja
#{{ ansible_managed}}
|
|
{% macro _oslomsg_url(transport, userid, password, hosts, port, vhost, use_ssl, ssl_version, ca_file) %}
|
|
{% set _url = [] %}
|
|
{% for host in hosts %}
|
|
{% set _ = _url.append(userid + ':' + password + '@' + hostvars[host]['ansible_host'] + ':' + port) %}
|
|
{% endfor %}
|
|
{% if use_ssl | bool %}
|
|
{{ transport }}://{{ _url | join(',') }}/{{ vhost }}?ssl=1&ssl_version={{ ssl_version }}&ssl_ca_file={{ ca_file }}
|
|
{% else %}
|
|
{{ transport }}://{{ _url | join(',') }}/{{ vhost }}?ssl=0
|
|
{% endif %}
|
|
{% endmacro %}
|
|
|
|
[DEFAULT]
|
|
use_journal = True
|
|
# Disable stderr logging
|
|
use_stderr = False
|
|
debug = {{ debug }}
|
|
|
|
# RPC
|
|
transport_url = {{ _oslomsg_url(ceilometer_oslomsg_rpc_transport, ceilometer_oslomsg_rpc_userid, ceilometer_oslomsg_rpc_password, groups[ceilometer_oslomsg_rpc_host_group], ceilometer_oslomsg_rpc_port, _ceilometer_oslomsg_rpc_vhost_conf, ceilometer_oslomsg_rpc_use_ssl, ceilometer_oslomsg_rpc_ssl_version, ceilometer_oslomsg_rpc_ssl_ca_file) }}
|
|
|
|
polling_namespaces = {{ _ceilometer_polling_namespaces | join(',') }}
|
|
|
|
{% if ceilometer_oslomsg_rpc_transport == 'rabbit' %}
|
|
[oslo_messaging_rabbit]
|
|
ssl = {{ ceilometer_oslomsg_rpc_use_ssl }}
|
|
rabbit_quorum_queue = {{ ceilometer_oslomsg_rabbit_quorum_queues }}
|
|
rabbit_transient_quorum_queue = {{ ceilometer_oslomsg_rabbit_transient_quorum_queues }}
|
|
rabbit_qos_prefetch_count = {{ ceilometer_oslomsg_rabbit_qos_prefetch_count }}
|
|
use_queue_manager = {{ ceilometer_oslomsg_rabbit_queue_manager }}
|
|
{% if ceilometer_oslomsg_rabbit_queue_manager %}
|
|
hostname = {{ [ansible_facts['hostname'], ceilometer_service_user_name] | join('-') }}
|
|
{% endif %}
|
|
rabbit_stream_fanout = {{ ceilometer_oslomsg_rabbit_stream_fanout }}
|
|
rabbit_quorum_delivery_limit = {{ ceilometer_oslomsg_rabbit_quorum_delivery_limit }}
|
|
rabbit_quorum_max_memory_bytes = {{ ceilometer_oslomsg_rabbit_quorum_max_memory_bytes }}
|
|
{% endif %}
|
|
|
|
{% if 'ceilometer_agent_notification' in group_names %}
|
|
[notification]
|
|
workers = {{ ceilometer_notification_workers }}
|
|
|
|
# Notification queues to listen on
|
|
|
|
# Ceilometer needs to connect to it's own notification vhost
|
|
messaging_urls = {{ _oslomsg_url(ceilometer_oslomsg_notify_transport, ceilometer_oslomsg_notify_userid, ceilometer_oslomsg_notify_password, groups[ceilometer_oslomsg_notify_host_group], ceilometer_oslomsg_notify_port, _ceilometer_oslomsg_notify_vhost_conf, ceilometer_oslomsg_notify_use_ssl, ceilometer_oslomsg_notify_ssl_version, ceilometer_oslomsg_notify_ssl_ca_file) }}
|
|
|
|
{% if cinder_ceilometer_enabled %}
|
|
# Cinder notifications
|
|
messaging_urls = {{ _oslomsg_url(cinder_oslomsg_notify_transport, cinder_oslomsg_notify_userid, cinder_oslomsg_notify_password, groups[cinder_oslomsg_notify_host_group], cinder_oslomsg_notify_port, cinder_oslomsg_notify_vhost, cinder_oslomsg_notify_use_ssl, cinder_oslomsg_notify_ssl_version, cinder_oslomsg_notify_ssl_ca_file) }}
|
|
{% endif %}
|
|
|
|
{% if designate_ceilometer_enabled %}
|
|
# Designate notifications
|
|
messaging_urls = {{ _oslomsg_url(designate_oslomsg_notify_transport, designate_oslomsg_notify_userid, designate_oslomsg_notify_password, groups[designate_oslomsg_notify_host_group], designate_oslomsg_notify_port, designate_oslomsg_notify_vhost, designate_oslomsg_notify_use_ssl, designate_oslomsg_notify_ssl_version, designate_oslomsg_notify_ssl_ca_file) }}
|
|
{% endif %}
|
|
|
|
{% if glance_ceilometer_enabled %}
|
|
# Glance notifications
|
|
messaging_urls = {{ _oslomsg_url(glance_oslomsg_notify_transport, glance_oslomsg_notify_userid, glance_oslomsg_notify_password, groups[glance_oslomsg_notify_host_group], glance_oslomsg_notify_port, glance_oslomsg_notify_vhost, glance_oslomsg_notify_use_ssl, glance_oslomsg_notify_ssl_version, glance_oslomsg_notify_ssl_ca_file) }}
|
|
{% endif %}
|
|
|
|
{% if heat_ceilometer_enabled %}
|
|
# Heat notifications
|
|
messaging_urls = {{ _oslomsg_url(heat_oslomsg_notify_transport, heat_oslomsg_notify_userid, heat_oslomsg_notify_password, groups[heat_oslomsg_notify_host_group], heat_oslomsg_notify_port, heat_oslomsg_notify_vhost, heat_oslomsg_notify_use_ssl, heat_oslomsg_notify_ssl_version, heat_oslomsg_notify_ssl_ca_file) }}
|
|
{% endif %}
|
|
|
|
{% if keystone_ceilometer_enabled %}
|
|
# Keystone notifications
|
|
messaging_urls = {{ _oslomsg_url(keystone_oslomsg_notify_transport, keystone_oslomsg_notify_userid, keystone_oslomsg_notify_password, groups[keystone_oslomsg_notify_host_group], keystone_oslomsg_notify_port, keystone_oslomsg_notify_vhost, keystone_oslomsg_notify_use_ssl, keystone_oslomsg_notify_ssl_version, keystone_oslomsg_notify_ssl_ca_file) }}
|
|
{% endif %}
|
|
|
|
{% if neutron_ceilometer_enabled %}
|
|
# Neutron notifications
|
|
messaging_urls = {{ _oslomsg_url(neutron_oslomsg_notify_transport, neutron_oslomsg_notify_userid, neutron_oslomsg_notify_password, groups[neutron_oslomsg_notify_host_group], neutron_oslomsg_notify_port, neutron_oslomsg_notify_vhost, neutron_oslomsg_notify_use_ssl, neutron_oslomsg_notify_ssl_version, neutron_oslomsg_notify_ssl_ca_file) }}
|
|
{% endif %}
|
|
|
|
{% if nova_ceilometer_enabled %}
|
|
# Nova notifications
|
|
messaging_urls = {{ _oslomsg_url(nova_oslomsg_notify_transport, nova_oslomsg_notify_userid, nova_oslomsg_notify_password, groups[nova_oslomsg_notify_host_group], nova_oslomsg_notify_port, nova_oslomsg_notify_vhost, nova_oslomsg_notify_use_ssl, nova_oslomsg_notify_ssl_version, nova_oslomsg_notify_ssl_ca_file) }}
|
|
{% endif %}
|
|
|
|
{% if octavia_ceilometer_enabled %}
|
|
# Octavia notifications
|
|
messaging_urls = {{ _oslomsg_url(octavia_oslomsg_notify_transport, octavia_oslomsg_notify_userid, octavia_oslomsg_notify_password, groups[octavia_oslomsg_notify_host_group], octavia_oslomsg_notify_port, octavia_oslomsg_notify_vhost, octavia_oslomsg_notify_use_ssl, octavia_oslomsg_notify_ssl_version, octavia_oslomsg_notify_ssl_ca_file) }}
|
|
{% endif %}
|
|
|
|
{% if swift_ceilometer_enabled %}
|
|
# Ceilometer notifications
|
|
messaging_urls = {{ _oslomsg_url(swift_oslomsg_notify_transport, swift_oslomsg_notify_userid, swift_oslomsg_notify_password, groups[swift_oslomsg_notify_host_group], swift_oslomsg_notify_port, swift_oslomsg_notify_vhost, swift_oslomsg_notify_use_ssl, swift_oslomsg_notify_ssl_version, swift_oslomsg_notify_ssl_ca_file) }}
|
|
{% endif %}
|
|
|
|
{% if trove_ceilometer_enabled %}
|
|
# Trove notifications
|
|
messaging_urls = {{ _oslomsg_url(trove_oslomsg_notify_transport, trove_oslomsg_notify_userid, trove_oslomsg_notify_password, groups[trove_oslomsg_notify_host_group], trove_oslomsg_notify_port, trove_oslomsg_notify_vhost, trove_oslomsg_notify_use_ssl, trove_oslomsg_notify_ssl_version, trove_oslomsg_notify_ssl_ca_file) }}
|
|
{% endif %}
|
|
|
|
{% if magnum_ceilometer_enabled %}
|
|
# Magnum notifications
|
|
messaging_urls = {{ _oslomsg_url(magnum_oslomsg_notify_transport, magnum_oslomsg_notify_userid, magnum_oslomsg_notify_password, groups[magnum_oslomsg_notify_host_group], magnum_oslomsg_notify_port, magnum_oslomsg_notify_vhost, magnum_oslomsg_notify_use_ssl, magnum_oslomsg_notify_ssl_version, magnum_oslomsg_notify_ssl_ca_file) }}
|
|
{% endif %}
|
|
{% endif %}
|
|
|
|
{% if ceilometer_coordination_enable %}
|
|
[coordination]
|
|
backend_url = {{ ceilometer_coordination_url }}
|
|
{% endif %}
|
|
|
|
[publisher]
|
|
telemetry_secret = {{ ceilometer_telemetry_secret }}
|
|
|
|
[service_credentials]
|
|
insecure = {{ keystone_service_internaluri_insecure | bool }}
|
|
auth_url = {{ keystone_service_adminurl }}
|
|
auth_type = {{ ceilometer_keystone_auth_plugin }}
|
|
project_domain_id = {{ ceilometer_service_project_domain_id }}
|
|
user_domain_id = {{ ceilometer_service_user_domain_id }}
|
|
project_name = {{ ceilometer_service_project_name }}
|
|
username = {{ ceilometer_service_user_name }}
|
|
password = {{ ceilometer_service_password }}
|
|
region_name = {{ ceilometer_service_region }}
|
|
interface = {{ ceilometer_service_interface }}
|
|
|
|
# Cache
|
|
[cache]
|
|
enabled = true
|
|
backend = {{ ceilometer_cache_backend }}
|
|
{% if ceilometer_cache_backend in ceilometer_cache_backend_map['dogpile'] %}
|
|
memcache_servers = {{ ceilometer_cache_servers }}
|
|
{% endif %}
|