From 54c4f708eee7e8f212865c41462ba31112fa264b Mon Sep 17 00:00:00 2001 From: Kanagaraj Manickam k00365106 Date: Fri, 15 Mar 2019 16:23:12 +0800 Subject: Add SOL001 test case place holder Issue-ID: VNFSDK-352 Change-Id: I8fc71d456054dc66bede1cc9f53f83e4e519f534 Signed-off-by: Kanagaraj Manickam k00365106 --- .gitignore | 1 + .../main/java/org/onap/cvc/csar/CSARArchive.java | 82 +++++++------- .../java/org/onap/cvc/csar/VTPValidateCSAR.java | 4 +- .../org/onap/cvc/csar/cc/VTPValidateCSARBase.java | 68 ++++++++++++ .../onap/cvc/csar/cc/VTPValidateCSARR02454.java | 119 -------------------- .../onap/cvc/csar/cc/VTPValidateCSARR04298.java | 81 -------------- .../onap/cvc/csar/cc/VTPValidateCSARR07879.java | 81 -------------- .../onap/cvc/csar/cc/VTPValidateCSARR09467.java | 114 -------------------- .../onap/cvc/csar/cc/VTPValidateCSARR13390.java | 81 -------------- .../onap/cvc/csar/cc/VTPValidateCSARR23823.java | 81 -------------- .../onap/cvc/csar/cc/VTPValidateCSARR26881.java | 81 -------------- .../onap/cvc/csar/cc/VTPValidateCSARR27310.java | 82 -------------- .../onap/cvc/csar/cc/VTPValidateCSARR35851.java | 120 --------------------- .../onap/cvc/csar/cc/VTPValidateCSARR40293.java | 81 -------------- .../onap/cvc/csar/cc/VTPValidateCSARR43958.java | 81 -------------- .../onap/cvc/csar/cc/VTPValidateCSARR66070.java | 85 --------------- .../onap/cvc/csar/cc/VTPValidateCSARR77707.java | 83 -------------- .../onap/cvc/csar/cc/VTPValidateCSARR77786.java | 81 -------------- .../cvc/csar/cc/sol001/VTPValidateCSARR09467.java | 69 ++++++++++++ .../cvc/csar/cc/sol001/VTPValidateCSARR15837.java | 36 +++++++ .../cvc/csar/cc/sol001/VTPValidateCSARR17852.java | 34 ++++++ .../cvc/csar/cc/sol001/VTPValidateCSARR32155.java | 36 +++++++ .../cvc/csar/cc/sol001/VTPValidateCSARR35851.java | 70 ++++++++++++ .../cvc/csar/cc/sol001/VTPValidateCSARR35854.java | 36 +++++++ .../cvc/csar/cc/sol001/VTPValidateCSARR46527.java | 35 ++++++ .../cvc/csar/cc/sol001/VTPValidateCSARR54356.java | 36 +++++++ .../cvc/csar/cc/sol001/VTPValidateCSARR65486.java | 36 +++++++ .../cvc/csar/cc/sol001/VTPValidateCSARR67895.java | 34 ++++++ .../cvc/csar/cc/sol001/VTPValidateCSARR95321.java | 36 +++++++ .../cvc/csar/cc/sol004/VTPValidateCSARR01123.java | 49 +++++++++ .../cvc/csar/cc/sol004/VTPValidateCSARR02454.java | 69 ++++++++++++ .../cvc/csar/cc/sol004/VTPValidateCSARR04298.java | 46 ++++++++ .../cvc/csar/cc/sol004/VTPValidateCSARR07879.java | 45 ++++++++ .../cvc/csar/cc/sol004/VTPValidateCSARR10087.java | 46 ++++++++ .../cvc/csar/cc/sol004/VTPValidateCSARR13390.java | 45 ++++++++ .../cvc/csar/cc/sol004/VTPValidateCSARR21322.java | 46 ++++++++ .../cvc/csar/cc/sol004/VTPValidateCSARR23823.java | 46 ++++++++ .../cvc/csar/cc/sol004/VTPValidateCSARR26881.java | 46 ++++++++ .../cvc/csar/cc/sol004/VTPValidateCSARR26885.java | 46 ++++++++ .../cvc/csar/cc/sol004/VTPValidateCSARR27310.java | 46 ++++++++ .../cvc/csar/cc/sol004/VTPValidateCSARR40293.java | 45 ++++++++ .../cvc/csar/cc/sol004/VTPValidateCSARR40820.java | 46 ++++++++ .../cvc/csar/cc/sol004/VTPValidateCSARR43958.java | 45 ++++++++ .../cvc/csar/cc/sol004/VTPValidateCSARR51347.java | 43 ++++++++ .../cvc/csar/cc/sol004/VTPValidateCSARR66070.java | 47 ++++++++ .../cvc/csar/cc/sol004/VTPValidateCSARR77707.java | 47 ++++++++ .../cvc/csar/cc/sol004/VTPValidateCSARR77786.java | 46 ++++++++ .../cvc/csar/cc/sol004/VTPValidateCSARR87234.java | 48 +++++++++ .../services/org.onap.cli.fw.cmd.OnapCommand | 44 +++++--- .../open-cli-schema/hot/vtp-validate-hot.yaml | 81 ++++++++++++++ .../obsolute/vtp-validate-csar-casablanca.yaml | 42 ++++++++ .../sol001/vtp-validate-csar-r09467.yaml | 53 +++++++++ .../sol001/vtp-validate-csar-r15837.yaml | 54 ++++++++++ .../sol001/vtp-validate-csar-r17852.yaml | 55 ++++++++++ .../sol001/vtp-validate-csar-r32155.yaml | 55 ++++++++++ .../sol001/vtp-validate-csar-r35851.yaml | 56 ++++++++++ .../sol001/vtp-validate-csar-r35854.yaml | 57 ++++++++++ .../sol001/vtp-validate-csar-r46527.yaml | 69 ++++++++++++ .../sol001/vtp-validate-csar-r54356.yaml | 55 ++++++++++ .../sol001/vtp-validate-csar-r65486.yaml | 55 ++++++++++ .../sol001/vtp-validate-csar-r67895.yaml | 55 ++++++++++ .../sol001/vtp-validate-csar-r95321.yaml | 55 ++++++++++ .../sol004/vtp-validate-csar-r01123.yaml | 60 +++++++++++ .../sol004/vtp-validate-csar-r02454.yaml | 56 ++++++++++ .../sol004/vtp-validate-csar-r04298.yaml | 53 +++++++++ .../sol004/vtp-validate-csar-r07879.yaml | 53 +++++++++ .../sol004/vtp-validate-csar-r10087.yaml | 56 ++++++++++ .../sol004/vtp-validate-csar-r13390.yaml | 53 +++++++++ .../sol004/vtp-validate-csar-r21322.yaml | 55 ++++++++++ .../sol004/vtp-validate-csar-r23823.yaml | 53 +++++++++ .../sol004/vtp-validate-csar-r26881.yaml | 53 +++++++++ .../sol004/vtp-validate-csar-r26885.yaml | 57 ++++++++++ .../sol004/vtp-validate-csar-r27310.yaml | 55 ++++++++++ .../sol004/vtp-validate-csar-r40293.yaml | 53 +++++++++ .../sol004/vtp-validate-csar-r40820.yaml | 55 ++++++++++ .../sol004/vtp-validate-csar-r43958.yaml | 53 +++++++++ .../sol004/vtp-validate-csar-r51347.yaml | 57 ++++++++++ .../sol004/vtp-validate-csar-r66070.yaml | 57 ++++++++++ .../sol004/vtp-validate-csar-r77707.yaml | 53 +++++++++ .../sol004/vtp-validate-csar-r77786.yaml | 53 +++++++++ .../sol004/vtp-validate-csar-r87234.yaml | 56 ++++++++++ .../vtp-validate-csar-casablanca.yaml | 42 -------- .../open-cli-schema/vtp-validate-csar-r02454.yaml | 56 ---------- .../open-cli-schema/vtp-validate-csar-r04298.yaml | 53 --------- .../open-cli-schema/vtp-validate-csar-r07879.yaml | 53 --------- .../open-cli-schema/vtp-validate-csar-r09467.yaml | 53 --------- .../open-cli-schema/vtp-validate-csar-r13390.yaml | 53 --------- .../open-cli-schema/vtp-validate-csar-r23823.yaml | 53 --------- .../open-cli-schema/vtp-validate-csar-r26881.yaml | 53 --------- .../open-cli-schema/vtp-validate-csar-r27310.yaml | 55 ---------- .../open-cli-schema/vtp-validate-csar-r35851.yaml | 56 ---------- .../open-cli-schema/vtp-validate-csar-r40293.yaml | 53 --------- .../open-cli-schema/vtp-validate-csar-r43958.yaml | 53 --------- .../open-cli-schema/vtp-validate-csar-r66070.yaml | 57 ---------- .../open-cli-schema/vtp-validate-csar-r77707.yaml | 53 --------- .../open-cli-schema/vtp-validate-csar-r77786.yaml | 53 --------- .../open-cli-schema/vtp-validate-csar.yaml | 2 +- .../open-cli-schema/vtp-validate-hot.yaml | 81 -------------- .../src/main/resources/vnfreqs.properties | 2 +- 99 files changed, 3283 insertions(+), 2186 deletions(-) create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARBase.java delete mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR02454.java delete mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR04298.java delete mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR07879.java delete mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR09467.java delete mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR13390.java delete mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR23823.java delete mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR26881.java delete mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR27310.java delete mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR35851.java delete mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR40293.java delete mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR43958.java delete mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR66070.java delete mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR77707.java delete mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR77786.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR09467.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR15837.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR17852.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR32155.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR35851.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR35854.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR46527.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR54356.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR65486.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR67895.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR95321.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR01123.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR02454.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR04298.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR07879.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR10087.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR13390.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR21322.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR23823.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR26881.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR26885.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR27310.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR40293.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR40820.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR43958.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR51347.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR66070.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR77707.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR77786.java create mode 100644 csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR87234.java create mode 100644 csarvalidation/src/main/resources/open-cli-schema/hot/vtp-validate-hot.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/obsolute/vtp-validate-csar-casablanca.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r09467.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r15837.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r17852.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r32155.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r35851.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r35854.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r46527.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r54356.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r65486.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r67895.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r95321.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r01123.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r02454.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r04298.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r07879.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r10087.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r13390.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r21322.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r23823.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r26881.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r26885.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r27310.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r40293.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r40820.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r43958.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r51347.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r66070.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r77707.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r77786.yaml create mode 100644 csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r87234.yaml delete mode 100644 csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-casablanca.yaml delete mode 100644 csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r02454.yaml delete mode 100644 csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r04298.yaml delete mode 100644 csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r07879.yaml delete mode 100644 csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r09467.yaml delete mode 100644 csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r13390.yaml delete mode 100644 csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r23823.yaml delete mode 100644 csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r26881.yaml delete mode 100644 csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r27310.yaml delete mode 100644 csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r35851.yaml delete mode 100644 csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r40293.yaml delete mode 100644 csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r43958.yaml delete mode 100644 csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r66070.yaml delete mode 100644 csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r77707.yaml delete mode 100644 csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r77786.yaml delete mode 100644 csarvalidation/src/main/resources/open-cli-schema/vtp-validate-hot.yaml diff --git a/.gitignore b/.gitignore index e3af7a9..89c60b9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ bin/ target/ tmp/ +data/ coverage-report/ .project .settings diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/CSARArchive.java b/csarvalidation/src/main/java/org/onap/cvc/csar/CSARArchive.java index c8f16e5..e94ff88 100644 --- a/csarvalidation/src/main/java/org/onap/cvc/csar/CSARArchive.java +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/CSARArchive.java @@ -135,9 +135,9 @@ public class CSARArchive { this.code = code; } - private String code; + private String vnfreqNo; - private String subCode; + private String code; protected String message = ""; @@ -177,6 +177,14 @@ public class CSARArchive { this.lineNumber = lineNumber; } + public String getVnfreqNo() { + return this.vnfreqNo; + } + + public void setVnfreqNo(String no) { + this.vnfreqNo = no; + } + public String toString() { try { return new ObjectMapper().writeValueAsString(this); @@ -185,22 +193,6 @@ public class CSARArchive { return "{}"; } } - - public String getSubCode() { - return subCode; - } - - public void setSubCode(String subCode) { - this.subCode = subCode; - } - - public String getErrorCode() { - if (this.getSubCode() != null) { - return this.getSubCode(); - } - - return this.getCode(); - } } public static class CSARErrorInvalidEntry extends CSARError { @@ -217,6 +209,11 @@ public class CSARArchive { public static class CSARErrorInvalidEntryValue extends CSARError { public CSARErrorInvalidEntryValue(String entry, String file, int lineNo, String message, String validValues) { + this(entry, file, message, validValues); + this.lineNumber = lineNo; + } + + public CSARErrorInvalidEntryValue(String entry, String file, String message, String validValues) { super("0x1001"); this.message = "Invalid value. Entry [" + entry + "]"; if (validValues != null) { @@ -228,7 +225,6 @@ public class CSARArchive { } this.file = file; - this.lineNumber = lineNo; } } @@ -242,6 +238,12 @@ public class CSARArchive { this.file = file; this.lineNumber = lineNo; } + + public CSARErrorEntryMissing(String entry, String file) { + super("0x1002"); + this.message = "Missing. Entry [" + entry + "]"; + this.file = file; + } } @@ -317,7 +319,7 @@ public class CSARArchive { definitionYaml, -1, null); - this.setSubCode("0x001"); + this.setCode("0x001"); } } @@ -329,7 +331,7 @@ public class CSARArchive { null, Entry_Definition__tosca_definitions_version__simple_1_1); - this.setSubCode("0x0002"); + this.setCode("0x0002"); } } @@ -341,7 +343,7 @@ public class CSARArchive { -1, null); - this.setSubCode("0x0003"); + this.setCode("0x0003"); } } @@ -353,7 +355,7 @@ public class CSARArchive { -1, null); - this.setSubCode("0x0004"); + this.setCode("0x0004"); } } @@ -365,7 +367,7 @@ public class CSARArchive { -1, null); - this.setSubCode("0x0005"); + this.setCode("0x0005"); } } @@ -377,7 +379,7 @@ public class CSARArchive { definitionYaml + " does not exist", null); - this.setSubCode("0x0006"); + this.setCode("0x0006"); } } @@ -389,7 +391,7 @@ public class CSARArchive { manifest + " does not exist", null); - this.setSubCode("0x0007"); + this.setCode("0x0007"); } } @@ -401,7 +403,7 @@ public class CSARArchive { logs + " does not exist", null); - this.setSubCode("0x0008"); + this.setCode("0x0008"); } } @@ -413,7 +415,7 @@ public class CSARArchive { tests + " folder does not exist", null); - this.setSubCode("0x0009"); + this.setCode("0x0009"); } } @@ -425,7 +427,7 @@ public class CSARArchive { license + " does not exist", null); - this.setSubCode("0x000a"); + this.setCode("0x000a"); } } @@ -437,7 +439,7 @@ public class CSARArchive { certificate + " does not exist", null); - this.setSubCode("0x000b"); + this.setCode("0x000b"); } } @@ -448,7 +450,7 @@ public class CSARArchive { -1, null); - this.setSubCode("0x000c"); + this.setCode("0x000c"); } } @@ -459,7 +461,7 @@ public class CSARArchive { -1, null); - this.setSubCode("0x000d"); + this.setCode("0x000d"); } } @@ -470,7 +472,7 @@ public class CSARArchive { -1, null); - this.setSubCode("0x000e"); + this.setCode("0x000e"); } } @@ -481,7 +483,7 @@ public class CSARArchive { -1, null); - this.setSubCode("0x000f"); + this.setCode("0x000f"); } } @@ -492,7 +494,7 @@ public class CSARArchive { -1, null); - this.setSubCode("0x0010"); + this.setCode("0x0010"); } } @@ -504,7 +506,7 @@ public class CSARArchive { "Only one definition YAML should be provided at the root of the archive", fileNames); - this.setSubCode("0x0011"); + this.setCode("0x0011"); } } @@ -517,7 +519,7 @@ public class CSARArchive { "Only one manifest MF file should be provided at the root of the archive", fileNames); - this.setSubCode("0x0012"); + this.setCode("0x0012"); } } @@ -530,7 +532,7 @@ public class CSARArchive { definitionYaml + ".mf", //fix the name part manifest); - this.setSubCode("0x0013"); + this.setCode("0x0013"); } } @@ -542,7 +544,7 @@ public class CSARArchive { "Only one certificates file should be provided at the root of the archive", fileNames); - this.setSubCode("0x0014"); + this.setCode("0x0014"); } } @@ -555,7 +557,7 @@ public class CSARArchive { definitionYaml + ".cert", //fix the name part certificate); - this.setSubCode("0x0015"); + this.setCode("0x0015"); } } 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 c480332..6a8e3bd 100644 --- a/csarvalidation/src/main/java/org/onap/cvc/csar/VTPValidateCSAR.java +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/VTPValidateCSAR.java @@ -210,7 +210,7 @@ public class VTPValidateCSAR extends OnapCommand { resultSOL004.setPassed(true); for (CSARError error: resultSOL004.getErrors()) { - if (!ignoreCodes.contains(error.getErrorCode())) { + if (!ignoreCodes.contains(error.getCode())) { resultSOL004.setPassed(false); overallPass = false; break; @@ -236,7 +236,7 @@ public class VTPValidateCSAR extends OnapCommand { result.setPassed(true); for (CSARError error: result.getErrors()) { - if (!ignoreCodes.contains(error.getErrorCode())) { + if (!ignoreCodes.contains(error.getCode())) { result.setPassed(false); overallPass = false; break; diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARBase.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARBase.java new file mode 100644 index 0000000..d07884d --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARBase.java @@ -0,0 +1,68 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc; + +import java.util.ArrayList; +import java.util.List; + +import org.onap.cli.fw.cmd.OnapCommand; +import org.onap.cli.fw.error.OnapCommandException; +import org.onap.cli.fw.error.OnapCommandExecutionFailed; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.CSARArchive.CSARError; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public abstract class VTPValidateCSARBase extends OnapCommand { + protected static final Logger LOG = LoggerFactory.getLogger(VTPValidateCSARBase.class); + + protected abstract void validateCSAR(CSARArchive csar) throws Exception; + + protected abstract String getVnfReqsNo(); + + protected List errors = new ArrayList<>(); + + @Override + protected void run() throws OnapCommandException { + //Read the input arguments + String path = (String) getParametersMap().get("csar").getValue(); + + //execute + try { + CSARArchive csar = new CSARArchive(); + csar.init(path); + csar.parse(); + + this.validateCSAR(csar); + + csar.cleanup(); + } catch (Exception e) { + LOG.error(this.getVnfReqsNo() + ": Failed to validate CSAR" , e); + throw new OnapCommandExecutionFailed(e.getMessage()); + } + + for (CSARError e: this.errors) { + e.setVnfreqNo(this.getVnfReqsNo()); + this.getResult().getRecordsMap().get("code").getValues().add(this.getVnfReqsNo() + "-" + e.getCode()); + this.getResult().getRecordsMap().get("message").getValues().add(e.getMessage()); + this.getResult().getRecordsMap().get("file").getValues().add(e.getFile()); + this.getResult().getRecordsMap().get("line-no").getValues().add(Integer.toString(e.getLineNumber())); + } + + this.getResult().setOutput(this.errors); + } +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR02454.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR02454.java deleted file mode 100644 index c77db76..0000000 --- a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR02454.java +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Copyright 2017 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.onap.cvc.csar.cc; - -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -import org.onap.cli.fw.cmd.OnapCommand; -import org.onap.cli.fw.error.OnapCommandException; -import org.onap.cli.fw.error.OnapCommandExecutionFailed; -import org.onap.cli.fw.schema.OnapCommandSchema; -import org.onap.cvc.csar.CSARArchive; -import org.onap.cvc.csar.CSARArchive.CSARError; -import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.yaml.snakeyaml.Yaml; - -/** - * R-02454: 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. - */ -@OnapCommandSchema(schema = "vtp-validate-csar-r02454.yaml") -public class VTPValidateCSARR02454 extends OnapCommand { - private static final Logger LOG = LoggerFactory.getLogger(VTPValidateCSARR02454.class); - - public static class CSARErrorEntryMissingSwImage extends CSARErrorEntryMissing { - public CSARErrorEntryMissingSwImage(String defYaml, String entry) { - super( - entry, - defYaml, - -1, - "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."); - this.setSubCode("r02454-0x1000"); - } - } - - private List validate(CSARArchive csar) throws FileNotFoundException, IOException { - List errors = new ArrayList<>(); - - try(FileInputStream ipStream = new FileInputStream(csar.getDefinitionYamlFile())) { - Map yaml = (Map) new Yaml().load(ipStream); - yaml = (Map) yaml.get("topology_template"); - Map nodeTmpls = (Map) yaml.get("node_templates"); - - boolean vlExist = false; - - for (Object nodeO: nodeTmpls.values()) { - Map node = (Map) nodeO; - if (node.containsKey("type")) { - String type = (String)node.get("type"); - if (type.equalsIgnoreCase("tosca.artifacts.nfv.SwImage")) { - vlExist = true; - break; - } - } - } - - if (!vlExist) - errors.add(new CSARErrorEntryMissingSwImage( - csar.getDefinitionYamlFile().getName(), - "Software Image")); - } - - return errors; - } - - @Override - protected void run() throws OnapCommandException { - //Read the input arguments - String path = (String) getParametersMap().get("csar").getValue(); - List errors = new ArrayList<>(); - //execute - try { - CSARArchive csar = new CSARArchive(); - csar.init(path); - csar.parse(); - - errors = this.validate(csar); - - csar.cleanup(); - } catch (Exception e) { - LOG.error("R-02454: ", e); - throw new OnapCommandExecutionFailed(e.getMessage()); - } - - this.getResult().setOutput(errors); - - //set the result - for (CSARError e: errors) { - this.getResult().getRecordsMap().get("code").getValues().add(e.getCode()); - this.getResult().getRecordsMap().get("message").getValues().add(e.getMessage()); - this.getResult().getRecordsMap().get("file").getValues().add(e.getFile()); - this.getResult().getRecordsMap().get("line-no").getValues().add(Integer.toString(e.getLineNumber())); - } - } -} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR04298.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR04298.java deleted file mode 100644 index 3c2ffd5..0000000 --- a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR04298.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright 2017 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.onap.cvc.csar.cc; - -import java.util.ArrayList; -import java.util.List; - -import org.onap.cli.fw.cmd.OnapCommand; -import org.onap.cli.fw.error.OnapCommandException; -import org.onap.cli.fw.error.OnapCommandExecutionFailed; -import org.onap.cli.fw.schema.OnapCommandSchema; -import org.onap.cvc.csar.CSARArchive; -import org.onap.cvc.csar.CSARArchive.CSARError; -import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * R-04298: VNF provider MUST provider their testing scripts to support testing. - */ -@OnapCommandSchema(schema = "vtp-validate-csar-r04298.yaml") -public class VTPValidateCSARR04298 extends OnapCommand { - private static final Logger LOG = LoggerFactory.getLogger(VTPValidateCSARR04298.class); - - public static class CSARErrorEntryMissingTestFolderNotFound extends CSARErrorEntryMissing { - public CSARErrorEntryMissingTestFolderNotFound() { - super( - "Tests", - CSARArchive.CSAR_Archive, - -1, - "The VNF provider MUST provide their testing scripts to support testing."); - this.setSubCode("r04298-0x1000"); - } - } - - @Override - protected void run() throws OnapCommandException { - //Read the input arguments - String path = (String) getParametersMap().get("csar").getValue(); - List errors = new ArrayList<>(); - //execute - try { - CSARArchive csar = new CSARArchive(); - csar.init(path); - csar.parse(); - - if (csar.getTestsFolder() == null) { - errors.add(new CSARErrorEntryMissingTestFolderNotFound()); - } - - csar.cleanup(); - } catch (Exception e) { - LOG.error("R-04298: ", e); - throw new OnapCommandExecutionFailed(e.getMessage()); - } - - this.getResult().setOutput(errors); - - //set the result - for (CSARError e: errors) { - this.getResult().getRecordsMap().get("code").getValues().add(e.getCode()); - this.getResult().getRecordsMap().get("message").getValues().add(e.getMessage()); - this.getResult().getRecordsMap().get("file").getValues().add(e.getFile()); - this.getResult().getRecordsMap().get("line-no").getValues().add(Integer.toString(e.getLineNumber())); - } - } -} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR07879.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR07879.java deleted file mode 100644 index 8f975cc..0000000 --- a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR07879.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright 2017 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.onap.cvc.csar.cc; - -import java.util.ArrayList; -import java.util.List; - -import org.onap.cli.fw.cmd.OnapCommand; -import org.onap.cli.fw.error.OnapCommandException; -import org.onap.cli.fw.error.OnapCommandExecutionFailed; -import org.onap.cli.fw.schema.OnapCommandSchema; -import org.onap.cvc.csar.CSARArchive; -import org.onap.cvc.csar.CSARArchive.CSARError; -import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * R-07879: playbooks directory - */ -@OnapCommandSchema(schema = "vtp-validate-csar-r07879.yaml") -public class VTPValidateCSARR07879 extends OnapCommand { - private static final Logger LOG = LoggerFactory.getLogger(VTPValidateCSARR07879.class); - - public static class CSARErrorEntryMissingAnsiblePlaybookNotFound extends CSARErrorEntryMissing { - public CSARErrorEntryMissingAnsiblePlaybookNotFound() { - super( - "playbooks", - CSARArchive.CSAR_Archive, - -1, - "The VNF Package MUST include all relevant playbooks to ONAP to be loaded on the Ansible Server."); - this.setSubCode("r07879-0x1000"); - } - } - - @Override - protected void run() throws OnapCommandException { - //Read the input arguments - String path = (String) getParametersMap().get("csar").getValue(); - List errors = new ArrayList<>(); - //execute - try { - CSARArchive csar = new CSARArchive(); - csar.init(path); - csar.parse(); - - if (!csar.getFileFromCsar("playbooks").exists()) { - errors.add(new CSARErrorEntryMissingAnsiblePlaybookNotFound()); - } - - csar.cleanup(); - } catch (Exception e) { - LOG.error("R-07879: ", e); - throw new OnapCommandExecutionFailed(e.getMessage()); - } - - this.getResult().setOutput(errors); - - //set the result - for (CSARError e: errors) { - this.getResult().getRecordsMap().get("code").getValues().add(e.getCode()); - this.getResult().getRecordsMap().get("message").getValues().add(e.getMessage()); - this.getResult().getRecordsMap().get("file").getValues().add(e.getFile()); - this.getResult().getRecordsMap().get("line-no").getValues().add(Integer.toString(e.getLineNumber())); - } - } -} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR09467.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR09467.java deleted file mode 100644 index 8ce3a23..0000000 --- a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR09467.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright 2017 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.onap.cvc.csar.cc; - -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -import org.onap.cli.fw.cmd.OnapCommand; -import org.onap.cli.fw.error.OnapCommandException; -import org.onap.cli.fw.error.OnapCommandExecutionFailed; -import org.onap.cli.fw.schema.OnapCommandSchema; -import org.onap.cvc.csar.CSARArchive; -import org.onap.cvc.csar.CSARArchive.CSARError; -import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.yaml.snakeyaml.Yaml; - -/** - * R-09467: The VNF MUST utilize only NCSP standard compute flavors. [5] - compute, virtual storage - */ -@OnapCommandSchema(schema = "vtp-validate-csar-r09467.yaml") -public class VTPValidateCSARR09467 extends OnapCommand { - private static final Logger LOG = LoggerFactory.getLogger(VTPValidateCSARR09467.class); - - public static class CSARErrorEntryMissingFlavor extends CSARErrorEntryMissing { - public CSARErrorEntryMissingFlavor(String defYaml, String entry) { - super( - entry, - defYaml, - -1, - "The VNF MUST utilize only NCSP standard compute flavors. [5] - compute, virtual storage"); - this.setSubCode("r09467-0x1000"); - } - } - - private List validate(CSARArchive csar) throws FileNotFoundException, IOException { - List errors = new ArrayList<>(); - - try(FileInputStream ipStream = new FileInputStream(csar.getDefinitionYamlFile())) { - Map yaml = (Map) new Yaml().load(ipStream); - yaml = (Map) yaml.get("topology_template"); - Map nodeTmpls = (Map) yaml.get("node_templates"); - - boolean vlExist = false; - - for (Object nodeO: nodeTmpls.values()) { - Map node = (Map) nodeO; - if (node.containsKey("type")) { - String type = (String)node.get("type"); - if (type.equalsIgnoreCase("tosca.nodes.nfv.VDU.Compute")) { - vlExist = true; - break; - } - } - } - - if (!vlExist) - errors.add(new CSARErrorEntryMissingFlavor( - csar.getDefinitionYamlFile().getName(), - "Flavor")); - } - - return errors; - } - - @Override - protected void run() throws OnapCommandException { - //Read the input arguments - String path = (String) getParametersMap().get("csar").getValue(); - List errors = new ArrayList<>(); - //execute - try { - CSARArchive csar = new CSARArchive(); - csar.init(path); - csar.parse(); - - errors = this.validate(csar); - - csar.cleanup(); - } catch (Exception e) { - LOG.error("R-09467: ", e); - throw new OnapCommandExecutionFailed(e.getMessage()); - } - - this.getResult().setOutput(errors); - - //set the result - for (CSARError e: errors) { - this.getResult().getRecordsMap().get("code").getValues().add(e.getCode()); - this.getResult().getRecordsMap().get("message").getValues().add(e.getMessage()); - this.getResult().getRecordsMap().get("file").getValues().add(e.getFile()); - this.getResult().getRecordsMap().get("line-no").getValues().add(Integer.toString(e.getLineNumber())); - } - } -} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR13390.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR13390.java deleted file mode 100644 index 6c44ee6..0000000 --- a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR13390.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright 2017 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.onap.cvc.csar.cc; - -import java.util.ArrayList; -import java.util.List; - -import org.onap.cli.fw.cmd.OnapCommand; -import org.onap.cli.fw.error.OnapCommandException; -import org.onap.cli.fw.error.OnapCommandExecutionFailed; -import org.onap.cli.fw.schema.OnapCommandSchema; -import org.onap.cvc.csar.CSARArchive; -import org.onap.cvc.csar.CSARArchive.CSARError; -import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * R-r13390: cookbooks directory - */ -@OnapCommandSchema(schema = "vtp-validate-csar-r13390.yaml") -public class VTPValidateCSARR13390 extends OnapCommand { - private static final Logger LOG = LoggerFactory.getLogger(VTPValidateCSARR13390.class); - - public static class CSARErrorEntryMissingAnsiblePlaybookNotFound extends CSARErrorEntryMissing { - public CSARErrorEntryMissingAnsiblePlaybookNotFound() { - super( - "cookbooks", - CSARArchive.CSAR_Archive, - -1, - "The VNF provider MUST provide cookbooks to be loaded on the appropriate Chef Server."); - this.setSubCode("r13390-0x1000"); - } - } - - @Override - protected void run() throws OnapCommandException { - //Read the input arguments - String path = (String) getParametersMap().get("csar").getValue(); - List errors = new ArrayList<>(); - //execute - try { - CSARArchive csar = new CSARArchive(); - csar.init(path); - csar.parse(); - - if (!csar.getFileFromCsar("playbooks").exists()) { - errors.add(new CSARErrorEntryMissingAnsiblePlaybookNotFound()); - } - - csar.cleanup(); - } catch (Exception e) { - LOG.error("R-13390: ", e); - throw new OnapCommandExecutionFailed(e.getMessage()); - } - - this.getResult().setOutput(errors); - - //set the result - for (CSARError e: errors) { - this.getResult().getRecordsMap().get("code").getValues().add(e.getCode()); - this.getResult().getRecordsMap().get("message").getValues().add(e.getMessage()); - this.getResult().getRecordsMap().get("file").getValues().add(e.getFile()); - this.getResult().getRecordsMap().get("line-no").getValues().add(Integer.toString(e.getLineNumber())); - } - } -} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR23823.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR23823.java deleted file mode 100644 index f8a0385..0000000 --- a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR23823.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright 2017 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.onap.cvc.csar.cc; - -import java.util.ArrayList; -import java.util.List; - -import org.onap.cli.fw.cmd.OnapCommand; -import org.onap.cli.fw.error.OnapCommandException; -import org.onap.cli.fw.error.OnapCommandExecutionFailed; -import org.onap.cli.fw.schema.OnapCommandSchema; -import org.onap.cvc.csar.CSARArchive; -import org.onap.cvc.csar.CSARArchive.CSARError; -import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * R-04298: VNF provider MUST provider their testing scripts to support testing. - */ -@OnapCommandSchema(schema = "vtp-validate-csar-r23823.yaml") -public class VTPValidateCSARR23823 extends OnapCommand { - private static final Logger LOG = LoggerFactory.getLogger(VTPValidateCSARR23823.class); - - public static class CSARErrorEntryMissingCertificatesNotFound extends CSARErrorEntryMissing { - public CSARErrorEntryMissingCertificatesNotFound() { - super( - "Certificates", - CSARArchive.CSAR_Archive, - -1, - "The VNF Package MUST include appropriate credentials so that ONAP can interact with the Chef Server"); - this.setSubCode("r23823-0x1000"); - } - } - - @Override - protected void run() throws OnapCommandException { - //Read the input arguments - String path = (String) getParametersMap().get("csar").getValue(); - List errors = new ArrayList<>(); - //execute - try { - CSARArchive csar = new CSARArchive(); - csar.init(path); - csar.parse(); - - if (csar.getCertificatesFile() == null) { - errors.add(new CSARErrorEntryMissingCertificatesNotFound()); - } - - csar.cleanup(); - } catch (Exception e) { - LOG.error("R-23823: ", e); - throw new OnapCommandExecutionFailed(e.getMessage()); - } - - this.getResult().setOutput(errors); - - //set the result - for (CSARError e: errors) { - this.getResult().getRecordsMap().get("code").getValues().add(e.getCode()); - this.getResult().getRecordsMap().get("message").getValues().add(e.getMessage()); - this.getResult().getRecordsMap().get("file").getValues().add(e.getFile()); - this.getResult().getRecordsMap().get("line-no").getValues().add(Integer.toString(e.getLineNumber())); - } - } -} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR26881.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR26881.java deleted file mode 100644 index e9efd38..0000000 --- a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR26881.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright 2017 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.onap.cvc.csar.cc; - -import java.util.ArrayList; -import java.util.List; - -import org.onap.cli.fw.cmd.OnapCommand; -import org.onap.cli.fw.error.OnapCommandException; -import org.onap.cli.fw.error.OnapCommandExecutionFailed; -import org.onap.cli.fw.schema.OnapCommandSchema; -import org.onap.cvc.csar.CSARArchive; -import org.onap.cvc.csar.CSARArchive.CSARError; -import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * R-26881: VNF artifacts - */ -@OnapCommandSchema(schema = "vtp-validate-csar-r26881.yaml") -public class VTPValidateCSARR26881 extends OnapCommand { - private static final Logger LOG = LoggerFactory.getLogger(VTPValidateCSARR26881.class); - - public static class CSARErrorEntryMissingArtifactsNotFound extends CSARErrorEntryMissing { - public CSARErrorEntryMissingArtifactsNotFound() { - super( - "Artifacts", - CSARArchive.CSAR_Archive, - -1, - "The VNF provider MUST provide the binaries and images needed to instantiate the VNF (VNF and VNFC images)."); - this.setSubCode("r26881-0x1000"); - } - } - - @Override - protected void run() throws OnapCommandException { - //Read the input arguments - String path = (String) getParametersMap().get("csar").getValue(); - List errors = new ArrayList<>(); - //execute - try { - CSARArchive csar = new CSARArchive(); - csar.init(path); - csar.parse(); - - if (!csar.getFileFromCsar("artifacts").exists()) { - errors.add(new CSARErrorEntryMissingArtifactsNotFound()); - } - - csar.cleanup(); - } catch (Exception e) { - LOG.error("R-26881: ", e); - throw new OnapCommandExecutionFailed(e.getMessage()); - } - - this.getResult().setOutput(errors); - - //set the result - for (CSARError e: errors) { - this.getResult().getRecordsMap().get("code").getValues().add(e.getCode()); - this.getResult().getRecordsMap().get("message").getValues().add(e.getMessage()); - this.getResult().getRecordsMap().get("file").getValues().add(e.getFile()); - this.getResult().getRecordsMap().get("line-no").getValues().add(Integer.toString(e.getLineNumber())); - } - } -} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR27310.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR27310.java deleted file mode 100644 index 7b2e25a..0000000 --- a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR27310.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright 2017 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.onap.cvc.csar.cc; - -import java.util.ArrayList; -import java.util.List; - -import org.onap.cli.fw.cmd.OnapCommand; -import org.onap.cli.fw.error.OnapCommandException; -import org.onap.cli.fw.error.OnapCommandExecutionFailed; -import org.onap.cli.fw.schema.OnapCommandSchema; -import org.onap.cvc.csar.CSARArchive; -import org.onap.cvc.csar.CSARArchive.CSARError; -import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * R-27310: Manifest file - */ -@OnapCommandSchema(schema = "vtp-validate-csar-r27310.yaml") -public class VTPValidateCSARR27310 extends OnapCommand { - private static final Logger LOG = LoggerFactory.getLogger(VTPValidateCSARR27310.class); - - public static class CSARErrorEntryMissingChefArtifactsNotFound extends CSARErrorEntryMissing { - public CSARErrorEntryMissingChefArtifactsNotFound() { - super( - "cookbooks", - CSARArchive.CSAR_Archive, - -1, - "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."); - this.setSubCode("r27310-0x1000"); - } - } - - @Override - protected void run() throws OnapCommandException { - //Read the input arguments - String path = (String) getParametersMap().get("csar").getValue(); - List errors = new ArrayList<>(); - //execute - try { - CSARArchive csar = new CSARArchive(); - csar.init(path); - csar.parse(); - - if (!csar.getFileFromCsar("cookbooks").exists()) { - errors.add(new CSARErrorEntryMissingChefArtifactsNotFound()); - } - - csar.cleanup(); - } catch (Exception e) { - LOG.error("R-27310: ", e); - throw new OnapCommandExecutionFailed(e.getMessage()); - } - - this.getResult().setOutput(errors); - - //set the result - for (CSARError e: errors) { - this.getResult().getRecordsMap().get("code").getValues().add(e.getCode()); - this.getResult().getRecordsMap().get("message").getValues().add(e.getMessage()); - this.getResult().getRecordsMap().get("file").getValues().add(e.getFile()); - this.getResult().getRecordsMap().get("line-no").getValues().add(Integer.toString(e.getLineNumber())); - } - } -} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR35851.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR35851.java deleted file mode 100644 index 068b372..0000000 --- a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR35851.java +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Copyright 2017 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.onap.cvc.csar.cc; - -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -import org.onap.cli.fw.cmd.OnapCommand; -import org.onap.cli.fw.error.OnapCommandException; -import org.onap.cli.fw.error.OnapCommandExecutionFailed; -import org.onap.cli.fw.schema.OnapCommandSchema; -import org.onap.cvc.csar.CSARArchive; -import org.onap.cvc.csar.CSARArchive.CSARError; -import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.yaml.snakeyaml.Yaml; - -/** - * R-35851: 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 - */ -@OnapCommandSchema(schema = "vtp-validate-csar-r35851.yaml") -public class VTPValidateCSARR35851 extends OnapCommand { - private static final Logger LOG = LoggerFactory.getLogger(VTPValidateCSARR35851.class); - - public static class CSARErrorEntryMissingDefinitionYamlTopology extends CSARErrorEntryMissing { - public CSARErrorEntryMissingDefinitionYamlTopology(String defYaml, String entry) { - super( - entry, - defYaml, - -1, - "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"); - this.setSubCode("r35851-0x1000"); - } - } - - private List validate(CSARArchive csar) throws FileNotFoundException, IOException { - List errors = new ArrayList<>(); - - try(FileInputStream ipStream = new FileInputStream(csar.getDefinitionYamlFile())) { - Map yaml = (Map) new Yaml().load(ipStream); - yaml = (Map) yaml.get("topology_template"); - Map nodeTmpls = (Map) yaml.get("node_templates"); - - boolean vlExist = false; - - for (Object nodeO: nodeTmpls.values()) { - Map node = (Map) nodeO; - if (node.containsKey("type")) { - String type = (String)node.get("type"); - if (type.equalsIgnoreCase("tosca.nodes.nfv.VnfVirtualLink")) { - vlExist = true; - break; - } - } - } - - if (!vlExist) - errors.add(new CSARErrorEntryMissingDefinitionYamlTopology( - csar.getDefinitionYamlFile().getName(), - "Topology VL")); - } - - return errors; - } - - @Override - protected void run() throws OnapCommandException { - //Read the input arguments - String path = (String) getParametersMap().get("csar").getValue(); - List errors = new ArrayList<>(); - //execute - try { - CSARArchive csar = new CSARArchive(); - csar.init(path); - csar.parse(); - - errors = this.validate(csar); - - csar.cleanup(); - } catch (Exception e) { - LOG.error("R-35851: ", e); - throw new OnapCommandExecutionFailed(e.getMessage()); - } - - this.getResult().setOutput(errors); - - //set the result - for (CSARError e: errors) { - this.getResult().getRecordsMap().get("code").getValues().add(e.getCode()); - this.getResult().getRecordsMap().get("message").getValues().add(e.getMessage()); - this.getResult().getRecordsMap().get("file").getValues().add(e.getFile()); - this.getResult().getRecordsMap().get("line-no").getValues().add(Integer.toString(e.getLineNumber())); - } - } -} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR40293.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR40293.java deleted file mode 100644 index eaf0710..0000000 --- a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR40293.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright 2017 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.onap.cvc.csar.cc; - -import java.util.ArrayList; -import java.util.List; - -import org.onap.cli.fw.cmd.OnapCommand; -import org.onap.cli.fw.error.OnapCommandException; -import org.onap.cli.fw.error.OnapCommandExecutionFailed; -import org.onap.cli.fw.schema.OnapCommandSchema; -import org.onap.cvc.csar.CSARArchive; -import org.onap.cvc.csar.CSARArchive.CSARError; -import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * R-r40293: playbooks directory - */ -@OnapCommandSchema(schema = "vtp-validate-csar-r40293.yaml") -public class VTPValidateCSARR40293 extends OnapCommand { - private static final Logger LOG = LoggerFactory.getLogger(VTPValidateCSARR40293.class); - - public static class CSARErrorEntryMissingAnsiblePlaybookNotFound extends CSARErrorEntryMissing { - public CSARErrorEntryMissingAnsiblePlaybookNotFound() { - super( - "playbooks", - CSARArchive.CSAR_Archive, - -1, - "The VNF MUST make available (or load on VNF Ansible Server) playbooks that conform to the ONAP requirement."); - this.setSubCode("r40293-0x1000"); - } - } - - @Override - protected void run() throws OnapCommandException { - //Read the input arguments - String path = (String) getParametersMap().get("csar").getValue(); - List errors = new ArrayList<>(); - //execute - try { - CSARArchive csar = new CSARArchive(); - csar.init(path); - csar.parse(); - - if (!csar.getFileFromCsar("playbooks").exists()) { - errors.add(new CSARErrorEntryMissingAnsiblePlaybookNotFound()); - } - - csar.cleanup(); - } catch (Exception e) { - LOG.error("R-40293: ", e); - throw new OnapCommandExecutionFailed(e.getMessage()); - } - - this.getResult().setOutput(errors); - - //set the result - for (CSARError e: errors) { - this.getResult().getRecordsMap().get("code").getValues().add(e.getCode()); - this.getResult().getRecordsMap().get("message").getValues().add(e.getMessage()); - this.getResult().getRecordsMap().get("file").getValues().add(e.getFile()); - this.getResult().getRecordsMap().get("line-no").getValues().add(Integer.toString(e.getLineNumber())); - } - } -} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR43958.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR43958.java deleted file mode 100644 index 10ae1c0..0000000 --- a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR43958.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright 2017 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.onap.cvc.csar.cc; - -import java.util.ArrayList; -import java.util.List; - -import org.onap.cli.fw.cmd.OnapCommand; -import org.onap.cli.fw.error.OnapCommandException; -import org.onap.cli.fw.error.OnapCommandExecutionFailed; -import org.onap.cli.fw.schema.OnapCommandSchema; -import org.onap.cvc.csar.CSARArchive; -import org.onap.cvc.csar.CSARArchive.CSARError; -import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * R-43958: Test reports - */ -@OnapCommandSchema(schema = "vtp-validate-csar-r43958.yaml") -public class VTPValidateCSARR43958 extends OnapCommand { - private static final Logger LOG = LoggerFactory.getLogger(VTPValidateCSARR43958.class); - - public static class CSARErrorEntryMissingTestReportNotFound extends CSARErrorEntryMissing { - public CSARErrorEntryMissingTestReportNotFound() { - super( - "Tests/report.txt", - CSARArchive.CSAR_Archive, - -1, - "The VNF Package MUST include documentation describing the tests that were conducted by the VNF provider and the test results."); - this.setSubCode("r43958-0x1000"); - } - } - - @Override - protected void run() throws OnapCommandException { - //Read the input arguments - String path = (String) getParametersMap().get("csar").getValue(); - List errors = new ArrayList<>(); - //execute - try { - CSARArchive csar = new CSARArchive(); - csar.init(path); - csar.parse(); - - if (!csar.getFileFromCsar("Tests/report.txt").exists()) { - errors.add(new CSARErrorEntryMissingTestReportNotFound()); - } - - csar.cleanup(); - } catch (Exception e) { - LOG.error("R-43958: ", e); - throw new OnapCommandExecutionFailed(e.getMessage()); - } - - this.getResult().setOutput(errors); - - //set the result - for (CSARError e: errors) { - this.getResult().getRecordsMap().get("code").getValues().add(e.getCode()); - this.getResult().getRecordsMap().get("message").getValues().add(e.getMessage()); - this.getResult().getRecordsMap().get("file").getValues().add(e.getFile()); - this.getResult().getRecordsMap().get("line-no").getValues().add(Integer.toString(e.getLineNumber())); - } - } -} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR66070.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR66070.java deleted file mode 100644 index 8d51c94..0000000 --- a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR66070.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright 2017 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.onap.cvc.csar.cc; - -import java.util.ArrayList; -import java.util.List; - -import org.onap.cli.fw.cmd.OnapCommand; -import org.onap.cli.fw.error.OnapCommandException; -import org.onap.cli.fw.error.OnapCommandExecutionFailed; -import org.onap.cli.fw.schema.OnapCommandSchema; -import org.onap.cvc.csar.CSARArchive; -import org.onap.cvc.csar.CSARArchive.CSARError; -import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * R-66070: VNF provider details - */ -@OnapCommandSchema(schema = "vtp-validate-csar-r66070.yaml") -public class VTPValidateCSARR66070 extends OnapCommand { - private static final Logger LOG = LoggerFactory.getLogger(VTPValidateCSARR66070.class); - - public static class CSARErrorEntryVNFProviderDetailsNotFound extends CSARErrorEntryMissing { - public CSARErrorEntryVNFProviderDetailsNotFound() { - super( - "VNF Vendor details", - CSARArchive.TOSCA_Metadata + " or " + CSARArchive.TOSCA_Metadata__TOSCA_Meta__Entry_Definitions + " file", - -1, - "The VNF Package MUST include VNF Identification Data to uniquely identify the" - + " resource for a given VNF provider. The identification data must include: " - + "an identifier for the VNF, the name of the VNF as was given by the VNF provider, " - + "VNF description, VNF provider, and version."); - this.setSubCode("r66070-0x1000"); - } - } - - @Override - protected void run() throws OnapCommandException { - //Read the input arguments - String path = (String) getParametersMap().get("csar").getValue(); - List errors = new ArrayList<>(); - //execute - try { - CSARArchive csar = new CSARArchive(); - csar.init(path); - csar.parse(); - - if (csar.getVendorName() == null || - csar.getVersion() == null) { - errors.add(new CSARErrorEntryVNFProviderDetailsNotFound()); - } - //do the validation - csar.cleanup(); - } catch (Exception e) { - LOG.error("R-66070: ", e); - throw new OnapCommandExecutionFailed(e.getMessage()); - } - - this.getResult().setOutput(errors); - - //set the result - for (CSARError e: errors) { - this.getResult().getRecordsMap().get("code").getValues().add(e.getCode()); - this.getResult().getRecordsMap().get("message").getValues().add(e.getMessage()); - this.getResult().getRecordsMap().get("file").getValues().add(e.getFile()); - this.getResult().getRecordsMap().get("line-no").getValues().add(Integer.toString(e.getLineNumber())); - } - } -} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR77707.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR77707.java deleted file mode 100644 index 9549e67..0000000 --- a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR77707.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright 2017 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.onap.cvc.csar.cc; - -import java.util.ArrayList; -import java.util.List; - -import org.onap.cli.fw.cmd.OnapCommand; -import org.onap.cli.fw.error.OnapCommandException; -import org.onap.cli.fw.error.OnapCommandExecutionFailed; -import org.onap.cli.fw.schema.OnapCommandSchema; -import org.onap.cvc.csar.CSARArchive; -import org.onap.cvc.csar.CSARArchive.CSARError; -import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * R-77707: Manifest file - */ -@OnapCommandSchema(schema = "vtp-validate-csar-r77707.yaml") -public class VTPValidateCSARR77707 extends OnapCommand { - private static final Logger LOG = LoggerFactory.getLogger(VTPValidateCSARR77707.class); - - public static class CSARErrorEntryMissingDefinitionNotFound extends CSARErrorEntryMissing { - public CSARErrorEntryMissingDefinitionNotFound() { - super( - "TOSCA definition or Tosca.Meata", - CSARArchive.CSAR_Archive, - -1, - "The VNF provider MUST include a Manifest File that contains a list " - + "of all the components in the VNF package."); - this.setSubCode("r77707-0x1000"); - } - } - - @Override - protected void run() throws OnapCommandException { - //Read the input arguments - String path = (String) getParametersMap().get("csar").getValue(); - List errors = new ArrayList<>(); - //execute - try { - CSARArchive csar = new CSARArchive(); - csar.init(path); - csar.parse(); - - if (csar.getToscaMeta().getEntryDefinitionYaml() == null || - csar.getDefinitionYamlFile() == null || !csar.getDefinitionYamlFile().exists()) { - errors.add(new CSARErrorEntryMissingDefinitionNotFound()); - } - - csar.cleanup(); - } catch (Exception e) { - LOG.error("R-77707: ", e); - throw new OnapCommandExecutionFailed(e.getMessage()); - } - - this.getResult().setOutput(errors); - - //set the result - for (CSARError e: errors) { - this.getResult().getRecordsMap().get("code").getValues().add(e.getCode()); - this.getResult().getRecordsMap().get("message").getValues().add(e.getMessage()); - this.getResult().getRecordsMap().get("file").getValues().add(e.getFile()); - this.getResult().getRecordsMap().get("line-no").getValues().add(Integer.toString(e.getLineNumber())); - } - } -} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR77786.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR77786.java deleted file mode 100644 index 1fa5a1f..0000000 --- a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/VTPValidateCSARR77786.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright 2017 Huawei Technologies Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.onap.cvc.csar.cc; - -import java.util.ArrayList; -import java.util.List; - -import org.onap.cli.fw.cmd.OnapCommand; -import org.onap.cli.fw.error.OnapCommandException; -import org.onap.cli.fw.error.OnapCommandExecutionFailed; -import org.onap.cli.fw.schema.OnapCommandSchema; -import org.onap.cvc.csar.CSARArchive; -import org.onap.cvc.csar.CSARArchive.CSARError; -import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * R-77786: cookbooks directory - */ -@OnapCommandSchema(schema = "vtp-validate-csar-r77786.yaml") -public class VTPValidateCSARR77786 extends OnapCommand { - private static final Logger LOG = LoggerFactory.getLogger(VTPValidateCSARR77786.class); - - public static class CSARErrorEntryMissingAnsiblePlaybookNotFound extends CSARErrorEntryMissing { - public CSARErrorEntryMissingAnsiblePlaybookNotFound() { - super( - "cookbooks", - CSARArchive.CSAR_Archive, - -1, - "The VNF Package MUST include all relevant cookbooks to be loaded on the ONAP Chef Server."); - this.setSubCode("r77786-0x1000"); - } - } - - @Override - protected void run() throws OnapCommandException { - //Read the input arguments - String path = (String) getParametersMap().get("csar").getValue(); - List errors = new ArrayList<>(); - //execute - try { - CSARArchive csar = new CSARArchive(); - csar.init(path); - csar.parse(); - - if (!csar.getFileFromCsar("playbooks").exists()) { - errors.add(new CSARErrorEntryMissingAnsiblePlaybookNotFound()); - } - - csar.cleanup(); - } catch (Exception e) { - LOG.error("R-77786: ", e); - throw new OnapCommandExecutionFailed(e.getMessage()); - } - - this.getResult().setOutput(errors); - - //set the result - for (CSARError e: errors) { - this.getResult().getRecordsMap().get("code").getValues().add(e.getCode()); - this.getResult().getRecordsMap().get("message").getValues().add(e.getMessage()); - this.getResult().getRecordsMap().get("file").getValues().add(e.getFile()); - this.getResult().getRecordsMap().get("line-no").getValues().add(Integer.toString(e.getLineNumber())); - } - } -} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR09467.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR09467.java new file mode 100644 index 0000000..cbacc35 --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR09467.java @@ -0,0 +1,69 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol001; + +import java.io.FileInputStream; +import java.util.Map; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; +import org.yaml.snakeyaml.Yaml; + +@OnapCommandSchema(schema = "vtp-validate-csar-r09467.yaml") +public class VTPValidateCSARR09467 extends VTPValidateCSARBase { + + public static class CSARErrorEntryMissingFlavor extends CSARErrorEntryMissing { + public CSARErrorEntryMissingFlavor(String defYaml, String entry) { + super(entry, defYaml); + this.setCode("0x1000"); + } + } + + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + try(FileInputStream ipStream = new FileInputStream(csar.getDefinitionYamlFile())) { + Map yaml = (Map) new Yaml().load(ipStream); + yaml = (Map) yaml.get("topology_template"); + Map nodeTmpls = (Map) yaml.get("node_templates"); + + boolean vlExist = false; + + for (Object nodeO: nodeTmpls.values()) { + Map node = (Map) nodeO; + if (node.containsKey("type")) { + String type = (String)node.get("type"); + if (type.equalsIgnoreCase("tosca.nodes.nfv.VDU.Compute")) { + vlExist = true; + break; + } + } + } + + if (!vlExist) + this.errors.add(new CSARErrorEntryMissingFlavor( + csar.getDefinitionYamlFile().getName(), + "Flavor")); + } + } + + @Override + protected String getVnfReqsNo() { + return "R09467"; + } +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR15837.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR15837.java new file mode 100644 index 0000000..e89bb85 --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR15837.java @@ -0,0 +1,36 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol001; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; + +@OnapCommandSchema(schema = "vtp-validate-csar-r15837.yaml") +public class VTPValidateCSARR15837 extends VTPValidateCSARBase { + + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + + } + + @Override + protected String getVnfReqsNo() { + return "R15837"; + } + +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR17852.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR17852.java new file mode 100644 index 0000000..96181fd --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR17852.java @@ -0,0 +1,34 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol001; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; + +@OnapCommandSchema(schema = "vtp-validate-csar-r17852.yaml") +public class VTPValidateCSARR17852 extends VTPValidateCSARBase { + + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + } + + @Override + protected String getVnfReqsNo() { + return "R17852"; + } +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR32155.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR32155.java new file mode 100644 index 0000000..fac261a --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR32155.java @@ -0,0 +1,36 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol001; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; + +@OnapCommandSchema(schema = "vtp-validate-csar-r32155.yaml") +public class VTPValidateCSARR32155 extends VTPValidateCSARBase { + + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + + } + + @Override + protected String getVnfReqsNo() { + return "R32155"; + } + +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR35851.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR35851.java new file mode 100644 index 0000000..6c7b3a6 --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR35851.java @@ -0,0 +1,70 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol001; + +import java.io.FileInputStream; +import java.util.Map; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; +import org.yaml.snakeyaml.Yaml; + +@OnapCommandSchema(schema = "vtp-validate-csar-r35851.yaml") +public class VTPValidateCSARR35851 extends VTPValidateCSARBase { + + public static class CSARErrorEntryMissingDefinitionYamlTopology extends CSARErrorEntryMissing { + public CSARErrorEntryMissingDefinitionYamlTopology(String defYaml, String entry) { + super(entry, defYaml); + this.setCode("0x1000"); + } + } + + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + try(FileInputStream ipStream = new FileInputStream(csar.getDefinitionYamlFile())) { + Map yaml = (Map) new Yaml().load(ipStream); + yaml = (Map) yaml.get("topology_template"); + Map nodeTmpls = (Map) yaml.get("node_templates"); + + boolean vlExist = false; + + for (Object nodeO: nodeTmpls.values()) { + Map node = (Map) nodeO; + if (node.containsKey("type")) { + String type = (String)node.get("type"); + if (type.equalsIgnoreCase("tosca.nodes.nfv.VnfVirtualLink")) { + vlExist = true; + break; + } + } + } + + if (!vlExist) + this.errors.add(new CSARErrorEntryMissingDefinitionYamlTopology( + csar.getDefinitionYamlFile().getName(), + "Topology VL")); + } + + } + + @Override + protected String getVnfReqsNo() { + return "R35851"; + } +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR35854.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR35854.java new file mode 100644 index 0000000..1b442cb --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR35854.java @@ -0,0 +1,36 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol001; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; + +@OnapCommandSchema(schema = "vtp-validate-csar-r35854.yaml") +public class VTPValidateCSARR35854 extends VTPValidateCSARBase { + + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + + } + + @Override + protected String getVnfReqsNo() { + return "R35854"; + } + +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR46527.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR46527.java new file mode 100644 index 0000000..bc680a3 --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR46527.java @@ -0,0 +1,35 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol001; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; + +@OnapCommandSchema(schema = "vtp-validate-csar-r46527.yaml") +public class VTPValidateCSARR46527 extends VTPValidateCSARBase { + + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + } + + @Override + protected String getVnfReqsNo() { + return "R46527"; + } + +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR54356.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR54356.java new file mode 100644 index 0000000..02f7b0d --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR54356.java @@ -0,0 +1,36 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol001; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; + +@OnapCommandSchema(schema = "vtp-validate-csar-r54356.yaml") +public class VTPValidateCSARR54356 extends VTPValidateCSARBase { + + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + + } + + @Override + protected String getVnfReqsNo() { + return "R54356"; + } + +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR65486.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR65486.java new file mode 100644 index 0000000..0f4f64d --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR65486.java @@ -0,0 +1,36 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol001; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; + +@OnapCommandSchema(schema = "vtp-validate-csar-r65486.yaml") +public class VTPValidateCSARR65486 extends VTPValidateCSARBase { + + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + + } + + @Override + protected String getVnfReqsNo() { + return "R65486"; + } + +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR67895.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR67895.java new file mode 100644 index 0000000..a45ba5e --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR67895.java @@ -0,0 +1,34 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol001; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; + +@OnapCommandSchema(schema = "vtp-validate-csar-r67895.yaml") +public class VTPValidateCSARR67895 extends VTPValidateCSARBase { + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + + } + + @Override + protected String getVnfReqsNo() { + return "R67895"; + } +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR95321.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR95321.java new file mode 100644 index 0000000..fd9b2d6 --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol001/VTPValidateCSARR95321.java @@ -0,0 +1,36 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol001; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; + +@OnapCommandSchema(schema = "vtp-validate-csar-r95321.yaml") +public class VTPValidateCSARR95321 extends VTPValidateCSARBase { + + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + + } + + @Override + protected String getVnfReqsNo() { + return "R95321"; + } + +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR01123.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR01123.java new file mode 100644 index 0000000..8fc216b --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR01123.java @@ -0,0 +1,49 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol004; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; + +@OnapCommandSchema(schema = "vtp-validate-csar-01123.yaml") +public class VTPValidateCSARR01123 extends VTPValidateCSARBase { + + public static class CSARErrorEntryVNFProviderDetailsNotFound extends CSARErrorEntryMissing { + public CSARErrorEntryVNFProviderDetailsNotFound() { + super("VNF Vendor details", + CSARArchive.TOSCA_Metadata + " or " + CSARArchive.TOSCA_Metadata__TOSCA_Meta__Entry_Definitions + " file"); + this.setCode("0x1000"); + } + } + + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + if (csar.getVendorName() == null || + csar.getVersion() == null) { + errors.add(new CSARErrorEntryVNFProviderDetailsNotFound()); + } + } + + @Override + protected String getVnfReqsNo() { + return "R01123"; + } + + +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR02454.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR02454.java new file mode 100644 index 0000000..14998f5 --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR02454.java @@ -0,0 +1,69 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol004; + +import java.io.FileInputStream; +import java.util.Map; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; +import org.yaml.snakeyaml.Yaml; + +@OnapCommandSchema(schema = "vtp-validate-csar-r02454.yaml") +public class VTPValidateCSARR02454 extends VTPValidateCSARBase { + + public static class CSARErrorEntryMissingSwImage extends CSARErrorEntryMissing { + public CSARErrorEntryMissingSwImage(String defYaml, String entry) { + super(entry, defYaml); + this.setCode("0x1000"); + } + } + + @Override + protected String getVnfReqsNo() { + return "R02454"; + } + + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + try(FileInputStream ipStream = new FileInputStream(csar.getDefinitionYamlFile())) { + Map yaml = (Map) new Yaml().load(ipStream); + yaml = (Map) yaml.get("topology_template"); + Map nodeTmpls = (Map) yaml.get("node_templates"); + + boolean vlExist = false; + + for (Object nodeO: nodeTmpls.values()) { + Map node = (Map) nodeO; + if (node.containsKey("type")) { + String type = (String)node.get("type"); + if (type.equalsIgnoreCase("tosca.artifacts.nfv.SwImage")) { + vlExist = true; + break; + } + } + } + + if (!vlExist) + this.errors.add(new CSARErrorEntryMissingSwImage( + csar.getDefinitionYamlFile().getName(), + "Software Image")); + } + } +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR04298.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR04298.java new file mode 100644 index 0000000..6503c54 --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR04298.java @@ -0,0 +1,46 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol004; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; + +@OnapCommandSchema(schema = "vtp-validate-csar-r04298.yaml") +public class VTPValidateCSARR04298 extends VTPValidateCSARBase { + + public static class CSARErrorEntryMissingTestFolderNotFound extends CSARErrorEntryMissing { + public CSARErrorEntryMissingTestFolderNotFound() { + super("Tests", CSARArchive.CSAR_Archive); + this.setCode("0x1000"); + } + } + + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + + if (csar.getTestsFolder() == null) { + this.errors.add(new CSARErrorEntryMissingTestFolderNotFound()); + } + } + + @Override + protected String getVnfReqsNo() { + return "R04298"; + } +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR07879.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR07879.java new file mode 100644 index 0000000..ad46620 --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR07879.java @@ -0,0 +1,45 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol004; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; + +@OnapCommandSchema(schema = "vtp-validate-csar-r07879.yaml") +public class VTPValidateCSARR07879 extends VTPValidateCSARBase { + + public static class CSARErrorEntryMissingAnsiblePlaybookNotFound extends CSARErrorEntryMissing { + public CSARErrorEntryMissingAnsiblePlaybookNotFound() { + super("playbooks", CSARArchive.CSAR_Archive); + this.setCode("0x1000"); + } + } + + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + if (!csar.getFileFromCsar("playbooks").exists()) { + this.errors.add(new CSARErrorEntryMissingAnsiblePlaybookNotFound()); + } + } + + @Override + protected String getVnfReqsNo() { + return "R07879"; + } +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR10087.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR10087.java new file mode 100644 index 0000000..31298fa --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR10087.java @@ -0,0 +1,46 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol004; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.CSARArchive.CSARError; +import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissingToscaDefinitionMetadataTemplateName; +import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissingToscaDefinitionNotFound; +import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissingToscaMetaDefinition; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; + +@OnapCommandSchema(schema = "vtp-validate-csar-r10087.yaml") +public class VTPValidateCSARR10087 extends VTPValidateCSARBase { + + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + + for (CSARError e : csar.getErrors()) { + if (e instanceof CSARErrorEntryMissingToscaMetaDefinition || + e instanceof CSARErrorEntryMissingToscaDefinitionNotFound || + e instanceof CSARErrorEntryMissingToscaDefinitionMetadataTemplateName) { + this.errors.add(e); + } + } + } + + @Override + protected String getVnfReqsNo() { + return "R10087"; + } +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR13390.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR13390.java new file mode 100644 index 0000000..17c3018 --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR13390.java @@ -0,0 +1,45 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol004; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; + +@OnapCommandSchema(schema = "vtp-validate-csar-r13390.yaml") +public class VTPValidateCSARR13390 extends VTPValidateCSARBase { + + public static class CSARErrorEntryMissingAnsiblePlaybookNotFound extends CSARErrorEntryMissing { + public CSARErrorEntryMissingAnsiblePlaybookNotFound() { + super("cookbooks", CSARArchive.CSAR_Archive); + this.setCode("0x1000"); + } + } + + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + if (!csar.getFileFromCsar("playbooks").exists()) { + this.errors.add(new CSARErrorEntryMissingAnsiblePlaybookNotFound()); + } + } + + @Override + protected String getVnfReqsNo() { + return "R13390"; + } +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR21322.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR21322.java new file mode 100644 index 0000000..9c0a791 --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR21322.java @@ -0,0 +1,46 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol004; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; + +@OnapCommandSchema(schema = "vtp-validate-csar-r21322.yaml") +public class VTPValidateCSARR21322 extends VTPValidateCSARBase { + + public static class CSARErrorEntryMissingTestFolderNotFound extends CSARErrorEntryMissing { + public CSARErrorEntryMissingTestFolderNotFound() { + super("Tests", CSARArchive.CSAR_Archive); + this.setCode("0x1000"); + } + } + + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + if (csar.getTestsFolder() == null) { + this.errors.add(new CSARErrorEntryMissingTestFolderNotFound()); + } + } + + @Override + protected String getVnfReqsNo() { + return "R21322"; + } + +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR23823.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR23823.java new file mode 100644 index 0000000..6919f28 --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR23823.java @@ -0,0 +1,46 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol004; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; + +@OnapCommandSchema(schema = "vtp-validate-csar-r23823.yaml") +public class VTPValidateCSARR23823 extends VTPValidateCSARBase { + + public static class CSARErrorEntryMissingCertificatesNotFound extends CSARErrorEntryMissing { + public CSARErrorEntryMissingCertificatesNotFound() { + super("Certificates", CSARArchive.CSAR_Archive); + this.setCode("0x1000"); + } + } + + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + if (csar.getCertificatesFile() == null) { + errors.add(new CSARErrorEntryMissingCertificatesNotFound()); + } + } + + @Override + protected String getVnfReqsNo() { + return "R23823"; + } + +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR26881.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR26881.java new file mode 100644 index 0000000..e036ce6 --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR26881.java @@ -0,0 +1,46 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol004; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; + +@OnapCommandSchema(schema = "vtp-validate-csar-r26881.yaml") +public class VTPValidateCSARR26881 extends VTPValidateCSARBase { + + public static class CSARErrorEntryMissingArtifactsNotFound extends CSARErrorEntryMissing { + public CSARErrorEntryMissingArtifactsNotFound() { + super("Artifacts", CSARArchive.CSAR_Archive); + this.setCode("0x1000"); + } + } + + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + if (!csar.getFileFromCsar("artifacts").exists()) { + errors.add(new CSARErrorEntryMissingArtifactsNotFound()); + } + } + + @Override + protected String getVnfReqsNo() { + return "R26881"; + } + +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR26885.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR26885.java new file mode 100644 index 0000000..97f2d3c --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR26885.java @@ -0,0 +1,46 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol004; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; + +@OnapCommandSchema(schema = "vtp-validate-csar-r26885.yaml") +public class VTPValidateCSARR26885 extends VTPValidateCSARBase { + + public static class CSARErrorEntryMissingArtifactImage extends CSARErrorEntryMissing { + public CSARErrorEntryMissingArtifactImage() { + super("Artifacts/VNF_Image.bin", CSARArchive.CSAR_Archive); + this.setCode("0x1000"); + } + } + + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + if (!csar.getFileFromCsar("Artifacts/VNF_Image.bin").exists()) { + this.errors.add(new CSARErrorEntryMissingArtifactImage()); + } + } + + @Override + protected String getVnfReqsNo() { + return "R26885"; + } + +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR27310.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR27310.java new file mode 100644 index 0000000..4c2210a --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR27310.java @@ -0,0 +1,46 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol004; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; + +@OnapCommandSchema(schema = "vtp-validate-csar-r27310.yaml") +public class VTPValidateCSARR27310 extends VTPValidateCSARBase { + + public static class CSARErrorEntryMissingChefArtifactsNotFound extends CSARErrorEntryMissing { + public CSARErrorEntryMissingChefArtifactsNotFound() { + super("cookbooks", CSARArchive.CSAR_Archive); + this.setCode("0x1000"); + } + } + + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + if (!csar.getFileFromCsar("cookbooks").exists()) { + errors.add(new CSARErrorEntryMissingChefArtifactsNotFound()); + } + } + + @Override + protected String getVnfReqsNo() { + return "R27310"; + } + +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR40293.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR40293.java new file mode 100644 index 0000000..7173156 --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR40293.java @@ -0,0 +1,45 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol004; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; + +@OnapCommandSchema(schema = "vtp-validate-csar-r40293.yaml") +public class VTPValidateCSARR40293 extends VTPValidateCSARBase { + + public static class CSARErrorEntryMissingAnsiblePlaybookNotFound extends CSARErrorEntryMissing { + public CSARErrorEntryMissingAnsiblePlaybookNotFound() { + super("playbooks", CSARArchive.CSAR_Archive); + this.setCode("0x1000"); + } + } + + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + if (!csar.getFileFromCsar("playbooks").exists()) { + errors.add(new CSARErrorEntryMissingAnsiblePlaybookNotFound()); + } + } + + @Override + protected String getVnfReqsNo() { + return "R40293"; + } +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR40820.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR40820.java new file mode 100644 index 0000000..99f180b --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR40820.java @@ -0,0 +1,46 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol004; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; + +@OnapCommandSchema(schema = "vtp-validate-csar-r40820.yaml") +public class VTPValidateCSARR40820 extends VTPValidateCSARBase { + + public static class CSARErrorEntryMissingLicenseTerm extends CSARErrorEntryMissing { + public CSARErrorEntryMissingLicenseTerm() { + super("Licenses/License_term.txt", CSARArchive.CSAR_Archive); + this.setCode("0x1000"); + } + } + + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + if (!csar.getFileFromCsar("Licenses/License_term.txt").exists()) { + this.errors.add(new CSARErrorEntryMissingLicenseTerm()); + } + } + + @Override + protected String getVnfReqsNo() { + return "R40820"; + } + +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR43958.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR43958.java new file mode 100644 index 0000000..0d42628 --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR43958.java @@ -0,0 +1,45 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol004; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; + +@OnapCommandSchema(schema = "vtp-validate-csar-r43958.yaml") +public class VTPValidateCSARR43958 extends VTPValidateCSARBase { + + public static class CSARErrorEntryMissingTestReportNotFound extends CSARErrorEntryMissing { + public CSARErrorEntryMissingTestReportNotFound() { + super("Tests/report.txt", CSARArchive.CSAR_Archive); + this.setCode("0x1000"); + } + } + + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + if (!csar.getFileFromCsar("Tests/report.txt").exists()) { + this.errors.add(new CSARErrorEntryMissingTestReportNotFound()); + } + } + + @Override + protected String getVnfReqsNo() { + return "R43958"; + } +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR51347.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR51347.java new file mode 100644 index 0000000..1a39e14 --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR51347.java @@ -0,0 +1,43 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol004; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.CSARArchive.CSARError; +import org.onap.cvc.csar.CSARArchive.CSARErrorInvalidEntryValueToscaDefinitionVersion; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; + +@OnapCommandSchema(schema = "vtp-validate-csar-r51347.yaml") +public class VTPValidateCSARR51347 extends VTPValidateCSARBase { + + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + for (CSARError e : csar.getErrors()) { + if (e instanceof CSARErrorInvalidEntryValueToscaDefinitionVersion) { + this.errors.add(e); + break; + } + } + } + + @Override + protected String getVnfReqsNo() { + return "R51347"; + } + +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR66070.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR66070.java new file mode 100644 index 0000000..1d5c3c5 --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR66070.java @@ -0,0 +1,47 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol004; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; + +@OnapCommandSchema(schema = "vtp-validate-csar-r66070.yaml") +public class VTPValidateCSARR66070 extends VTPValidateCSARBase { + + public static class CSARErrorEntryVNFProviderDetailsNotFound extends CSARErrorEntryMissing { + public CSARErrorEntryVNFProviderDetailsNotFound() { + super("VNF Vendor details", + CSARArchive.TOSCA_Metadata + " or " + CSARArchive.TOSCA_Metadata__TOSCA_Meta__Entry_Definitions + " file"); + this.setCode("0x1000"); + } + } + + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + if (csar.getVendorName() == null || + csar.getVersion() == null) { + errors.add(new CSARErrorEntryVNFProviderDetailsNotFound()); + } + } + + @Override + protected String getVnfReqsNo() { + return "R66070"; + } +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR77707.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR77707.java new file mode 100644 index 0000000..13ac502 --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR77707.java @@ -0,0 +1,47 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol004; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; + +@OnapCommandSchema(schema = "vtp-validate-csar-r77707.yaml") +public class VTPValidateCSARR77707 extends VTPValidateCSARBase { + + public static class CSARErrorEntryMissingDefinitionNotFound extends CSARErrorEntryMissing { + public CSARErrorEntryMissingDefinitionNotFound() { + super("TOSCA definition or Tosca.Meata", + CSARArchive.CSAR_Archive); + this.setCode("0x1000"); + } + } + + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + if (csar.getToscaMeta().getEntryDefinitionYaml() == null || + csar.getDefinitionYamlFile() == null || !csar.getDefinitionYamlFile().exists()) { + errors.add(new CSARErrorEntryMissingDefinitionNotFound()); + } + } + + @Override + protected String getVnfReqsNo() { + return "R77707"; + } +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR77786.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR77786.java new file mode 100644 index 0000000..efb258b --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR77786.java @@ -0,0 +1,46 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol004; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.CSARArchive.CSARErrorEntryMissing; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; + +@OnapCommandSchema(schema = "vtp-validate-csar-r77786.yaml") +public class VTPValidateCSARR77786 extends VTPValidateCSARBase { + + public static class CSARErrorEntryMissingAnsiblePlaybookNotFound extends CSARErrorEntryMissing { + public CSARErrorEntryMissingAnsiblePlaybookNotFound() { + super("cookbooks", + CSARArchive.CSAR_Archive); + this.setCode("0x1000"); + } + } + + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + if (!csar.getFileFromCsar("playbooks").exists()) { + errors.add(new CSARErrorEntryMissingAnsiblePlaybookNotFound()); + } + } + + @Override + protected String getVnfReqsNo() { + return "R77786"; + } +} diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR87234.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR87234.java new file mode 100644 index 0000000..6400012 --- /dev/null +++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR87234.java @@ -0,0 +1,48 @@ +/* + * Copyright 2017 Huawei Technologies Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.cvc.csar.cc.sol004; + +import org.onap.cli.fw.schema.OnapCommandSchema; +import org.onap.cvc.csar.CSARArchive; +import org.onap.cvc.csar.CSARArchive.CSARErrorInvalidEntryValue; +import org.onap.cvc.csar.cc.VTPValidateCSARBase; + +@OnapCommandSchema(schema = "vtp-validate-csar-r87234.yaml") +public class VTPValidateCSARR87234 extends VTPValidateCSARBase { + + public static class CSARErrorInvalidEntryValueNonToscaMetaNotSupported extends CSARErrorInvalidEntryValue { + public CSARErrorInvalidEntryValueNonToscaMetaNotSupported() { + super("CSAR Mode", "CSAR Archive", + "Only " + CSARArchive.Mode.WITH_TOSCA_META_DIR.name() + " mode is supported", + CSARArchive.Mode.WITH_TOSCA_META_DIR.name()); + this.setCode("0x1000"); + } + } + + @Override + protected void validateCSAR(CSARArchive csar) throws Exception { + if (!csar.getToscaMeta().getMode().name().equalsIgnoreCase(CSARArchive.Mode.WITH_TOSCA_META_DIR.name())) { + this.errors.add(new CSARErrorInvalidEntryValueNonToscaMetaNotSupported()); + } + } + + @Override + protected String getVnfReqsNo() { + return "R87234"; + } + +} diff --git a/csarvalidation/src/main/resources/META-INF/services/org.onap.cli.fw.cmd.OnapCommand b/csarvalidation/src/main/resources/META-INF/services/org.onap.cli.fw.cmd.OnapCommand index 5bcd3cc..d868756 100644 --- a/csarvalidation/src/main/resources/META-INF/services/org.onap.cli.fw.cmd.OnapCommand +++ b/csarvalidation/src/main/resources/META-INF/services/org.onap.cli.fw.cmd.OnapCommand @@ -13,17 +13,33 @@ # limitations under the License. org.onap.cvc.csar.VTPValidateCSAR -org.onap.cvc.csar.cc.VTPValidateCSARR02454 -org.onap.cvc.csar.cc.VTPValidateCSARR04298 -org.onap.cvc.csar.cc.VTPValidateCSARR07879 -org.onap.cvc.csar.cc.VTPValidateCSARR09467 -org.onap.cvc.csar.cc.VTPValidateCSARR13390 -org.onap.cvc.csar.cc.VTPValidateCSARR23823 -org.onap.cvc.csar.cc.VTPValidateCSARR26881 -org.onap.cvc.csar.cc.VTPValidateCSARR27310 -org.onap.cvc.csar.cc.VTPValidateCSARR35851 -org.onap.cvc.csar.cc.VTPValidateCSARR40293 -org.onap.cvc.csar.cc.VTPValidateCSARR43958 -org.onap.cvc.csar.cc.VTPValidateCSARR66070 -org.onap.cvc.csar.cc.VTPValidateCSARR77707 -org.onap.cvc.csar.cc.VTPValidateCSARR77786 \ No newline at end of file +org.onap.cvc.csar.cc.sol001.VTPValidateCSARR17852 +org.onap.cvc.csar.cc.sol001.VTPValidateCSARR09467 +org.onap.cvc.csar.cc.sol001.VTPValidateCSARR15837 +org.onap.cvc.csar.cc.sol001.VTPValidateCSARR32155 +org.onap.cvc.csar.cc.sol001.VTPValidateCSARR35851 +org.onap.cvc.csar.cc.sol001.VTPValidateCSARR35854 +org.onap.cvc.csar.cc.sol001.VTPValidateCSARR46527 +org.onap.cvc.csar.cc.sol001.VTPValidateCSARR54356 +org.onap.cvc.csar.cc.sol001.VTPValidateCSARR65486 +org.onap.cvc.csar.cc.sol001.VTPValidateCSARR67895 +org.onap.cvc.csar.cc.sol001.VTPValidateCSARR95321 +org.onap.cvc.csar.cc.sol004.VTPValidateCSARR01123 +org.onap.cvc.csar.cc.sol004.VTPValidateCSARR02454 +org.onap.cvc.csar.cc.sol004.VTPValidateCSARR04298 +org.onap.cvc.csar.cc.sol004.VTPValidateCSARR07879 +org.onap.cvc.csar.cc.sol004.VTPValidateCSARR13390 +org.onap.cvc.csar.cc.sol004.VTPValidateCSARR10087 +org.onap.cvc.csar.cc.sol004.VTPValidateCSARR21322 +org.onap.cvc.csar.cc.sol004.VTPValidateCSARR23823 +org.onap.cvc.csar.cc.sol004.VTPValidateCSARR26881 +org.onap.cvc.csar.cc.sol004.VTPValidateCSARR26885 +org.onap.cvc.csar.cc.sol004.VTPValidateCSARR27310 +org.onap.cvc.csar.cc.sol004.VTPValidateCSARR40293 +org.onap.cvc.csar.cc.sol004.VTPValidateCSARR40820 +org.onap.cvc.csar.cc.sol004.VTPValidateCSARR43958 +org.onap.cvc.csar.cc.sol004.VTPValidateCSARR51347 +org.onap.cvc.csar.cc.sol004.VTPValidateCSARR66070 +org.onap.cvc.csar.cc.sol004.VTPValidateCSARR77707 +org.onap.cvc.csar.cc.sol004.VTPValidateCSARR77786 +org.onap.cvc.csar.cc.sol004.VTPValidateCSARR87234 diff --git a/csarvalidation/src/main/resources/open-cli-schema/hot/vtp-validate-hot.yaml b/csarvalidation/src/main/resources/open-cli-schema/hot/vtp-validate-hot.yaml new file mode 100644 index 0000000..8eb0ef5 --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/hot/vtp-validate-hot.yaml @@ -0,0 +1,81 @@ +# Copyright 2019 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 +name: hot-validate +description: | + Validates the OpenStack heat templates using ONAP VNFREQS with help of VVP scripts + Before using this command, please install the VVP by following guidelines from + https://github.com/onap/vvp-validation-scripts#installation + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + type: cmd + +parameters: + - name: hot-folder + description: HOT folder path where VNF package files are kept + long_option: hot-folder + short_option: b + type: string + is_optional: false + - name: script-folder + description: Pytest script folder path + long_option: script-folder + default_value: $s{env:ONAP_VVP_HOME} + short_option: n + type: string + is_optional: false + +results: + direction: landscape + attributes: + - name: vnfrqts + description: vnfrqts identifiers + scope: short + type: string + - name: test + description: test case + scope: short + type: string + - name: template + description: template file + scope: short + type: string + - name: message + description: error message + scope: short + type: string +cmd: + command: + - pytest ${script-folder} --template-directory=${hot-folder} + success_codes: + - 0 + - 1 + - 2 + - 5 + pass_codes: + - 0 + - 2 + - 5 + working_directory: . + output: $s{file:${script-folder}/output/failures} + result_map: + vnfrqts: $o{$.*.vnfrqts} + test: $o{$.*.test} + template: $o{$.*.file} + message: $o{$.*.message} diff --git a/csarvalidation/src/main/resources/open-cli-schema/obsolute/vtp-validate-csar-casablanca.yaml b/csarvalidation/src/main/resources/open-cli-schema/obsolute/vtp-validate-csar-casablanca.yaml new file mode 100644 index 0000000..878eb67 --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/obsolute/vtp-validate-csar-casablanca.yaml @@ -0,0 +1,42 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-casablanca + +description: Validate CSAR package formats + +info: + product: onap-csablanca + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + ignore: true + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: error + description: Validation error details + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r09467.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r09467.yaml new file mode 100644 index 0000000..c43fb6a --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r09467.yaml @@ -0,0 +1,53 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r09467 + +description: The VNF MUST utilize only NCSP standard compute flavors. [5] - compute, virtual storage. + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r15837.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r15837.yaml new file mode 100644 index 0000000..586f4af --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r15837.yaml @@ -0,0 +1,54 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r15837 + +description: | + Major TOSCA Types specified in ETSI NFV-SOL001 standard draft. + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r17852.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r17852.yaml new file mode 100644 index 0000000..6626765 --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r17852.yaml @@ -0,0 +1,55 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r17852 + +description: | + The VNFD MAY include TOSCA/YAML definitions that are not part of NFV Profile. If provided, + these definitions MUST comply with TOSCA Simple Profile in YAML v.1.2. + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r32155.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r32155.yaml new file mode 100644 index 0000000..ac60d8b --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r32155.yaml @@ -0,0 +1,55 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r32155 + +description: | + The VNFD provided by VNF vendor may use the below described TOSCA interface types. + An on-boarding entity (ONAP SDC) MUST support them.. + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r35851.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r35851.yaml new file mode 100644 index 0000000..1e024c0 --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r35851.yaml @@ -0,0 +1,56 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r35851 + +description: | + 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. + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r35854.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r35854.yaml new file mode 100644 index 0000000..4a181e8 --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r35854.yaml @@ -0,0 +1,57 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r35854 + +description: | + The VNF Descriptor (VNFD) provided by VNF vendor MUST comply with TOSCA/YAML based Service template + for VNF descriptor specified in ETSI NFV-SOL001. + Note: As the ETSI NFV-SOL001 is work in progress the below tables summarizes the TOSCA definitions + agreed to be part of current version of NFV profile and that VNFD MUST comply with in ONAP Release 2+ Requirements. + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r46527.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r46527.yaml new file mode 100644 index 0000000..951f562 --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r46527.yaml @@ -0,0 +1,69 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r17852 + +description: | + A VNFD is a deployment template which describes a VNF in terms of deployment and operational + behavior requirements. It contains virtualized resources (nodes) requirements as well as connectivity + and interfaces requirements and MUST comply with info elements specified in ETSI GS NFV-IFA 011. + The main parts of the VNFD are the following: + VNF topology: it is modeled in a cloud agnostic way using virtualized containers and their connectivity. + Virtual Deployment Units (VDU) describe the capabilities of the virtualized containers, such as virtual + CPU, RAM, disks; their connectivity is modeled with VDU Connection Point Descriptors (VduCpd), + Virtual Link Descriptors (VnfVld) and VNF External Connection Point Descriptors (VnfExternalCpd); + VNF deployment aspects: they are described in one or more deployment flavours, including configurable + parameters, instantiation levels, placement constraints (affinity / antiaffinity), minimum and maximum + VDU instance numbers. Horizontal scaling is modeled with scaling aspects and the respective scaling levels + in the deployment flavours; + Note: The deployment aspects (deployment flavour etc.) are postponed for future ONAP releases. + VNF lifecycle management (LCM) operations: describes the LCM operations supported per deployment flavour, + and their input parameters; Note, thatthe actual LCM implementation resides in a different layer, namely + referring to additional template artifacts. + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r54356.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r54356.yaml new file mode 100644 index 0000000..ae724a5 --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r54356.yaml @@ -0,0 +1,55 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r54356 + +description: | + Data types used by NFV node and is based on TOSCA/YAML constructs specified in draft GS NFV-SOL 001. + The node data definitions/attributes used in VNFD MUST comply. + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r65486.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r65486.yaml new file mode 100644 index 0000000..4c3a04b --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r65486.yaml @@ -0,0 +1,55 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r65486 + +description: | + The VNFD MUST comply with ETSI GS NFV-SOL001 document endorsing the above mentioned NFV Profile and + maintaining the gaps with the requirements specified in ETSI GS NFV-IFA011 standard. + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r67895.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r67895.yaml new file mode 100644 index 0000000..f7fc466 --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r67895.yaml @@ -0,0 +1,55 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r67895 + +description: | + The VNFD provided by VNF vendor may use the below described TOSCA capabilities. + An on-boarding entity (ONAP SDC) MUST support them. + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r95321.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r95321.yaml new file mode 100644 index 0000000..e605d0f --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol001/vtp-validate-csar-r95321.yaml @@ -0,0 +1,55 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r95321 + +description: | + The VNFD provided by VNF vendor may use the below described TOSCA relationships. + An on-boarding entity (ONAP SDC) MUST support them. + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r01123.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r01123.yaml new file mode 100644 index 0000000..043fff2 --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r01123.yaml @@ -0,0 +1,60 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r01123 + +description: | + The VNF package Manifest file MUST contain: VNF package meta-data, a list of all artifacts + (both internal and external) entry’s including their respected URI’s, an algorithm to calculate + a digest and a digest result calculated on the content of each artifacts, as specified in + ETSI GS NFV-SOL004. The VNF Package MUST include VNF Identification Data to uniquely + identify the resource for a given VNF provider. The identification data must include: + an identifier for the VNF, the name of the VNF as was given by the VNF provider, VNF + description, VNF provider, and version. + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r02454.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r02454.yaml new file mode 100644 index 0000000..03d395d --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r02454.yaml @@ -0,0 +1,56 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r02454 + +description: | + 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. + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r04298.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r04298.yaml new file mode 100644 index 0000000..ecbdbcc --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r04298.yaml @@ -0,0 +1,53 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r04298 + +description: VNF provider MUST provider their testing scripts to support testing + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r07879.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r07879.yaml new file mode 100644 index 0000000..3118f89 --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r07879.yaml @@ -0,0 +1,53 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r07879 + +description: The VNF Package MUST include all relevant playbooks to ONAP to be loaded on the Ansible Server. + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r10087.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r10087.yaml new file mode 100644 index 0000000..3428842 --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r10087.yaml @@ -0,0 +1,56 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r10087 + +description: | + The VNF package MUST contain all standard artifacts as specified in ETSI GS NFV-SOL004 including + Manifest file, VNFD (or Main TOSCA/YAML based Service Template) and other optional artifacts. + CSAR Manifest file as per SOL004 - for example ROOT\ MainServiceTemplate.mf + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r13390.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r13390.yaml new file mode 100644 index 0000000..de07c97 --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r13390.yaml @@ -0,0 +1,53 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r13390 + +description: The VNF provider MUST provide cookbooks to be loaded on the appropriate Chef Server. + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r21322.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r21322.yaml new file mode 100644 index 0000000..684c876 --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r21322.yaml @@ -0,0 +1,55 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r21322 + +description: | + The VNF provider MUST provide their testing scripts to support testing as specified in ETSI NFV-SOL004 - + Testing directory in CSAR. + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r23823.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r23823.yaml new file mode 100644 index 0000000..e504da1 --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r23823.yaml @@ -0,0 +1,53 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r23823 + +description: The VNF Package MUST include appropriate credentials so that ONAP can interact with the Chef Server + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r26881.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r26881.yaml new file mode 100644 index 0000000..1a7a19b --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r26881.yaml @@ -0,0 +1,53 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r26881 + +description: The VNF provider MUST provide the binaries and images needed to instantiate the VNF (VNF and VNFC images). + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r26885.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r26885.yaml new file mode 100644 index 0000000..5209792 --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r26885.yaml @@ -0,0 +1,57 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r10087 + +description: | + The VNF provider MUST provide the binaries and images needed to instantiate the VNF (VNF and VNFC images) either as: + Local artifact in CSAR: ROOT\Artifacts\ VNF_Image.bin + externally referred (by URI) artifact in Manifest file (also may be referred by VNF Descriptor) + Note: Currently, ONAP doesn’t have the capability of Image management, we upload the image into VIM/VNFM manually. + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r27310.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r27310.yaml new file mode 100644 index 0000000..156c20d --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r27310.yaml @@ -0,0 +1,55 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r27310 + +description: | + 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. + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r40293.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r40293.yaml new file mode 100644 index 0000000..2e0e652 --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r40293.yaml @@ -0,0 +1,53 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r40293 + +description: The VNF MUST make available (or load on VNF Ansible Server) playbooks that conform to the ONAP requirement. + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r40820.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r40820.yaml new file mode 100644 index 0000000..fd4a4ea --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r40820.yaml @@ -0,0 +1,55 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r40820 + +description: | + The VNF provider MUST enumerate all of the open source licenses their VNF(s) incorporate. CSAR License + directory as per ETSI SOL004. for example ROOT\Licenses\ License_term.txt + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r43958.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r43958.yaml new file mode 100644 index 0000000..aaef65a --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r43958.yaml @@ -0,0 +1,53 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r43958 + +description: The VNF Package MUST include documentation describing the tests that were conducted by the VNF provider and the test results. + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r51347.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r51347.yaml new file mode 100644 index 0000000..45d8e92 --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r51347.yaml @@ -0,0 +1,57 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r51347 + +description: | + The VNF package MUST be arranged as a CSAR archive as specified in TOSCA Simple Profile in YAML 1.2. + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + metadata: + keyword: MUST + introduced: casablanca + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r66070.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r66070.yaml new file mode 100644 index 0000000..d5bd847 --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r66070.yaml @@ -0,0 +1,57 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r66070 + +description: | + The VNF Package MUST include VNF Identification Data to uniquely identify the + resource for a given VNF provider. The identification data must include: an identifier + for the VNF, the name of the VNF as was given by the VNF provider, VNF description, + VNF provider, and version + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r77707.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r77707.yaml new file mode 100644 index 0000000..7f213d7 --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r77707.yaml @@ -0,0 +1,53 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r77707 + +description: VNF provider MUST include manifest file that contains a list of all the components in VNF package + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r77786.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r77786.yaml new file mode 100644 index 0000000..787225a --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r77786.yaml @@ -0,0 +1,53 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r77786 + +description: The VNF Package MUST include all relevant cookbooks to be loaded on the ONAP Chef Server. + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r87234.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r87234.yaml new file mode 100644 index 0000000..01d45bf --- /dev/null +++ b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r87234.yaml @@ -0,0 +1,56 @@ +# Copyright 2018 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +open_cli_schema_version: 1.0 + +name: csar-validate-r87234 + +description: | + The VNF package provided by a VNF vendor MAY be either with TOSCA-Metadata directory (CSAR Option 1) + or without TOSCA-Metadata directory (CSAR Option 2) as specified in ETSI GS NFV-SOL004. On-boarding entity + (ONAP SDC) must support both options. + +info: + product: onap-vtp + version: 1.0 + service: validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: csar + description: CSAR file path + long_option: csar + short_option: b + type: binary + is_optional: false + +results: + direction: landscape + attributes: + - name: code + description: Error code + scope: short + type: string + - name: message + description: Error message + scope: short + type: string + - name: file + description: File in which error occured + scope: short + type: string + - name: line-no + description: Line no at which error occured + scope: short + type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-casablanca.yaml b/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-casablanca.yaml deleted file mode 100644 index 878eb67..0000000 --- a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-casablanca.yaml +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright 2018 Huawei Technologies Co., Ltd. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -open_cli_schema_version: 1.0 - -name: csar-validate-casablanca - -description: Validate CSAR package formats - -info: - product: onap-csablanca - version: 1.0 - service: validation - author: ONAP VTP Team onap-discuss@lists.onap.org - ignore: true - -parameters: - - name: csar - description: CSAR file path - long_option: csar - short_option: b - type: binary - is_optional: false - -results: - direction: landscape - attributes: - - name: error - description: Validation error details - scope: short - type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r02454.yaml b/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r02454.yaml deleted file mode 100644 index 03d395d..0000000 --- a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r02454.yaml +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright 2018 Huawei Technologies Co., Ltd. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -open_cli_schema_version: 1.0 - -name: csar-validate-r02454 - -description: | - 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. - -info: - product: onap-vtp - version: 1.0 - service: validation - author: ONAP VTP Team onap-discuss@lists.onap.org - -parameters: - - name: csar - description: CSAR file path - long_option: csar - short_option: b - type: binary - is_optional: false - -results: - direction: landscape - attributes: - - name: code - description: Error code - scope: short - type: string - - name: message - description: Error message - scope: short - type: string - - name: file - description: File in which error occured - scope: short - type: string - - name: line-no - description: Line no at which error occured - scope: short - type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r04298.yaml b/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r04298.yaml deleted file mode 100644 index ecbdbcc..0000000 --- a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r04298.yaml +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 2018 Huawei Technologies Co., Ltd. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -open_cli_schema_version: 1.0 - -name: csar-validate-r04298 - -description: VNF provider MUST provider their testing scripts to support testing - -info: - product: onap-vtp - version: 1.0 - service: validation - author: ONAP VTP Team onap-discuss@lists.onap.org - -parameters: - - name: csar - description: CSAR file path - long_option: csar - short_option: b - type: binary - is_optional: false - -results: - direction: landscape - attributes: - - name: code - description: Error code - scope: short - type: string - - name: message - description: Error message - scope: short - type: string - - name: file - description: File in which error occured - scope: short - type: string - - name: line-no - description: Line no at which error occured - scope: short - type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r07879.yaml b/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r07879.yaml deleted file mode 100644 index 3118f89..0000000 --- a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r07879.yaml +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 2018 Huawei Technologies Co., Ltd. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -open_cli_schema_version: 1.0 - -name: csar-validate-r07879 - -description: The VNF Package MUST include all relevant playbooks to ONAP to be loaded on the Ansible Server. - -info: - product: onap-vtp - version: 1.0 - service: validation - author: ONAP VTP Team onap-discuss@lists.onap.org - -parameters: - - name: csar - description: CSAR file path - long_option: csar - short_option: b - type: binary - is_optional: false - -results: - direction: landscape - attributes: - - name: code - description: Error code - scope: short - type: string - - name: message - description: Error message - scope: short - type: string - - name: file - description: File in which error occured - scope: short - type: string - - name: line-no - description: Line no at which error occured - scope: short - type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r09467.yaml b/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r09467.yaml deleted file mode 100644 index c43fb6a..0000000 --- a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r09467.yaml +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 2018 Huawei Technologies Co., Ltd. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -open_cli_schema_version: 1.0 - -name: csar-validate-r09467 - -description: The VNF MUST utilize only NCSP standard compute flavors. [5] - compute, virtual storage. - -info: - product: onap-vtp - version: 1.0 - service: validation - author: ONAP VTP Team onap-discuss@lists.onap.org - -parameters: - - name: csar - description: CSAR file path - long_option: csar - short_option: b - type: binary - is_optional: false - -results: - direction: landscape - attributes: - - name: code - description: Error code - scope: short - type: string - - name: message - description: Error message - scope: short - type: string - - name: file - description: File in which error occured - scope: short - type: string - - name: line-no - description: Line no at which error occured - scope: short - type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r13390.yaml b/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r13390.yaml deleted file mode 100644 index de07c97..0000000 --- a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r13390.yaml +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 2018 Huawei Technologies Co., Ltd. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -open_cli_schema_version: 1.0 - -name: csar-validate-r13390 - -description: The VNF provider MUST provide cookbooks to be loaded on the appropriate Chef Server. - -info: - product: onap-vtp - version: 1.0 - service: validation - author: ONAP VTP Team onap-discuss@lists.onap.org - -parameters: - - name: csar - description: CSAR file path - long_option: csar - short_option: b - type: binary - is_optional: false - -results: - direction: landscape - attributes: - - name: code - description: Error code - scope: short - type: string - - name: message - description: Error message - scope: short - type: string - - name: file - description: File in which error occured - scope: short - type: string - - name: line-no - description: Line no at which error occured - scope: short - type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r23823.yaml b/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r23823.yaml deleted file mode 100644 index e504da1..0000000 --- a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r23823.yaml +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 2018 Huawei Technologies Co., Ltd. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -open_cli_schema_version: 1.0 - -name: csar-validate-r23823 - -description: The VNF Package MUST include appropriate credentials so that ONAP can interact with the Chef Server - -info: - product: onap-vtp - version: 1.0 - service: validation - author: ONAP VTP Team onap-discuss@lists.onap.org - -parameters: - - name: csar - description: CSAR file path - long_option: csar - short_option: b - type: binary - is_optional: false - -results: - direction: landscape - attributes: - - name: code - description: Error code - scope: short - type: string - - name: message - description: Error message - scope: short - type: string - - name: file - description: File in which error occured - scope: short - type: string - - name: line-no - description: Line no at which error occured - scope: short - type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r26881.yaml b/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r26881.yaml deleted file mode 100644 index 1a7a19b..0000000 --- a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r26881.yaml +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 2018 Huawei Technologies Co., Ltd. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -open_cli_schema_version: 1.0 - -name: csar-validate-r26881 - -description: The VNF provider MUST provide the binaries and images needed to instantiate the VNF (VNF and VNFC images). - -info: - product: onap-vtp - version: 1.0 - service: validation - author: ONAP VTP Team onap-discuss@lists.onap.org - -parameters: - - name: csar - description: CSAR file path - long_option: csar - short_option: b - type: binary - is_optional: false - -results: - direction: landscape - attributes: - - name: code - description: Error code - scope: short - type: string - - name: message - description: Error message - scope: short - type: string - - name: file - description: File in which error occured - scope: short - type: string - - name: line-no - description: Line no at which error occured - scope: short - type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r27310.yaml b/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r27310.yaml deleted file mode 100644 index 156c20d..0000000 --- a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r27310.yaml +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 2018 Huawei Technologies Co., Ltd. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -open_cli_schema_version: 1.0 - -name: csar-validate-r27310 - -description: | - 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. - -info: - product: onap-vtp - version: 1.0 - service: validation - author: ONAP VTP Team onap-discuss@lists.onap.org - -parameters: - - name: csar - description: CSAR file path - long_option: csar - short_option: b - type: binary - is_optional: false - -results: - direction: landscape - attributes: - - name: code - description: Error code - scope: short - type: string - - name: message - description: Error message - scope: short - type: string - - name: file - description: File in which error occured - scope: short - type: string - - name: line-no - description: Line no at which error occured - scope: short - type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r35851.yaml b/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r35851.yaml deleted file mode 100644 index 1e024c0..0000000 --- a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r35851.yaml +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright 2018 Huawei Technologies Co., Ltd. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -open_cli_schema_version: 1.0 - -name: csar-validate-r35851 - -description: | - 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. - -info: - product: onap-vtp - version: 1.0 - service: validation - author: ONAP VTP Team onap-discuss@lists.onap.org - -parameters: - - name: csar - description: CSAR file path - long_option: csar - short_option: b - type: binary - is_optional: false - -results: - direction: landscape - attributes: - - name: code - description: Error code - scope: short - type: string - - name: message - description: Error message - scope: short - type: string - - name: file - description: File in which error occured - scope: short - type: string - - name: line-no - description: Line no at which error occured - scope: short - type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r40293.yaml b/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r40293.yaml deleted file mode 100644 index 2e0e652..0000000 --- a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r40293.yaml +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 2018 Huawei Technologies Co., Ltd. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -open_cli_schema_version: 1.0 - -name: csar-validate-r40293 - -description: The VNF MUST make available (or load on VNF Ansible Server) playbooks that conform to the ONAP requirement. - -info: - product: onap-vtp - version: 1.0 - service: validation - author: ONAP VTP Team onap-discuss@lists.onap.org - -parameters: - - name: csar - description: CSAR file path - long_option: csar - short_option: b - type: binary - is_optional: false - -results: - direction: landscape - attributes: - - name: code - description: Error code - scope: short - type: string - - name: message - description: Error message - scope: short - type: string - - name: file - description: File in which error occured - scope: short - type: string - - name: line-no - description: Line no at which error occured - scope: short - type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r43958.yaml b/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r43958.yaml deleted file mode 100644 index aaef65a..0000000 --- a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r43958.yaml +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 2018 Huawei Technologies Co., Ltd. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -open_cli_schema_version: 1.0 - -name: csar-validate-r43958 - -description: The VNF Package MUST include documentation describing the tests that were conducted by the VNF provider and the test results. - -info: - product: onap-vtp - version: 1.0 - service: validation - author: ONAP VTP Team onap-discuss@lists.onap.org - -parameters: - - name: csar - description: CSAR file path - long_option: csar - short_option: b - type: binary - is_optional: false - -results: - direction: landscape - attributes: - - name: code - description: Error code - scope: short - type: string - - name: message - description: Error message - scope: short - type: string - - name: file - description: File in which error occured - scope: short - type: string - - name: line-no - description: Line no at which error occured - scope: short - type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r66070.yaml b/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r66070.yaml deleted file mode 100644 index d5bd847..0000000 --- a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r66070.yaml +++ /dev/null @@ -1,57 +0,0 @@ -# Copyright 2018 Huawei Technologies Co., Ltd. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -open_cli_schema_version: 1.0 - -name: csar-validate-r66070 - -description: | - The VNF Package MUST include VNF Identification Data to uniquely identify the - resource for a given VNF provider. The identification data must include: an identifier - for the VNF, the name of the VNF as was given by the VNF provider, VNF description, - VNF provider, and version - -info: - product: onap-vtp - version: 1.0 - service: validation - author: ONAP VTP Team onap-discuss@lists.onap.org - -parameters: - - name: csar - description: CSAR file path - long_option: csar - short_option: b - type: binary - is_optional: false - -results: - direction: landscape - attributes: - - name: code - description: Error code - scope: short - type: string - - name: message - description: Error message - scope: short - type: string - - name: file - description: File in which error occured - scope: short - type: string - - name: line-no - description: Line no at which error occured - scope: short - type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r77707.yaml b/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r77707.yaml deleted file mode 100644 index 7f213d7..0000000 --- a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r77707.yaml +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 2018 Huawei Technologies Co., Ltd. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -open_cli_schema_version: 1.0 - -name: csar-validate-r77707 - -description: VNF provider MUST include manifest file that contains a list of all the components in VNF package - -info: - product: onap-vtp - version: 1.0 - service: validation - author: ONAP VTP Team onap-discuss@lists.onap.org - -parameters: - - name: csar - description: CSAR file path - long_option: csar - short_option: b - type: binary - is_optional: false - -results: - direction: landscape - attributes: - - name: code - description: Error code - scope: short - type: string - - name: message - description: Error message - scope: short - type: string - - name: file - description: File in which error occured - scope: short - type: string - - name: line-no - description: Line no at which error occured - scope: short - type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r77786.yaml b/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r77786.yaml deleted file mode 100644 index 787225a..0000000 --- a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar-r77786.yaml +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 2018 Huawei Technologies Co., Ltd. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -open_cli_schema_version: 1.0 - -name: csar-validate-r77786 - -description: The VNF Package MUST include all relevant cookbooks to be loaded on the ONAP Chef Server. - -info: - product: onap-vtp - version: 1.0 - service: validation - author: ONAP VTP Team onap-discuss@lists.onap.org - -parameters: - - name: csar - description: CSAR file path - long_option: csar - short_option: b - type: binary - is_optional: false - -results: - direction: landscape - attributes: - - name: code - description: Error code - scope: short - type: string - - name: message - description: Error message - scope: short - type: string - - name: file - description: File in which error occured - scope: short - type: string - - name: line-no - description: Line no at which error occured - scope: short - type: string diff --git a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar.yaml b/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar.yaml index 329122a..709af93 100644 --- a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar.yaml +++ b/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-csar.yaml @@ -16,7 +16,7 @@ open_cli_schema_version: 1.0 name: csar-validate -description: Validate CSAR package formats compliants to ETSI SOL004 and VNFREQS +description: Validate CSAR package formats compliants to ETSI SOL004, SOL001 and VNFREQS info: product: onap-vtp diff --git a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-hot.yaml b/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-hot.yaml deleted file mode 100644 index 8eb0ef5..0000000 --- a/csarvalidation/src/main/resources/open-cli-schema/vtp-validate-hot.yaml +++ /dev/null @@ -1,81 +0,0 @@ -# Copyright 2019 Huawei Technologies Co., Ltd. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -open_cli_schema_version: 1.0 -name: hot-validate -description: | - Validates the OpenStack heat templates using ONAP VNFREQS with help of VVP scripts - Before using this command, please install the VVP by following guidelines from - https://github.com/onap/vvp-validation-scripts#installation - -info: - product: onap-vtp - version: 1.0 - service: validation - author: ONAP VTP Team onap-discuss@lists.onap.org - type: cmd - -parameters: - - name: hot-folder - description: HOT folder path where VNF package files are kept - long_option: hot-folder - short_option: b - type: string - is_optional: false - - name: script-folder - description: Pytest script folder path - long_option: script-folder - default_value: $s{env:ONAP_VVP_HOME} - short_option: n - type: string - is_optional: false - -results: - direction: landscape - attributes: - - name: vnfrqts - description: vnfrqts identifiers - scope: short - type: string - - name: test - description: test case - scope: short - type: string - - name: template - description: template file - scope: short - type: string - - name: message - description: error message - scope: short - type: string -cmd: - command: - - pytest ${script-folder} --template-directory=${hot-folder} - success_codes: - - 0 - - 1 - - 2 - - 5 - pass_codes: - - 0 - - 2 - - 5 - working_directory: . - output: $s{file:${script-folder}/output/failures} - result_map: - vnfrqts: $o{$.*.vnfrqts} - test: $o{$.*.test} - template: $o{$.*.file} - message: $o{$.*.message} diff --git a/csarvalidation/src/main/resources/vnfreqs.properties b/csarvalidation/src/main/resources/vnfreqs.properties index 878b7f0..dde122f 100644 --- a/csarvalidation/src/main/resources/vnfreqs.properties +++ b/csarvalidation/src/main/resources/vnfreqs.properties @@ -1,3 +1,3 @@ -vnfreqs.enabled=r02454,r04298,r07879,r09467,r13390,r23823,r26881,r27310,r35851,r40293,r43958,r66070,r77707,r77786 +vnfreqs.enabled=r02454,r04298,r07879,r09467,r13390,r23823,r26881,r27310,r35851,r40293,r43958,r66070,r77707,r77786,r87234,r10087,r21322,r26885,r40820,r35854,r65486,r17852,r46527,r15837,r54356,r67895,r95321,r32155,r01123,r51347 # ignored all chef and ansible related tests errors.ignored=0x1005,0x1006,r07879-0x1000,r13390-0x1000,r27310-0x1000,r40293-0x1000,r77786-0x1000 \ No newline at end of file -- cgit 1.2.3-korg