Merge "Do not load templates in stop_traversal"

This commit is contained in:
Jenkins 2016-11-08 16:25:15 +00:00 committed by Gerrit Code Review
commit 055b8ce884
3 changed files with 22 additions and 13 deletions

View File

@ -421,10 +421,12 @@ def format_notification_body(stack):
rpc_api.NOTIFY_STATE: state,
rpc_api.NOTIFY_STATE_REASON: stack.status_reason,
rpc_api.NOTIFY_CREATE_AT: heat_timeutils.isotime(stack.created_time),
rpc_api.NOTIFY_DESCRIPTION: stack.t[stack.t.DESCRIPTION],
rpc_api.NOTIFY_TAGS: stack.tags,
rpc_api.NOTIFY_UPDATE_AT: updated_at
}
if stack.t is not None:
result[rpc_api.NOTIFY_DESCRIPTION] = stack.t[stack.t.DESCRIPTION]
return result

View File

@ -221,11 +221,12 @@ class Stack(collections.Mapping):
resources.initialise()
self.parameters = self.t.parameters(
self.identifier(),
user_params=self.env.params,
param_defaults=self.env.param_defaults)
self._set_param_stackid()
if self.t is not None:
self.parameters = self.t.parameters(
self.identifier(),
user_params=self.env.params,
param_defaults=self.env.param_defaults)
self._set_param_stackid()
@property
def tags(self):
@ -487,8 +488,8 @@ class Stack(collections.Mapping):
@classmethod
def load(cls, context, stack_id=None, stack=None, show_deleted=True,
use_stored_context=False, force_reload=False, cache_data=None,
service_check_defer=False,
resource_validate=True):
service_check_defer=False, resource_validate=True,
load_template=True):
"""Retrieve a Stack from the database."""
if stack is None:
stack = stack_object.Stack.get_by_id(
@ -506,7 +507,8 @@ class Stack(collections.Mapping):
use_stored_context=use_stored_context,
cache_data=cache_data,
service_check_defer=service_check_defer,
resource_validate=resource_validate)
resource_validate=resource_validate,
load_template=load_template)
@classmethod
def load_all(cls, context, limit=None, marker=None, sort_keys=None,
@ -540,9 +542,13 @@ class Stack(collections.Mapping):
@classmethod
def _from_db(cls, context, stack,
use_stored_context=False, cache_data=None,
service_check_defer=False, resource_validate=True):
template = tmpl.Template.load(
context, stack.raw_template_id, stack.raw_template)
service_check_defer=False, resource_validate=True,
load_template=True):
if load_template:
template = tmpl.Template.load(
context, stack.raw_template_id, stack.raw_template)
else:
template = None
return cls(context, stack.name, template,
stack_id=stack.id,
action=stack.action, status=stack.status,

View File

@ -114,7 +114,8 @@ class WorkerService(service.Service):
if db_child.status == parser.Stack.IN_PROGRESS:
child = parser.Stack.load(stack.context,
stack_id=db_child.id,
stack=db_child)
stack=db_child,
load_template=False)
_stop_traversal(child)
def stop_all_workers(self, stack):