summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ceilometer/polling/dynamic_pollster.py4
-rw-r--r--doc/source/admin/telemetry-dynamic-pollster.rst8
2 files changed, 11 insertions, 1 deletions
diff --git a/ceilometer/polling/dynamic_pollster.py b/ceilometer/polling/dynamic_pollster.py
index e11dc179..df2d754a 100644
--- a/ceilometer/polling/dynamic_pollster.py
+++ b/ceilometer/polling/dynamic_pollster.py
@@ -411,7 +411,8 @@ class PollsterDefinitions(object):
PollsterDefinition(name='user_id_attribute', default="user_id"),
PollsterDefinition(name='resource_id_attribute', default="id"),
PollsterDefinition(name='project_id_attribute', default="project_id"),
- PollsterDefinition(name='headers')]
+ PollsterDefinition(name='headers'),
+ PollsterDefinition(name='timeout', default=30)]
extra_definitions = []
@@ -613,6 +614,7 @@ class PollsterSampleGatherer(object):
request_headers = self.definitions.configurations['headers']
if request_headers:
request_args['headers'] = request_headers
+ request_args['timeout'] = self.definitions.configurations['timeout']
return request_args
def get_request_linked_samples_url(self, kwargs):
diff --git a/doc/source/admin/telemetry-dynamic-pollster.rst b/doc/source/admin/telemetry-dynamic-pollster.rst
index 12999c6c..9a321cb6 100644
--- a/doc/source/admin/telemetry-dynamic-pollster.rst
+++ b/doc/source/admin/telemetry-dynamic-pollster.rst
@@ -190,6 +190,14 @@ attributes to define a dynamic pollster:
headers:
"x-openstack-nova-api-version": "2.46"
+* ``timeout``: optional parameter. Defines the request timeout for the
+ requests executed by the dynamic pollsters to gather data. The default
+ timeout value is 30 seconds. If it is set to `None`, this means that the
+ request never times out on the client side. Therefore, one might have
+ problems if the server never closes the connection. The pollsters are
+ executed serially, one after the other. Therefore, if the request hangs,
+ all pollsters (including the non-dynamic ones) will stop executing.
+
The complete YAML configuration to gather data from Magnum (that has been used
as an example) is the following: