diff --git a/defaults/main.yml b/defaults/main.yml index 4cffd222..218310bb 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -60,25 +60,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 1f19f048..fc7a7b27 100644 --- a/templates/ceilometer.conf.j2 +++ b/templates/ceilometer.conf.j2 @@ -1,4 +1,11 @@ #{{ ansible_managed}} +{% macro _oslomsg_url(transport, userid, password, hosts, port, vhost, query='') %} +{% set _url = [] %} +{% for host in hosts %} +{% set _ = _url.append(userid + ':' + password + '@' + hostvars[host]['ansible_host'] + ':' + port) %} +{% endfor %} +{{ transport }}://{{ _url | join(',') }}/{{ vhost }}?{{ query }} +{% endmacro %} [DEFAULT] use_journal = True @@ -9,7 +16,7 @@ auth_strategy = keystone aodh_is_enabled = {{ ceilometer_aodh_enabled | bool }} # RPC -transport_url = {{ ceilometer_oslomsg_rpc_transport }}://{% for host in ceilometer_oslomsg_rpc_servers.split(',') %}{{ ceilometer_oslomsg_rpc_userid }}:{{ ceilometer_oslomsg_rpc_password }}@{{ host }}:{{ ceilometer_oslomsg_rpc_port }}{% if not loop.last %},{% else %}/{{ ceilometer_oslomsg_rpc_vhost }}{% if ceilometer_oslomsg_rpc_use_ssl | bool %}?ssl=1{% else %}?ssl=0{% endif %}{% endif %}{% endfor %} +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 @@ -36,64 +43,46 @@ store_events = {{ not ceilometer_gnocchi_enabled | bool }} # Notification queues to listen on # Ceilometer needs to connect to it's own notification vhost -{% for host in groups[ceilometer_oslomsg_notify_host_group] %} -messaging_urls = {{ ceilometer_oslomsg_notify_transport }}://{{ ceilometer_oslomsg_notify_userid }}:{{ ceilometer_oslomsg_notify_password }}@{{ hostvars[host]['ansible_host'] }}:{{ ceilometer_oslomsg_notify_port }}/{{ ceilometer_oslomsg_notify_vhost }} -{% endfor %} +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 -{% for host in groups[glance_oslomsg_notify_host_group] %} -messaging_urls = {{ glance_oslomsg_notify_transport }}://{{ glance_oslomsg_notify_userid }}:{{ glance_oslomsg_notify_password }}@{{ hostvars[host]['ansible_host'] }}:{{ glance_oslomsg_notify_port }}/{{ glance_oslomsg_notify_vhost }} -{% endfor %} +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 -{% for host in groups[nova_oslomsg_notify_host_group] %} -messaging_urls = {{ nova_oslomsg_notify_transport }}://{{ nova_oslomsg_notify_userid }}:{{ nova_oslomsg_notify_password }}@{{ hostvars[host]['ansible_host'] }}:{{ nova_oslomsg_notify_port }}/{{ nova_oslomsg_notify_vhost }} -{% endfor %} +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 -{% for host in groups[cinder_oslomsg_notify_host_group] %} -messaging_urls = {{ cinder_oslomsg_notify_transport }}://{{ cinder_oslomsg_notify_userid }}:{{ cinder_oslomsg_notify_password }}@{{ hostvars[host]['ansible_host'] }}:{{ cinder_oslomsg_notify_port }}/{{ cinder_oslomsg_notify_vhost }} -{% endfor %} +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 -{% for host in groups[neutron_oslomsg_notify_host_group] %} -messaging_urls = {{ neutron_oslomsg_notify_transport }}://{{ neutron_oslomsg_notify_userid }}:{{ neutron_oslomsg_notify_password }}@{{ hostvars[host]['ansible_host'] }}:{{ neutron_oslomsg_notify_port }}/{{ neutron_oslomsg_notify_vhost }} -{% endfor %} +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 -{% for host in groups[heat_oslomsg_notify_host_group] %} -messaging_urls = {{ heat_oslomsg_notify_transport }}://{{ heat_oslomsg_notify_userid }}:{{ heat_oslomsg_notify_password }}@{{ hostvars[host]['ansible_host'] }}:{{ heat_oslomsg_notify_port }}/{{ heat_oslomsg_notify_vhost }} -{% endfor %} +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 -{% for host in groups[keystone_oslomsg_notify_host_group] %} -messaging_urls = {{ keystone_oslomsg_notify_transport }}://{{ keystone_oslomsg_notify_userid }}:{{ keystone_oslomsg_notify_password }}@{{ hostvars[host]['ansible_host'] }}:{{ keystone_oslomsg_notify_port }}/{{ keystone_oslomsg_notify_vhost }} -{% endfor %} +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 -{% for host in groups[swift_oslomsg_notify_host_group] %} -messaging_urls = {{ swift_oslomsg_notify_transport }}://{{ swift_oslomsg_notify_userid }}:{{ swift_oslomsg_notify_password }}@{{ hostvars[host]['ansible_host'] }}:{{ swift_oslomsg_notify_port }}/{{ swift_oslomsg_notify_vhost }} -{% endfor %} +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 -{% for host in groups[sahara_oslomsg_notify_host_group] %} -messaging_urls = {{ sahara_oslomsg_notify_transport }}://{{ sahara_oslomsg_notify_userid }}:{{ sahara_oslomsg_notify_password }}@{{ hostvars[host]['ansible_host'] }}:{{ sahara_oslomsg_notify_port }}/{{ sahara_oslomsg_notify_vhost }} -{% endfor %} +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 %} {% if ceilometer_gnocchi_enabled | bool %} diff --git a/vars/ubuntu.yml b/vars/ubuntu.yml index bc7bbb52..4b3e1d9c 100644 --- a/vars/ubuntu.yml +++ b/vars/ubuntu.yml @@ -26,6 +26,7 @@ ceilometer_devel_distro_packages: [] ceilometer_service_distro_packages: - ceilometer-agent-central - ceilometer-agent-compute + - ceilometer-agent-notification - ceilometer-polling - python-systemd - python3-systemd