From 3fe13e71ea3f66258e2a5d17871c1afbca27b28f Mon Sep 17 00:00:00 2001 From: maopengzhang Date: Sat, 27 Oct 2018 14:23:29 +0800 Subject: [PATCH] support pnf properties and metadata support pnf properties and metadata Change-Id: I9095b9aea87bb5e7e17278879ad74d69eafcd805 Issue-ID: VFC-1158 Signed-off-by: maopengzhang --- catalog/pub/utils/toscaparser/pnfmodel.py | 3 ++- .../pub/utils/toscaparser/testdata/pnf/ran-du.csar | Bin 2703 -> 2688 bytes catalog/pub/utils/toscaparser/tests.py | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/catalog/pub/utils/toscaparser/pnfmodel.py b/catalog/pub/utils/toscaparser/pnfmodel.py index 1acf6d4c..e092e927 100644 --- a/catalog/pub/utils/toscaparser/pnfmodel.py +++ b/catalog/pub/utils/toscaparser/pnfmodel.py @@ -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'] diff --git a/catalog/pub/utils/toscaparser/testdata/pnf/ran-du.csar b/catalog/pub/utils/toscaparser/testdata/pnf/ran-du.csar index 7321068538ee464e595c1fd05d2daebab9068ef5..45168a96465d3d8feb46e00361664f075cc7e122 100644 GIT binary patch delta 575 zcmV-F0>J%`6@V3xG7Y(XT20XeQ$6ef001qKKOTQM&#ql$$mZM7cE_S9*2{)LP%J7F zW=onx8O_^I@}JzMD>`HtFSbPT6TtUEENfEQ|86yiHdprp>0LJe!0ntsNvvhD-CK( zC9i*oQGy~kq(!-2O}c=U;;dJJown$DG8w_6fkiTTWF4)P=0KxzFw}~f+%lDO-=AY- zD?8v+Sly19=h4aKN_6?%?dQSFSZ%<2>Jzo=Qa=TB#1{*1|6@E$|S-dPw(y zGxH5rWMA(0MGd>`GDx-+Y?pm}4?Np`*cN|$SFp0&?V{VrrjvpB`B6g$rrWV!=VNwd z9yZ@Kf|t zc)=P6WR|!OsEuy);Yg=l>;awMJCx}AR9a?CK%54B-k@r^J#X9!Qa&Hq7e|h~X<}m% z*zo3*uXSNkrvmm*7uj5}Kv=LE-NizY$N$ab5x%LAEhtR+b<(0|4Q-_QS&?r99`VXt zUi)`XH01m1_V<6Z58uAzbA!gvvtvA__Mg63O58l+U3eOoZdVU~={Cy5={K`X0;&cL zxqVtq(F9XH>;V7(Et3NYEDl1$F6sYl)B!@nF6sYllRXJE0X>s)319(glhX-m0{H@y NKMG0)e+U2o004$A72p5> delta 603 zcmV-h0;K(b6^|8=G7Y4KQcWQ>(8&7%001?SKOTR{b$0C{LpI-rwmTL@v0gR|f@0H| zFk8|j%4ptxlKdlgZU+=8%8M<2LTO4yE2z2P$fYo}18v+-L3+sWRy9CRtZisc zv-PS4WEDeJtXG5}IFun!!CEND{g+#M{V)e2-6l`7%@c@O{3UfkzJI$(GLKYXO3f8Y zO?iJ+5G87gV320{dNpE>E5=!`Ty|2U3CSb`PYPz2NqyGdO2`VR2YW*)m`XJhX=TIN zN7lT9iq=}T!_8CgWKvOg>D}$u-b`t!KqK#YocxpXq$MGhf*90X9HUmlAImjVE{3)c z^)6>-8!X5nKOC|W_Q|D_WLL9&^7$iF$?kvCF01w#%k%x-yA9cN++}`#RM&w~JM`;( z&Mr?~$Db>c=$PhA;JX*h59#?4{kXaTOv0cCsjVpeywUNNZ&E-PgTxr66g5B6o_``= zvM=dt))*j@_Z=1QY-O0002}R3)=Y0-Xj8q=iyVAvMs*`vCv|HIwuREDq#gsNTM2 p)B%#DhLb}_lP(D~0Zfx)319(vlf(&X0tf?>FbYZrjtBq%0024^7}fv) diff --git a/catalog/pub/utils/toscaparser/tests.py b/catalog/pub/utils/toscaparser/tests.py index 004911d9..8c6f57e9 100644 --- a/catalog/pub/utils/toscaparser/tests.py +++ b/catalog/pub/utils/toscaparser/tests.py @@ -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() -- 2.16.6