From 881e4d051a596b038e98c3171787ec4cdbceea5f Mon Sep 17 00:00:00 2001 From: Angus Salkeld Date: Tue, 18 Aug 2015 11:43:49 +1000 Subject: [PATCH] Convergence: input_data physical_resource_id -> reference_id 1. we are caching the result of FnGetRefId which can be the name 2. cache_data_resource_attribute() was trying to access "attributes" instead of "attrs". Change-Id: I59d55dcee2af521924fdb5da14e012dcc7b4dd3f --- heat/engine/resource.py | 2 +- heat/engine/stack.py | 6 +++--- heat/engine/worker.py | 2 +- heat/tests/engine/test_engine_worker.py | 4 ++-- heat/tests/test_stack.py | 12 ++++++------ 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/heat/engine/resource.py b/heat/engine/resource.py index 7d0cbe5377..c06b5ac5ec 100644 --- a/heat/engine/resource.py +++ b/heat/engine/resource.py @@ -1428,7 +1428,7 @@ class Resource(object): :results: the id or name of the resource. ''' if self.stack.has_cache_data(self.name): - return self.stack.cache_data_resource_id(self.name) + return self.stack.cache_data_reference_id(self.name) if self.resource_id is not None: return six.text_type(self.resource_id) diff --git a/heat/engine/stack.py b/heat/engine/stack.py index 5238fed0cd..1f44b43124 100755 --- a/heat/engine/stack.py +++ b/heat/engine/stack.py @@ -1611,13 +1611,13 @@ class Stack(collections.Mapping): return (self.cache_data is not None and self.cache_data.get(resource_name) is not None) - def cache_data_resource_id(self, resource_name): + def cache_data_reference_id(self, resource_name): return self.cache_data.get( - resource_name, {}).get('physical_resource_id') + resource_name, {}).get('reference_id') def cache_data_resource_attribute(self, resource_name, attribute_key): return self.cache_data.get( - resource_name, {}).get('attributes', {}).get(attribute_key) + resource_name, {}).get('attrs', {}).get(attribute_key) def mark_complete(self, traversal_id): ''' diff --git a/heat/engine/worker.py b/heat/engine/worker.py index 51d65bb885..92ba58874d 100644 --- a/heat/engine/worker.py +++ b/heat/engine/worker.py @@ -321,7 +321,7 @@ def construct_input_data(rsrc): input_data = {'id': rsrc.id, 'name': rsrc.name, - 'physical_resource_id': rsrc.resource_id, + 'reference_id': rsrc.FnGetRefId(), 'attrs': resolved_attributes} return input_data diff --git a/heat/tests/engine/test_engine_worker.py b/heat/tests/engine/test_engine_worker.py index 50afd7e75b..34e13cab8e 100644 --- a/heat/tests/engine/test_engine_worker.py +++ b/heat/tests/engine/test_engine_worker.py @@ -527,7 +527,7 @@ class MiscMethodsTest(common.HeatTestCase): def test_construct_input_data_ok(self): expected_input_data = {'attrs': {'value': None}, 'id': mock.ANY, - 'physical_resource_id': None, + 'reference_id': 'A', 'name': 'A'} actual_input_data = worker.construct_input_data(self.resource) self.assertEqual(expected_input_data, actual_input_data) @@ -535,7 +535,7 @@ class MiscMethodsTest(common.HeatTestCase): def test_construct_input_data_exception(self): expected_input_data = {'attrs': {}, 'id': mock.ANY, - 'physical_resource_id': None, + 'reference_id': 'A', 'name': 'A'} self.resource.FnGetAtt = mock.Mock( side_effect=exception.InvalidTemplateAttribute(resource='A', diff --git a/heat/tests/test_stack.py b/heat/tests/test_stack.py index d8efaed998..6480eb9115 100644 --- a/heat/tests/test_stack.py +++ b/heat/tests/test_stack.py @@ -278,8 +278,8 @@ class StackTest(common.HeatTestCase): {'A': {'Type': 'GenericResourceType'}, 'B': {'Type': 'GenericResourceType'}}} - cache_data = {'A': {'physical_resource_id': 'A-id'}, - 'B': {'physical_resource_id': 'B-id'}} + cache_data = {'A': {'reference_id': 'A-id'}, + 'B': {'reference_id': 'B-id'}} self.stack = stack.Stack(self.ctx, 'test_stack', template.Template(tpl), @@ -1918,8 +1918,8 @@ class StackTest(common.HeatTestCase): } }) - cache_data = {'foo': {'physical_resource_id': 'foo-id', - 'attributes': {'bar': 'baz'}}, + cache_data = {'foo': {'reference_id': 'foo-id', + 'attrs': {'bar': 'baz'}}, 'bar': {'reference_id': 'bar-id'}} tmpl_stack = stack.Stack(self.ctx, 'test', tmpl) tmpl_stack.store() @@ -1953,8 +1953,8 @@ class StackTest(common.HeatTestCase): } }) - cache_data = {'foo': {'physical_resource_id': 'physical-resource-id'}, - 'bar': {'physical_resource_id': 'physical-resource-id'}} + cache_data = {'foo': {'reference_id': 'physical-resource-id'}, + 'bar': {'reference_id': 'bar-id'}} tmpl_stack = stack.Stack(self.ctx, 'test', tmpl) tmpl_stack.store() lightweight_stack = stack.Stack.load(self.ctx, stack_id=tmpl_stack.id,