def create_metrics_exporter(self, **kwargs):
"""
Handler to create metrics exporter
:param kwargs:
:return:
"""
"""
CONF = cfg.CONF
opt_group = cfg.OptGroup(name='gapi',
title='Options for the api service')
CONF.register_group(opt_group)
CONF.register_opts(API_SERVICE_OPTS, opt_group)
CONF.set_override('topic_exporter', CONF.gapi.topic_exporter,
opt_group)
CONF.set_override('rabbitmq_host', CONF.gapi.rabbitmq_host,
opt_group)
"""
exporter_id = str(uuid.uuid4())
kwargs['exporter_id'] = exporter_id
sql_query = query_list.INSERT_INTO_EXPORTER
params = kwargs['exporter_name'], exporter_id
try:
conn = sql_helper.engine.connect()
conn.execute(sql_query, params)
except SQLAlchemyError as ex:
return "A database exception has been hit and metrics exporter has\
failed"
log.info("Initializing a client connection")
try:
mq_client = client.Client(CONF.gapi.topic_exporter,
CONF.gapi.rabbitmq_host)
ctxt = {}
log.info("Publishing message to rabbitmq")
mq_client.rpc_client.cast(ctxt, 'export_metrics', message=kwargs)
except Exception as ex:
return "A messaging exception has been hit and metrics export\
request has failed"
return "Metrics export request has been successfully accepted"
评论列表
文章目录