Merge "Save input parameters for stack adopt."

This commit is contained in:
Jenkins
2015-01-29 17:51:17 +00:00
committed by Gerrit Code Review
2 changed files with 24 additions and 3 deletions

View File

@@ -504,9 +504,11 @@ class EngineService(service.Service):
self._validate_new_stack(cnxt, stack_name, tmpl)
if rpc_api.PARAM_ADOPT_STACK_DATA in common_params:
params[rpc_api.STACK_PARAMETERS] = common_params[
rpc_api.PARAM_ADOPT_STACK_DATA]['environment'][
rpc_api.STACK_PARAMETERS]
# Override the params with values given with -P option
new_params = common_params[rpc_api.PARAM_ADOPT_STACK_DATA][
'environment'][rpc_api.STACK_PARAMETERS].copy()
new_params.update(params.get(rpc_api.STACK_PARAMETERS, {}))
params[rpc_api.STACK_PARAMETERS] = new_params
env = environment.Environment(params)
stack = parser.Stack(cnxt, stack_name, tmpl, env,

View File

@@ -559,6 +559,25 @@ class StackServiceCreateUpdateDeleteTest(common.HeatTestCase):
self.assertEqual(environment['parameters'],
stack.parameters['parameters'])
def test_stack_adopt_saves_input_params(self):
cfg.CONF.set_override('enable_stack_adopt', True)
environment = {'parameters': {"app_dbx": "foo"}}
input_params = {
"parameters": {"app_dbx": "bar"}
}
template, adopt_data = self._get_stack_adopt_data_and_template(
environment)
res._register_class('GenericResourceType',
generic_rsrc.GenericResource)
result = self.man.create_stack(self.ctx, "test_adopt_stack",
template, input_params, None,
{'adopt_stack_data': str(adopt_data)})
stack = db_api.stack_get(self.ctx, result['stack_id'])
self.assertEqual(template, stack.raw_template.template)
self.assertEqual(input_params['parameters'],
stack.parameters['parameters'])
def test_stack_adopt_disabled(self):
# to test disable stack adopt
cfg.CONF.set_override('enable_stack_adopt', False)