aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlivia.Zhan <zhan.jie1@zte.com.cn>2019-07-16 16:07:49 +0800
committerOlivia.Zhan <zhan.jie1@zte.com.cn>2019-07-16 16:07:49 +0800
commit5d3f4fa6f283f1ddfcf89a94aa43c50dc050b132 (patch)
treefebacbae666f9efa8b1cf5109db3b58c37bd1de0
parentab7a826c34cecd214dd581293d7d7970b41a0a56 (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
-rw-r--r--catalog/pub/utils/toscaparser/vnfdparser/vnfd_sol_251.py11
-rw-r--r--catalog/pub/utils/toscaparser/vnfdparser/vnfd_sol_base.py11
2 files changed, 14 insertions, 8 deletions
diff --git a/catalog/pub/utils/toscaparser/vnfdparser/vnfd_sol_251.py b/catalog/pub/utils/toscaparser/vnfdparser/vnfd_sol_251.py
index 48ad2c82..f1cb1560 100644
--- a/catalog/pub/utils/toscaparser/vnfdparser/vnfd_sol_251.py
+++ b/catalog/pub/utils/toscaparser/vnfdparser/vnfd_sol_251.py
@@ -14,6 +14,7 @@
import logging
import os
+import base64
logger = logging.getLogger(__name__)
@@ -173,14 +174,16 @@ class VnfdSOL251():
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()
ret['dependencies'] = [self.model.get_requirement_node_name(x) for x in self.model.getNodeDependencys(node)]
virtual_compute = self.model.getCapabilityByName(node, 'virtual_compute')
if virtual_compute is not None and 'properties' in virtual_compute:
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)]