Merge "Support connecting gnocchi on internal endpoint"

This commit is contained in:
Zuul
2018-03-06 09:29:36 +00:00
committed by Gerrit Code Review
4 changed files with 27 additions and 6 deletions

View File

@@ -29,8 +29,12 @@ LOG = logging.getLogger(__name__)
GNOCCHI_COLLECTOR_OPTS = 'gnocchi_collector' GNOCCHI_COLLECTOR_OPTS = 'gnocchi_collector'
gnocchi_collector_opts = ks_loading.get_auth_common_conf_options() gnocchi_collector_opts = ks_loading.get_auth_common_conf_options()
end_point_type_opts = [
cfg.StrOpt('interface',
default='internalURL',
help='endpoint url type'), ]
cfg.CONF.register_opts(gnocchi_collector_opts, GNOCCHI_COLLECTOR_OPTS) cfg.CONF.register_opts(gnocchi_collector_opts, GNOCCHI_COLLECTOR_OPTS)
cfg.CONF.register_opts(end_point_type_opts, GNOCCHI_COLLECTOR_OPTS)
ks_loading.register_session_conf_options( ks_loading.register_session_conf_options(
cfg.CONF, cfg.CONF,
GNOCCHI_COLLECTOR_OPTS) GNOCCHI_COLLECTOR_OPTS)
@@ -103,7 +107,9 @@ class GnocchiCollector(collector.BaseCollector):
auth=self.auth) auth=self.auth)
self._conn = gclient.Client( self._conn = gclient.Client(
'1', '1',
session=self.session) session=self.session,
adapter_options={'connect_retries': 3,
'interface': CONF.gnocchi_collector.interface})
@classmethod @classmethod
def get_metadata(cls, resource_name, transformers): def get_metadata(cls, resource_name, transformers):
@@ -299,8 +305,8 @@ class GnocchiCollector(collector.BaseCollector):
if isinstance(qty, str): if isinstance(qty, str):
resource_data[qty] = ck_utils.convert_unit( resource_data[qty] = ck_utils.convert_unit(
resource_data[qty], resource_data[qty],
conv_data.get('factor', 1), conv_data.get('factor', '1'),
conv_data.get('offset', 0), conv_data.get('offset', '0'),
) )
# NOTE(mc): deprecated except part kept for backward compatibility. # NOTE(mc): deprecated except part kept for backward compatibility.
except KeyError: except KeyError:

View File

@@ -41,6 +41,7 @@ _opts = [
('collector_monasca', list(itertools.chain( ('collector_monasca', list(itertools.chain(
cloudkitty.collector.monasca.collector_monasca_opts))), cloudkitty.collector.monasca.collector_monasca_opts))),
('gnocchi_collector', list(itertools.chain( ('gnocchi_collector', list(itertools.chain(
cloudkitty.collector.gnocchi.end_point_type_opts,
cloudkitty.collector.gnocchi.gnocchi_collector_opts))), cloudkitty.collector.gnocchi.gnocchi_collector_opts))),
('keystone_fetcher', list(itertools.chain( ('keystone_fetcher', list(itertools.chain(
cloudkitty.tenant_fetcher.keystone.keystone_fetcher_opts, cloudkitty.tenant_fetcher.keystone.keystone_fetcher_opts,

View File

@@ -38,6 +38,9 @@ METRICS_CONF = ck_utils.get_metrics_conf(CONF.collect.metrics_conf)
GNOCCHI_STORAGE_OPTS = 'storage_gnocchi' GNOCCHI_STORAGE_OPTS = 'storage_gnocchi'
gnocchi_storage_opts = [ gnocchi_storage_opts = [
cfg.StrOpt('interface',
default='internalURL',
help='endpoint url type'),
cfg.StrOpt('archive_policy_name', cfg.StrOpt('archive_policy_name',
default='rating', default='rating',
help='Gnocchi storage archive policy name.'), help='Gnocchi storage archive policy name.'),
@@ -78,7 +81,11 @@ class GnocchiStorage(storage.BaseStorage):
CONF, CONF,
GNOCCHI_STORAGE_OPTS, GNOCCHI_STORAGE_OPTS,
auth=self.auth) auth=self.auth)
self._conn = gclient.Client('1', session=self.session) self._conn = gclient.Client(
'1',
session=self.session,
adapter_options={'connect_retries': 3,
'interface': CONF.storage_gnocchi.interface})
self._measures = {} self._measures = {}
self._archive_policy_name = ( self._archive_policy_name = (
CONF.storage_gnocchi.archive_policy_name) CONF.storage_gnocchi.archive_policy_name)

View File

@@ -40,6 +40,9 @@ CONF.import_opt('period', 'cloudkitty.collector', 'collect')
GNOCCHI_STORAGE_OPTS = 'storage_gnocchi' GNOCCHI_STORAGE_OPTS = 'storage_gnocchi'
gnocchi_storage_opts = [ gnocchi_storage_opts = [
cfg.StrOpt('interface',
default='internalURL',
help='endpoint url type'),
cfg.StrOpt('archive_policy_name', cfg.StrOpt('archive_policy_name',
default='rating', default='rating',
help='Gnocchi storage archive policy name.'), help='Gnocchi storage archive policy name.'),
@@ -239,7 +242,11 @@ class GnocchiStorage(BaseHybridBackend):
CONF, CONF,
GNOCCHI_STORAGE_OPTS, GNOCCHI_STORAGE_OPTS,
auth=self.auth) auth=self.auth)
self._conn = gclient.Client('1', session=self.session) self._conn = gclient.Client(
'1',
session=self.session,
adapter_options={'connect_retries': 3,
'interface': CONF.storage_gnocchi.interface})
self._archive_policy_name = ( self._archive_policy_name = (
CONF.storage_gnocchi.archive_policy_name) CONF.storage_gnocchi.archive_policy_name)
self._archive_policy_definition = json.loads( self._archive_policy_definition = json.loads(