{"id":589,"sha1":"bdb2628f157c513a50d9150629e7a5cc8634b5ca","playbook":{"id":4,"items":{"plays":32,"tasks":1505,"results":1497,"hosts":12,"files":487,"records":0},"arguments":{"version":null,"verbosity":0,"private_key_file":null,"remote_user":null,"connection":"openstack.osa.ssh","timeout":null,"ssh_common_args":null,"sftp_extra_args":null,"scp_extra_args":null,"ssh_extra_args":null,"ask_pass":false,"connection_password_file":null,"force_handlers":true,"flush_cache":false,"become":false,"become_method":"sudo","become_user":null,"become_ask_pass":false,"become_password_file":null,"tags":["all"],"skip_tags":[],"check":false,"diff":false,"inventory":["/home/zuul/src/opendev.org/openstack/openstack-ansible/inventory/dynamic_inventory.py","/home/zuul/src/opendev.org/openstack/openstack-ansible/inventory/inventory.ini","/etc/openstack_deploy/inventory.ini"],"listhosts":false,"subset":null,"extra_vars":"Not saved by ARA as configured by 'ignored_arguments'","vault_ids":[],"ask_vault_pass":false,"vault_password_files":[],"forks":4,"module_path":null,"syntax":false,"listtasks":false,"listtags":false,"step":false,"start_at_task":null,"args":["setup-openstack.yml"]},"labels":[{"id":1,"name":"check:False"},{"id":2,"name":"tags:all"}],"started":"2025-12-08T13:57:07.871967Z","ended":"2025-12-08T14:21:54.049657Z","duration":"00:24:46.177690","name":null,"ansible_version":"2.18.6","client_version":"1.7.4","python_version":"3.12.11","server_version":"1.7.4","status":"failed","path":"/home/zuul/src/opendev.org/openstack/openstack-ansible/playbooks/setup-openstack.yml","controller":"aio1.openstack.local","user":"root"},"content":"---\n# Copyright 2017, Rackspace US, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n# These vars find a file on the deployment node, if it exists - otherwise the result is empty.\nceilometer_data_meters_user_content: \"{{ lookup('file', ceilometer_data_meters_default_file_path, errors='ignore') }}\"\nceilometer_event_definitions_user_content: \"{{ lookup('file', ceilometer_event_definitions_default_file_path, errors='ignore') }}\"\nceilometer_event_pipeline_user_content: \"{{ lookup('file', ceilometer_event_pipeline_default_file_path, errors='ignore') }}\"\nceilometer_gnocchi_resources_user_content: \"{{ lookup('file', ceilometer_gnocchi_resources_default_file_path, errors='ignore') }}\"\nceilometer_osprofiler_event_definitions_user_content: \"{{ lookup('file', ceilometer_osprofiler_event_definitions_default_file_path, errors='ignore') }}\"\nceilometer_polling_user_content: \"{{ lookup('file', ceilometer_polling_default_file_path, errors='ignore') }}\"\nceilometer_pipeline_user_content: \"{{ lookup('file', ceilometer_pipeline_default_file_path, errors='ignore') }}\"\n\n_ceilometer_oslomsg_rpc_vhost_conf: >-\n  {{\n    (ceilometer_oslomsg_rpc_vhost is string) | ternary(ceilometer_oslomsg_rpc_vhost, ceilometer_oslomsg_rpc_vhost | selectattr(\n      'state', 'eq', 'present') | map(attribute='name') | first)\n  }}\n\n_ceilometer_oslomsg_notify_vhost_conf: >-\n  {{\n    (ceilometer_oslomsg_notify_vhost is string) | ternary(ceilometer_oslomsg_notify_vhost, ceilometer_oslomsg_notify_vhost | selectattr(\n      'state', 'eq', 'present') | map(attribute='name') | first)\n  }}\n\n_ceilometer_polling_namespaces: |\n  {% set _polling_namespaces = [] %}\n  {% if 'ceilometer_agent_central' in group_names %}\n  {%   set _ = _polling_namespaces.append('central') %}\n  {% endif %}\n  {% if 'ceilometer_agent_compute' in group_names %}\n  {%   set _ = _polling_namespaces.append('compute') %}\n  {% endif %}\n  {{ _polling_namespaces }}\n\n_ceilometer_is_first_play_host: >-\n  {{\n    (ceilometer_services['ceilometer-agent-notification']['group'] | intersect(group_names) | length > 0) and\n    (inventory_hostname == groups[ceilometer_services['ceilometer-agent-notification']['group'] | intersect(group_names) | first] | select('in',\n      ansible_play_hosts) | first)\n  }}\n\n_ceilometer_rootwrap_conf_overrides:\n  DEFAULT:\n    filters_path: \"/etc/ceilometer/rootwrap.d,/usr/share/ceilometer/rootwrap\"\n    exec_dirs: \"{{ ceilometer_bin }},/sbin,/usr/sbin,/bin,/usr/bin,/usr/local/bin,/usr/local/sbin\"\n\n_ceilometer_pipeline_yaml_overrides:\n  sources:\n    - name: meter_source\n      interval: \"{{ ceilometer_meter_sample_interval }}\"\n      meters:\n        - \"*\"\n      sinks:\n        - meter_sink\n    - name: cpu_source\n      interval: \"{{ ceilometer_cpu_source_sample_interval }}\"\n      meters:\n        - \"cpu\"\n      sinks:\n        - cpu_sink\n        - cpu_delta_sink\n    - name: disk_source\n      interval: \"{{ ceilometer_disk_source_sample_interval }}\"\n      meters:\n        - \"disk.read.bytes\"\n        - \"disk.read.requests\"\n        - \"disk.write.bytes\"\n        - \"disk.write.requests\"\n        - \"disk.device.read.bytes\"\n        - \"disk.device.read.requests\"\n        - \"disk.device.write.bytes\"\n        - \"disk.device.write.requests\"\n      sinks:\n        - disk_sink\n    - name: network_source\n      interval: \"{{ ceilometer_network_source_sample_interval }}\"\n      meters:\n        - \"network.incoming.bytes\"\n        - \"network.incoming.packets\"\n        - \"network.outgoing.bytes\"\n        - \"network.outgoing.packets\"\n      sinks:\n        - network_sink\n  sinks:\n    - name: meter_sink\n      transformers:\n      publishers:\n        - gnocchi://\n    - name: cpu_sink\n      transformers:\n        - name: \"rate_of_change\"\n          parameters:\n            target:\n              name: \"cpu_util\"\n              unit: \"%\"\n              type: \"gauge\"\n              scale: \"100.0 / (10**9 * (resource_metadata.cpu_number or 1))\"\n      publishers:\n        - gnocchi://\n    - name: cpu_delta_sink\n      transformers:\n        - name: \"delta\"\n          parameters:\n            target:\n              name: \"cpu.delta\"\n            growth_only: true\n      publishers:\n        - gnocchi://\n    - name: disk_sink\n      transformers:\n        - name: \"rate_of_change\"\n          parameters:\n            source:\n              map_from:\n                name: \"(disk\\\\.device|disk)\\\\.(read|write)\\\\.(bytes|requests)\"\n                unit: \"(B|request)\"\n            target:\n              map_to:\n                name: \"\\\\1.\\\\2.\\\\3.rate\"\n                unit: \"\\\\1/s\"\n              type: \"gauge\"\n      publishers:\n        - gnocchi://\n    - name: network_sink\n      transformers:\n        - name: \"rate_of_change\"\n          parameters:\n            source:\n              map_from:\n                name: \"network\\\\.(incoming|outgoing)\\\\.(bytes|packets)\"\n                unit: \"(B|packet)\"\n            target:\n              map_to:\n                name: \"network.\\\\1.\\\\2.rate\"\n                unit: \"\\\\1/s\"\n              type: \"gauge\"\n      publishers:\n        - gnocchi://\n\nceilometer_core_files:\n  - tmp_f: \"/tmp/rootwrap.conf\"\n    source_f: \"/etc/ceilometer/rootwrap.conf\"\n    config_overrides: \"{{ _ceilometer_rootwrap_conf_overrides | combine(ceilometer_rootwrap_conf_overrides, recursive=True) }}\"\n    config_type: \"ini\"\n    owner: \"root\"\n    group: \"{{ ceilometer_system_group_name }}\"\n    mode: \"0640\"\n  - tmp_f: \"{{ (ceilometer_pipeline_user_content | length > 0) | ternary(false, '/tmp/pipeline.yaml') }}\"\n    source_f: \"{{ ceilometer_lib_dir }}/ceilometer/pipeline/data/pipeline.yaml\"\n    config_overrides: >-\n      {{\n        (ceilometer_pipeline_user_content | length > 0) | ternary(\n          ceilometer_pipeline_yaml_overrides,\n          _ceilometer_pipeline_yaml_overrides | combine(ceilometer_pipeline_yaml_overrides, recursive=True))\n      }}\n    config_type: \"yaml\"\n    list_extend: false\n    content: \"{{ ceilometer_pipeline_user_content }}\"\n  - tmp_f: \"{{ (ceilometer_polling_user_content | length > 0) | ternary(false, '/tmp/polling.yaml') }}\"\n    source_f: \"/etc/ceilometer/polling.yaml\"\n    config_overrides: \"{{ ceilometer_polling_yaml_overrides }}\"\n    config_type: \"yaml\"\n    list_extend: false\n    content: \"{{ ceilometer_polling_user_content }}\"\n  - tmp_f: \"{{ (ceilometer_osprofiler_event_definitions_user_content | length > 0) | ternary(false, '/tmp/osprofiler_event_definitions.yaml') }}\"\n    source_f: \"/etc/ceilometer/examples/osprofiler_event_definitions.yaml\"\n    target_f: \"/etc/ceilometer/osprofiler_event_definitions.yaml\"\n    config_overrides: \"{{ ceilometer_osprofiler_event_definitions_yaml_overrides }}\"\n    config_type: \"yaml\"\n    list_extend: false\n    content: \"{{ ceilometer_osprofiler_event_definitions_user_content }}\"\n    condition: \"{{ ceilometer_install_method == 'source' }}\"\n  - tmp_f: \"{{ (ceilometer_data_meters_user_content | length > 0) | ternary(false, '/tmp/meters.yaml') }}\"\n    source_f: \"{{ ceilometer_lib_dir }}/ceilometer/data/meters.d/meters.yaml\"\n    config_overrides: \"{{ ceilometer_data_meters_yaml_overrides }}\"\n    config_type: \"yaml\"\n    list_extend: false\n    content: \"{{ ceilometer_data_meters_user_content }}\"\n  - tmp_f: \"{{ (ceilometer_event_definitions_user_content | length > 0) | ternary(false, '/tmp/event_definitions.yaml') }}\"\n    source_f: \"{{ ceilometer_lib_dir }}/ceilometer/pipeline/data/event_definitions.yaml\"\n    config_overrides: \"{{ ceilometer_event_definitions_yaml_overrides }}\"\n    config_type: \"yaml\"\n    list_extend: false\n    content: \"{{ ceilometer_event_definitions_user_content }}\"\n  - tmp_f: \"{{ (ceilometer_event_pipeline_user_content | length > 0) | ternary(false, '/tmp/event_pipeline.yaml') }}\"\n    source_f: \"{{ ceilometer_lib_dir }}/ceilometer/pipeline/data/event_pipeline.yaml\"\n    config_overrides: \"{{ ceilometer_event_pipeline_yaml_overrides }}\"\n    config_type: \"yaml\"\n    list_extend: false\n    content: \"{{ ceilometer_event_pipeline_user_content }}\"\n  - tmp_f: \"{{ (ceilometer_gnocchi_resources_user_content | length > 0) | ternary(false, '/tmp/gnocchi_resources.yaml') }}\"\n    source_f: \"{{ ceilometer_lib_dir }}/ceilometer/publisher/data/gnocchi_resources.yaml\"\n    config_overrides: \"{{ ceilometer_gnocchi_resources_yaml_overrides }}\"\n    config_type: \"yaml\"\n    list_extend: false\n    content: \"{{ ceilometer_gnocchi_resources_user_content }}\"\n\n_ceilometer_cache_backend_map:\n  dogpile:\n    - oslo_cache.memcache_pool\n    - dogpile.cache.pymemcache\n    - dogpile.cache.memcached\n    - dogpile.cache.bmemcached\n  mongo:\n    - oslo_cache.mongo\n  etcd3gw:\n    - oslo_cache.etcd3gw\n\n_ceilometer_cache_backend_package: |-\n  {% set oslo = namespace(backend='dogpile') %}\n  {% for key, value in _ceilometer_cache_backend_map.items() %}\n  {%   if ceilometer_cache_backend in value %}\n  {%     set oslo.backend = key %}\n  {%-   endif %}\n  {%- endfor %}\n  oslo.cache[{{ oslo.backend }}]\n\n_ceilometer_coordination_url: >-\n  {{ ceilometer_coordination_driver }}://{{\n      groups[ceilometer_coordination_group]\n        | map('extract', hostvars, 'ansible_host')\n        | list | join(':' ~ ceilometer_coordination_port ~ ',')\n    }}:{{ ceilometer_coordination_port -}}\n    ?namespace={{ ceilometer_coordination_namespace }}{% if ceilometer_coordination_client_ssl | bool -%}\n    &use_ssl=True&verify_certs={{ ceilometer_coordination_verify_cert | bool }}{% endif %}\n","created":"2025-12-08T13:57:16.693799Z","updated":"2025-12-08T13:57:16.693811Z","path":"/home/zuul/src/opendev.org/openstack/openstack-ansible-os_ceilometer/vars/main.yml"}