summaryrefslogtreecommitdiffstats
path: root/csarvalidation
diff options
context:
space:
mode:
authorGao Weitao <victor.gao@huawei.com>2019-03-11 06:03:44 +0000
committerGerrit Code Review <gerrit@onap.org>2019-03-11 06:03:44 +0000
commit7a66b3f46efa4aa0a7f2c9ceb4bd423b67a8c0e7 (patch)
treeebcdf39db2d0588222e0e2347aa9ab0e1346ab9f /csarvalidation
parent9b3ecdb005f87e2052e1f49c3c37211a3d3536af (diff)
parentdac3233ad8afe25398655d61c11a7791e71bef38 (diff)
Merge "Add sample result json for reference"
Diffstat (limited to 'csarvalidation')
-rw-r--r--csarvalidation/src/main/java/org/onap/cvc/csar/VTPValidateCSAR.java2
-rw-r--r--csarvalidation/src/test/resources/sample-result.json2
-rw-r--r--csarvalidation/src/test/resources/sample.logs62
3 files changed, 64 insertions, 2 deletions
diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/VTPValidateCSAR.java b/csarvalidation/src/main/java/org/onap/cvc/csar/VTPValidateCSAR.java
index c3bab09..c480332 100644
--- a/csarvalidation/src/main/java/org/onap/cvc/csar/VTPValidateCSAR.java
+++ b/csarvalidation/src/main/java/org/onap/cvc/csar/VTPValidateCSAR.java
@@ -121,7 +121,7 @@ public class VTPValidateCSAR extends OnapCommand {
private String contact = "ONAP VTP Team onap-discuss@lists.onap.org";
- private String platform = "VNF Test Platform (VTP) 1.0";
+ private String platform = "VNFSDK - VNF Test Platform (VTP) 1.0";
public VNF getVnf() {
return vnf;
diff --git a/csarvalidation/src/test/resources/sample-result.json b/csarvalidation/src/test/resources/sample-result.json
index 5bfc69f..0a3c9dc 100644
--- a/csarvalidation/src/test/resources/sample-result.json
+++ b/csarvalidation/src/test/resources/sample-result.json
@@ -1 +1 @@
-{"vnf":{"name":null,"vendor":"Winery 0.1.37-SNAPSHOT","version":"1.0","type":"TOSCA","mode":"WITH_TOSCA_META_DIR"},"date":"Mon Feb 25 16:49:26 IST 2019","criteria":"FAILED","results":[{"passed":true,"vnfreqName":"SOL004","description":"V2.4.1 (2018-02)","errors":[{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":6,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":7,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":9,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":10,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":12,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":13,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":15,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":16,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":18,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":19,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":21,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":22,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":24,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":25,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":27,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":28,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":30,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":31,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":33,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":34,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":36,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":37,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":39,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":40,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":42,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":43,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":45,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":46,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":48,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":49,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":51,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":52,"errorCode":"0x1005"}]},{"passed":false,"vnfreqName":"r02454","description":"The VNF MUST support the existence of multiple major/minor versions of the\n VNF software and/or sub-components and interfaces that support both forward \n and backward compatibility to be transparent to the Service Provider usage.\n","errors":[{"code":"0x1002","subCode":"r02454-0x1000","message":"Missing. Entry [Software Image]. The VNF MUST support the existence of multiple major/minor versions of the VNF software and/or sub-components and interfaces that support both forward and backward compatibility to be transparent to the Service Provider usage.","file":"ns2__VoLTE.yaml","lineNumber":-1,"errorCode":"r02454-0x1000"}]},{"passed":false,"vnfreqName":"r04298","description":"VNF provider MUST provider their testing scripts to support testing","errors":[{"code":"0x1002","subCode":"r04298-0x1000","message":"Missing. Entry [Tests]. The VNF provider MUST provide their testing scripts to support testing.","file":"CSAR Archive","lineNumber":-1,"errorCode":"r04298-0x1000"}]},{"passed":true,"vnfreqName":"r07879","description":"The VNF Package MUST include all relevant playbooks to ONAP to be loaded on the Ansible Server.","errors":[{"code":"0x1002","subCode":"r07879-0x1000","message":"Missing. Entry [playbooks]. The VNF Package MUST include all relevant playbooks to ONAP to be loaded on the Ansible Server.","file":"CSAR Archive","lineNumber":-1,"errorCode":"r07879-0x1000"}]},{"passed":false,"vnfreqName":"r09467","description":"The VNF MUST utilize only NCSP standard compute flavors. [5] - compute, virtual storage.","errors":[{"code":"0x1002","subCode":"r09467-0x1000","message":"Missing. Entry [Flavor]. The VNF MUST utilize only NCSP standard compute flavors. [5] - compute, virtual storage","file":"ns2__VoLTE.yaml","lineNumber":-1,"errorCode":"r09467-0x1000"}]},{"passed":true,"vnfreqName":"r13390","description":"The VNF provider MUST provide cookbooks to be loaded on the appropriate Chef Server.","errors":[{"code":"0x1002","subCode":"r13390-0x1000","message":"Missing. Entry [cookbooks]. The VNF provider MUST provide cookbooks to be loaded on the appropriate Chef Server.","file":"CSAR Archive","lineNumber":-1,"errorCode":"r13390-0x1000"}]},{"passed":false,"vnfreqName":"r23823","description":"The VNF Package MUST include appropriate credentials so that ONAP can interact with the Chef Server","errors":[{"code":"0x1002","subCode":"r23823-0x1000","message":"Missing. Entry [Certificates]. The VNF Package MUST include appropriate credentials so that ONAP can interact with the Chef Server","file":"CSAR Archive","lineNumber":-1,"errorCode":"r23823-0x1000"}]},{"passed":false,"vnfreqName":"r26881","description":"The VNF provider MUST provide the binaries and images needed to instantiate the VNF (VNF and VNFC images).","errors":[{"code":"0x1002","subCode":"r26881-0x1000","message":"Missing. Entry [Artifacts]. The VNF provider MUST provide the binaries and images needed to instantiate the VNF (VNF and VNFC images).","file":"CSAR Archive","lineNumber":-1,"errorCode":"r26881-0x1000"}]},{"passed":true,"vnfreqName":"r27310","description":"The VNF Package MUST include all relevant Chef artifacts (roles/cookbooks/recipes) \nrequired to execute VNF actions requested by ONAP for loading on appropriate Chef Server.\n","errors":[{"code":"0x1002","subCode":"r27310-0x1000","message":"Missing. Entry [cookbooks]. The VNF Package MUST include all relevant Chef artifacts (roles/cookbooks/recipes) required to execute VNF actions requested by ONAP for loading on appropriate Chef Server.","file":"CSAR Archive","lineNumber":-1,"errorCode":"r27310-0x1000"}]},{"passed":false,"vnfreqName":"r35851","description":"The VNF Package MUST include VNF topology that describes basic network and application\n connectivity internal and external to the VNF including Link type, KPIs, Bandwidth, \n latency, jitter, QoS (if applicable) for each interface.\n","errors":[{"code":"0x1002","subCode":"r35851-0x1000","message":"Missing. Entry [Topology VL]. The VNF Package MUST include VNF topology that describes basic network and application connectivity internal and external to the VNF including Link type, KPIs, Bandwidth, latency, jitter, QoS (if applicable) for each interface","file":"ns2__VoLTE.yaml","lineNumber":-1,"errorCode":"r35851-0x1000"}]},{"passed":true,"vnfreqName":"r40293","description":"The VNF MUST make available (or load on VNF Ansible Server) playbooks that conform to the ONAP requirement.","errors":[{"code":"0x1002","subCode":"r40293-0x1000","message":"Missing. Entry [playbooks]. The VNF MUST make available (or load on VNF Ansible Server) playbooks that conform to the ONAP requirement.","file":"CSAR Archive","lineNumber":-1,"errorCode":"r40293-0x1000"}]},{"passed":false,"vnfreqName":"r43958","description":"The VNF Package MUST include documentation describing the tests that were conducted by the VNF provider and the test results.","errors":[{"code":"0x1002","subCode":"r43958-0x1000","message":"Missing. Entry [Tests/report.txt]. The VNF Package MUST include documentation describing the tests that were conducted by the VNF provider and the test results.","file":"CSAR Archive","lineNumber":-1,"errorCode":"r43958-0x1000"}]},{"passed":true,"vnfreqName":"r66070","description":"The VNF Package MUST include VNF Identification Data to uniquely identify the \nresource for a given VNF provider. The identification data must include: an identifier \nfor the VNF, the name of the VNF as was given by the VNF provider, VNF description, \nVNF provider, and version\n","errors":[]},{"passed":true,"vnfreqName":"r77707","description":"VNF provider MUST include manifest file that contains a list of all the components in VNF package","errors":[]},{"passed":true,"vnfreqName":"r77786","description":"The VNF Package MUST include all relevant cookbooks to be loaded on the ONAP Chef Server.","errors":[{"code":"0x1002","subCode":"r77786-0x1000","message":"Missing. Entry [cookbooks]. The VNF Package MUST include all relevant cookbooks to be loaded on the ONAP Chef Server.","file":"CSAR Archive","lineNumber":-1,"errorCode":"r77786-0x1000"}]}],"contact":"ONAP VTP Team onap-discuss@lists.onap.org","platform":"VNF Test Platform (VTP) 1.0"} \ No newline at end of file
+{"vnf":{"name":null,"vendor":"Winery 0.1.37-SNAPSHOT","version":"1.0","type":"TOSCA","mode":"WITH_TOSCA_META_DIR"},"date":"Mon Mar 04 14:18:13 IST 2019","criteria":"FAILED","results":[{"passed":true,"vnfreqName":"SOL004","description":"V2.4.1 (2018-02)","errors":[{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":6,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":7,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":9,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":10,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":12,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":13,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":15,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":16,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":18,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":19,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":21,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":22,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":24,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":25,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":27,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":28,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":30,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":31,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":33,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":34,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":36,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":37,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":39,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":40,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":42,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":43,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":45,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":46,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":48,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":49,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":51,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":52,"errorCode":"0x1005"}]},{"passed":false,"vnfreqName":"r02454","description":"The VNF MUST support the existence of multiple major/minor versions of the\n VNF software and/or sub-components and interfaces that support both forward\n and backward compatibility to be transparent to the Service Provider usage.\n","errors":[{"code":"0x1002","subCode":"r02454-0x1000","message":"Missing. Entry [Software Image]. The VNF MUST support the existence of multiple major/minor versions of the VNF software and/or sub-components and interfaces that support both forward and backward compatibility to be transparent to the Service Provider usage.","file":"ns2__VoLTE.yaml","lineNumber":-1,"errorCode":"r02454-0x1000"}]},{"passed":false,"vnfreqName":"r04298","description":"VNF provider MUST provider their testing scripts to support testing","errors":[{"code":"0x1002","subCode":"r04298-0x1000","message":"Missing. Entry [Tests]. The VNF provider MUST provide their testing scripts to support testing.","file":"CSAR Archive","lineNumber":-1,"errorCode":"r04298-0x1000"}]},{"passed":true,"vnfreqName":"r07879","description":"The VNF Package MUST include all relevant playbooks to ONAP to be loaded on the Ansible Server.","errors":[{"code":"0x1002","subCode":"r07879-0x1000","message":"Missing. Entry [playbooks]. The VNF Package MUST include all relevant playbooks to ONAP to be loaded on the Ansible Server.","file":"CSAR Archive","lineNumber":-1,"errorCode":"r07879-0x1000"}]},{"passed":false,"vnfreqName":"r09467","description":"The VNF MUST utilize only NCSP standard compute flavors. [5] - compute, virtual storage.","errors":[{"code":"0x1002","subCode":"r09467-0x1000","message":"Missing. Entry [Flavor]. The VNF MUST utilize only NCSP standard compute flavors. [5] - compute, virtual storage","file":"ns2__VoLTE.yaml","lineNumber":-1,"errorCode":"r09467-0x1000"}]},{"passed":true,"vnfreqName":"r13390","description":"The VNF provider MUST provide cookbooks to be loaded on the appropriate Chef Server.","errors":[{"code":"0x1002","subCode":"r13390-0x1000","message":"Missing. Entry [cookbooks]. The VNF provider MUST provide cookbooks to be loaded on the appropriate Chef Server.","file":"CSAR Archive","lineNumber":-1,"errorCode":"r13390-0x1000"}]},{"passed":false,"vnfreqName":"r23823","description":"The VNF Package MUST include appropriate credentials so that ONAP can interact with the Chef Server","errors":[{"code":"0x1002","subCode":"r23823-0x1000","message":"Missing. Entry [Certificates]. The VNF Package MUST include appropriate credentials so that ONAP can interact with the Chef Server","file":"CSAR Archive","lineNumber":-1,"errorCode":"r23823-0x1000"}]},{"passed":false,"vnfreqName":"r26881","description":"The VNF provider MUST provide the binaries and images needed to instantiate the VNF (VNF and VNFC images).","errors":[{"code":"0x1002","subCode":"r26881-0x1000","message":"Missing. Entry [Artifacts]. The VNF provider MUST provide the binaries and images needed to instantiate the VNF (VNF and VNFC images).","file":"CSAR Archive","lineNumber":-1,"errorCode":"r26881-0x1000"}]},{"passed":true,"vnfreqName":"r27310","description":"The VNF Package MUST include all relevant Chef artifacts (roles/cookbooks/recipes)\nrequired to execute VNF actions requested by ONAP for loading on appropriate Chef Server.\n","errors":[{"code":"0x1002","subCode":"r27310-0x1000","message":"Missing. Entry [cookbooks]. The VNF Package MUST include all relevant Chef artifacts (roles/cookbooks/recipes) required to execute VNF actions requested by ONAP for loading on appropriate Chef Server.","file":"CSAR Archive","lineNumber":-1,"errorCode":"r27310-0x1000"}]},{"passed":false,"vnfreqName":"r35851","description":"The VNF Package MUST include VNF topology that describes basic network and application\n connectivity internal and external to the VNF including Link type, KPIs, Bandwidth,\n latency, jitter, QoS (if applicable) for each interface.\n","errors":[{"code":"0x1002","subCode":"r35851-0x1000","message":"Missing. Entry [Topology VL]. The VNF Package MUST include VNF topology that describes basic network and application connectivity internal and external to the VNF including Link type, KPIs, Bandwidth, latency, jitter, QoS (if applicable) for each interface","file":"ns2__VoLTE.yaml","lineNumber":-1,"errorCode":"r35851-0x1000"}]},{"passed":true,"vnfreqName":"r40293","description":"The VNF MUST make available (or load on VNF Ansible Server) playbooks that conform to the ONAP requirement.","errors":[{"code":"0x1002","subCode":"r40293-0x1000","message":"Missing. Entry [playbooks]. The VNF MUST make available (or load on VNF Ansible Server) playbooks that conform to the ONAP requirement.","file":"CSAR Archive","lineNumber":-1,"errorCode":"r40293-0x1000"}]},{"passed":false,"vnfreqName":"r43958","description":"The VNF Package MUST include documentation describing the tests that were conducted by the VNF provider and the test results.","errors":[{"code":"0x1002","subCode":"r43958-0x1000","message":"Missing. Entry [Tests/report.txt]. The VNF Package MUST include documentation describing the tests that were conducted by the VNF provider and the test results.","file":"CSAR Archive","lineNumber":-1,"errorCode":"r43958-0x1000"}]},{"passed":true,"vnfreqName":"r66070","description":"The VNF Package MUST include VNF Identification Data to uniquely identify the\nresource for a given VNF provider. The identification data must include: an identifier\nfor the VNF, the name of the VNF as was given by the VNF provider, VNF description,\nVNF provider, and version\n","errors":[]},{"passed":true,"vnfreqName":"r77707","description":"VNF provider MUST include manifest file that contains a list of all the components in VNF package","errors":[]},{"passed":true,"vnfreqName":"r77786","description":"The VNF Package MUST include all relevant cookbooks to be loaded on the ONAP Chef Server.","errors":[{"code":"0x1002","subCode":"r77786-0x1000","message":"Missing. Entry [cookbooks]. The VNF Package MUST include all relevant cookbooks to be loaded on the ONAP Chef Server.","file":"CSAR Archive","lineNumber":-1,"errorCode":"r77786-0x1000"}]}],"contact":"ONAP VTP Team onap-discuss@lists.onap.org","platform":"VNF Test Platform (VTP) 1.0"} \ No newline at end of file
diff --git a/csarvalidation/src/test/resources/sample.logs b/csarvalidation/src/test/resources/sample.logs
new file mode 100644
index 0000000..57b21d8
--- /dev/null
+++ b/csarvalidation/src/test/resources/sample.logs
@@ -0,0 +1,62 @@
+[main] INFO org.onap.cli.fw.registrar.OnapCommandRegistrar - REGISITER : csar-validate-casablanca:onap-vtp = org.onap.cli.fw.cmd.dummy.OnapCommandDummy
+[main] INFO org.onap.cli.fw.registrar.OnapCommandRegistrar - REGISITER : csar-validate-r02454:onap-vtp = org.onap.cvc.csar.cc.VTPValidateCSARR02454
+[main] INFO org.onap.cli.fw.registrar.OnapCommandRegistrar - REGISITER : csar-validate-r04298:onap-vtp = org.onap.cvc.csar.cc.VTPValidateCSARR04298
+[main] INFO org.onap.cli.fw.registrar.OnapCommandRegistrar - REGISITER : csar-validate-r07879:onap-vtp = org.onap.cvc.csar.cc.VTPValidateCSARR07879
+[main] INFO org.onap.cli.fw.registrar.OnapCommandRegistrar - REGISITER : csar-validate-r09467:onap-vtp = org.onap.cvc.csar.cc.VTPValidateCSARR09467
+[main] INFO org.onap.cli.fw.registrar.OnapCommandRegistrar - REGISITER : csar-validate-r13390:onap-vtp = org.onap.cvc.csar.cc.VTPValidateCSARR13390
+[main] INFO org.onap.cli.fw.registrar.OnapCommandRegistrar - REGISITER : csar-validate-r23823:onap-vtp = org.onap.cvc.csar.cc.VTPValidateCSARR23823
+[main] INFO org.onap.cli.fw.registrar.OnapCommandRegistrar - REGISITER : csar-validate-r26881:onap-vtp = org.onap.cvc.csar.cc.VTPValidateCSARR26881
+[main] INFO org.onap.cli.fw.registrar.OnapCommandRegistrar - REGISITER : csar-validate-r27310:onap-vtp = org.onap.cvc.csar.cc.VTPValidateCSARR27310
+[main] INFO org.onap.cli.fw.registrar.OnapCommandRegistrar - REGISITER : csar-validate-r35851:onap-vtp = org.onap.cvc.csar.cc.VTPValidateCSARR35851
+[main] INFO org.onap.cli.fw.registrar.OnapCommandRegistrar - REGISITER : csar-validate-r40293:onap-vtp = org.onap.cvc.csar.cc.VTPValidateCSARR40293
+[main] INFO org.onap.cli.fw.registrar.OnapCommandRegistrar - REGISITER : csar-validate-r43958:onap-vtp = org.onap.cvc.csar.cc.VTPValidateCSARR43958
+[main] INFO org.onap.cli.fw.registrar.OnapCommandRegistrar - REGISITER : csar-validate-r66070:onap-vtp = org.onap.cvc.csar.cc.VTPValidateCSARR66070
+[main] INFO org.onap.cli.fw.registrar.OnapCommandRegistrar - REGISITER : csar-validate-r77707:onap-vtp = org.onap.cvc.csar.cc.VTPValidateCSARR77707
+[main] INFO org.onap.cli.fw.registrar.OnapCommandRegistrar - REGISITER : csar-validate-r77786:onap-vtp = org.onap.cvc.csar.cc.VTPValidateCSARR77786
+[main] INFO org.onap.cli.fw.registrar.OnapCommandRegistrar - REGISITER : csar-validate:onap-vtp = org.onap.cvc.csar.VTPValidateCSAR
+[main] INFO org.onap.cli.fw.registrar.OnapCommandRegistrar - REGISITER : hot-validate:onap-vtp = org.onap.cli.fw.cmd.dummy.OnapCommandDummy
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - CMD: csar-validate
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - INPUT: {help=help: false, debug=debug: false, context=context: {}, format=format: json, verify=verify: false, version=version: false, long=long: false, no-title=no-title: false, csar=csar: ./src/test/resources/VoLTE.csar}
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - CMD: csar-validate-r02454
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - INPUT: {help=help: false, debug=debug: false, context=context: {}, format=format: table, verify=verify: false, version=version: false, long=long: false, no-title=no-title: false, csar=csar: ./src/test/resources/VoLTE.csar}
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - OUTPUT: [code: [0x1002], message: [Missing. Entry [Software Image]. The VNF MUST support the existence of multiple major/minor versions of the VNF software and/or sub-components and interfaces that support both forward and backward compatibility to be transparent to the Service Provider usage.], file: [ns2__VoLTE.yaml], line-no: [-1]]
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - CMD: csar-validate-r04298
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - INPUT: {help=help: false, debug=debug: false, context=context: {}, format=format: table, verify=verify: false, version=version: false, long=long: false, no-title=no-title: false, csar=csar: ./src/test/resources/VoLTE.csar}
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - OUTPUT: [code: [0x1002], message: [Missing. Entry [Tests]. The VNF provider MUST provide their testing scripts to support testing.], file: [CSAR Archive], line-no: [-1]]
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - CMD: csar-validate-r07879
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - INPUT: {help=help: false, debug=debug: false, context=context: {}, format=format: table, verify=verify: false, version=version: false, long=long: false, no-title=no-title: false, csar=csar: ./src/test/resources/VoLTE.csar}
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - OUTPUT: [code: [0x1002], message: [Missing. Entry [playbooks]. The VNF Package MUST include all relevant playbooks to ONAP to be loaded on the Ansible Server.], file: [CSAR Archive], line-no: [-1]]
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - CMD: csar-validate-r09467
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - INPUT: {help=help: false, debug=debug: false, context=context: {}, format=format: table, verify=verify: false, version=version: false, long=long: false, no-title=no-title: false, csar=csar: ./src/test/resources/VoLTE.csar}
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - OUTPUT: [code: [0x1002], message: [Missing. Entry [Flavor]. The VNF MUST utilize only NCSP standard compute flavors. [5] - compute, virtual storage], file: [ns2__VoLTE.yaml], line-no: [-1]]
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - CMD: csar-validate-r13390
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - INPUT: {help=help: false, debug=debug: false, context=context: {}, format=format: table, verify=verify: false, version=version: false, long=long: false, no-title=no-title: false, csar=csar: ./src/test/resources/VoLTE.csar}
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - OUTPUT: [code: [0x1002], message: [Missing. Entry [cookbooks]. The VNF provider MUST provide cookbooks to be loaded on the appropriate Chef Server.], file: [CSAR Archive], line-no: [-1]]
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - CMD: csar-validate-r23823
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - INPUT: {help=help: false, debug=debug: false, context=context: {}, format=format: table, verify=verify: false, version=version: false, long=long: false, no-title=no-title: false, csar=csar: ./src/test/resources/VoLTE.csar}
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - OUTPUT: [code: [0x1002], message: [Missing. Entry [Certificates]. The VNF Package MUST include appropriate credentials so that ONAP can interact with the Chef Server], file: [CSAR Archive], line-no: [-1]]
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - CMD: csar-validate-r26881
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - INPUT: {help=help: false, debug=debug: false, context=context: {}, format=format: table, verify=verify: false, version=version: false, long=long: false, no-title=no-title: false, csar=csar: ./src/test/resources/VoLTE.csar}
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - OUTPUT: [code: [0x1002], message: [Missing. Entry [Artifacts]. The VNF provider MUST provide the binaries and images needed to instantiate the VNF (VNF and VNFC images).], file: [CSAR Archive], line-no: [-1]]
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - CMD: csar-validate-r27310
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - INPUT: {help=help: false, debug=debug: false, context=context: {}, format=format: table, verify=verify: false, version=version: false, long=long: false, no-title=no-title: false, csar=csar: ./src/test/resources/VoLTE.csar}
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - OUTPUT: [code: [0x1002], message: [Missing. Entry [cookbooks]. The VNF Package MUST include all relevant Chef artifacts (roles/cookbooks/recipes) required to execute VNF actions requested by ONAP for loading on appropriate Chef Server.], file: [CSAR Archive], line-no: [-1]]
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - CMD: csar-validate-r35851
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - INPUT: {help=help: false, debug=debug: false, context=context: {}, format=format: table, verify=verify: false, version=version: false, long=long: false, no-title=no-title: false, csar=csar: ./src/test/resources/VoLTE.csar}
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - OUTPUT: [code: [0x1002], message: [Missing. Entry [Topology VL]. The VNF Package MUST include VNF topology that describes basic network and application connectivity internal and external to the VNF including Link type, KPIs, Bandwidth, latency, jitter, QoS (if applicable) for each interface], file: [ns2__VoLTE.yaml], line-no: [-1]]
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - CMD: csar-validate-r40293
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - INPUT: {help=help: false, debug=debug: false, context=context: {}, format=format: table, verify=verify: false, version=version: false, long=long: false, no-title=no-title: false, csar=csar: ./src/test/resources/VoLTE.csar}
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - OUTPUT: [code: [0x1002], message: [Missing. Entry [playbooks]. The VNF MUST make available (or load on VNF Ansible Server) playbooks that conform to the ONAP requirement.], file: [CSAR Archive], line-no: [-1]]
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - CMD: csar-validate-r43958
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - INPUT: {help=help: false, debug=debug: false, context=context: {}, format=format: table, verify=verify: false, version=version: false, long=long: false, no-title=no-title: false, csar=csar: ./src/test/resources/VoLTE.csar}
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - OUTPUT: [code: [0x1002], message: [Missing. Entry [Tests/report.txt]. The VNF Package MUST include documentation describing the tests that were conducted by the VNF provider and the test results.], file: [CSAR Archive], line-no: [-1]]
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - CMD: csar-validate-r66070
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - INPUT: {help=help: false, debug=debug: false, context=context: {}, format=format: table, verify=verify: false, version=version: false, long=long: false, no-title=no-title: false, csar=csar: ./src/test/resources/VoLTE.csar}
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - OUTPUT: [code: [], message: [], file: [], line-no: []]
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - CMD: csar-validate-r77707
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - INPUT: {help=help: false, debug=debug: false, context=context: {}, format=format: table, verify=verify: false, version=version: false, long=long: false, no-title=no-title: false, csar=csar: ./src/test/resources/VoLTE.csar}
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - OUTPUT: [code: [], message: [], file: [], line-no: []]
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - CMD: csar-validate-r77786
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - INPUT: {help=help: false, debug=debug: false, context=context: {}, format=format: table, verify=verify: false, version=version: false, long=long: false, no-title=no-title: false, csar=csar: ./src/test/resources/VoLTE.csar}
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - OUTPUT: [code: [0x1002], message: [Missing. Entry [cookbooks]. The VNF Package MUST include all relevant cookbooks to be loaded on the ONAP Chef Server.], file: [CSAR Archive], line-no: [-1]]
+[main] INFO org.onap.cli.fw.cmd.OnapCommand - OUTPUT: [vnf: [{"name":null,"vendor":"Winery 0.1.37-SNAPSHOT","version":"1.0","type":"TOSCA","mode":"WITH_TOSCA_META_DIR"}], date: [Mon Mar 04 14:18:13 IST 2019], platform: [VNF Test Platform (VTP) 1.0], contact: [ONAP VTP Team onap-discuss@lists.onap.org], criteria: [FAILED], results: [[{"passed":true,"vnfreqName":"SOL004","description":"V2.4.1 (2018-02)","errors":[{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":6,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":7,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":9,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":10,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":12,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":13,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":15,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":16,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":18,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":19,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":21,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":22,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":24,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":25,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":27,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":28,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":30,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":31,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":33,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":34,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":36,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":37,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":39,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":40,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":42,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":43,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":45,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":46,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":48,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":49,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Name]","file":"TOSCA.meta","lineNumber":51,"errorCode":"0x1005"},{"code":"0x1005","subCode":null,"message":"Ignored. Entry [Content-Type]","file":"TOSCA.meta","lineNumber":52,"errorCode":"0x1005"}]},{"passed":false,"vnfreqName":"r02454","description":"The VNF MUST support the existence of multiple major/minor versions of the\n VNF software and/or sub-components and interfaces that support both forward\n and backward compatibility to be transparent to the Service Provider usage.\n","errors":[{"code":"0x1002","subCode":"r02454-0x1000","message":"Missing. Entry [Software Image]. The VNF MUST support the existence of multiple major/minor versions of the VNF software and/or sub-components and interfaces that support both forward and backward compatibility to be transparent to the Service Provider usage.","file":"ns2__VoLTE.yaml","lineNumber":-1,"errorCode":"r02454-0x1000"}]},{"passed":false,"vnfreqName":"r04298","description":"VNF provider MUST provider their testing scripts to support testing","errors":[{"code":"0x1002","subCode":"r04298-0x1000","message":"Missing. Entry [Tests]. The VNF provider MUST provide their testing scripts to support testing.","file":"CSAR Archive","lineNumber":-1,"errorCode":"r04298-0x1000"}]},{"passed":true,"vnfreqName":"r07879","description":"The VNF Package MUST include all relevant playbooks to ONAP to be loaded on the Ansible Server.","errors":[{"code":"0x1002","subCode":"r07879-0x1000","message":"Missing. Entry [playbooks]. The VNF Package MUST include all relevant playbooks to ONAP to be loaded on the Ansible Server.","file":"CSAR Archive","lineNumber":-1,"errorCode":"r07879-0x1000"}]},{"passed":false,"vnfreqName":"r09467","description":"The VNF MUST utilize only NCSP standard compute flavors. [5] - compute, virtual storage.","errors":[{"code":"0x1002","subCode":"r09467-0x1000","message":"Missing. Entry [Flavor]. The VNF MUST utilize only NCSP standard compute flavors. [5] - compute, virtual storage","file":"ns2__VoLTE.yaml","lineNumber":-1,"errorCode":"r09467-0x1000"}]},{"passed":true,"vnfreqName":"r13390","description":"The VNF provider MUST provide cookbooks to be loaded on the appropriate Chef Server.","errors":[{"code":"0x1002","subCode":"r13390-0x1000","message":"Missing. Entry [cookbooks]. The VNF provider MUST provide cookbooks to be loaded on the appropriate Chef Server.","file":"CSAR Archive","lineNumber":-1,"errorCode":"r13390-0x1000"}]},{"passed":false,"vnfreqName":"r23823","description":"The VNF Package MUST include appropriate credentials so that ONAP can interact with the Chef Server","errors":[{"code":"0x1002","subCode":"r23823-0x1000","message":"Missing. Entry [Certificates]. The VNF Package MUST include appropriate credentials so that ONAP can interact with the Chef Server","file":"CSAR Archive","lineNumber":-1,"errorCode":"r23823-0x1000"}]},{"passed":false,"vnfreqName":"r26881","description":"The VNF provider MUST provide the binaries and images needed to instantiate the VNF (VNF and VNFC images).","errors":[{"code":"0x1002","subCode":"r26881-0x1000","message":"Missing. Entry [Artifacts]. The VNF provider MUST provide the binaries and images needed to instantiate the VNF (VNF and VNFC images).","file":"CSAR Archive","lineNumber":-1,"errorCode":"r26881-0x1000"}]},{"passed":true,"vnfreqName":"r27310","description":"The VNF Package MUST include all relevant Chef artifacts (roles/cookbooks/recipes)\nrequired to execute VNF actions requested by ONAP for loading on appropriate Chef Server.\n","errors":[{"code":"0x1002","subCode":"r27310-0x1000","message":"Missing. Entry [cookbooks]. The VNF Package MUST include all relevant Chef artifacts (roles/cookbooks/recipes) required to execute VNF actions requested by ONAP for loading on appropriate Chef Server.","file":"CSAR Archive","lineNumber":-1,"errorCode":"r27310-0x1000"}]},{"passed":false,"vnfreqName":"r35851","description":"The VNF Package MUST include VNF topology that describes basic network and application\n connectivity internal and external to the VNF including Link type, KPIs, Bandwidth,\n latency, jitter, QoS (if applicable) for each interface.\n","errors":[{"code":"0x1002","subCode":"r35851-0x1000","message":"Missing. Entry [Topology VL]. The VNF Package MUST include VNF topology that describes basic network and application connectivity internal and external to the VNF including Link type, KPIs, Bandwidth, latency, jitter, QoS (if applicable) for each interface","file":"ns2__VoLTE.yaml","lineNumber":-1,"errorCode":"r35851-0x1000"}]},{"passed":true,"vnfreqName":"r40293","description":"The VNF MUST make available (or load on VNF Ansible Server) playbooks that conform to the ONAP requirement.","errors":[{"code":"0x1002","subCode":"r40293-0x1000","message":"Missing. Entry [playbooks]. The VNF MUST make available (or load on VNF Ansible Server) playbooks that conform to the ONAP requirement.","file":"CSAR Archive","lineNumber":-1,"errorCode":"r40293-0x1000"}]},{"passed":false,"vnfreqName":"r43958","description":"The VNF Package MUST include documentation describing the tests that were conducted by the VNF provider and the test results.","errors":[{"code":"0x1002","subCode":"r43958-0x1000","message":"Missing. Entry [Tests/report.txt]. The VNF Package MUST include documentation describing the tests that were conducted by the VNF provider and the test results.","file":"CSAR Archive","lineNumber":-1,"errorCode":"r43958-0x1000"}]},{"passed":true,"vnfreqName":"r66070","description":"The VNF Package MUST include VNF Identification Data to uniquely identify the\nresource for a given VNF provider. The identification data must include: an identifier\nfor the VNF, the name of the VNF as was given by the VNF provider, VNF description,\nVNF provider, and version\n","errors":[]},{"passed":true,"vnfreqName":"r77707","description":"VNF provider MUST include manifest file that contains a list of all the components in VNF package","errors":[]},{"passed":true,"vnfreqName":"r77786","description":"The VNF Package MUST include all relevant cookbooks to be loaded on the ONAP Chef Server.","errors":[{"code":"0x1002","subCode":"r77786-0x1000","message":"Missing. Entry [cookbooks]. The VNF Package MUST include all relevant cookbooks to be loaded on the ONAP Chef Server.","file":"CSAR Archive","lineNumber":-1,"errorCode":"r77786-0x1000"}]}]]]