Merge "Save input parameters for stack adopt."
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user