def test_vnfd_parse(self):
self.remove_temp_dir()
- csar_path = os.path.dirname(os.path.abspath(__file__)) + "/testdata/vnf"
input_parameters = [{"value": "222222", "key": "sdncontroller"}]
- vcpe = ["vgw"]
+ vcpe = ["vgw", "infra", "vbng", "vbrgemu", "vgmux"]
+ sriov_path = os.path.dirname(os.path.abspath(__file__)) + "/testdata/vnf/vcpesriov"
for vcpe_part in vcpe:
- csar_file = ("%s/%s.csar" % (csar_path, vcpe_part))
+ csar_file = ("%s/%s.csar" % (sriov_path, vcpe_part))
logger.debug("csar_file:%s", csar_file)
vnfd_json = parse_vnfd(csar_file, input_parameters)
metadata = json.loads(vnfd_json).get("metadata")
- logger.debug("metadata:%s", metadata)
+ logger.debug("sriov metadata:%s", metadata)
+ self.assertEqual(("vCPE_%s" % vcpe_part), metadata.get("template_name", ""))
+
+ dpdk_path = os.path.dirname(os.path.abspath(__file__)) + "/testdata/vnf/vcpedpdk"
+ for vcpe_part in vcpe:
+ csar_file = ("%s/%s.csar" % (dpdk_path, vcpe_part))
+ logger.debug("csar_file:%s", csar_file)
+ vnfd_json = parse_vnfd(csar_file, input_parameters)
+ metadata = json.loads(vnfd_json).get("metadata")
+ logger.debug("dpdk metadata:%s", metadata)
self.assertEqual(("vCPE_%s" % vcpe_part), metadata.get("template_name", ""))
def test_pnfd_parse(self):
rets = []
inject_files = []
for node in nodeTemplates:
- logger.error("nodeTemplates :%s", node)
+ logger.debug("nodeTemplates :%s", node)
if self.isNodeTypeX(node, node_types, VDU_COMPUTE_TYPE):
ret = {}
ret['vdu_id'] = node['name']
ret['properties'] = node['properties']
if 'inject_files' in node['properties']:
inject_files = node['properties']['inject_files']
- if inject_files is not None:
+ if isinstance(inject_files, list):
for inject_file in inject_files:
source_path = os.path.join(self.basepath, inject_file['source_path'])
with open(source_path, "rb") as f:
source_data = f.read()
source_data_base64 = source_data.encode("base64")
inject_file["source_data_base64"] = source_data_base64
+ elif isinstance(inject_files, dict):
+ source_path = os.path.join(self.basepath, inject_files['source_path'])
+ with open(source_path, "rb") as f:
+ source_data = f.read()
+ source_data_base64 = source_data.encode("base64")
+ inject_files["source_data_base64"] = source_data_base64
+ else:
+ logger.warn("inject_files %s format is not right.", inject_files)
+
virtual_storages = self.getRequirementByName(node, 'virtual_storage')
ret['virtual_storages'] = map(functools.partial(self._trans_virtual_storage), virtual_storages)
ret['dependencies'] = map(lambda x: self.get_requirement_node_name(x), self.getNodeDependencys(node))