From fe0433428f7482c950674f5a60a66ead5e587fa1 Mon Sep 17 00:00:00 2001 From: Luka Peschke Date: Tue, 21 Aug 2018 11:56:46 +0200 Subject: [PATCH] Add an option to configure monasca endpoint type This adds two options to the monasca collector: One to specify the endpoint type to use and another one to specify the name of the Monasca service. Change-Id: Iad5a76b655e69671e5897b02e500b398d20b0dfb --- cloudkitty/collector/monasca.py | 19 +++++++++++++++++-- cloudkitty/common/config.py | 3 ++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/cloudkitty/collector/monasca.py b/cloudkitty/collector/monasca.py index 9f6ada39..7b27fa20 100644 --- a/cloudkitty/collector/monasca.py +++ b/cloudkitty/collector/monasca.py @@ -36,8 +36,21 @@ LOG = logging.getLogger(__name__) MONASCA_API_VERSION = '2_0' COLLECTOR_MONASCA_OPTS = 'collector_monasca' collector_monasca_opts = ks_loading.get_auth_common_conf_options() +mcollector_opts = [ + cfg.StrOpt( + 'interface', + default='internal', + help='Endpoint URL type (defaults to internal)', + ), + cfg.StrOpt( + 'monasca_service_name', + default='monasca', + help='Name of the Monasca service (defaults to monasca)', + ), +] cfg.CONF.register_opts(collector_monasca_opts, COLLECTOR_MONASCA_OPTS) +cfg.CONF.register_opts(mcollector_opts, COLLECTOR_MONASCA_OPTS) ks_loading.register_session_conf_options( cfg.CONF, COLLECTOR_MONASCA_OPTS) @@ -107,8 +120,10 @@ class MonascaCollector(collector.BaseCollector): # NOTE(lukapeschke) This function should be removed as soon as the endpoint # it no longer required by monascaclient - def _get_monasca_endpoint(self, service_name='monasca', - endpoint_interface_type='public'): + def _get_monasca_endpoint(self): + service_name = cfg.CONF.collector_monasca.monasca_service_name + endpoint_interface_type = cfg.CONF.collector_monasca.interface + service_list = self.ks_client.services.list(name=service_name) if not service_list: return None diff --git a/cloudkitty/common/config.py b/cloudkitty/common/config.py index 916a7a05..b962144e 100644 --- a/cloudkitty/common/config.py +++ b/cloudkitty/common/config.py @@ -37,7 +37,8 @@ _opts = [ ('collect', list(itertools.chain( cloudkitty.collector.collect_opts))), ('collector_monasca', list(itertools.chain( - cloudkitty.collector.monasca.collector_monasca_opts))), + cloudkitty.collector.monasca.collector_monasca_opts, + cloudkitty.collector.monasca.mcollector_opts))), ('gnocchi_collector', list(itertools.chain( cloudkitty.collector.gnocchi.gcollector_opts, cloudkitty.collector.gnocchi.gnocchi_collector_opts))),