From 1128c21955ce9502b69fea8c26e06ee82bc19cf9 Mon Sep 17 00:00:00 2001 From: Dmitriy Rabotjagov Date: Wed, 3 Oct 2018 20:12:13 +0300 Subject: [PATCH] Fix of oslomsg undefined variables for services notifications A buch of defaults oslomsg related variables were configured. In case of enabling ceilometer for services, role failed unless all required vars has been specified manually by deployer. Also vars ceilometer_oslomsg_rpc_servers and ceilometer_oslomsg_notify_servers were removed They were not used anywhere except ceilometer.conf.j2 and might be easily replaced with host_group vars. Their removal allowed to simplify macros. Fixed distro_install functional test for ubuntu, as ceilometer-agent-notification package was missing. Change-Id: I148ccaff9576b09d33d889b79963e88ca84d2ffe Closes-Bug: 1794688 --- defaults/main.yml | 77 ++++++++++++++++++- ...emove_oslomsg_server-6b5c19e03a001e85.yaml | 6 ++ templates/ceilometer.conf.j2 | 29 +++---- vars/ubuntu.yml | 1 + 4 files changed, 92 insertions(+), 21 deletions(-) create mode 100644 releasenotes/notes/remove_oslomsg_server-6b5c19e03a001e85.yaml diff --git a/defaults/main.yml b/defaults/main.yml index 47fdb54d..93e56a21 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -71,25 +71,94 @@ ceilometer_system_user_home: "/var/lib/{{ ceilometer_system_user_name }}" ## Oslo Messaging info # RPC +ceilometer_oslomsg_rpc_host_group: "{{ oslomsg_rpc_host_group | default('rabbitmq_all') }}" ceilometer_oslomsg_rpc_setup_host: "{{ (ceilometer_oslomsg_rpc_host_group in groups) | ternary(groups[ceilometer_oslomsg_rpc_host_group][0], 'localhost') }}" ceilometer_oslomsg_rpc_transport: "{{ oslomsg_rpc_transport | default('rabbit') }}" -ceilometer_oslomsg_rpc_servers: "{{ oslomsg_rpc_servers | default('127.0.0.1') }}" ceilometer_oslomsg_rpc_port: "{{ oslomsg_rpc_port | default('5672') }}" ceilometer_oslomsg_rpc_use_ssl: "{{ oslomsg_rpc_use_ssl | default(False) }}" ceilometer_oslomsg_rpc_userid: ceilometer ceilometer_oslomsg_rpc_vhost: /ceilometer -ceilometer_oslomsg_rpc_host_group: "{{ oslomsg_rpc_host_group | default('rabbitmq_all') }}" # Notify +ceilometer_oslomsg_notify_host_group: "{{ oslomsg_notify_host_group | default('rabbitmq_all') }}" ceilometer_oslomsg_notify_setup_host: "{{ (ceilometer_oslomsg_notify_host_group in groups) | ternary(groups[ceilometer_oslomsg_notify_host_group][0], 'localhost') }}" ceilometer_oslomsg_notify_transport: "{{ oslomsg_notify_transport | default('rabbit') }}" -ceilometer_oslomsg_notify_servers: "{{ oslomsg_notify_servers | default('127.0.0.1') }}" ceilometer_oslomsg_notify_port: "{{ oslomsg_notify_port | default('5672') }}" ceilometer_oslomsg_notify_use_ssl: "{{ oslomsg_notify_use_ssl | default(False) }}" ceilometer_oslomsg_notify_userid: "{{ ceilometer_oslomsg_rpc_userid }}" ceilometer_oslomsg_notify_password: "{{ ceilometer_oslomsg_rpc_password }}" ceilometer_oslomsg_notify_vhost: "{{ ceilometer_oslomsg_rpc_vhost }}" -ceilometer_oslomsg_notify_host_group: "{{ oslomsg_notify_host_group | default('rabbitmq_all') }}" + +# Glance notifications +glance_oslomsg_notify_host_group: "{{ oslomsg_notify_host_group | default('rabbitmq_all') }}" +glance_oslomsg_notify_transport: "{{ oslomsg_notify_transport | default('rabbit') }}" +glance_oslomsg_notify_port: "{{ oslomsg_notify_port | default('5672') }}" +glance_oslomsg_notify_use_ssl: "{{ oslomsg_notify_use_ssl | default(False) }}" +glance_oslomsg_notify_userid: "{{ glance_oslomsg_rpc_userid | default('glance') }}" +glance_oslomsg_notify_password: "{{ glance_ceilometer_enabled | ternary(glance_oslomsg_rpc_password, '') }}" +glance_oslomsg_notify_vhost: "{{ glance_oslomsg_rpc_vhost | default('/glance') }}" + +# Nova notifications +nova_oslomsg_notify_host_group: "{{ oslomsg_notify_host_group | default('rabbitmq_all') }}" +nova_oslomsg_notify_transport: "{{ oslomsg_notify_transport | default('rabbit') }}" +nova_oslomsg_notify_port: "{{ oslomsg_notify_port | default('5672') }}" +nova_oslomsg_notify_use_ssl: "{{ oslomsg_notify_use_ssl | default(False) }}" +nova_oslomsg_notify_userid: "{{ nova_oslomsg_rpc_userid | default('nova') }}" +nova_oslomsg_notify_password: "{{ nova_ceilometer_enabled | ternary(nova_oslomsg_rpc_password, '') }}" +nova_oslomsg_notify_vhost: "{{ nova_oslomsg_rpc_vhost | default('/nova') }}" + +# Cinder notifications +cinder_oslomsg_notify_host_group: "{{ oslomsg_notify_host_group | default('rabbitmq_all') }}" +cinder_oslomsg_notify_transport: "{{ oslomsg_notify_transport | default('rabbit') }}" +cinder_oslomsg_notify_port: "{{ oslomsg_notify_port | default('5672') }}" +cinder_oslomsg_notify_use_ssl: "{{ oslomsg_notify_use_ssl | default(False) }}" +cinder_oslomsg_notify_userid: "{{ cinder_oslomsg_rpc_userid | default('cinder') }}" +cinder_oslomsg_notify_password: "{{ cinder_ceilometer_enabled | ternary(cinder_oslomsg_rpc_password, '') }}" +cinder_oslomsg_notify_vhost: "{{ cinder_oslomsg_rpc_vhost | default('/cinder') }}" + +# Neutron notifications +neutron_oslomsg_notify_host_group: "{{ oslomsg_notify_host_group | default('rabbitmq_all') }}" +neutron_oslomsg_notify_transport: "{{ oslomsg_notify_transport | default('rabbit') }}" +neutron_oslomsg_notify_port: "{{ oslomsg_notify_port | default('5672') }}" +neutron_oslomsg_notify_use_ssl: "{{ oslomsg_notify_use_ssl | default(False) }}" +neutron_oslomsg_notify_userid: "{{ neutron_oslomsg_rpc_userid | default('neutron') }}" +neutron_oslomsg_notify_password: "{{ neutron_ceilometer_enabled | ternary(neutron_oslomsg_rpc_password, '') }}" +neutron_oslomsg_notify_vhost: "{{ neutron_oslomsg_rpc_vhost | default('/neutron') }}" + +# Heat notifications +heat_oslomsg_notify_host_group: "{{ oslomsg_notify_host_group | default('rabbitmq_all') }}" +heat_oslomsg_notify_transport: "{{ oslomsg_notify_transport | default('rabbit') }}" +heat_oslomsg_notify_port: "{{ oslomsg_notify_port | default('5672') }}" +heat_oslomsg_notify_use_ssl: "{{ oslomsg_notify_use_ssl | default(False) }}" +heat_oslomsg_notify_userid: "{{ heat_oslomsg_rpc_userid | default('heat') }}" +heat_oslomsg_notify_password: "{{ heat_ceilometer_enabled | ternary(heat_oslomsg_rpc_password, '') }}" +heat_oslomsg_notify_vhost: "{{ heat_oslomsg_rpc_vhost | default('/heat') }}" + +# Keystone notifications +keystone_oslomsg_notify_host_group: "{{ oslomsg_notify_host_group | default('rabbitmq_all') }}" +keystone_oslomsg_notify_transport: "{{ oslomsg_notify_transport | default('rabbit') }}" +keystone_oslomsg_notify_port: "{{ oslomsg_notify_port | default('5672') }}" +keystone_oslomsg_notify_use_ssl: "{{ oslomsg_notify_use_ssl | default(False) }}" +keystone_oslomsg_notify_userid: "{{ keystone_oslomsg_rpc_userid | default('keystone') }}" +keystone_oslomsg_notify_password: "{{ keystone_ceilometer_enabled | ternary(keystone_oslomsg_rpc_password, '') }}" +keystone_oslomsg_notify_vhost: "{{ keystone_oslomsg_rpc_vhost | default('/keystone') }}" + +# Swift notifications +swift_oslomsg_notify_host_group: "{{ oslomsg_notify_host_group | default('rabbitmq_all') }}" +swift_oslomsg_notify_transport: "{{ oslomsg_notify_transport | default('rabbit') }}" +swift_oslomsg_notify_port: "{{ oslomsg_notify_port | default('5672') }}" +swift_oslomsg_notify_use_ssl: "{{ oslomsg_notify_use_ssl | default(False) }}" +swift_oslomsg_notify_userid: "swift" +swift_oslomsg_notify_vhost: "/swift" + +# Sahara notifications +sahara_oslomsg_notify_host_group: "{{ oslomsg_notify_host_group | default('rabbitmq_all') }}" +sahara_oslomsg_notify_transport: "{{ oslomsg_notify_transport | default('rabbit') }}" +sahara_oslomsg_notify_port: "{{ oslomsg_notify_port | default('5672') }}" +sahara_oslomsg_notify_use_ssl: "{{ oslomsg_notify_use_ssl | default(False) }}" +sahara_oslomsg_notify_userid: "{{ sahara_oslomsg_rpc_userid | default('sahara') }}" +sahara_oslomsg_notify_password: "{{ sahara_ceilometer_enabled | ternary(sahara_oslomsg_rpc_password, '') }}" +sahara_oslomsg_notify_vhost: "{{ sahara_oslomsg_rpc_vhost | default('/sahara') }}" ## (Qdrouterd) info # TODO(ansmith): Change structure when more backends will be supported diff --git a/releasenotes/notes/remove_oslomsg_server-6b5c19e03a001e85.yaml b/releasenotes/notes/remove_oslomsg_server-6b5c19e03a001e85.yaml new file mode 100644 index 00000000..ba5869b2 --- /dev/null +++ b/releasenotes/notes/remove_oslomsg_server-6b5c19e03a001e85.yaml @@ -0,0 +1,6 @@ +--- +upgrade: + - The variables ``ceilometer_oslomsg_rpc_servers`` and + ``ceilometer_oslomsg_notify_servers`` have been + removed in favour of using ``ceilometer_oslomsg_rpc_host_group`` + and ``ceilometer_oslomsg_notify_host_group`` instead. \ No newline at end of file diff --git a/templates/ceilometer.conf.j2 b/templates/ceilometer.conf.j2 index 9defc3fd..88a235ee 100644 --- a/templates/ceilometer.conf.j2 +++ b/templates/ceilometer.conf.j2 @@ -1,13 +1,8 @@ #{{ ansible_managed}} -{% macro _oslomsg_url(transport, userid, password, hosts, port, vhost, query='', ip_from_hostnames=true) %} +{% macro _oslomsg_url(transport, userid, password, hosts, port, vhost, query='') %} {% set _url = [] %} {% for host in hosts %} -{% if ip_from_hostnames %} -{% set host_address = hostvars[host]['ansible_host'] %} -{% else %} -{% set host_address = host %} -{% endif %} -{% set _ = _url.append(userid + ':' + password + '@' + host_address + ':' + port) %} +{% set _ = _url.append(userid + ':' + password + '@' + hostvars[host]['ansible_host'] + ':' + port) %} {% endfor %} {{ transport }}://{{ _url | join(',') }}/{{ vhost }}?{{ query }} {% endmacro %} @@ -21,7 +16,7 @@ auth_strategy = keystone aodh_is_enabled = {{ ceilometer_aodh_enabled | bool }} # RPC -transport_url = {{ _oslomsg_url(ceilometer_oslomsg_rpc_transport, ceilometer_oslomsg_rpc_userid, ceilometer_oslomsg_rpc_password, ceilometer_oslomsg_rpc_servers.split(','), ceilometer_oslomsg_rpc_port, ceilometer_oslomsg_rpc_vhost, ip_from_hostnames=false, query=(ceilometer_oslomsg_rpc_use_ssl | bool | ternary('ssl=1', ''))) }} +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, query=(ceilometer_oslomsg_rpc_use_ssl | bool | ternary('ssl=1', ''))) }} {% if ceilometer_gnocchi_enabled | bool %} event_dispatchers = gnocchi @@ -49,46 +44,46 @@ store_events = {{ not ceilometer_gnocchi_enabled | bool }} # 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) }} +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, query=(ceilometer_oslomsg_notify_use_ssl | bool | ternary('ssl=1', ''))) }} {% 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) }} +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, query=(glance_oslomsg_notify_use_ssl | bool | ternary('ssl=1', ''))) }} {% 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) }} +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, query=(nova_oslomsg_notify_use_ssl | bool | ternary('ssl=1', ''))) }} {% endif %} {% 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) }} +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, query=(cinder_oslomsg_notify_use_ssl | bool | ternary('ssl=1', ''))) }} {% 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) }} +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, query=(neutron_oslomsg_notify_use_ssl | bool | ternary('ssl=1', ''))) }} {% 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) }} +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, query=(heat_oslomsg_notify_use_ssl | bool | ternary('ssl=1', ''))) }} {% 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) }} +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, query=(keystone_oslomsg_notify_use_ssl | bool | ternary('ssl=1', ''))) }} {% 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) }} +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, query=(swift_oslomsg_notify_use_ssl | bool | ternary('ssl=1', ''))) }} {% endif %} {% if sahara_ceilometer_enabled %} # Sahara notifications -messaging_urls = {{ _oslomsg_url(sahara_oslomsg_notify_transport, sahara_oslomsg_notify_userid, sahara_oslomsg_notify_password, groups[sahara_oslomsg_notify_host_group], sahara_oslomsg_notify_port, sahara_oslomsg_notify_vhost) }} +messaging_urls = {{ _oslomsg_url(sahara_oslomsg_notify_transport, sahara_oslomsg_notify_userid, sahara_oslomsg_notify_password, groups[sahara_oslomsg_notify_host_group], sahara_oslomsg_notify_port, sahara_oslomsg_notify_vhost, query=(sahara_oslomsg_notify_use_ssl | bool | ternary('ssl=1', ''))) }} {% endif %} {% endif %} diff --git a/vars/ubuntu.yml b/vars/ubuntu.yml index 24ff99e3..97c84772 100644 --- a/vars/ubuntu.yml +++ b/vars/ubuntu.yml @@ -25,6 +25,7 @@ ceilometer_devel_distro_packages: [] ceilometer_service_distro_packages: - ceilometer-agent-central - ceilometer-agent-compute + - ceilometer-agent-notification - ceilometer-polling - python-systemd - python3-systemd