support pnf properties and metadata 54/71354/1
authormaopengzhang <zhang.maopeng1@zte.com.cn>
Sat, 27 Oct 2018 06:23:29 +0000 (14:23 +0800)
committermaopengzhang <zhang.maopeng1@zte.com.cn>
Sat, 27 Oct 2018 06:23:29 +0000 (14:23 +0800)
support pnf properties and metadata

Change-Id: I9095b9aea87bb5e7e17278879ad74d69eafcd805
Issue-ID: VFC-1158
Signed-off-by: maopengzhang <zhang.maopeng1@zte.com.cn>
catalog/pub/utils/toscaparser/pnfmodel.py
catalog/pub/utils/toscaparser/testdata/pnf/ran-du.csar
catalog/pub/utils/toscaparser/tests.py

index 1acf6d4..e092e92 100644 (file)
@@ -30,10 +30,11 @@ class PnfdInfoModel(BaseInfoModel):
                             tosca.nodetemplates)
         self.basepath = self.get_base_path(tosca)
         self.pnf = {}
+        self.get_substitution_mappings(tosca)
         self.get_all_cp(nodeTemplates)
 
     def get_substitution_mappings(self, tosca):
-        pnf_substitution_mappings = tosca.tpl['topology_template']['substitution_mappings']
+        pnf_substitution_mappings = tosca.tpl['topology_template'].get('substitution_mappings', None)
         if pnf_substitution_mappings:
             self.pnf['type'] = pnf_substitution_mappings['node_type']
             self.pnf['properties'] = pnf_substitution_mappings['properties']
index 7321068..45168a9 100644 (file)
Binary files a/catalog/pub/utils/toscaparser/testdata/pnf/ran-du.csar and b/catalog/pub/utils/toscaparser/testdata/pnf/ran-du.csar differ
index 004911d..8c6f57e 100644 (file)
@@ -58,8 +58,11 @@ class TestToscaparser(TestCase):
         self.remove_temp_dir()
         csar_path = os.path.dirname(os.path.abspath(__file__)) + "/testdata/pnf/ran-du.csar"
         pnfd_json = parse_pnfd(csar_path)
-        metadata = json.loads(pnfd_json).get("metadata")
+        pnfd_dict = json.loads(pnfd_json)
+        metadata = pnfd_dict.get("metadata")
         self.assertEqual("RAN_DU", metadata.get("template_name", ""))
+        descriptor_id = pnfd_dict["pnf"]["properties"]["descriptor_id"]
+        self.assertEqual(1, descriptor_id)
 
     def test_nsd_parse(self):
         self.remove_temp_dir()