diff --git a/playbooks/roles/os_ceilometer/defaults/main.yml b/playbooks/roles/os_ceilometer/defaults/main.yml index 97f8e7b5ca..b46790a3f5 100644 --- a/playbooks/roles/os_ceilometer/defaults/main.yml +++ b/playbooks/roles/os_ceilometer/defaults/main.yml @@ -79,6 +79,10 @@ ceilometer_service_adminuri: "{{ ceilometer_service_proto }}://{{ internal_lb_vi ceilometer_service_adminurl: "{{ ceilometer_service_adminuri }}" ## Ceilometer config +# If the following variables are unset in user_variables, the value set will be half the number of available VCPUs +# ceilometer_api_workers: 1 +# ceilometer_collector_workers: 1 +# ceilometer_notification_workers: 1 # Common apt packages ceilometer_apt_packages: diff --git a/playbooks/roles/os_ceilometer/templates/ceilometer.conf.j2 b/playbooks/roles/os_ceilometer/templates/ceilometer.conf.j2 index 82f56e63c0..32ccda12a8 100644 --- a/playbooks/roles/os_ceilometer/templates/ceilometer.conf.j2 +++ b/playbooks/roles/os_ceilometer/templates/ceilometer.conf.j2 @@ -1,8 +1,10 @@ #{{ ansible_managed}} +{% set _workers = ansible_processor_vcpus|default(2) // 2 %} +{% set workers = _workers if _workers > 0 else 1 %} + [DEFAULT] auth_strategy = keystone -collector_workers = 10 notification_topics = notifications rpc_backend = rabbit @@ -19,8 +21,15 @@ rabbit_hosts = {{ rabbitmq_servers }} rabbit_use_ssl = {{ rabbitmq_use_ssl }} [api] +workers = {{ ceilometer_api_workers | default(workers) }} port = 8777 +[collector] +workers = {{ ceilometer_collector_workers | default(workers) }} + +[notification] +workers = {{ ceilometer_notification_workers | default(workers) }} + [database] metering_connection = {{ ceilometer_connection_string }} event_connection = {{ ceilometer_connection_string }}