diff options
author | ricolin <rico.lin@easystack.cn> | 2017-09-23 02:13:40 +0800 |
---|---|---|
committer | Rico Lin <rico.lin@easystack.cn> | 2018-07-20 15:34:04 +0000 |
commit | 597e98fec079c839831036495950f5cba2778d1d (patch) | |
tree | 990a9ff87bdf0d61090b6dd833bef99a80389a82 /heatclient/osc | |
parent | 92a4f251f98a2fcc32cbecf5d70095a1e3834f5f (diff) | |
download | python-heatclient-597e98fec079c839831036495950f5cba2778d1d.tar.gz |
Load files from adopt file when adopt stack
Add files from adopt file into create fields. This allow us to
adopt nested stack which the template defined in files.
Story: #1700744
Task: #17263
Change-Id: I2b473791186949d49be59ee790185b3e394c7000
Diffstat (limited to 'heatclient/osc')
-rw-r--r-- | heatclient/osc/v1/stack.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/heatclient/osc/v1/stack.py b/heatclient/osc/v1/stack.py index 3817bea..bdf7f5f 100644 --- a/heatclient/osc/v1/stack.py +++ b/heatclient/osc/v1/stack.py @@ -22,6 +22,7 @@ from osc_lib import utils from oslo_serialization import jsonutils import six from six.moves.urllib import request +import yaml from heatclient._i18n import _ from heatclient.common import event_utils @@ -822,13 +823,15 @@ class AdoptStack(command.ShowOne): adopt_url = heat_utils.normalise_file_path_to_url( parsed_args.adopt_file) adopt_data = request.urlopen(adopt_url).read().decode('utf-8') - + yaml_adopt_data = yaml.safe_load(adopt_data) or {} + files = yaml_adopt_data.get('files', {}) + files.update(env_files) fields = { 'stack_name': parsed_args.name, 'disable_rollback': not parsed_args.enable_rollback, 'adopt_stack_data': adopt_data, 'parameters': heat_utils.format_parameters(parsed_args.parameter), - 'files': dict(list(env_files.items())), + 'files': files, 'environment': env, 'timeout': parsed_args.timeout } |