]> review.fuel-infra Code Review - openstack-build/heat-build.git/commitdiff
Allow listing of all events
authorZane Bitter <zbitter@redhat.com>
Fri, 13 Apr 2012 15:58:23 +0000 (17:58 +0200)
committerZane Bitter <zbitter@redhat.com>
Fri, 13 Apr 2012 15:58:23 +0000 (17:58 +0200)
Make filtering by StackName optional.

Signed-off-by: Zane Bitter <zbitter@redhat.com>
bin/heat
heat/api/v1/stacks.py
heat/engine/manager.py

index f33a81f1c0c0c2f974b2f60cc5851543e9613ad4..381f63e0d732fb439ee0411dedfc14e19dfab92e 100755 (executable)
--- a/bin/heat
+++ b/bin/heat
@@ -201,9 +201,7 @@ def stack_events_list(options, arguments):
     try:
         parameters['StackName'] = arguments.pop(0)
     except IndexError:
-        print "Please specify the stack name "
-        print "as the first argument"
-        return FAILURE
+        pass
 
     c = get_client(options)
     result = c.list_stack_events(**parameters)
index af46670d24b646d7c714cef09bca86a33105ac40..af2023b4d4b6c159fbaacbaae601e6b527ac994e 100644 (file)
@@ -175,9 +175,10 @@ class StackController(object):
         Returns the following information for all stacks:
         """
         con = context.get_admin_context()
+        stack_name = req.params.get('StackName', None)
         stack_list = rpc.call(con, 'engine',
                         {'method': 'list_events',
-                         'args': {'stack_name': req.params['StackName']}})
+                         'args': {'stack_name': stack_name}})
 
         res = {'DescribeStackEventsResult': {'StackEvents': [] } }
         summaries = res['DescribeStackEventsResult']['StackEvents']
index 9ea416125e1ca430727e1f6f781fdaf9e9ec6e71..d3f81d250445d9b546b470ac4aa76421bbd334b1 100644 (file)
@@ -123,8 +123,12 @@ class EngineManager(manager.Manager):
         return None
 
     def list_events(self, context, stack_name):
-        st = db_api.stack_get(None, stack_name)
-        events = db_api.event_get_all_by_stack(None, st.id)
+        if stack_name is not None:
+            st = db_api.stack_get(None, stack_name)
+            events = db_api.event_get_all_by_stack(None, st.id)
+        else:
+            events = db_api.event_get_all(None)
+
         def parse_event(e):
             s = e.stack
             # TODO Missing LogicalResourceId, PhysicalResourceId, ResourceType,