Merge "Convergence: in resource_by_refid() don't check the state"
commit
0c460f88df
|
@ -569,15 +569,16 @@ class Stack(collections.Mapping):
|
|||
refid, or None if not found
|
||||
'''
|
||||
for r in six.itervalues(self):
|
||||
if r.state in (
|
||||
(r.INIT, r.COMPLETE),
|
||||
(r.CREATE, r.IN_PROGRESS),
|
||||
(r.CREATE, r.COMPLETE),
|
||||
(r.RESUME, r.IN_PROGRESS),
|
||||
(r.RESUME, r.COMPLETE),
|
||||
(r.UPDATE, r.IN_PROGRESS),
|
||||
(r.UPDATE, r.COMPLETE)) and r.FnGetRefId() == refid:
|
||||
return r
|
||||
if r.FnGetRefId() == refid:
|
||||
if self.has_cache_data(r.name) or r.state in (
|
||||
(r.INIT, r.COMPLETE),
|
||||
(r.CREATE, r.IN_PROGRESS),
|
||||
(r.CREATE, r.COMPLETE),
|
||||
(r.RESUME, r.IN_PROGRESS),
|
||||
(r.RESUME, r.COMPLETE),
|
||||
(r.UPDATE, r.IN_PROGRESS),
|
||||
(r.UPDATE, r.COMPLETE)):
|
||||
return r
|
||||
|
||||
def register_access_allowed_handler(self, credential_id, handler):
|
||||
'''
|
||||
|
|
|
@ -919,6 +919,9 @@ class StackTest(common.HeatTestCase):
|
|||
try:
|
||||
self.assertIsNone(self.stack.resource_by_refid('aaaa'))
|
||||
self.assertIsNone(self.stack.resource_by_refid('bbbb'))
|
||||
# if there is cached data, we should ignore the state
|
||||
self.stack.cache_data = {'AResource': {'reference_id': 'aaaa'}}
|
||||
self.assertEqual(rsrc, self.stack.resource_by_refid('aaaa'))
|
||||
finally:
|
||||
rsrc.state_set(rsrc.CREATE, rsrc.COMPLETE)
|
||||
|
||||
|
|
Loading…
Reference in New Issue