Don't translate when resource_validate=False

Earlier we used to translate properties only when
strict_validate=True in resource INIT. This misses
nested stacks. As we want to avoid this for
`template-validate` we can use resource_validate flag
instead.

Change-Id: I62c9d9a5cb147ace8d49f408677aaaaff109c605
Closes-Bug: #1582844
This commit is contained in:
rabi 2016-05-18 08:16:30 +05:30
parent c9aff2fc73
commit 75b13f77ac
2 changed files with 5 additions and 4 deletions

View File

@ -193,8 +193,9 @@ class Resource(object):
self.context = stack.context
self.name = name
self.t = definition
# Only translate in cases where strict_validate is True
self.reparse(translate=self.stack.strict_validate,
# Only translate in cases where resource_validate is True
# ex. for template-validate
self.reparse(translate=self.stack.resource_validate,
client_resolve=False)
self.update_policy = self.t.update_policy(self.update_policy_schema,
self.context)

View File

@ -185,9 +185,9 @@ class ResourceTest(common.HeatTestCase):
self.assertEqual(0, mock_load.call_count)
# set stack._resources = None to reload the resources
# and set strict_validate = False
# and set resource_validate = False
stack._resources = None
stack.strict_validate = False
stack.resource_validate = False
mock_db_get.return_value = mock.Mock()
self.assertEqual(1, len(stack.resources))
self.assertEqual(1, mock_translate.call_count)