return {'events': [parse_event(e) for e in events]}
+ def event_create(self, context, event):
+ try:
+ result = db_api.event_create(None, event)
+ event['id'] = result.id
+ return [None, event]
+ except Exception as ex:
+ logger.warn('db error %s' % str(ex))
+ try:
+ # This returns the error message without the entire SQL request
+ msg = ex.inner_exception.orig[1]
+ except:
+ msg = 'Error creating event'
+ return [msg, None]
+
def metadata_register_address(self, context, url):
config.FLAGS.heat_metadata_server_url = url
mapper.connect('/stacks/:stack_name/resources/:resource_id',
controller=metadata_controller, action='update_metadata',
conditions=dict(method=['PUT']))
+ mapper.connect('/events/',
+ controller=metadata_controller, action='create_event',
+ conditions=dict(method=['POST']))
# TODO(shadower): make sure all responses are JSON-encoded
# currently, calling an unknown route uses the default handler which
'metadata': body,
})
+ def create_event(self, req, body=None):
+ con = context.get_admin_context()
+ [error, event] = rpc.call(con, 'engine',
+ {'method': 'event_create',
+ 'args': {'event': body}})
+ if error:
+ return json_error(400, error)
+ return json_response(201, event)
+
def create_resource(options):
"""