[docs] Make heading levels consistent
[yardstick.git] / docs / testing / user / userguide / 12-nsb-overview.rst
index 71a5c11..62b03e5 100644 (file)
@@ -3,20 +3,31 @@
 .. http://creativecommons.org/licenses/by/4.0
 .. (c) OPNFV, 2016-2017 Intel Corporation.
 
 .. http://creativecommons.org/licenses/by/4.0
 .. (c) OPNFV, 2016-2017 Intel Corporation.
 
+.. Convention for heading levels in Yardstick documentation:
+
+   =======  Heading 0 (reserved for the title in a document)
+   -------  Heading 1
+   ^^^^^^^  Heading 2
+   +++++++  Heading 3
+   '''''''  Heading 4
+
+   Avoid deeper levels because they do not render well.
+
 ===================================
 Network Services Benchmarking (NSB)
 ===================================
 
 ===================================
 Network Services Benchmarking (NSB)
 ===================================
 
-Abstract
-========
+.. _Yardstick: https://wiki.opnfv.org/display/yardstick
+.. _`ETSI GS NFV-TST001`: http://www.etsi.org/deliver/etsi_gs/NFV-TST/001_099/001/01.01.01_60/gs_nfv-tst001v010101p.pdf
 
 
-.. _Yardstick: https://wiki.opnfv.org/yardstick
+Abstract
+--------
 
 This chapter provides an overview of the NSB, a contribution to OPNFV
 Yardstick_ from Intel.
 
 Overview
 
 This chapter provides an overview of the NSB, a contribution to OPNFV
 Yardstick_ from Intel.
 
 Overview
-========
+--------
 
 The goal of NSB is to Extend Yardstick to perform real world VNFs and NFVi
 Characterization and benchmarking with repeatable and deterministic methods.
 
 The goal of NSB is to Extend Yardstick to perform real world VNFs and NFVi
 Characterization and benchmarking with repeatable and deterministic methods.
@@ -31,47 +42,37 @@ according to user defined profiles.
 
 NSB extension includes:
 
 
 NSB extension includes:
 
-    - Generic data models of Network Services, based on ETSI spec `ETSI GS NFV-TST 001 <http://www.etsi.org/deliver/etsi_gs/NFV-TST/001_099/001/01.01.01_60/gs_nfv-tst001v010101p.pdf>`_
-
-    - 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
+* Generic data models of Network Services, based on ETSI spec
+  `ETSI GS NFV-TST 001`_
+* Standalone :term:`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
 
 
-        - vPE,vCGNAT, vFirewall etc - ipv4 throughput, latency etc
+    * L1-L3 stateless traffic profiles
+    * L4-L7 state-full traffic profiles
+    * Tunneling protocol/network overlay support
 
 
-    - Traffic generators like Trex, ab/nginx, ixia, iperf etc
+* Test case samples
 
 
-    - KPIs for a given use case:
+    * Ping
+    * Trex
+    * vPE, vCGNAT, vFirewall etc - ipv4 throughput, latency etc
 
 
-        - System agent support for collecting NFVi KPI. This includes:
+* Traffic generators i.e. Trex, ab/nginx, ixia, iperf, etc
+* KPIs for a given use case:
 
 
-            - CPU statistic
+    * System agent support for collecting NFVi KPI. This includes:
 
 
-            - Memory BW
+        * CPU statistic
+        * Memory BW
+        * OVS-DPDK Stats
 
 
-            - OVS-DPDK Stats
-
-        - Network KPIs,  e.g., inpackets, outpackets, thoughput, latency etc
-
-        - VNF KPIs, e.g., packet_in, packet_drop, packet_fwd etc
+    * Network KPIs e.g. inpackets, outpackets, thoughput, latency
+    * VNF KPIs e.g. packet_in, packet_drop, packet_fwd
 
 Architecture
 
 Architecture
-============
+------------
 
 The Network Service (NS) defines a set of Virtual Network Functions (VNF)
 connected together using NFV infrastructure.
 
 The Network Service (NS) defines a set of Virtual Network Functions (VNF)
 connected together using NFV infrastructure.
@@ -83,124 +84,115 @@ 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.
 
 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
-
-    - 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.
-
-    - 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
-
-    - Verify the test result.
-
-    - Validate the traffic flow from SUT
-
-    - Fetch the table / data from SUT and verify the value as per the test case
-
-    - Upload the logs from SUT onto the Test Harness server
-
-    - Read the KPI's provided by particular VNF
+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:
+
+* 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.
+* 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 and wait for the necessary time delay.
+* Verify the test result.
+* Validate the traffic flow from SUT.
+* Fetch the data from SUT and verify the value as per the test case.
+* Upload the logs from SUT onto the Test Harness server
+* Retrieve the KPI's provided by particular VNF
 
 Components of Network Service
 
 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.
+* *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.
+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.
+* *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.
+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.
+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 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.
+The TREX tool can generate any kind of stateless traffic.
 
 
-  .. code-block:: console
-
-          +--------+      +-------+      +--------+
-          |        |      |       |      |        |
-          |  Trex  | ---> |  VNF  | ---> |  Trex  |
-          |        |      |       |      |        |
-          +--------+      +-------+      +--------+
-
-  Supported testcases scenarios:
+.. code-block:: console
 
 
-      - Correlated UDP traffic using TREX traffic generator and replay VNF.
+        +--------+      +-------+      +--------+
+        |        |      |       |      |        |
+        |  Trex  | ---> |  VNF  | ---> |  Trex  |
+        |        |      |       |      |        |
+        +--------+      +-------+      +--------+
 
 
-          - using different IMIX configuration like pure voice, pure video traffic etc
+Supported testcases scenarios:
 
 
-          - using different number IP flows like 1 flow, 1K, 16K, 64K, 256K, 1M flows
+* Correlated UDP traffic using TREX traffic generator and replay VNF.
 
 
-          - Using different number of rules configured like 1 rule, 1K, 10K rules
+    * using different IMIX configuration like pure voice, pure video traffic etc
+    * using different number IP flows e.g. 1, 1K, 16K, 64K, 256K, 1M flows
+    * Using different number of rules configured e.g. 1, 1K, 10K rules
 
 
-  For UDP correlated traffic following Key Performance Indicators are collected
-  for every combination of test case parameters:
+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)
+* RFC2544 throughput for various loss rate defined (1% is a default)
 
 Graphical Overview
 
 Graphical Overview
-==================
+------------------
 
 
-NSB Testing with yardstick framework  facilitate performance testing of various
+NSB Testing with Yardstick framework facilitate performance testing of various
 VNFs provided.
 
 .. code-block:: console
 
   +-----------+
 VNFs provided.
 
 .. code-block:: console
 
   +-----------+
-  |           |                                                     +-----------+
-  |   vPE     |                                                   ->|TGen Port 0|
-  | TestCase  |                                                   | +-----------+
-  |           |                                                   |
-  +-----------+     +------------------+            +-------+     |
-                    |                  | -- API --> |  VNF  | <--->
-  +-----------+     |     Yardstick    |            +-------+     |
-  | Test Case | --> |    NSB Testing   |                          |
-  +-----------+     |                  |                          |
-        |           |                  |                          |
-        |           +------------------+                          |
-  +-----------+                                                   | +-----------+
-  |   Traffic |                                                   ->|TGen Port 1|
-  |  patterns |                                                     +-----------+
+  |           |                                             +-------------+
+  |   vPE     |                                          -->| TGen Port 0 |
+  | TestCase  |                                          |  +-------------+
+  |           |                                          |
+  +-----------+     +---------------+      +-------+     |
+                    |               | ---> |  VNF  | <--->
+  +-----------+     |   Yardstick   |      +-------+     |
+  | Test Case | --> |  NSB Testing  |                    |
+  +-----------+     |               |                    |
+        |           |               |                    |
+        |           +---------------+                    |
+  +-----------+                                          |  +-------------+
+  |   Traffic |                                          -->| TGen Port 1 |
+  |  patterns |                                             +-------------+
   +-----------+
 
               Figure 1: Network Service - 2 server configuration
 
   +-----------+
 
               Figure 1: Network Service - 2 server configuration
 
-VNFs supported for chracterization:
------------------------------------
+VNFs supported for chracterization
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 1. CGNAPT - Carrier Grade Network Address and port Translation
 2. vFW - Virtual Firewall
 3. vACL - Access Control List
 4. Prox - Packet pROcessing eXecution engine:
 
 1. CGNAPT - Carrier Grade Network Address and port Translation
 2. vFW - Virtual Firewall
 3. vACL - Access Control List
 4. Prox - Packet pROcessing eXecution engine:
-    - VNF can act as Drop, Basic Forwarding (no touch),
-      L2 Forwarding (change MAC), GRE encap/decap, Load balance based on
-      packet fields, Symmetric load balancing
-    - QinQ encap/decap IPv4/IPv6, ARP, QoS, Routing, Unmpls, Policing, ACL
+     * VNF can act as Drop, Basic Forwarding (no touch),
+       L2 Forwarding (change MAC), GRE encap/decap, Load balance based on
+       packet fields, Symmetric load balancing
+     * QinQ encap/decap IPv4/IPv6, ARP, QoS, Routing, Unmpls, Policing, ACL
 5. UDP_Replay
 5. UDP_Replay