summaryrefslogtreecommitdiff
path: root/heatclient/osc
diff options
context:
space:
mode:
authorricolin <rico.lin@easystack.cn>2017-09-23 02:13:40 +0800
committerRico Lin <rico.lin@easystack.cn>2018-07-20 15:34:04 +0000
commit597e98fec079c839831036495950f5cba2778d1d (patch)
tree990a9ff87bdf0d61090b6dd833bef99a80389a82 /heatclient/osc
parent92a4f251f98a2fcc32cbecf5d70095a1e3834f5f (diff)
downloadpython-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.py7
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
}