Merge "Add polling-batch-size config option"
This commit is contained in:
commit
4f63dbfa6a
|
@ -278,3 +278,10 @@ options:
|
|||
From Pike onwards, the default ceilometer pollster collection runs a
|
||||
limited set of pollsters. Enable this to run all the available pollsters.
|
||||
This setting only takes effect from Queens onwards.
|
||||
polling-batch-size:
|
||||
type: int
|
||||
default: 50
|
||||
description: |
|
||||
The number of measures from same pollster to batch together for sending
|
||||
to the notification agent and then to the publisher. Set to 0 to disable.
|
||||
This config is only effective for OpenStack release Rocky or newer.
|
||||
|
|
|
@ -112,6 +112,7 @@ class CeilometerContext(OSContextGenerator):
|
|||
'event_time_to_live': int(config('event-time-to-live')),
|
||||
'polling_interval': int(config('polling-interval')),
|
||||
'enable_all_pollsters': config('enable-all-pollsters'),
|
||||
'polling_batch_size': config('polling-batch-size'),
|
||||
}
|
||||
return ctxt
|
||||
|
||||
|
|
|
@ -0,0 +1,78 @@
|
|||
# rocky
|
||||
###############################################################################
|
||||
# [ WARNING ]
|
||||
# ceilometer configuration file maintained by Juju
|
||||
# local changes may be overwritten.
|
||||
###############################################################################
|
||||
[DEFAULT]
|
||||
debug = {{ debug }}
|
||||
verbose = {{ verbose }}
|
||||
use_syslog = {{ use_syslog }}
|
||||
event_pipeline_cfg_file = /etc/ceilometer/event_pipeline.yaml
|
||||
|
||||
{% if gnocchi_url -%}
|
||||
meter_dispatchers = gnocchi
|
||||
event_dispatchers = gnocchi
|
||||
{% elif db_host or db_mongo_servers -%}
|
||||
meter_dispatchers = database
|
||||
{%- endif %}
|
||||
|
||||
{% if transport_url -%}
|
||||
transport_url = {{ transport_url }}
|
||||
{%- endif %}
|
||||
|
||||
[notification]
|
||||
workers = {{ workers }}
|
||||
{% if messaging_urls -%}
|
||||
{% for item in messaging_urls -%}
|
||||
messaging_urls = {{ item }}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
[polling]
|
||||
batch_size = {{ polling_batch_size }}
|
||||
|
||||
{% if service_host -%}
|
||||
[service_credentials]
|
||||
auth_url = {{ service_protocol }}://{{ service_host }}:{{ service_port }}
|
||||
project_name = {{ admin_tenant_name }}
|
||||
username = {{ admin_user }}
|
||||
password = {{ admin_password }}
|
||||
{% if api_version == "3" -%}
|
||||
project_domain_name = {{ admin_domain_name }}
|
||||
user_domain_name = {{ admin_domain_name }}
|
||||
{% else -%}
|
||||
project_domain_name = default
|
||||
user_domain_name = default
|
||||
{% endif -%}
|
||||
auth_type = password
|
||||
{% if use_internal_endpoints -%}
|
||||
interface = internalURL
|
||||
{%- endif %}
|
||||
{% endif -%}
|
||||
|
||||
{% if db_host or db_mongo_servers -%}
|
||||
[database]
|
||||
{% if db_replset: -%}
|
||||
connection = mongodb://{{ db_mongo_servers }}/{{ db_name }}?readPreference=primaryPreferred&replicaSet={{ db_replset }}
|
||||
mongodb_replica_set = {{ db_replset }}
|
||||
{% else -%}
|
||||
connection = mongodb://{{ db_host }}:{{ db_port }}/{{ db_name }}
|
||||
{% endif %}
|
||||
metering_time_to_live = {{ metering_time_to_live }}
|
||||
event_time_to_live = {{ event_time_to_live }}
|
||||
{%- endif %}
|
||||
|
||||
[publisher]
|
||||
telemetry_secret = {{ metering_secret }}
|
||||
|
||||
{% if gnocchi_url -%}
|
||||
[dispatcher_gnocchi]
|
||||
filter_service_activity = False
|
||||
archive_policy = {{ archive_policy }}
|
||||
url = {{ gnocchi_url }}
|
||||
{%- endif %}
|
||||
|
||||
{% include "section-keystone-authtoken-mitaka" %}
|
||||
|
||||
{% include "section-oslo-messaging-rabbit-ocata" %}
|
|
@ -133,6 +133,7 @@ class CeilometerContextsTest(CharmTestCase):
|
|||
'event_time_to_live': -1,
|
||||
'polling_interval': 300,
|
||||
'enable_all_pollsters': False,
|
||||
'polling_batch_size': 50,
|
||||
})
|
||||
|
||||
@patch.object(utils, 'get_shared_secret')
|
||||
|
@ -148,6 +149,7 @@ class CeilometerContextsTest(CharmTestCase):
|
|||
'event_time_to_live': 7776000,
|
||||
'polling_interval': 300,
|
||||
'enable_all_pollsters': False,
|
||||
'polling_batch_size': 50,
|
||||
})
|
||||
self.assertTrue(type(context['metering_time_to_live']) is int)
|
||||
self.assertTrue(type(context['event_time_to_live']) is int)
|
||||
|
@ -164,6 +166,7 @@ class CeilometerContextsTest(CharmTestCase):
|
|||
'event_time_to_live': -1,
|
||||
'polling_interval': 300,
|
||||
'enable_all_pollsters': True,
|
||||
'polling_batch_size': 50,
|
||||
})
|
||||
|
||||
@patch.object(utils, 'get_shared_secret')
|
||||
|
@ -178,6 +181,7 @@ class CeilometerContextsTest(CharmTestCase):
|
|||
'event_time_to_live': -1,
|
||||
'polling_interval': 900,
|
||||
'enable_all_pollsters': False,
|
||||
'polling_batch_size': 50,
|
||||
})
|
||||
|
||||
def test_ceilometer_service_context(self):
|
||||
|
|
Loading…
Reference in New Issue