summaryrefslogtreecommitdiff
path: root/ceilometer/gnocchi_client.py
diff options
context:
space:
mode:
authorJeffrey Zhang <zhang.lei.fly@gmail.com>2018-12-08 19:57:50 +0800
committerJeffrey Zhang <zhang.lei.fly@gmail.com>2018-12-10 10:50:08 +0800
commit926596b93c8ea60fc7bba5cc4747dd60a8f17c90 (patch)
tree9008b38cdd5040315c6cfd464627913fcfe3ce6a /ceilometer/gnocchi_client.py
parent3387eb2183fbfed7841c54e9b6fb6109c6da6475 (diff)
downloadceilometer-926596b93c8ea60fc7bba5cc4747dd60a8f17c90.tar.gz
Pass gnocchi endpoint into adapter endpoint_override param
In default, since the url in gnocchi has no netloc, it will trigger the keystoneauth.serssion to get the gnocchi endpoint again. It will consumer lots of CPU time and make lots of pressure on keystone service. This patch try to pass the gnocchi endpoint into adapter through endpoint_override parameter. It saves around almost 20% CPU time. Change-Id: Ia0c825a2c81298c3a10fedc1ad3861f1d0b2f3e8
Diffstat (limited to 'ceilometer/gnocchi_client.py')
-rw-r--r--ceilometer/gnocchi_client.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/ceilometer/gnocchi_client.py b/ceilometer/gnocchi_client.py
index e147fd80..3d619825 100644
--- a/ceilometer/gnocchi_client.py
+++ b/ceilometer/gnocchi_client.py
@@ -31,10 +31,17 @@ def get_gnocchiclient(conf, request_timeout=None):
pool_maxsize=conf.max_parallel_requests)
session.mount("http://", adapter)
session.mount("https://", adapter)
+ interface = conf[group].interface
+ region_name = conf[group].region_name
+ gnocchi_url = session.get_endpoint(service_type='metric',
+ service_name='gnocchi',
+ interface=interface,
+ region_name=region_name)
return client.Client(
'1', session, adapter_options={'connect_retries': 3,
- 'interface': conf[group].interface,
- 'region_name': conf[group].region_name})
+ 'interface': interface,
+ 'region_name': region_name,
+ 'endpoint_override': gnocchi_url})
# NOTE(sileht): This is the initial resource types created in Gnocchi