Fix usage of resource_data_get_all in stack-abandon
Stack abandon was failing if any stack resource has resource data because resource_data was not properly used in resource.py get_abandon_data method. Closes-Bug: #1278535 Change-Id: I0f41ddf530d34e7d27f740fb4f56e7ce17a43d1a
This commit is contained in:
parent
139206d177
commit
0a500c3211
|
@ -486,8 +486,7 @@ class Resource(object):
|
|||
'action': self.action,
|
||||
'status': self.status,
|
||||
'metadata': self.metadata,
|
||||
'resource_data': dict((r.key, r.value)
|
||||
for r in db_api.resource_data_get_all(self))
|
||||
'resource_data': db_api.resource_data_get_all(self)
|
||||
}
|
||||
|
||||
def adopt(self, resource_data):
|
||||
|
|
|
@ -163,6 +163,26 @@ class ResourceTest(HeatTestCase):
|
|||
actual = res.get_abandon_data()
|
||||
self.assertEqual(expected, actual)
|
||||
|
||||
def test_abandon_with_resource_data(self):
|
||||
tmpl = {'Type': 'Foo'}
|
||||
res = generic_rsrc.GenericResource('test_resource', tmpl, self.stack)
|
||||
self.m.StubOutWithMock(db_api, 'resource_data_get_all')
|
||||
db_api.resource_data_get_all(res).AndReturn({"test-key": "test-value"})
|
||||
self.m.ReplayAll()
|
||||
|
||||
expected = {
|
||||
'action': 'INIT',
|
||||
'metadata': {},
|
||||
'name': 'test_resource',
|
||||
'resource_data': {"test-key": "test-value"},
|
||||
'resource_id': None,
|
||||
'status': 'COMPLETE',
|
||||
'type': 'Foo'
|
||||
}
|
||||
actual = res.get_abandon_data()
|
||||
self.assertEqual(expected, actual)
|
||||
self.m.VerifyAll()
|
||||
|
||||
def test_state_set_invalid(self):
|
||||
tmpl = {'Type': 'Foo'}
|
||||
res = generic_rsrc.GenericResource('test_resource', tmpl, self.stack)
|
||||
|
|
Loading…
Reference in New Issue