OpenStack-Ansible 的 Ceilometer 角色¶
此 Ansible 角色安装并配置 OpenStack Ceilometer。
默认情况下,计量和通知存储配置为使用 MongoDB 后端。此角色不安装和配置 MongoDB 后端。希望使用 MongoDB 的部署者必须在利用此角色之前安装和配置它,并使用 MongoDB 连接详细信息覆盖 ceilometer_connection_string 变量。
目录¶
要克隆或查看此仓库的源代码,请访问 os_ceilometer 角色仓库。
将服务添加到您的 OpenStack-Ansible 部署¶
要将新服务添加到您的 OpenStack-Ansible (OSA) 部署
在您的
conf.d或openstack_user_config.yml中定义metering-compute_hosts和metering-compute_hosts(ceilometer 计算代理在其上运行)。例如metering-infra_hosts: infra1: ip: 172.20.236.111 infra2: ip: 172.20.236.112 infra3: ip: 172.20.236.113 metering-compute_hosts: compute1: ip: 172.20.236.110
创建相应的 LXC 容器(跳过金属部署中的此步骤)
openstack-ansible openstack.osa.containers_lxc_create --limit ceilometer_all,metering-compute_hosts运行服务部署 playbook
openstack-ansible openstack.osa.ceilometer
有关更多信息,请参阅 OpenStack-Ansible 项目文档。
始终验证集成是否成功以及服务是否在生产环境中使用前表现正确。
默认变量¶
## Verbosity Options
debug: false
# Set the host which will execute the shade modules
# for the service setup. The host must already have
# clouds.yaml properly configured.
ceilometer_service_setup_host: "{{ openstack_service_setup_host | default('localhost') }}"
ceilometer_service_setup_host_python_interpreter: >-
{{
openstack_service_setup_host_python_interpreter | default(
(ceilometer_service_setup_host == 'localhost') | ternary(ansible_playbook_python, ansible_facts['python']['executable']))
}}
# Set the package install state for distribution packages
# Options are 'present' and 'latest'
ceilometer_package_state: "{{ package_state | default('latest') }}"
# Set installation method.
ceilometer_install_method: "{{ service_install_method | default('source') }}"
ceilometer_venv_python_executable: "{{ openstack_venv_python_executable | default('python3') }}"
## The git source/branch
ceilometer_git_repo: https://opendev.org/openstack/ceilometer
ceilometer_git_install_branch: master
## The packages to build from source
ceilometer_upper_constraints_url: >-
{{ requirements_git_url | default('https://releases.openstack.org/constraints/upper/' ~ requirements_git_install_branch | default('master')) }}
ceilometer_git_constraints:
- "--constraint {{ ceilometer_upper_constraints_url }}"
ceilometer_pip_install_args: "{{ pip_install_options | default('') }}"
# Name of the virtual env to deploy into
ceilometer_venv_tag: "{{ venv_tag | default('untagged') }}"
ceilometer_bin: "{{ _ceilometer_bin }}"
## System info
ceilometer_system_user_name: ceilometer
ceilometer_system_group_name: ceilometer
ceilometer_system_shell: /bin/false
ceilometer_system_comment: ceilometer system user
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_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_policies: []
# vhost name depends on value of oslomsg_rabbit_quorum_queues. In case quorum queues
# are not used - vhost name will be prefixed with leading `/`.
ceilometer_oslomsg_rpc_vhost:
- name: /ceilometer
state: "{{ ceilometer_oslomsg_rabbit_quorum_queues | ternary('absent', 'present') }}"
- name: ceilometer
state: "{{ ceilometer_oslomsg_rabbit_quorum_queues | ternary('present', 'absent') }}"
ceilometer_oslomsg_rpc_ssl_version: "{{ oslomsg_rpc_ssl_version | default('TLSv1_2') }}"
ceilometer_oslomsg_rpc_ssl_ca_file: "{{ oslomsg_rpc_ssl_ca_file | default('') }}"
# 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_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_ssl_version: "{{ oslomsg_rpc_ssl_version | default('TLSv1_2') }}"
ceilometer_oslomsg_notify_ssl_ca_file: "{{ oslomsg_rpc_ssl_ca_file | default('') }}"
ceilometer_oslomsg_notify_policies: []
## RabbitMQ integration
ceilometer_oslomsg_rabbit_quorum_queues: "{{ oslomsg_rabbit_quorum_queues | default(True) }}"
ceilometer_oslomsg_rabbit_stream_fanout: "{{ oslomsg_rabbit_stream_fanout | default(ceilometer_oslomsg_rabbit_quorum_queues) }}"
ceilometer_oslomsg_rabbit_transient_quorum_queues: "{{ oslomsg_rabbit_transient_quorum_queues | default(ceilometer_oslomsg_rabbit_stream_fanout) }}"
ceilometer_oslomsg_rabbit_qos_prefetch_count: "{{ oslomsg_rabbit_qos_prefetch_count | default(ceilometer_oslomsg_rabbit_stream_fanout | ternary(10, 0)) }}"
ceilometer_oslomsg_rabbit_queue_manager: "{{ oslomsg_rabbit_queue_manager | default(ceilometer_oslomsg_rabbit_quorum_queues) }}"
ceilometer_oslomsg_rabbit_quorum_delivery_limit: "{{ oslomsg_rabbit_quorum_delivery_limit | default(0) }}"
ceilometer_oslomsg_rabbit_quorum_max_memory_bytes: "{{ oslomsg_rabbit_quorum_max_memory_bytes | default(0) }}"
# 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_oslomsg_rabbit_quorum_queues | default(oslomsg_rabbit_quorum_queues | default(True)) | bool) | ternary('cinder', '/cinder'))
}}
cinder_oslomsg_notify_ssl_version: "{{ oslomsg_rpc_ssl_version | default('TLSv1_2') }}"
cinder_oslomsg_notify_ssl_ca_file: "{{ oslomsg_rpc_ssl_ca_file | default('') }}"
# Designate notifications
designate_oslomsg_notify_host_group: "{{ oslomsg_notify_host_group | default('rabbitmq_all') }}"
designate_oslomsg_notify_transport: "{{ oslomsg_notify_transport | default('rabbit') }}"
designate_oslomsg_notify_port: "{{ oslomsg_notify_port | default('5672') }}"
designate_oslomsg_notify_use_ssl: "{{ oslomsg_notify_use_ssl | default(False) }}"
designate_oslomsg_notify_userid: "{{ designate_oslomsg_rpc_userid | default('designate-rpc') }}"
designate_oslomsg_notify_password: "{{ designate_ceilometer_enabled | ternary(designate_oslomsg_rpc_password, '') }}"
designate_oslomsg_notify_vhost: >-
{{
designate_oslomsg_rpc_vhost | default(
(designate_oslomsg_rabbit_quorum_queues | default(oslomsg_rabbit_quorum_queues | default(True)) | bool) | ternary('designate', '/designate'))
}}
designate_oslomsg_notify_ssl_version: "{{ oslomsg_rpc_ssl_version | default('TLSv1_2') }}"
designate_oslomsg_notify_ssl_ca_file: "{{ oslomsg_rpc_ssl_ca_file | default('') }}"
# 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_oslomsg_rabbit_quorum_queues | default(oslomsg_rabbit_quorum_queues | default(True)) | bool) | ternary('glance', '/glance'))
}}
glance_oslomsg_notify_ssl_version: "{{ oslomsg_rpc_ssl_version | default('TLSv1_2') }}"
glance_oslomsg_notify_ssl_ca_file: "{{ oslomsg_rpc_ssl_ca_file | default('') }}"
# 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_oslomsg_rabbit_quorum_queues | default(oslomsg_rabbit_quorum_queues | default(True)) | bool) | ternary('heat', '/heat'))
}}
heat_oslomsg_notify_ssl_version: "{{ oslomsg_rpc_ssl_version | default('TLSv1_2') }}"
heat_oslomsg_notify_ssl_ca_file: "{{ oslomsg_rpc_ssl_ca_file | default('') }}"
# 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_oslomsg_rabbit_quorum_queues | default(oslomsg_rabbit_quorum_queues | default(True)) | bool) | ternary('keystone', '/keystone'))
}}
keystone_oslomsg_notify_ssl_version: "{{ oslomsg_rpc_ssl_version | default('TLSv1_2') }}"
keystone_oslomsg_notify_ssl_ca_file: "{{ oslomsg_rpc_ssl_ca_file | default('') }}"
# 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_oslomsg_rabbit_quorum_queues | default(oslomsg_rabbit_quorum_queues | default(True)) | bool) | ternary('neutron', '/neutron'))
}}
neutron_oslomsg_notify_ssl_version: "{{ oslomsg_rpc_ssl_version | default('TLSv1_2') }}"
neutron_oslomsg_notify_ssl_ca_file: "{{ oslomsg_rpc_ssl_ca_file | default('') }}"
# 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_oslomsg_rabbit_quorum_queues | default(oslomsg_rabbit_quorum_queues | default(True)) | bool) | ternary('nova', '/nova'))
}}
nova_oslomsg_notify_ssl_version: "{{ oslomsg_rpc_ssl_version | default('TLSv1_2') }}"
nova_oslomsg_notify_ssl_ca_file: "{{ oslomsg_rpc_ssl_ca_file | default('') }}"
# Octavia notifications
octavia_oslomsg_notify_host_group: "{{ oslomsg_notify_host_group | default('rabbitmq_all') }}"
octavia_oslomsg_notify_transport: "{{ oslomsg_notify_transport | default('rabbit') }}"
octavia_oslomsg_notify_port: "{{ oslomsg_notify_port | default('5672') }}"
octavia_oslomsg_notify_use_ssl: "{{ oslomsg_notify_use_ssl | default(False) }}"
octavia_oslomsg_notify_userid: "{{ octavia_oslomsg_rpc_userid | default('octavia') }}"
octavia_oslomsg_notify_password: "{{ octavia_ceilometer_enabled | ternary(octavia_oslomsg_rpc_password, '') }}"
octavia_oslomsg_notify_vhost: >-
{{
octavia_oslomsg_rpc_vhost | default(
(octavia_oslomsg_rabbit_quorum_queues | default(oslomsg_rabbit_quorum_queues | default(True)) | bool) | ternary('octavia', '/octavia'))
}}
octavia_oslomsg_notify_ssl_version: "{{ oslomsg_rpc_ssl_version | default('TLSv1_2') }}"
octavia_oslomsg_notify_ssl_ca_file: "{{ oslomsg_rpc_ssl_ca_file | default('') }}"
# 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_oslomsg_rpc_vhost | default(
(swift_oslomsg_rabbit_quorum_queues | default(oslomsg_rabbit_quorum_queues | default(True)) | bool) | ternary('swift', '/swift'))
}}
swift_oslomsg_notify_ssl_version: "{{ oslomsg_rpc_ssl_version | default('TLSv1_2') }}"
swift_oslomsg_notify_ssl_ca_file: "{{ oslomsg_rpc_ssl_ca_file | default('') }}"
# Trove notifications
trove_oslomsg_notify_host_group: "{{ oslomsg_notify_host_group | default('rabbitmq_all') }}"
trove_oslomsg_notify_transport: "{{ oslomsg_notify_transport | default('rabbit') }}"
trove_oslomsg_notify_port: "{{ oslomsg_notify_port | default('5672') }}"
trove_oslomsg_notify_use_ssl: "{{ oslomsg_notify_use_ssl | default(False) }}"
trove_oslomsg_notify_userid: "{{ trove_oslomsg_rpc_userid | default('trove') }}"
trove_oslomsg_notify_password: "{{ trove_ceilometer_enabled | ternary(trove_oslomsg_rpc_password, '') }}"
trove_oslomsg_notify_vhost: >-
{{
trove_oslomsg_rpc_vhost | default(
(trove_oslomsg_rabbit_quorum_queues | default(oslomsg_rabbit_quorum_queues | default(True)) | bool) | ternary('trove', '/trove'))
}}
trove_oslomsg_notify_ssl_version: "{{ oslomsg_rpc_ssl_version | default('TLSv1_2') }}"
trove_oslomsg_notify_ssl_ca_file: "{{ oslomsg_rpc_ssl_ca_file | default('') }}"
# Magnum notifications
magnum_oslomsg_notify_host_group: "{{ oslomsg_notify_host_group | default('rabbitmq_all') }}"
magnum_oslomsg_notify_transport: "{{ oslomsg_notify_transport | default('rabbit') }}"
magnum_oslomsg_notify_port: "{{ oslomsg_notify_port | default('5672') }}"
magnum_oslomsg_notify_use_ssl: "{{ oslomsg_notify_use_ssl | default(False) }}"
magnum_oslomsg_notify_userid: "{{ magnum_oslomsg_rpc_userid | default('magnum') }}"
magnum_oslomsg_notify_password: "{{ magnum_ceilometer_enabled | ternary(magnum_oslomsg_rpc_password, '') }}"
magnum_oslomsg_notify_vhost: >-
{{
magnum_oslomsg_rpc_vhost | default(
(magnum_oslomsg_rabbit_quorum_queues | default(oslomsg_rabbit_quorum_queues | default(True)) | bool) | ternary('magnum', '/magnum'))
}}
magnum_oslomsg_notify_ssl_version: "{{ oslomsg_rpc_ssl_version | default('TLSv1_2') }}"
magnum_oslomsg_notify_ssl_ca_file: "{{ oslomsg_rpc_ssl_ca_file | default('') }}"
# Ceilometer services info
ceilometer_role_name: admin
## Service Type and Data
ceilometer_service_region: "{{ service_region | default('RegionOne') }}"
ceilometer_service_user_name: ceilometer
ceilometer_service_project_name: service
ceilometer_service_project_domain_id: default
ceilometer_service_user_domain_id: default
ceilometer_service_interface: internalURL
ceilometer_service_in_ldap: "{{ service_ldap_backend_enabled | default(False) }}"
## Ceilometer config
# Cap the maximum number of threads / workers when a user value is unspecified
ceilometer_notification_workers_max: 16
ceilometer_notification_workers: >-
{{ [[ansible_facts['processor_vcpus'] | default(2) // 2, 1] | max, ceilometer_notification_workers_max] | min }}
# Enable/Disable Ceilometer per service
cinder_ceilometer_enabled: "{{ (groups['cinder_all'] is defined) and (groups['cinder_all'] | length > 0) }}"
designate_ceilometer_enabled: "{{ (groups['designate_all'] is defined) and (groups['designate_all'] | length > 0) }}"
glance_ceilometer_enabled: "{{ (groups['glance_all'] is defined) and (groups['glance_all'] | length > 0) }}"
heat_ceilometer_enabled: "{{ (groups['heat_all'] is defined) and (groups['heat_all'] | length > 0) }}"
keystone_ceilometer_enabled: "{{ (groups['keystone_all'] is defined) and (groups['keystone_all'] | length > 0) }}"
neutron_ceilometer_enabled: "{{ (groups['neutron_all'] is defined) and (groups['neutron_all'] | length > 0) }}"
nova_ceilometer_enabled: "{{ (groups['nova_all'] is defined) and (groups['nova_all'] | length > 0) }}"
octavia_ceilometer_enabled: "{{ (groups['octavia_all'] is defined) and (groups['octavia_all'] | length > 0) }}"
swift_ceilometer_enabled: "{{ (groups['swift_all'] is defined) and (groups['swift_all'] | length > 0) }}"
trove_ceilometer_enabled: "{{ (groups['trove_all'] is defined) and (groups['trove_all'] | length > 0) }}"
magnum_ceilometer_enabled: "{{ (groups['magnum_all'] is defined) and (groups['magnum_all'] | length > 0) }}"
# Enable/Disable Telemetry partner services in Ceilometer
# Defaults to True if the service is deployed.
ceilometer_gnocchi_enabled: "{{ groups['gnocchi_all'] is defined and groups['gnocchi_all'] | length > 0 }}"
# TODO (andymccr): Remove in Queen release (along with config template overrides)
# Sampling interval for ceilometer-polling services
ceilometer_sample_interval: 600
ceilometer_meter_sample_interval: "{{ ceilometer_sample_interval }}"
ceilometer_cpu_source_sample_interval: "{{ ceilometer_sample_interval }}"
ceilometer_disk_source_sample_interval: "{{ ceilometer_sample_interval }}"
ceilometer_network_source_sample_interval: "{{ ceilometer_sample_interval }}"
## Keystone authentication middleware
ceilometer_keystone_auth_plugin: "{{ ceilometer_keystone_auth_type }}"
ceilometer_keystone_auth_type: password
# Common pip packages
ceilometer_pip_packages:
- "git+{{ ceilometer_git_repo }}@{{ ceilometer_git_install_branch }}#egg=ceilometer"
- ceilometermiddleware
- cryptography
- gnocchiclient
- osprofiler
- PyMySQL
- "{{ ceilometer_cache_backend_package }}"
- systemd-python
- tooz
- warlock
- kazoo
ceilometer_agent_init_overrides: {}
ceilometer_polling_init_overrides: {}
## Service Name-Group Mapping
ceilometer_services:
ceilometer-agent-notification:
group:
- ceilometer_agent_notification
config_overrides: "{{ ceilometer_agent_init_overrides }}"
service_name: ceilometer-agent-notification
execstarts: "{{ ceilometer_bin }}/ceilometer-agent-notification"
ceilometer-polling:
group:
- ceilometer_agent_central
- ceilometer_agent_compute
config_overrides: "{{ ceilometer_polling_init_overrides }}"
service_name: ceilometer-polling
execstarts: "{{ ceilometer_bin }}/ceilometer-polling"
ceilometer_required_secrets:
- memcached_encryption_key
- ceilometer_telemetry_secret
- ceilometer_oslomsg_rpc_password
- ceilometer_oslomsg_notify_password
- ceilometer_service_password
## Tunable file-based overrides
# The contents of these files, if they exist, are read from the
# specified path on the deployment host, interpreted by the
# template engine and copied to the target host. If they do
# not exist then the default files will be sourced from the
# service git repository.
ceilometer_data_meters_default_file_path: "/etc/openstack_deploy/ceilometer/meters.yaml"
ceilometer_event_definitions_default_file_path: "/etc/openstack_deploy/ceilometer/event_definitions.yaml"
ceilometer_event_pipeline_default_file_path: "/etc/openstack_deploy/ceilometer/event_pipeline.yaml"
ceilometer_gnocchi_resources_default_file_path: "/etc/openstack_deploy/ceilometer/gnocchi_resources.yaml"
ceilometer_osprofiler_event_definitions_default_file_path: "/etc/openstack_deploy/ceilometer/osprofiler_event_definitions.yaml"
ceilometer_polling_default_file_path: "/etc/openstack_deploy/ceilometer/polling.yaml"
ceilometer_pipeline_default_file_path: "/etc/openstack_deploy/ceilometer/pipeline.yaml"
## Tunable var-based overrides
# The contents of these are templated over the default files.
ceilometer_ceilometer_conf_overrides: {}
ceilometer_data_meters_yaml_overrides: {}
ceilometer_event_definitions_yaml_overrides: {}
ceilometer_event_pipeline_yaml_overrides: {}
ceilometer_gnocchi_resources_yaml_overrides: {}
ceilometer_osprofiler_event_definitions_yaml_overrides: {}
ceilometer_pipeline_yaml_overrides: {}
ceilometer_polling_yaml_overrides: {}
ceilometer_rootwrap_conf_overrides: {}
# Caching
ceilometer_cache_servers: "{{ ceilometer_memcached_servers | default(memcached_servers) }}"
ceilometer_cache_backend: "{{ openstack_cache_backend | default('oslo_cache.memcache_pool') }}"
ceilometer_cache_backend_map: "{{ openstack_cache_backend_map | default(_ceilometer_cache_backend_map) }}"
ceilometer_cache_backend_package: "{{ _ceilometer_cache_backend_package }}"
示例 playbook¶
---
- name: Install ceilometer server
hosts: ceilometer_all
user: root
roles:
- role: "os_ceilometer"
tags:
- "ceilometer-config"
- "ceilometer-install"
vars:
external_lb_vip_address: 172.16.24.1
internal_lb_vip_address: 192.168.0.1
依赖项¶
此角色需要在目标主机上安装 pip >= 7.1。