aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLianhao Lu <lianhao.lu@intel.com>2018-08-30 15:02:05 +0800
committerLianhao Lu <lianhao.lu@intel.com>2018-08-30 15:08:31 +0800
commit5fa8e546e6c0e068c46410932683ffbec27574f9 (patch)
treee896dd3bc8b663010cb5a8704f36409fc74a7003
parenta2998ffa850a8661a378910d77f670dfebbb6690 (diff)
Test for vnf requirement R-35851
Implement test for vnf requirement 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. For now, we only check the existence of CP or VL, because Link type, bandwidth are already foced by ONAP DM. For other KPIs, current onap DM doesn't define yet. Change-Id: I6ad78edfcbd96ef748e1dbe5f0674b6e4e537e06 Issue-ID: VNFSDK-314 Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
-rw-r--r--setup.py1
-rw-r--r--tests/vnfreq/test_pkg_reqs.py7
-rw-r--r--vnfsdk_pkgtools/vnfreq/pkg_reqs.py22
3 files changed, 30 insertions, 0 deletions
diff --git a/setup.py b/setup.py
index e46f4e2..90e7e9b 100644
--- a/setup.py
+++ b/setup.py
@@ -89,6 +89,7 @@ setup(
'vnfsdk.pkgtools.vnfreq': [
'R-04298 = vnfsdk_pkgtools.vnfreq.pkg_reqs:R04298',
'R-26881 = vnfsdk_pkgtools.vnfreq.pkg_reqs:R26881',
+ 'R-35851 = vnfsdk_pkgtools.vnfreq.pkg_reqs:R35851',
'R-66070 = vnfsdk_pkgtools.vnfreq.pkg_reqs:R66070',
'R-77707 = vnfsdk_pkgtools.vnfreq.pkg_reqs:R77707',
],
diff --git a/tests/vnfreq/test_pkg_reqs.py b/tests/vnfreq/test_pkg_reqs.py
index 3f85856..109e85c 100644
--- a/tests/vnfreq/test_pkg_reqs.py
+++ b/tests/vnfreq/test_pkg_reqs.py
@@ -83,3 +83,10 @@ def test_R26881(mocker, tmpdir):
}
check_result('R-26881', reader, validator, None)
+
+def test_R35851(mocker):
+ validator = mocker.Mock()
+ node = mocker.Mock()
+ validator.tosca.nodetemplates = [node]
+ check_result('R-35851', None, validator, None)
+
diff --git a/vnfsdk_pkgtools/vnfreq/pkg_reqs.py b/vnfsdk_pkgtools/vnfreq/pkg_reqs.py
index 2592017..5c047bd 100644
--- a/vnfsdk_pkgtools/vnfreq/pkg_reqs.py
+++ b/vnfsdk_pkgtools/vnfreq/pkg_reqs.py
@@ -95,3 +95,25 @@ class R26881(vnfreq.TesterBase):
raise vnfreq.VnfRequirementError("No valid binaries or images for VNF instantion found")
return 0
+
+class R35851(vnfreq.TesterBase):
+ ID = "R-35851"
+ DESC = ("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.")
+
+ def _do_check(self, reader, tosca):
+ # Only check the existence of Cp or VL
+ # link type, bandwidth are already enfoced by ONAP onbarding DM
+ # other KPIs are not defined yet.
+ found = False
+ for node in getattr(tosca.tosca, 'nodetemplates', []):
+ if tosca.is_type(node, 'tosca.nodes.nfv.VduCp') or \
+ tosca.is_type(node, 'tosca.nodes.nfv.VnfVirtualLink'):
+ found = True
+ break
+ if not found:
+ raise vnfreq.VnfRequirementError("No basic network or application connectivity found")
+ return 0
+