diff options
author | Lianhao Lu <lianhao.lu@intel.com> | 2018-08-30 15:02:05 +0800 |
---|---|---|
committer | Lianhao Lu <lianhao.lu@intel.com> | 2018-08-30 15:08:31 +0800 |
commit | 5fa8e546e6c0e068c46410932683ffbec27574f9 (patch) | |
tree | e896dd3bc8b663010cb5a8704f36409fc74a7003 | |
parent | a2998ffa850a8661a378910d77f670dfebbb6690 (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.py | 1 | ||||
-rw-r--r-- | tests/vnfreq/test_pkg_reqs.py | 7 | ||||
-rw-r--r-- | vnfsdk_pkgtools/vnfreq/pkg_reqs.py | 22 |
3 files changed, 30 insertions, 0 deletions
@@ -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 + |