-
Bug
-
Resolution: Won't Do
-
Medium
-
Casablanca Release, Frankfurt Release
we have a workaround for this issue, we put service csar as artifact file which you can refer to ns.csar. We have to keep the VNF ID in VNF the same as the VNF ID in NS. I have define VNF ID vCPE_Infrastructure_BGREMU_demo_app
, vCPE_Infrastructure_GW_demo_app, vCPE_Infrastructure_vGMUX_demo_app, vCPE_Infrastructure_demo_app, vCPE_Infrastructure_Metro_vBNG_demo_app).
I have onboarded vsn.csar into SDC, and exported service-VsnSer-csar.csar. The onboarding csar have been verified successfully by VFC, however, the exported csar causes errors in VFC's tosca parser:
unap@hnud:~/tst$ tosca-parser --template-file service-VsnSer-csar.csar
Traceback (most recent call last):
File "/home/lulianhao/onap/vnfsdk/pkgtools/venv/bin/tosca-parser", line 11, in <module>
load_entry_point('nfv-toscaparser', 'console_scripts', 'tosca-parser')()
File "/home/lulianhao/onap/vnfsdk/pkgtools/venv/local/lib/python2.7/site-packages/nfv_toscaparser-1.0.2.dev4-py2.7.egg/toscaparser/shell.py", line 153, in main
ParserShell().main(args)
File "/home/lulianhao/onap/vnfsdk/pkgtools/venv/local/lib/python2.7/site-packages/nfv_toscaparser-1.0.2.dev4-py2.7.egg/toscaparser/shell.py", line 77, in main
self.parse(path, no_required_paras_check=nrpv, debug_mode=debug)
File "/home/lulianhao/onap/vnfsdk/pkgtools/venv/local/lib/python2.7/site-packages/nfv_toscaparser-1.0.2.dev4-py2.7.egg/toscaparser/shell.py", line 98, in parse
raise e
toscaparser.common.exception.ValidationError:
The input "resource-Vsn-template.yml" failed validation with the following error(s):
UnknownFieldError: Template {'annotations': {'file': 'annotations.yml'}} contains unknown field "annotation_types". Refer to the definition to verify valid values.
File /home/lulianhao/onap/vnfsdk/pkgtools/venv/bin/tosca-parser, line 11, in <module>
load_entry_point('nfv-toscaparser', 'console_scripts', 'tosca-parser')()
File /home/lulianhao/onap/vnfsdk/pkgtools/venv/local/lib/python2.7/site-packages/nfv_toscaparser-1.0.2.dev4-py2.7.egg/toscaparser/shell.py, line 153, in main
ParserShell().main(args)
File /home/lulianhao/onap/vnfsdk/pkgtools/venv/local/lib/python2.7/site-packages/nfv_toscaparser-1.0.2.dev4-py2.7.egg/toscaparser/shell.py, line 77, in main
self.parse(path, no_required_paras_check=nrpv, debug_mode=debug)
File /home/lulianhao/onap/vnfsdk/pkgtools/venv/local/lib/python2.7/site-packages/nfv_toscaparser-1.0.2.dev4-py2.7.egg/toscaparser/shell.py, line 92, in parse
debug_mode=debug_mode)
File /home/lulianhao/onap/vnfsdk/pkgtools/venv/local/lib/python2.7/site-packages/nfv_toscaparser-1.0.2.dev4-py2.7.egg/toscaparser/tosca_template.py, line 110, in _init_
self.relationship_types = self._tpl_relationship_types()
File /home/lulianhao/onap/vnfsdk/pkgtools/venv/local/lib/python2.7/site-packages/nfv_toscaparser-1.0.2.dev4-py2.7.egg/toscaparser/tosca_template.py, line 167, in _tpl_relationship_types
return self._get_custom_types(RELATIONSHIP_TYPES)
File /home/lulianhao/onap/vnfsdk/pkgtools/venv/local/lib/python2.7/site-packages/nfv_toscaparser-1.0.2.dev4-py2.7.egg/toscaparser/tosca_template.py, line 215, in _get_custom_types
type_defs, self.tpl)
File /home/lulianhao/onap/vnfsdk/pkgtools/venv/local/lib/python2.7/site-packages/nfv_toscaparser-1.0.2.dev4-py2.7.egg/toscaparser/imports.py, line 55, in _init_
self._validate_and_load_imports()
File /home/lulianhao/onap/vnfsdk/pkgtools/venv/local/lib/python2.7/site-packages/nfv_toscaparser-1.0.2.dev4-py2.7.egg/toscaparser/imports.py, line 91, in _validate_and_load_imports
TypeValidation(custom_type, import_def)
File /home/lulianhao/onap/vnfsdk/pkgtools/venv/local/lib/python2.7/site-packages/nfv_toscaparser-1.0.2.dev4-py2.7.egg/toscaparser/elements/tosca_type_validation.py, line 39, in _init_
self._validate_type_keys(custom_types)
File /home/lulianhao/onap/vnfsdk/pkgtools/venv/local/lib/python2.7/site-packages/nfv_toscaparser-1.0.2.dev4-py2.7.egg/toscaparser/elements/tosca_type_validation.py, line 53, in _validate_type_keys
field=name))
MissingRequiredFieldError: Data value of type "org.openecomp.datatypes.Naming" is missing required field "['supplemental_data']".
File /home/lulianhao/onap/vnfsdk/pkgtools/venv/bin/tosca-parser, line 11, in <module>
load_entry_point('nfv-toscaparser', 'console_scripts', 'tosca-parser')()
File /home/lulianhao/onap/vnfsdk/pkgtools/venv/local/lib/python2.7/site-packages/nfv_toscaparser-1.0.2.dev4-py2.7.egg/toscaparser/shell.py, line 153, in main
ParserShell().main(args)
File /home/lulianhao/onap/vnfsdk/pkgtools/venv/local/lib/python2.7/site-packages/nfv_toscaparser-1.0.2.dev4-py2.7.egg/toscaparser/shell.py, line 77, in main
self.parse(path, no_required_paras_check=nrpv, debug_mode=debug)
File /home/lulianhao/onap/vnfsdk/pkgtools/venv/local/lib/python2.7/site-packages/nfv_toscaparser-1.0.2.dev4-py2.7.egg/toscaparser/shell.py, line 92, in parse
debug_mode=debug_mode)
File /home/lulianhao/onap/vnfsdk/pkgtools/venv/local/lib/python2.7/site-packages/nfv_toscaparser-1.0.2.dev4-py2.7.egg/toscaparser/tosca_template.py, line 112, in _init_
self.topology_template = self._topology_template()
File /home/lulianhao/onap/vnfsdk/pkgtools/venv/local/lib/python2.7/site-packages/nfv_toscaparser-1.0.2.dev4-py2.7.egg/toscaparser/tosca_template.py, line 132, in _topology_template
self.sub_mapped_node_template)
File /home/lulianhao/onap/vnfsdk/pkgtools/venv/local/lib/python2.7/site-packages/nfv_toscaparser-1.0.2.dev4-py2.7.egg/toscaparser/topology_template.py, line 57, in _init_
self.nodetemplates = self._nodetemplates()
File /home/lulianhao/onap/vnfsdk/pkgtools/venv/local/lib/python2.7/site-packages/nfv_toscaparser-1.0.2.dev4-py2.7.egg/toscaparser/topology_template.py, line 99, in _nodetemplates
tpl.validate(self)
File /home/lulianhao/onap/vnfsdk/pkgtools/venv/local/lib/python2.7/site-packages/nfv_toscaparser-1.0.2.dev4-py2.7.egg/toscaparser/nodetemplate.py, line 194, in validate
prop.validate()
File /home/lulianhao/onap/vnfsdk/pkgtools/venv/local/lib/python2.7/site-packages/nfv_toscaparser-1.0.2.dev4-py2.7.egg/toscaparser/properties.py, line 71, in validate
self.name)
File /home/lulianhao/onap/vnfsdk/pkgtools/venv/local/lib/python2.7/site-packages/nfv_toscaparser-1.0.2.dev4-py2.7.egg/toscaparser/dataentity.py, line 167, in validate_datatype
return data.validate()
File /home/lulianhao/onap/vnfsdk/pkgtools/venv/local/lib/python2.7/site-packages/nfv_toscaparser-1.0.2.dev4-py2.7.egg/toscaparser/dataentity.py, line 90, in validate
% self.datatype.type), required=missingprop))
The findings are:
- The error "MissingRequiredFieldError: Data value of type "org.openecomp.datatypes.Naming" is missing required field "['supplemental_data']"." is caused by the following data type definitions in the file 'data.yml' in the exported csar package:
org.openecomp.datatypes.Root:
derived_from: tosca.datatypes.Root
description: The ECOMP root Data Type all other Data Types derive from
properties:
supplemental_data:
type: map
entry_schema:
description: A placeholder for missing properties that would be included in future ecomp model versions. fromat <key>:<value>
type: string
SDC doesn't mark the supplemental_data property of data type org.openecomp.datatypes.Root as 'required:false', so VFC's tosca parser complains the missing property.
2. For the annotation_type, it's an SDC's own extension to TOSCA spec, and it assumes the standard tosca parsers will ignore the annotations(https://wiki.onap.org/display/DW/4.3.7.+Annotation+Types)