diff --git a/heat/engine/resource.py b/heat/engine/resource.py index e7a015fb45..09e118d414 100644 --- a/heat/engine/resource.py +++ b/heat/engine/resource.py @@ -1727,8 +1727,9 @@ class Resource(object): def _add_event(self, action, status, reason): """Add a state change event to the database.""" + physical_res_id = self.resource_id or self.physical_resource_name() ev = event.Event(self.context, self.stack, action, status, reason, - self.resource_id, self.properties, + physical_res_id, self.properties, self.name, self.type()) ev.store() diff --git a/heat/tests/test_resource.py b/heat/tests/test_resource.py index 500834299c..6e934ed11a 100644 --- a/heat/tests/test_resource.py +++ b/heat/tests/test_resource.py @@ -3393,6 +3393,7 @@ class ResourceHookTest(common.HeatTestCase): 'GenericResourceType') res = resource.Resource('res', snippet, self.stack) res.id = '1234' + res.uuid = uuid.uuid4() task = scheduler.TaskRunner(res.create) task.start() task.step() @@ -3409,6 +3410,7 @@ class ResourceHookTest(common.HeatTestCase): res = resource.Resource('res', snippet, self.stack) res.id = '1234' res.action = 'CREATE' + res.uuid = uuid.uuid4() self.stack.action = 'DELETE' task = scheduler.TaskRunner(res.delete) task.start() @@ -3425,6 +3427,7 @@ class ResourceHookTest(common.HeatTestCase): 'GenericResourceType') res = resource.Resource('res', snippet, self.stack) res.id = '1234' + res.uuid = uuid.uuid4() task = scheduler.TaskRunner(res.create) task.start() task.step() @@ -3440,6 +3443,7 @@ class ResourceHookTest(common.HeatTestCase): 'GenericResourceType') res = resource.Resource('res', snippet, self.stack) res.id = '1234' + res.uuid = uuid.uuid4() res.action = 'CREATE' self.stack.action = 'DELETE' task = scheduler.TaskRunner(res.delete) diff --git a/heat/tests/test_stack_user.py b/heat/tests/test_stack_user.py index a195618d2b..cbab4f9497 100644 --- a/heat/tests/test_stack_user.py +++ b/heat/tests/test_stack_user.py @@ -60,7 +60,7 @@ class StackUserTest(common.HeatTestCase): rsrc._store() self.m.StubOutWithMock(short_id, 'get_id') - short_id.get_id(rsrc.uuid).AndReturn('aabbcc') + short_id.get_id(rsrc.uuid).MultipleTimes().AndReturn('aabbcc') self.m.StubOutWithMock(fakes.FakeKeystoneClient, 'create_stack_domain_user')