From 063dec276037db0011d5b57f98d8a363c1c9ac0e Mon Sep 17 00:00:00 2001 From: "ying.yunlong" Date: Fri, 18 Aug 2017 15:56:39 +0800 Subject: Add parse vnfd package logic In vfc lcm project ,add parse vnfd package logic. Change-Id: I4de6443d4c4a9c0d7526be025604cfeb73f439ea Issue-ID: VFC-110 Signed-off-by: ying.yunlong --- lcm/pub/utils/toscaparser/__init__.py | 13 +++++-------- lcm/pub/utils/toscaparser/etsivnfdinfomodel.py | 7 +++++++ lcm/pub/utils/toscaparser/parser.py | 3 +-- requirements.txt | 3 +++ 4 files changed, 16 insertions(+), 10 deletions(-) create mode 100644 lcm/pub/utils/toscaparser/etsivnfdinfomodel.py diff --git a/lcm/pub/utils/toscaparser/__init__.py b/lcm/pub/utils/toscaparser/__init__.py index 48b1b303..4d9064ed 100644 --- a/lcm/pub/utils/toscaparser/__init__.py +++ b/lcm/pub/utils/toscaparser/__init__.py @@ -15,15 +15,11 @@ import json from lcm.pub.utils.toscaparser.convert import convert_nsd, convert_vnfd from lcm.pub.utils.toscaparser.etsinsdinfomodel import EtsiNsdInfoModel +from lcm.pub.utils.toscaparser.etsivnfdinfomodel import EtsiVnfdInfoModel from lcm.pub.utils.toscaparser.parser import parse_nsd_model, parse_vnfd_model def parse_nsd(path, input_parameters=[]): - ''' - nsd_object = parse_nsd_model(path, input_parameters=[]) - nsd_json = convert_nsd(nsd_object) - return nsd_json - ''' tosca_obj = EtsiNsdInfoModel(path, input_parameters) strResponse = json.dumps(tosca_obj, default=lambda obj: obj.__dict__) strResponse = strResponse.replace(': null', ': ""') @@ -31,7 +27,8 @@ def parse_nsd(path, input_parameters=[]): def parse_vnfd(path, input_parameters=[]): - vnfd_object = parse_vnfd_model(path, input_parameters=[]) - vnfd_json = convert_vnfd(vnfd_object) - return vnfd_json + tosca_obj = EtsiVnfdInfoModel(path, input_parameters) + strResponse = json.dumps(tosca_obj, default=lambda obj: obj.__dict__) + strResponse = strResponse.replace(': null', ': ""') + return strResponse diff --git a/lcm/pub/utils/toscaparser/etsivnfdinfomodel.py b/lcm/pub/utils/toscaparser/etsivnfdinfomodel.py new file mode 100644 index 00000000..39e9a18b --- /dev/null +++ b/lcm/pub/utils/toscaparser/etsivnfdinfomodel.py @@ -0,0 +1,7 @@ +from lcm.pub.utils.toscaparser import EtsiNsdInfoModel + + +class EtsiVnfdInfoModel(EtsiNsdInfoModel): + + def __init__(self, path, params): + super(EtsiVnfdInfoModel, self).__init__(path, params) diff --git a/lcm/pub/utils/toscaparser/parser.py b/lcm/pub/utils/toscaparser/parser.py index 9b7e655b..f6605f6b 100644 --- a/lcm/pub/utils/toscaparser/parser.py +++ b/lcm/pub/utils/toscaparser/parser.py @@ -14,6 +14,7 @@ from os import R_OK, access from lcm.pub.exceptions import NSLCMException +from toscaparser.tosca_template import ToscaTemplate def parse_nsd_model(path, input_parameters): isexist = check_file_exist(path) @@ -40,13 +41,11 @@ def check_file_exist(path): def parse_nsd_csar(path, input_parameters=[], a_file=True): nsd_object = None - from toscaparser.tosca_template import ToscaTemplate nsd_object = ToscaTemplate(path, input_parameters) return nsd_object def parse_vnfd_csar(path, input_parameters=[], a_file=True): vnfd_object = None - from toscaparser.tosca_template import ToscaTemplate vnfd_object = ToscaTemplate(path, input_parameters) return vnfd_object \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 25904796..e9f7ce6b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -24,3 +24,6 @@ python-neutronclient==6.0.0 coverage==4.2 mock==2.0.0 unittest_xml_reporting==1.12.0 + +# for parser +nfv-toscaparser==0.5.0.dev95 -- cgit 1.2.3-korg