Execution
Date 15 Dec 2025 10:19:13 +0000
Duration 00:23:12.82
Controller aio1.openstack.local
User root
Versions
Ansible 2.18.6
ara 1.7.4 / 1.7.4
Python 3.12.3
Summary
9 Hosts
618 Tasks
960 Results
108 Plays
456 Files
0 Records

File: /home/zuul/src/opendev.org/openstack/openstack-ansible-os_ceilometer/vars/main.yml

---
# Copyright 2017, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# These vars find a file on the deployment node, if it exists - otherwise the result is empty.
ceilometer_data_meters_user_content: "{{ lookup('file', ceilometer_data_meters_default_file_path, errors='ignore') }}"
ceilometer_event_definitions_user_content: "{{ lookup('file', ceilometer_event_definitions_default_file_path, errors='ignore') }}"
ceilometer_event_pipeline_user_content: "{{ lookup('file', ceilometer_event_pipeline_default_file_path, errors='ignore') }}"
ceilometer_gnocchi_resources_user_content: "{{ lookup('file', ceilometer_gnocchi_resources_default_file_path, errors='ignore') }}"
ceilometer_osprofiler_event_definitions_user_content: "{{ lookup('file', ceilometer_osprofiler_event_definitions_default_file_path, errors='ignore') }}"
ceilometer_polling_user_content: "{{ lookup('file', ceilometer_polling_default_file_path, errors='ignore') }}"
ceilometer_pipeline_user_content: "{{ lookup('file', ceilometer_pipeline_default_file_path, errors='ignore') }}"

_ceilometer_oslomsg_rpc_vhost_conf: >-
  {{
    (ceilometer_oslomsg_rpc_vhost is string) | ternary(ceilometer_oslomsg_rpc_vhost, ceilometer_oslomsg_rpc_vhost | selectattr(
      'state', 'eq', 'present') | map(attribute='name') | first)
  }}

_ceilometer_oslomsg_notify_vhost_conf: >-
  {{
    (ceilometer_oslomsg_notify_vhost is string) | ternary(ceilometer_oslomsg_notify_vhost, ceilometer_oslomsg_notify_vhost | selectattr(
      'state', 'eq', 'present') | map(attribute='name') | first)
  }}

_ceilometer_polling_namespaces: |
  {% set _polling_namespaces = [] %}
  {% if 'ceilometer_agent_central' in group_names %}
  {%   set _ = _polling_namespaces.append('central') %}
  {% endif %}
  {% if 'ceilometer_agent_compute' in group_names %}
  {%   set _ = _polling_namespaces.append('compute') %}
  {% endif %}
  {{ _polling_namespaces }}

_ceilometer_is_first_play_host: >-
  {{
    (ceilometer_services['ceilometer-agent-notification']['group'] | intersect(group_names) | length > 0) and
    (inventory_hostname == groups[ceilometer_services['ceilometer-agent-notification']['group'] | intersect(group_names) | first] | select('in',
      ansible_play_hosts) | first)
  }}

_ceilometer_rootwrap_conf_overrides:
  DEFAULT:
    filters_path: "/etc/ceilometer/rootwrap.d,/usr/share/ceilometer/rootwrap"
    exec_dirs: "{{ ceilometer_bin }},/sbin,/usr/sbin,/bin,/usr/bin,/usr/local/bin,/usr/local/sbin"

_ceilometer_pipeline_yaml_overrides:
  sources:
    - name: meter_source
      interval: "{{ ceilometer_meter_sample_interval }}"
      meters:
        - "*"
      sinks:
        - meter_sink
    - name: cpu_source
      interval: "{{ ceilometer_cpu_source_sample_interval }}"
      meters:
        - "cpu"
      sinks:
        - cpu_sink
        - cpu_delta_sink
    - name: disk_source
      interval: "{{ ceilometer_disk_source_sample_interval }}"
      meters:
        - "disk.read.bytes"
        - "disk.read.requests"
        - "disk.write.bytes"
        - "disk.write.requests"
        - "disk.device.read.bytes"
        - "disk.device.read.requests"
        - "disk.device.write.bytes"
        - "disk.device.write.requests"
      sinks:
        - disk_sink
    - name: network_source
      interval: "{{ ceilometer_network_source_sample_interval }}"
      meters:
        - "network.incoming.bytes"
        - "network.incoming.packets"
        - "network.outgoing.bytes"
        - "network.outgoing.packets"
      sinks:
        - network_sink
  sinks:
    - name: meter_sink
      transformers:
      publishers:
        - gnocchi://
    - name: cpu_sink
      transformers:
        - name: "rate_of_change"
          parameters:
            target:
              name: "cpu_util"
              unit: "%"
              type: "gauge"
              scale: "100.0 / (10**9 * (resource_metadata.cpu_number or 1))"
      publishers:
        - gnocchi://
    - name: cpu_delta_sink
      transformers:
        - name: "delta"
          parameters:
            target:
              name: "cpu.delta"
            growth_only: true
      publishers:
        - gnocchi://
    - name: disk_sink
      transformers:
        - name: "rate_of_change"
          parameters:
            source:
              map_from:
                name: "(disk\\.device|disk)\\.(read|write)\\.(bytes|requests)"
                unit: "(B|request)"
            target:
              map_to:
                name: "\\1.\\2.\\3.rate"
                unit: "\\1/s"
              type: "gauge"
      publishers:
        - gnocchi://
    - name: network_sink
      transformers:
        - name: "rate_of_change"
          parameters:
            source:
              map_from:
                name: "network\\.(incoming|outgoing)\\.(bytes|packets)"
                unit: "(B|packet)"
            target:
              map_to:
                name: "network.\\1.\\2.rate"
                unit: "\\1/s"
              type: "gauge"
      publishers:
        - gnocchi://

ceilometer_core_files:
  - tmp_f: "/tmp/rootwrap.conf"
    source_f: "/etc/ceilometer/rootwrap.conf"
    config_overrides: "{{ _ceilometer_rootwrap_conf_overrides | combine(ceilometer_rootwrap_conf_overrides, recursive=True) }}"
    config_type: "ini"
    owner: "root"
    group: "{{ ceilometer_system_group_name }}"
    mode: "0640"
  - tmp_f: "{{ (ceilometer_pipeline_user_content | length > 0) | ternary(false, '/tmp/pipeline.yaml') }}"
    source_f: "{{ ceilometer_lib_dir }}/ceilometer/pipeline/data/pipeline.yaml"
    config_overrides: >-
      {{
        (ceilometer_pipeline_user_content | length > 0) | ternary(
          ceilometer_pipeline_yaml_overrides,
          _ceilometer_pipeline_yaml_overrides | combine(ceilometer_pipeline_yaml_overrides, recursive=True))
      }}
    config_type: "yaml"
    list_extend: false
    content: "{{ ceilometer_pipeline_user_content }}"
  - tmp_f: "{{ (ceilometer_polling_user_content | length > 0) | ternary(false, '/tmp/polling.yaml') }}"
    source_f: "/etc/ceilometer/polling.yaml"
    config_overrides: "{{ ceilometer_polling_yaml_overrides }}"
    config_type: "yaml"
    list_extend: false
    content: "{{ ceilometer_polling_user_content }}"
  - tmp_f: "{{ (ceilometer_osprofiler_event_definitions_user_content | length > 0) | ternary(false, '/tmp/osprofiler_event_definitions.yaml') }}"
    source_f: "/etc/ceilometer/examples/osprofiler_event_definitions.yaml"
    target_f: "/etc/ceilometer/osprofiler_event_definitions.yaml"
    config_overrides: "{{ ceilometer_osprofiler_event_definitions_yaml_overrides }}"
    config_type: "yaml"
    list_extend: false
    content: "{{ ceilometer_osprofiler_event_definitions_user_content }}"
    condition: "{{ ceilometer_install_method == 'source' }}"
  - tmp_f: "{{ (ceilometer_data_meters_user_content | length > 0) | ternary(false, '/tmp/meters.yaml') }}"
    source_f: "{{ ceilometer_lib_dir }}/ceilometer/data/meters.d/meters.yaml"
    config_overrides: "{{ ceilometer_data_meters_yaml_overrides }}"
    config_type: "yaml"
    list_extend: false
    content: "{{ ceilometer_data_meters_user_content }}"
  - tmp_f: "{{ (ceilometer_event_definitions_user_content | length > 0) | ternary(false, '/tmp/event_definitions.yaml') }}"
    source_f: "{{ ceilometer_lib_dir }}/ceilometer/pipeline/data/event_definitions.yaml"
    config_overrides: "{{ ceilometer_event_definitions_yaml_overrides }}"
    config_type: "yaml"
    list_extend: false
    content: "{{ ceilometer_event_definitions_user_content }}"
  - tmp_f: "{{ (ceilometer_event_pipeline_user_content | length > 0) | ternary(false, '/tmp/event_pipeline.yaml') }}"
    source_f: "{{ ceilometer_lib_dir }}/ceilometer/pipeline/data/event_pipeline.yaml"
    config_overrides: "{{ ceilometer_event_pipeline_yaml_overrides }}"
    config_type: "yaml"
    list_extend: false
    content: "{{ ceilometer_event_pipeline_user_content }}"
  - tmp_f: "{{ (ceilometer_gnocchi_resources_user_content | length > 0) | ternary(false, '/tmp/gnocchi_resources.yaml') }}"
    source_f: "{{ ceilometer_lib_dir }}/ceilometer/publisher/data/gnocchi_resources.yaml"
    config_overrides: "{{ ceilometer_gnocchi_resources_yaml_overrides }}"
    config_type: "yaml"
    list_extend: false
    content: "{{ ceilometer_gnocchi_resources_user_content }}"

_ceilometer_cache_backend_map:
  dogpile:
    - oslo_cache.memcache_pool
    - dogpile.cache.pymemcache
    - dogpile.cache.memcached
    - dogpile.cache.bmemcached
  mongo:
    - oslo_cache.mongo
  etcd3gw:
    - oslo_cache.etcd3gw

_ceilometer_cache_backend_package: |-
  {% set oslo = namespace(backend='dogpile') %}
  {% for key, value in _ceilometer_cache_backend_map.items() %}
  {%   if ceilometer_cache_backend in value %}
  {%     set oslo.backend = key %}
  {%-   endif %}
  {%- endfor %}
  oslo.cache[{{ oslo.backend }}]