def create(self, **kwargs):
"""
Handler to create Dashboard
:param kwargs:
:return: response for the request
"""
"""
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', CONF.gapi.topic, opt_group)
CONF.set_override('rabbitmq_host', CONF.gapi.rabbitmq_host, opt_group)
"""
names_list = None
search_string = None
search_type = None
exclude = 0
name = kwargs['name']
if not "names_list" in kwargs.keys() or kwargs['names_list'] is None:
search_type = kwargs['search_type']
search_string = kwargs['search_string']
if "exclude" in kwargs.keys() and kwargs["exclude"]:
#names_list = kwargs['search_type']+"!~"+kwargs['search_string']
exclude = 1
#else:
#names_list = kwargs['search_type']+"=~"+kwargs['search_string']
else:
names_list = ','.join(kwargs['names_list'])
metrics_list = ','.join(str(kwargs['metrics_list']))
d_url = os.getenv('renderer_endpoint') + name
status = "In Progress"
create_datetime = str(datetime.datetime.now())
sql_query = query_list.INSERT_INTO_DASHBOARD
params = [name, names_list, metrics_list, search_string, search_type, d_url, status,
create_datetime, create_datetime, exclude]
try:
conn = sql_helper.engine.connect()
conn.execute(sql_query, params)
except SQLAlchemyError as ex:
return "A database exception has been hit and dashboard creation\
has failed %s" % ex.message
log.info("Initializing a client connection")
try:
mq_client = client.Client(CONF.gapi.topic, CONF.gapi.rabbitmq_host)
ctxt = {}
log.info("Publishing message to rabbitmq")
mq_client.rpc_client.cast(ctxt, 'render_graph', message=kwargs)
except Exception as ex:
return "A messaging exception has been hit and dashboard creation\
has failed"
return "Dashboard creation request has been accepted and the new\
dashboard will be available @ %s" % d_url
评论列表
文章目录