Handle errors when listing events
Signed-off-by: Zane Bitter <zbitter@redhat.com>
This commit is contained in:
parent
0525333416
commit
4b04ffd16a
|
@ -176,16 +176,12 @@ class StackController(object):
|
|||
"""
|
||||
con = context.get_admin_context()
|
||||
stack_name = req.params.get('StackName', None)
|
||||
stack_list = rpc.call(con, 'engine',
|
||||
event_res = rpc.call(con, 'engine',
|
||||
{'method': 'list_events',
|
||||
'args': {'stack_name': stack_name}})
|
||||
events = 'Error' not in event_res and event_res['events'] or []
|
||||
|
||||
res = {'DescribeStackEventsResult': {'StackEvents': [] } }
|
||||
summaries = res['DescribeStackEventsResult']['StackEvents']
|
||||
for s in stack_list['events']:
|
||||
summaries.append(s)
|
||||
|
||||
return res
|
||||
return {'DescribeStackEventsResult': {'StackEvents': events}}
|
||||
|
||||
def create_resource(options):
|
||||
"""Stacks resource factory method."""
|
||||
|
|
|
@ -149,26 +149,17 @@ def event_get(context, event_id):
|
|||
result = model_query(context, models.Event).\
|
||||
filter_by(id=event_id).first()
|
||||
|
||||
if not result:
|
||||
raise Exception("event with id %s not found" % event_id)
|
||||
|
||||
return result
|
||||
|
||||
def event_get_all(context):
|
||||
results = model_query(context, models.Event).all()
|
||||
|
||||
if not results:
|
||||
raise Exception('no events were found')
|
||||
|
||||
return results
|
||||
|
||||
def event_get_all_by_stack(context, stack_id):
|
||||
results = model_query(context, models.Event).\
|
||||
filter_by(stack_id=stack_id).all()
|
||||
|
||||
if not results:
|
||||
raise Exception("no events for stack_id %s were found" % stack_id)
|
||||
|
||||
return results
|
||||
|
||||
def event_create(context, values):
|
||||
|
|
|
@ -121,6 +121,9 @@ class EngineManager(manager.Manager):
|
|||
def list_events(self, context, stack_name):
|
||||
if stack_name is not None:
|
||||
st = db_api.stack_get(None, stack_name)
|
||||
if not st:
|
||||
return {'Error': 'No stack by that name'}
|
||||
|
||||
events = db_api.event_get_all_by_stack(None, st.id)
|
||||
else:
|
||||
events = db_api.event_get_all(None)
|
||||
|
|
Loading…
Reference in New Issue