]> review.fuel-infra Code Review - openstack-build/heat-build.git/commitdiff
RPC API: Clean up list_events results
authorZane Bitter <zbitter@redhat.com>
Fri, 21 Dec 2012 16:25:25 +0000 (17:25 +0100)
committerZane Bitter <zbitter@redhat.com>
Fri, 21 Dec 2012 17:51:11 +0000 (18:51 +0100)
Just return a list, rather than wrapping it in an object. The client API
processes can (and do) do whatever wrapping they need.

Change-Id: Ia77facbc7577ec96d1fa0e6e2784f4e5cff68614
Signed-off-by: Zane Bitter <zbitter@redhat.com>
heat/api/cfn/v1/stacks.py
heat/api/openstack/v1/events.py
heat/engine/service.py
heat/tests/test_api_cfn_v1.py
heat/tests/test_api_openstack_v1.py
heat/tests/test_engine_service.py

index 7c42a897e73642ff796fae1ef847638dae40e25a..2f72f5de98a7504569e54069e08b5db17e1c1041 100644 (file)
@@ -433,12 +433,10 @@ class StackController(object):
         stack_name = req.params.get('StackName', None)
         try:
             identity = stack_name and self._get_identity(con, stack_name)
-            event_res = self.engine_rpcapi.list_events(con, identity)
+            events = self.engine_rpcapi.list_events(con, identity)
         except rpc_common.RemoteError as ex:
             return exception.map_remote_error(ex)
 
-        events = 'Error' not in event_res and event_res['events'] or []
-
         result = [format_stack_event(e) for e in events]
 
         return api_utils.format_response('DescribeStackEvents',
index 20c76581231edc627d4d95d72930d6c8792a8f67..d1881c39fdab7d31e385f2a26bd80599ef116284 100644 (file)
@@ -73,18 +73,14 @@ class EventController(object):
     def _event_list(self, req, identity,
                     filter_func=lambda e: True, detail=False):
         try:
-            result = self.engine.list_events(req.context,
+            events = self.engine.list_events(req.context,
                                              identity)
         except rpc_common.RemoteError as ex:
             return util.remote_error(ex)
 
-        if 'events' not in result:
-            raise exc.HTTPInternalServerError()
-        ev_list = result['events']
-
         keys = None if detail else summary_keys
 
-        return [format_event(req, e, keys) for e in ev_list if filter_func(e)]
+        return [format_event(req, e, keys) for e in events if filter_func(e)]
 
     @util.identified_stack
     def index(self, req, identity, resource_name=None):
index 684e3800854a9dfedc96a569f1cfe185bc142aab..db7178cb7b8d603e506f9dd2a3ba6f6b8b745de8 100644 (file)
@@ -358,9 +358,7 @@ class EngineService(service.Service):
         else:
             events = db_api.event_get_all_by_tenant(context)
 
-        output = [api.format_event(Event.load(context, e.id)) for e in events]
-
-        return {'events': output}
+        return [api.format_event(Event.load(context, e.id)) for e in events]
 
     @request_context
     def describe_stack_resource(self, context, stack_identity, resource_name):
index ea4ea2da4e9cd6872571b63628d841d9a80f144d..1910eea0e9ed091494622176abaff7d56c5b222d 100644 (file)
@@ -785,24 +785,23 @@ class StackControllerTest(unittest.TestCase):
         dummy_req = self._dummy_GET_request(params)
 
         # Stub out the RPC call to the engine with a pre-canned response
-        engine_resp = {u'events':
-                       [{u'stack_name': u'wordpress',
-                         u'event_time': u'2012-07-23T13:05:39Z',
-                         u'stack_identity': {u'tenant': u't',
-                                             u'stack_name': u'wordpress',
-                                             u'stack_id': u'6',
-                                             u'path': u''},
-                         u'logical_resource_id': u'WikiDatabase',
-                         u'resource_status_reason': u'state changed',
-                         u'event_identity':
-                         {u'tenant': u't',
-                          u'stack_name': u'wordpress',
-                          u'stack_id': u'6',
-                          u'path': u'/resources/WikiDatabase/events/42'},
-                         u'resource_status': u'IN_PROGRESS',
-                         u'physical_resource_id': None,
-                         u'resource_properties': {u'UserData': u'blah'},
-                         u'resource_type': u'AWS::EC2::Instance'}]}
+        engine_resp = [{u'stack_name': u'wordpress',
+                        u'event_time': u'2012-07-23T13:05:39Z',
+                        u'stack_identity': {u'tenant': u't',
+                                            u'stack_name': u'wordpress',
+                                            u'stack_id': u'6',
+                                            u'path': u''},
+                        u'logical_resource_id': u'WikiDatabase',
+                        u'resource_status_reason': u'state changed',
+                        u'event_identity':
+                        {u'tenant': u't',
+                         u'stack_name': u'wordpress',
+                         u'stack_id': u'6',
+                         u'path': u'/resources/WikiDatabase/events/42'},
+                        u'resource_status': u'IN_PROGRESS',
+                        u'physical_resource_id': None,
+                        u'resource_properties': {u'UserData': u'blah'},
+                        u'resource_type': u'AWS::EC2::Instance'}]
 
         self.m.StubOutWithMock(rpc, 'call')
         rpc.call(dummy_req.context, self.topic,
index dc0fde4ca97f0517a4279461d7145f355cb487a0..2890c3ed64c88726209ca537b0dd56741d8cf2d0 100644 (file)
@@ -1096,7 +1096,7 @@ class EventControllerTest(ControllerTest, unittest.TestCase):
         req = self._get(stack_identity._tenant_path() +
                         '/resources/' + res_name + '/events')
 
-        engine_resp = {u'events': [
+        engine_resp = [
             {
                 u'stack_name': u'wordpress',
                 u'event_time': u'2012-07-23T13:05:39Z',
@@ -1121,7 +1121,7 @@ class EventControllerTest(ControllerTest, unittest.TestCase):
                 u'resource_properties': {u'UserData': u'blah'},
                 u'resource_type': u'AWS::EC2::Instance',
             }
-        ]}
+        ]
         self.m.StubOutWithMock(rpc, 'call')
         rpc.call(req.context, self.topic,
                  {'method': 'list_events',
@@ -1168,7 +1168,7 @@ class EventControllerTest(ControllerTest, unittest.TestCase):
 
         req = self._get(stack_identity._tenant_path() + '/events')
 
-        engine_resp = {u'events': [
+        engine_resp = [
             {
                 u'stack_name': u'wordpress',
                 u'event_time': u'2012-07-23T13:05:39Z',
@@ -1181,7 +1181,7 @@ class EventControllerTest(ControllerTest, unittest.TestCase):
                 u'resource_properties': {u'UserData': u'blah'},
                 u'resource_type': u'AWS::EC2::Instance',
             }
-        ]}
+        ]
         self.m.StubOutWithMock(rpc, 'call')
         rpc.call(req.context, self.topic,
                  {'method': 'list_events',
@@ -1249,7 +1249,7 @@ class EventControllerTest(ControllerTest, unittest.TestCase):
         req = self._get(stack_identity._tenant_path() +
                         '/resources/' + res_name + '/events')
 
-        engine_resp = {u'events': [
+        engine_resp = [
             {
                 u'stack_name': u'wordpress',
                 u'event_time': u'2012-07-23T13:05:39Z',
@@ -1262,7 +1262,7 @@ class EventControllerTest(ControllerTest, unittest.TestCase):
                 u'resource_properties': {u'UserData': u'blah'},
                 u'resource_type': u'AWS::EC2::Instance',
             }
-        ]}
+        ]
         self.m.StubOutWithMock(rpc, 'call')
         rpc.call(req.context, self.topic,
                  {'method': 'list_events',
@@ -1294,7 +1294,7 @@ class EventControllerTest(ControllerTest, unittest.TestCase):
         req = self._get(stack_identity._tenant_path() +
                         '/resources/' + res_name + '/events/' + event_id)
 
-        engine_resp = {u'events': [
+        engine_resp = [
             {
                 u'stack_name': u'wordpress',
                 u'event_time': u'2012-07-23T13:05:39Z',
@@ -1320,7 +1320,7 @@ class EventControllerTest(ControllerTest, unittest.TestCase):
                 u'resource_properties': {u'UserData': u'blah'},
                 u'resource_type': u'AWS::EC2::Instance',
             }
-        ]}
+        ]
         self.m.StubOutWithMock(rpc, 'call')
         rpc.call(req.context, self.topic,
                  {'method': 'list_events',
@@ -1370,7 +1370,7 @@ class EventControllerTest(ControllerTest, unittest.TestCase):
         req = self._get(stack_identity._tenant_path() +
                         '/resources/' + res_name + '/events/' + event_id)
 
-        engine_resp = {u'events': [
+        engine_resp = [
             {
                 u'stack_name': u'wordpress',
                 u'event_time': u'2012-07-23T13:05:39Z',
@@ -1383,7 +1383,7 @@ class EventControllerTest(ControllerTest, unittest.TestCase):
                 u'resource_properties': {u'UserData': u'blah'},
                 u'resource_type': u'AWS::EC2::Instance',
             }
-        ]}
+        ]
         self.m.StubOutWithMock(rpc, 'call')
         rpc.call(req.context, self.topic,
                  {'method': 'list_events',
@@ -1413,7 +1413,7 @@ class EventControllerTest(ControllerTest, unittest.TestCase):
         req = self._get(stack_identity._tenant_path() +
                         '/resources/' + res_name + '/events/' + event_id)
 
-        engine_resp = {u'events': [
+        engine_resp = [
             {
                 u'stack_name': u'wordpress',
                 u'event_time': u'2012-07-23T13:05:39Z',
@@ -1426,7 +1426,7 @@ class EventControllerTest(ControllerTest, unittest.TestCase):
                 u'resource_properties': {u'UserData': u'blah'},
                 u'resource_type': u'AWS::EC2::Instance',
             }
-        ]}
+        ]
         self.m.StubOutWithMock(rpc, 'call')
         rpc.call(req.context, self.topic,
                  {'method': 'list_events',
index 6583b1c71c1f1cfe7c7da3942192917cd8ae97d6..cc92a5e5487944c53f66c9af86798a48c7f9a5a0 100644 (file)
@@ -422,10 +422,7 @@ class stackServiceTest(unittest.TestCase):
         self.assertEqual(None, db_api.stack_get_by_name(ctx2, self.stack_name))
 
     def test_stack_event_list(self):
-        el = self.man.list_events(self.ctx, self.stack_identity)
-
-        self.assertTrue('events' in el)
-        events = el['events']
+        events = self.man.list_events(self.ctx, self.stack_identity)
 
         self.assertEqual(len(events), 2)
         for ev in events: