Merge "Ensure parameter timeout_mins available in update"
This commit is contained in:
commit
5e7344b2e3
@ -573,6 +573,7 @@ class Stack(collections.Mapping):
|
||||
self.parameters = newstack.parameters
|
||||
self.t.files = newstack.t.files
|
||||
self.disable_rollback = newstack.disable_rollback
|
||||
self.timeout_mins = newstack.timeout_mins
|
||||
self._set_param_stackid()
|
||||
|
||||
try:
|
||||
|
@ -565,6 +565,8 @@ class EngineService(service.Service):
|
||||
message=exception.StackResourceLimitExceeded.msg_fmt)
|
||||
stack_name = current_stack.name
|
||||
common_params = api.extract_args(args)
|
||||
common_params.setdefault(rpc_api.PARAM_TIMEOUT,
|
||||
current_stack.timeout_mins)
|
||||
env = environment.Environment(params)
|
||||
updated_stack = parser.Stack(cnxt, stack_name, tmpl,
|
||||
env, **common_params)
|
||||
|
@ -813,7 +813,7 @@ class StackServiceCreateUpdateDeleteTest(HeatTestCase):
|
||||
parser.Template(template, files=None).AndReturn(stack.t)
|
||||
environment.Environment(params).AndReturn(stack.env)
|
||||
parser.Stack(self.ctx, stack.name,
|
||||
stack.t, stack.env).AndReturn(stack)
|
||||
stack.t, stack.env, timeout_mins=60).AndReturn(stack)
|
||||
|
||||
self.m.StubOutWithMock(stack, 'validate')
|
||||
stack.validate().AndReturn(None)
|
||||
@ -858,7 +858,7 @@ class StackServiceCreateUpdateDeleteTest(HeatTestCase):
|
||||
parser.Template(template, files=None).AndReturn(stack.t)
|
||||
environment.Environment(params).AndReturn(stack.env)
|
||||
parser.Stack(self.ctx, stack.name,
|
||||
stack.t, stack.env).AndReturn(stack)
|
||||
stack.t, stack.env, timeout_mins=60).AndReturn(stack)
|
||||
|
||||
self.m.StubOutWithMock(stack, 'validate')
|
||||
stack.validate().AndReturn(None)
|
||||
@ -1061,7 +1061,7 @@ class StackServiceCreateUpdateDeleteTest(HeatTestCase):
|
||||
parser.Template(template, files=None).AndReturn(stack.t)
|
||||
environment.Environment(params).AndReturn(stack.env)
|
||||
parser.Stack(self.ctx, stack.name,
|
||||
stack.t, stack.env).AndReturn(stack)
|
||||
stack.t, stack.env, timeout_mins=60).AndReturn(stack)
|
||||
|
||||
self.m.StubOutWithMock(stack, 'validate')
|
||||
stack.validate().AndRaise(exception.StackValidationFailed(
|
||||
@ -1119,7 +1119,8 @@ class StackServiceCreateUpdateDeleteTest(HeatTestCase):
|
||||
parser.Template(template, files=None).AndReturn(old_stack.t)
|
||||
environment.Environment(params).AndReturn(old_stack.env)
|
||||
parser.Stack(self.ctx, old_stack.name,
|
||||
old_stack.t, old_stack.env).AndReturn(old_stack)
|
||||
old_stack.t, old_stack.env,
|
||||
timeout_mins=60).AndReturn(old_stack)
|
||||
|
||||
self.m.ReplayAll()
|
||||
|
||||
|
@ -1621,6 +1621,30 @@ class StackTest(HeatTestCase):
|
||||
self.assertEqual('BTemplate',
|
||||
self.stack.t[self.stack.t.DESCRIPTION])
|
||||
|
||||
@utils.stack_delete_after
|
||||
def test_update_timeout(self):
|
||||
tmpl = {'HeatTemplateFormatVersion': '2012-12-12',
|
||||
'Description': 'ATemplate',
|
||||
'Resources': {'AResource': {'Type': 'GenericResourceType'}}}
|
||||
|
||||
self.stack = parser.Stack(self.ctx, 'update_test_stack',
|
||||
template.Template(tmpl), timeout_mins=60)
|
||||
self.stack.store()
|
||||
self.stack.create()
|
||||
self.assertEqual((parser.Stack.CREATE, parser.Stack.COMPLETE),
|
||||
self.stack.state)
|
||||
|
||||
tmpl2 = {'HeatTemplateFormatVersion': '2012-12-12',
|
||||
'Description': 'ATemplate',
|
||||
'Resources': {'AResource': {'Type': 'GenericResourceType'}}}
|
||||
|
||||
updated_stack = parser.Stack(self.ctx, 'updated_stack',
|
||||
template.Template(tmpl2), timeout_mins=30)
|
||||
self.stack.update(updated_stack)
|
||||
self.assertEqual((parser.Stack.UPDATE, parser.Stack.COMPLETE),
|
||||
self.stack.state)
|
||||
self.assertEqual(30, self.stack.timeout_mins)
|
||||
|
||||
@utils.stack_delete_after
|
||||
def test_update_disable_rollback(self):
|
||||
tmpl = {'Description': 'ATemplate',
|
||||
|
Loading…
Reference in New Issue
Block a user