From c5841cf2694247dd9f63df362d742f0902439ecc Mon Sep 17 00:00:00 2001 From: Orest Voznyy Date: Thu, 13 Sep 2018 13:30:08 +0300 Subject: Add vEPC infrastructure for Landslide TG 1. Add yardstick topology and model for fully emulated environment. 2. Add support for black-box testing of real vEPC VNF vs Spirent Landslide traffic generator: - vEPC VNF pod file - topology and model files aware of vEPC VNF connection to Spirent Landslide TG - stub class for vEPC VNF, and related unit tests JIRA: YARDSTICK-1424 Change-Id: If7b6d19919679347c4360f4a0f2e420716e7fd2d Signed-off-by: Orest Voznyy --- .../nsut/vepc/landslide_tg_topology.yaml | 50 ++++++++++++++++++++++ .../nsut/vepc/vepc_vnf_topology_landslide.yaml | 50 ++++++++++++++++++++++ .../vnf_descriptors/tg_landslide_tpl.yaml | 38 ++++++++++++++++ samples/vnf_samples/vnf_descriptors/vepc_vnf.yaml | 38 ++++++++++++++++ 4 files changed, 176 insertions(+) create mode 100644 samples/vnf_samples/nsut/vepc/landslide_tg_topology.yaml create mode 100644 samples/vnf_samples/nsut/vepc/vepc_vnf_topology_landslide.yaml create mode 100644 samples/vnf_samples/vnf_descriptors/tg_landslide_tpl.yaml create mode 100644 samples/vnf_samples/vnf_descriptors/vepc_vnf.yaml (limited to 'samples') diff --git a/samples/vnf_samples/nsut/vepc/landslide_tg_topology.yaml b/samples/vnf_samples/nsut/vepc/landslide_tg_topology.yaml new file mode 100644 index 000000000..ccf496bf9 --- /dev/null +++ b/samples/vnf_samples/nsut/vepc/landslide_tg_topology.yaml @@ -0,0 +1,50 @@ +# Copyright (c) 2018 Intel Corporation +# +# 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. + +nsd:nsd-catalog: + nsd: + - id: landslide-tg-topology + name: landslide-tg-topology + short-name: landslide-tg-topology + description: landslide-tg-topology + constituent-vnfd: + - member-vnf-index: '1' + vnfd-id-ref: tg__0 + VNF model: ../../vnf_descriptors/tg_landslide_tpl.yaml #TG type + - member-vnf-index: '2' + vnfd-id-ref: vnf__0 + VNF model: ../../vnf_descriptors/tg_landslide_tpl.yaml #VNF type: Emulated vEPC + + vld: + - id: uplink_0 + name: tg__0 to vnf__0 link 1 + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '2' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__0 + + - id: downlink_0 + name: vnf__0 to tg__0 link 2 + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '2' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__0 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: tg__0 diff --git a/samples/vnf_samples/nsut/vepc/vepc_vnf_topology_landslide.yaml b/samples/vnf_samples/nsut/vepc/vepc_vnf_topology_landslide.yaml new file mode 100644 index 000000000..f54cdaf81 --- /dev/null +++ b/samples/vnf_samples/nsut/vepc/vepc_vnf_topology_landslide.yaml @@ -0,0 +1,50 @@ +# Copyright (c) 2018 Intel Corporation +# +# 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. + +nsd:nsd-catalog: + nsd: + - id: vEPC + name: vEPC + short-name: vEPC + description: vEPC VNF with Spirent landslide TG + constituent-vnfd: + - member-vnf-index: '1' + vnfd-id-ref: tg__0 + VNF model: ../../vnf_descriptors/tg_landslide_tpl.yaml #TG type + - member-vnf-index: '2' + vnfd-id-ref: vnf__0 + VNF model: ../../vnf_descriptors/vepc_vnf.yaml #VNF type + + vld: + - id: uplink_0 + name: tg__0 to vnf__0 link 1 + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '2' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__0 + + - id: downlink_0 + name: vnf__0 to tg__0 link 2 + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '2' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__0 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: tg__0 diff --git a/samples/vnf_samples/vnf_descriptors/tg_landslide_tpl.yaml b/samples/vnf_samples/vnf_descriptors/tg_landslide_tpl.yaml new file mode 100644 index 000000000..48963f0a9 --- /dev/null +++ b/samples/vnf_samples/vnf_descriptors/tg_landslide_tpl.yaml @@ -0,0 +1,38 @@ +# Copyright (c) 2018 Intel Corporation +# +# 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. + +vnfd:vnfd-catalog: + vnfd: + - id: LandslideTrafficGen # NSB python class mapping + name: LandslideTrafficGen + short-name: landslide + description: Spirent Landslide traffic generator + mgmt-interface: + vdu-id: landslide-tas + super-user: '{{tas_manager.super_user}}' + super-user-password: '{{tas_manager.super_user_password}}' + user: '{{tas_manager.test_user}}' + password: '{{tas_manager.test_user_password}}' + cfguser_password: '{{tas_manager.cfguser_password}}' + ip: '{{tas_manager.ip}}' + proto: '{{tas_manager.proto}}' # protocol used for REST API- http + license: '{{tas_manager.license}}' # Landslide license + config: {{config}} + vdu: + - id: abclient-baremetal + name: abclient-baremetal + description: AB client interface details + benchmark: + kpi: [] + diff --git a/samples/vnf_samples/vnf_descriptors/vepc_vnf.yaml b/samples/vnf_samples/vnf_descriptors/vepc_vnf.yaml new file mode 100644 index 000000000..73d3468bf --- /dev/null +++ b/samples/vnf_samples/vnf_descriptors/vepc_vnf.yaml @@ -0,0 +1,38 @@ +# Copyright (c) 2018 Intel Corporation +# +# 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. + +vnfd:vnfd-catalog: + vnfd: + - id: EPCVnf # NSB python class mapping + name: EPCVnf + short-name: EPCVnf + description: EPCVnf + mgmt-interface: + vdu-id: vepcvnf-baremetal + {% if user is defined %} + user: '{{user}}' # Value filled by vnfdgen + {% endif %} + {% if password is defined %} + password: '{{password}}' # Value filled by vnfdgen + {% endif %} + {% if ip is defined %} + ip: '{{ip}}' # Value filled by vnfdgen + {% endif %} + vdu: + - id: vepcvnf-baremetal + name: vepc-vnf-baremetal + description: vEPCVnf workload + external-interface: [] + benchmark: + kpi: [] -- cgit 1.2.3-korg