summaryrefslogtreecommitdiffstats
path: root/docs/userguide/07-nsb-overview.rst
diff options
context:
space:
mode:
authorrexlee8776 <limingjiang@huawei.com>2017-03-08 07:12:55 +0000
committerrexlee8776 <limingjiang@huawei.com>2017-03-08 07:12:55 +0000
commitfd54fcc22170aa880fc49730730ad80896e2e608 (patch)
tree025941493c552421e46f4c323bab1694c6d7fe01 /docs/userguide/07-nsb-overview.rst
parent536076de790aed38b462edd8f8b2f079d3e828b2 (diff)
Yardstick Preliminary Documentation
JIRA: YARDSTICK-554 align with opnfvdocs path structure about testing projects Change-Id: I6c2f2d37e41447dccd76b9f4426d00fd85cb1e3b Signed-off-by: rexlee8776 <limingjiang@huawei.com>
Diffstat (limited to 'docs/userguide/07-nsb-overview.rst')
-rw-r--r--docs/userguide/07-nsb-overview.rst177
1 files changed, 0 insertions, 177 deletions
diff --git a/docs/userguide/07-nsb-overview.rst b/docs/userguide/07-nsb-overview.rst
deleted file mode 100644
index 19719f1a7..000000000
--- a/docs/userguide/07-nsb-overview.rst
+++ /dev/null
@@ -1,177 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International
-.. License.
-.. http://creativecommons.org/licenses/by/4.0
-.. (c) OPNFV, 2016-2017 Intel Corporation.
-
-=====================================
-Network Services Benchmarking (NSB)
-=====================================
-
-Abstract
-========
-
-.. _Yardstick: https://wiki.opnfv.org/yardstick
-
-This chapter provides an overview of the NSB, a contribution to OPNFV
-Yardstick_ from Intel.
-
-Overview
-========
-
-GOAL: Extend Yardstick to perform real world VNFs and NFVi Characterization and
-benchmarking with repeatable and deterministic methods.
-
-The Network Service Benchmarking (NSB) extends the yardstick framework to do
-VNF characterization and benchmarking in three different execution
-environments viz., bare metal i.e. native Linux environment, standalone virtual
-environment and managed virtualized environment (e.g. Open stack etc.).
-It also brings in the capability to interact with external traffic generators
-both hardware & software based for triggering and validating the traffic
-according to user defined profiles.
-
-NSB extension includes:
- • Generic data models of Network Services, based on ETSI specs
- • New Standalone context for VNF testing like SRIOV, OVS, OVS-DPDK etc
- • Generic VNF configuration models and metrics implemented with Python
- classes
- • Traffic generator features and traffic profiles
- • L1-L3 state-less traffic profiles
- • L4-L7 state-full traffic profiles
- • Tunneling protocol / network overlay support
- • Test case samples
- • Ping
- • Trex
- • vPE,vCGNAT, vFirewall etc - ipv4 throughput, latency etc
- • Traffic generators like Trex, ab/nginx, ixia, iperf etc
- • KPIs for a given use case:
- • System agent support for collecting NFvi KPI. This includes:
- o CPU statistic
- o Memory BW
- o OVS-DPDK Stats
- • Network KPIs – eg, inpackets, outpackets, thoughput, latency etc
- • VNF KPIs – packet_in, packet_drop, packet_fwd etc
-
-Architecture
-============
-The Network Service (NS) defines a set of Virtual Network Functions (VNF)
-connected together using NFV infrastructure.
-
-The Yardstick NSB extension can support multiple VNFs created by different
-vendors including traffic generators. Every VNF being tested has its
-own data model. The Network service defines a VNF modelling on base of performed
-network functionality. The part of the data model is a set of the configuration
-parameters, number of connection points used and flavor including core and
-memory amount.
-
-The ETSI defines a Network Service as a set of configurable VNFs working in
-some NFV Infrastructure connecting each other using Virtual Links available
-through Connection Points. The ETSI MANO specification defines a set of
-management entities called Network Service Descriptors (NSD) and
-VNF Descriptors (VNFD) that define real Network Service. The picture below
-makes an example how the real Network Operator use-case can map into ETSI
-Network service definition
-
-Network Service framework performs the necessary test steps. It may involve
- o Interacting with traffic generator and providing the inputs on traffic
- type / packet structure to generate the required traffic as per the
- test case. Traffic profiles will be used for this.
- o Executing the commands required for the test procedure and analyses the
- command output for confirming whether the command got executed correctly
- or not. E.g. As per the test case, run the traffic for the given
- time period / wait for the necessary time delay
- o Verify the test result.
- o Validate the traffic flow from SUT
- o Fetch the table / data from SUT and verify the value as per the test case
- o Upload the logs from SUT onto the Test Harness server
- o Read the KPI’s provided by particular VNF
-
-Components of Network Service
-------------------------------
-
-* *Models for Network Service benchmarking*: The Network Service benchmarking
- requires the proper modelling approach. The NSB provides models using Python
- files and defining of NSDs and VNFDs.
-
-The benchmark control application being a part of OPNFV yardstick can call
-that python models to instantiate and configure the VNFs. Depending on
-infrastructure type (bare-metal or fully virtualized) that calls could be
-made directly or using MANO system.
-
-* *Traffic generators in NSB*: Any benchmark application requires a set of
- traffic generator and traffic profiles defining the method in which traffic
- is generated.
-
-The Network Service benchmarking model extends the Network Service
-definition with a set of Traffic Generators (TG) that are treated
-same way as other VNFs being a part of benchmarked network service.
-Same as other VNFs the traffic generator are instantiated and terminated.
-
-Every traffic generator has own configuration defined as a traffic profile and
-a set of KPIs supported. The python models for TG is extended by specific calls
-to listen and generate traffic.
-
-* *The stateless TREX traffic generator*: The main traffic generator used as
- Network Service stimulus is open source TREX tool.
-
-The TREX tool can generate any kind of stateless traffic.
-
-.. code-block:: console
-
- +--------+ +-------+ +--------+
- | | | | | |
- | Trex | ---> | VNF | ---> | Trex |
- | | | | | |
- +--------+ +-------+ +--------+
-
-Supported testcases scenarios:
-• Correlated UDP traffic using TREX traffic generator and replay VNF.
- o using different IMIX configuration like pure voice, pure video traffic etc
- o using different number IP flows like 1 flow, 1K, 16K, 64K, 256K, 1M flows
- o Using different number of rules configured like 1 rule, 1K, 10K rules
-
-For UDP correlated traffic following Key Performance Indicators are collected
-for every combination of test case parameters:
- • RFC2544 throughput for various loss rate defined (1% is a default)
-
-Graphical Overview
-==================
-
-NSB Testing with yardstick framework facilitate performance testing of various
-VNFs provided.
-
-.. code-block:: console
- +-----------+
- | | +-----------+
- | vPE | ->|TGen Port 0|
- | TestCase | | +-----------+
- | | |
- +-----------+ +------------------+ +-------+ |
- | | -- API --> | VNF | <--->
- +-----------+ | Yardstick | +-------+ |
- | Test Case | --> | NSB Testing | |
- +-----------+ | | |
- | | | |
- | +------------------+ |
- +-----------+ | +-----------+
- | Traffic | ->|TGen Port 1|
- | patterns | +-----------+
- +-----------+
- Figure 1: Network Service - 2 server configuration
-
-
-Install
-=======
-
-run the nsb_install.sh with root privileges
-
-Run
-===
-
-source ~/.bash_profile
-cd <yardstick_repo>/yardstick/cmd
-sudo -E ./NSBperf.py --vnf vpe --test tc_baremetal_rfc2544_ipv4_1flow_64B.yaml
-
-Development Environment
-=======================
-
-Ubuntu 14.04, Ubuntu 16.04