diff options
author | Olivia.Zhan <zhan.jie1@zte.com.cn> | 2019-07-16 16:07:49 +0800 |
---|---|---|
committer | Olivia.Zhan <zhan.jie1@zte.com.cn> | 2019-07-16 16:07:49 +0800 |
commit | 5d3f4fa6f283f1ddfcf89a94aa43c50dc050b132 (patch) | |
tree | febacbae666f9efa8b1cf5109db3b58c37bd1de0 /catalog/pub/utils/toscaparser/vnfdparser/vnfd_sol_base.py | |
parent | ab7a826c34cecd214dd581293d7d7970b41a0a56 (diff) |
Fix vnfd "source_data_base64" not encoded as expect issue
Issue-ID: VFC-1429
Signed-off-by: Olivia.Zhan <zhan.jie1@zte.com.cn>
Change-Id: I0c8ea626c88cfa7e9e9c339197fb70deba1b8d35
Diffstat (limited to 'catalog/pub/utils/toscaparser/vnfdparser/vnfd_sol_base.py')
-rw-r--r-- | catalog/pub/utils/toscaparser/vnfdparser/vnfd_sol_base.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/catalog/pub/utils/toscaparser/vnfdparser/vnfd_sol_base.py b/catalog/pub/utils/toscaparser/vnfdparser/vnfd_sol_base.py index cc941b26..7b3a1a0e 100644 --- a/catalog/pub/utils/toscaparser/vnfdparser/vnfd_sol_base.py +++ b/catalog/pub/utils/toscaparser/vnfdparser/vnfd_sol_base.py @@ -15,6 +15,7 @@ import functools import logging import os +import base64 logger = logging.getLogger(__name__) @@ -118,14 +119,16 @@ class VnfdSOLBase(): if isinstance(inject_files, list): for inject_file in inject_files: source_path = os.path.join(self.model.basepath, inject_file['source_path']) - with open(source_path, "rt") as f: + with open(source_path, "rb") as f: source_data = f.read() - inject_file["source_data_base64"] = source_data + source_data_base64 = base64.b64encode(source_data) + inject_file["source_data_base64"] = source_data_base64.decode() if isinstance(inject_files, dict): source_path = os.path.join(self.model.basepath, inject_files['source_path']) - with open(source_path, "rt") as f: + with open(source_path, "rb") as f: source_data = f.read() - inject_files["source_data_base64"] = source_data + source_data_base64 = base64.b64encode(source_data) + inject_files["source_data_base64"] = source_data_base64.decode() virtual_storages = self.model.getRequirementByName(node, 'virtual_storage') ret['virtual_storages'] = list(map(functools.partial(self._trans_virtual_storage), virtual_storages)) ret['dependencies'] = [self.model.get_requirement_node_name(x) for x in self.model.getNodeDependencys(node)] |