]> review.fuel-infra Code Review - openstack-build/heat-build.git/commitdiff
RPC API: Include less detail in resource list
authorZane Bitter <zbitter@redhat.com>
Fri, 16 Nov 2012 11:10:21 +0000 (12:10 +0100)
committerZane Bitter <zbitter@redhat.com>
Fri, 16 Nov 2012 11:11:24 +0000 (12:11 +0100)
Since the stack_list_resources command could be returning data for a large
number of resources, avoid returning the metadata and description (which
are not needed) to save space.

Change-Id: I4e3a46315952f8dd451410622de0d68423abbbf2
Signed-off-by: Zane Bitter <zbitter@redhat.com>
heat/engine/api.py
heat/engine/service.py
heat/tests/test_api_cfn_v1.py

index b0a4a668a35267074cb09875f4f8b4c75e2039c2..74d4c75024c61f98c0d096ef2cd55a0c7770bcf0 100644 (file)
@@ -124,14 +124,13 @@ RES_KEYS = (
 )
 
 
-def format_stack_resource(resource):
+def format_stack_resource(resource, detail=True):
     '''
     Return a representation of the given resource that matches the API output
     expectations.
     '''
     last_updated_time = resource.updated_time or resource.created_time
     res = {
-        RES_DESCRIPTION: resource.parsed_template().get('Description', ''),
         RES_UPDATED_TIME: timeutils.isotime(last_updated_time),
         RES_NAME: resource.name,
         RES_PHYSICAL_ID: resource.resource_id or '',
@@ -144,6 +143,10 @@ def format_stack_resource(resource):
         RES_STACK_NAME: resource.stack.name,
     }
 
+    if detail:
+        res[RES_DESCRIPTION] = resource.parsed_template('Description', '')
+        res[RES_METADATA] = resource.metadata
+
     return res
 
 
index 655810e2a1935b92600049e3d934e780f04143b9..fcac3341cbf8feb84afb68074b3c474aadd6e2c9 100644 (file)
@@ -357,7 +357,7 @@ class EngineService(service.Service):
 
         stack = parser.Stack.load(context, stack=s)
 
-        return [api.format_stack_resource(resource)
+        return [api.format_stack_resource(resource, detail=False)
                 for resource in stack if resource.id is not None]
 
     def metadata_update(self, context, stack_id, resource_name, metadata):
index 938fb5aa5877c3ec5955b894148ecf07e58d3e5c..d1d95cd5018d33d25f6383064d39e8aa26d21e67 100644 (file)
@@ -1031,8 +1031,7 @@ 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'description': u'',
-                        u'resource_identity': {
+        engine_resp = [{u'resource_identity': {
                             u'tenant': u't',
                             u'stack_name': u'wordpress',
                             u'stack_id': u'6',
@@ -1049,8 +1048,7 @@ class StackControllerTest(unittest.TestCase):
                         u'resource_status': u'CREATE_COMPLETE',
                         u'physical_resource_id':
                             u'a3455d8c-9f88-404d-a85b-5315293e67de',
-                        u'resource_type': u'AWS::EC2::Instance',
-                        u'metadata': {}}]
+                        u'resource_type': u'AWS::EC2::Instance'}]
 
         self.m.StubOutWithMock(rpc, 'call')
         rpc.call(dummy_req.context, self.topic, {'method': 'identify_stack',