summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2021-06-14 08:24:21 +0000
committerGerrit Code Review <review@openstack.org>2021-06-14 08:24:21 +0000
commite396932505e5fd1589c8fea90e35d1b22de0ed67 (patch)
tree5d704ddf4ad9dbdb03ad1a9ee9dee2edd8a6126d
parent1e7a98c802e12d26a67cef23d94cfbbfba80db29 (diff)
parent30ada660f0d5e4bcbddb2b13aa6af834ab295444 (diff)
downloadceilometer-e396932505e5fd1589c8fea90e35d1b22de0ed67.tar.gz
Merge "Introduce `timeout` in dynamic pollsters sub-system"
-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: