diff --git a/defaults/main.yml b/defaults/main.yml index 97f8e7b5..b46790a3 100644 --- a/defaults/main.yml +++ b/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/templates/ceilometer.conf.j2 b/templates/ceilometer.conf.j2 index 82f56e63..32ccda12 100644 --- a/templates/ceilometer.conf.j2 +++ b/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 }}