From d5c0a03054f720da2a5ff9eba74feee57fb0296d Mon Sep 17 00:00:00 2001 From: "Sridhar K. N. Rao" Date: Tue, 22 Jun 2021 14:48:01 +0530 Subject: DOCS: Thorough update of ViNePerf Documentation. Included Kali release notes too. Made changes based on review from Al. More changes - thanks to Al. Signed-off-by: Sridhar K. N. Rao Change-Id: I50b02c2389ddad9596433fd33430270da0fab5db --- docs/index.rst | 5 +- docs/k8s/index.rst | 33 +++++++--- docs/lma/index.rst | 10 +-- docs/lma/logs/devguide.rst | 6 ++ docs/lma/logs/userguide.rst | 4 +- docs/openstack/index.rst | 14 ++--- docs/release/release-notes/index.rst | 2 +- docs/release/release-notes/release-notes.rst | 40 +++++++++--- docs/renaming/index.rst | 18 ++++++ docs/renaming/renaming.rst | 8 +++ .../design/trafficgen_integration_guide.rst | 10 +-- .../devguide/design/vswitchperf_design.rst | 32 +++++----- docs/testing/developer/devguide/index.rst | 48 +++++++-------- .../rfc8204-vsperf-bmwg-vswitch-opnfv.rst | 4 +- .../devguide/requirements/vswitchperf_ltd.rst | 6 +- .../devguide/requirements/vswitchperf_ltp.rst | 20 +++--- docs/testing/developer/devguide/results/index.rst | 7 ++- docs/testing/developer/devguide/results/osk8s.rst | 15 +++++ .../testing/developer/devguide/results/results.rst | 6 +- .../developer/devguide/results/scenario.rst | 4 +- docs/testing/user/configguide/index.rst | 52 ++++++++-------- docs/testing/user/configguide/installation.rst | 40 ++++++------ docs/testing/user/configguide/tools.rst | 34 +++++----- docs/testing/user/configguide/trafficgen.rst | 72 +++++++++++----------- docs/testing/user/configguide/upgrade.rst | 20 +++--- docs/testing/user/userguide/index.rst | 10 +-- docs/testing/user/userguide/integration.rst | 6 +- docs/testing/user/userguide/testlist.rst | 10 +-- docs/testing/user/userguide/teststeps.rst | 13 ++-- docs/testing/user/userguide/testusage.rst | 54 ++++++++-------- docs/testing/user/userguide/trafficcapture.rst | 8 +-- docs/testing/user/userguide/yardstick.rst | 54 ++++++++-------- docs/xtesting/index.rst | 18 +++--- 33 files changed, 391 insertions(+), 292 deletions(-) create mode 100644 docs/renaming/index.rst create mode 100644 docs/renaming/renaming.rst create mode 100644 docs/testing/developer/devguide/results/osk8s.rst (limited to 'docs') diff --git a/docs/index.rst b/docs/index.rst index c8a400f8..3323e43d 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -6,7 +6,7 @@ .. (c) Open Platform for NFV Project, Inc. and its contributors ********************************* -OPNFV Vswitchperf +Anuket ViNePerf ********************************* .. toctree:: @@ -14,11 +14,12 @@ OPNFV Vswitchperf :maxdepth: 3 release/release-notes/index + renaming/index testing/developer/devguide/index testing/developer/devguide/results/index + testing/user/userguide/index testing/user/configguide/index lma/index openstack/index k8s/index xtesting/index - diff --git a/docs/k8s/index.rst b/docs/k8s/index.rst index 872a3280..22d459da 100644 --- a/docs/k8s/index.rst +++ b/docs/k8s/index.rst @@ -1,25 +1,36 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -.. (c) OPNFV, Spirent, AT&T, Ixia and others. +.. (c) Anuket, Spirent, AT&T, Ixia and others. -.. OPNFV VSPERF Documentation master file. +.. Anuket ViNePerf Documentation master file. -========================================================= -OPNFV VSPERF Kubernetes Container Networking Benchmarking -========================================================= -VSPERF supports testing and benchmarking of kubernetes container networking solution, referred as kubernetes Container Networking Benchmarking (CNB). The process can be broadly classified into following four operations. +============================================================ +Anuket ViNePerf Kubernetes Container Networking Benchmarking +============================================================ +ViNePerf supports testing and benchmarking of kubernetes container networking solution, referred as kubernetes Container Networking Benchmarking (CNB). The process can be broadly classified into following four operations. 1. Setting up of Kubernetes Cluster. 2. Deploying container networking solution. 3. Deploying pod(s). 4. Running tests. -First step is achieved through the tool present in *tools/k8s/cluster-deployment* folder. Please refer to the documentation present in that folder for automated kubernetes cluster setup. To perform the remaining steps, the user has to run the following command. +First step is achieved through the tool present in *tools/k8s/cluster-deployment* folder. Please refer to the documentation present in that folder for automated kubernetes cluster setup. + +User can choose to perform all the remaining steps (2, 3, and 4), by running the following command. .. code-block:: console vsperf --k8s --conf-file k8s.conf pcp_tput +User can also chose to perform only steps 3 and 4, by choosing to run following test cases. + +.. code-block:: console + + vsperf --k8s --conf-file k8s.conf pcp_evs_tput + or + vsperf --k8s --conf-file k8s.conf pccp_evs_tput + + ************************ Important Configurations ************************ @@ -37,4 +48,10 @@ VSPERF has introduced a new configuration parameters, as listed below, for kuber ********* Testcases ********* -Kubernetes CNB will be done through new testcases. For Jerma release, only pcp_tput will be supported. This testcase, will be similar to pvp_tput, where VNF is replaced with a pod/container. The pcp_tput testcase, will still use phy2phy as deployment. In future releases, a new deployment model will be added to support more testcases for kubernetes +Kubernetes CNB will be done through new testcases. For Jerma release, only pcp_tput will be supported. This testcase, will be similar to pvp_tput, where VNF is replaced with a pod/container. The pcp_tput testcase, will still use phy2phy as deployment. +In Kali release, two testscases were added: + +1. pcp_evs_tput: Single-Pod throughput test, where virtual switch is externally deployed and managed. +2. pccp_evs_tput: Two-Pod throughput test, where virtual switch is externally deployed and managed. + +In future releases, more testcases for kubernetes will be added. diff --git a/docs/lma/index.rst b/docs/lma/index.rst index dd6be47b..9886228a 100644 --- a/docs/lma/index.rst +++ b/docs/lma/index.rst @@ -1,12 +1,12 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -.. (c) OPNFV, Intel Corporation, AT&T, Red Hat, Spirent, Ixia and others. +.. (c) OPNFV, Spirent, AT&T, Ixia and others. -.. OPNFV VSPERF LMA Documentation master file. +.. Anuket ViNePerf LMA Documentation master file. -*********************** -OPNFV VSPERF LMA Guides -*********************** +************************** +Anuket ViNePerf LMA Guides +************************** .. toctree:: :caption: Developer Guide for Monitoring Tools diff --git a/docs/lma/logs/devguide.rst b/docs/lma/logs/devguide.rst index 7aeaad29..e2a7bad7 100644 --- a/docs/lma/logs/devguide.rst +++ b/docs/lma/logs/devguide.rst @@ -1,3 +1,9 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. (c) OPNFV, Spirent, AT&T, Ixia and others. + +.. Anuket ViNePerf LMA Documentation master file. + ==================== Logs Developer Guide ==================== diff --git a/docs/lma/logs/userguide.rst b/docs/lma/logs/userguide.rst index 9b616fe7..e33b7f57 100644 --- a/docs/lma/logs/userguide.rst +++ b/docs/lma/logs/userguide.rst @@ -1,8 +1,8 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -.. (c) OPNFV, Intel Corporation, AT&T, Red Hat, Spirent, Ixia and others. +.. (c) OPNFV, Spirent, AT&T, Ixia and others. -.. OPNFV VSPERF Documentation master file. +.. Anuket ViNePerf LMA Documentation master file. *************** Logs User Guide diff --git a/docs/openstack/index.rst b/docs/openstack/index.rst index 6009e669..648ceb07 100644 --- a/docs/openstack/index.rst +++ b/docs/openstack/index.rst @@ -2,20 +2,20 @@ .. http://creativecommons.org/licenses/by/4.0 .. (c) OPNFV, Spirent Communications, AT&T, Ixia and others. -.. OPNFV VSPERF With Openstack master file. +.. Anuket ViNePerf With Openstack master file. -*************************** -OPNFV VSPERF with OPENSTACK -*************************** +******************************* +Anuket ViNePerf with OPENSTACK +******************************* Introduction ------------ -VSPERF performs the following, when run with openstack: +ViNePerf performs the following, when run with openstack: 1. Connect to Openstack (using the credentials) 2. Deploy Traffic-Generators in a required way (defined by scenarios) -3. Update the VSPERF configuration based on the deployment. -4. Use the updated configuration to run test in "Trafficgen" Mode. +3. Update the ViNePerf configuration based on the deployment. +4. Use the updated configuration to run test in "Trafficgen" Mode. 5. Publish and store results. diff --git a/docs/release/release-notes/index.rst b/docs/release/release-notes/index.rst index 84f350c4..bb7a2105 100644 --- a/docs/release/release-notes/index.rst +++ b/docs/release/release-notes/index.rst @@ -5,7 +5,7 @@ .. _vswitchperf-releasenotes: ================================================== -VSPERF Release Notes +ViNePerf Release Notes ================================================== .. toctree:: diff --git a/docs/release/release-notes/release-notes.rst b/docs/release/release-notes/release-notes.rst index 486beaf0..b730e2ad 100644 --- a/docs/release/release-notes/release-notes.rst +++ b/docs/release/release-notes/release-notes.rst @@ -2,6 +2,33 @@ .. http://creativecommons.org/licenses/by/4.0 .. (c) OPNFV, Intel Corporation, Spirent Communications, AT&T and others. + +Anuket Kali Release +=================== + +* Project Renaming: Project is renamed to ViNePerf from VswitchPerf + +* Supported Versions - DPDK:20.05, OVS:2.14.0, VPP:21.01, QEMU:3.1.1, Trex:2.86 + +* Supported Release-Requirements. + + * Kubernetes container-networking benchmarking. + * Tested Versions of Kubernetes: 1.19 + +* Additional Features + + * Enhancement to core parts to support Kubernetes usecases. + * Support newer versions of Ubuntu (20.04) and Fedora (33). + * Enhance reporting to support Openstack and Kubernetes. + * Added reference definition-files (network attachment, pod, etc) + for kuberentes usecases. + +* Minor bugfixes + + * Avoiding some tasks for Kubernetes usecases. + * Newer version of some python packages + + OPNFV Jerma Release =================== @@ -45,18 +72,18 @@ OPNFV Iruya Release * Supported Versions - DPDK:18.11, OVS:2.12.0, VPP:19.08.1, QEMU:3.1.1 * Few bugfixes and minor improvements -* New Feature: Containers to manage VSPERF. +* New Feature: Containers to manage ViNePerf. - * VSPERF Containers for both deployment and test runs + * ViNePerf Containers for both deployment and test runs * Improvement - + * Results Analysis to include all 5 types of data. * Infrastructure data * End-Of-Test Results * Live-Results - * Events from VSPERF Logs + * Events from ViNePerf Logs * Test Environment * Usability @@ -98,7 +125,7 @@ OPNFV Gambia Release * OVS-Enhancement: default bridge name and offload support. * OVS-Enhancement: proper deletion of flows and bridges after stop. - * VSPERF-vSwitch Architecture Improvement + * ViNePerf-vSwitch Architecture Improvement * Tools @@ -340,8 +367,7 @@ Supported traffic generators: * Spirent. * Dummy. -Release Data -~~~~~~~~~~~~ +Release Data: +--------------------------------------+--------------------------------------+ | **Project** | vswitchperf | diff --git a/docs/renaming/index.rst b/docs/renaming/index.rst new file mode 100644 index 00000000..bab1f064 --- /dev/null +++ b/docs/renaming/index.rst @@ -0,0 +1,18 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. (c) Anuket, Spirent, AT&T, Ixia and others. + +.. Anuket ViNePerf Renaming Declaration file. + +**************************************************** +OPNFV VswitchPerf or OPNFV VSPerf to Anuket ViNePerf +**************************************************** + +.. toctree:: + :numbered: + :maxdepth: 2 + + renaming.rst + +Build date: |today| + diff --git a/docs/renaming/renaming.rst b/docs/renaming/renaming.rst new file mode 100644 index 00000000..e898f1c1 --- /dev/null +++ b/docs/renaming/renaming.rst @@ -0,0 +1,8 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. (c) OPNFV, Spirent and others. + +Renaming Notice +=============== + +VSwitchperf or VSPEerf project in renamed to ViNePerf. User might find some references to older names in documentation or source-code. For Kali Release, these references are not migrated to avoid any hyperlinks or code breakdowns. diff --git a/docs/testing/developer/devguide/design/trafficgen_integration_guide.rst b/docs/testing/developer/devguide/design/trafficgen_integration_guide.rst index 671c7fd8..0ab5b848 100644 --- a/docs/testing/developer/devguide/design/trafficgen_integration_guide.rst +++ b/docs/testing/developer/devguide/design/trafficgen_integration_guide.rst @@ -33,7 +33,7 @@ Step 2 - create a trafficgen module =================================== Every trafficgen class must inherit from generic **ITrafficGenerator** -interface class. VSPERF during its initialization scans content of pkt_gen +interface class. ViNePerf during its initialization scans content of pkt_gen directory for all python modules, that inherit from **ITrafficGenerator**. These modules are automatically added into the list of supported traffic generators. @@ -51,7 +51,7 @@ Let us create a draft of tools/pkt_gen/sample_tg/sample_tg.py module. """ pass -VSPERF is immediately aware of the new class: +ViNePerf is immediately aware of the new class: .. code-block:: console @@ -83,14 +83,14 @@ Step 3 - configuration ====================== All configuration values, required for correct traffic generator function, are passed -from VSPERF to the traffic generator in a dictionary. Default values shared among +from ViNePerf to the traffic generator in a dictionary. Default values shared among all traffic generators are defined in **conf/03_traffic.conf** within **TRAFFIC** dictionary. Default values are loaded by **ITrafficGenerator** interface class automatically, so it is not needed to load them explicitly. In case that there are any traffic generator specific default values, then they should be set within class specific **__init__** function. -VSPERF passes test specific configuration within **traffic** dictionary to every +ViNePerf passes test specific configuration within **traffic** dictionary to every start and send function. So implementation of these functions must ensure, that default values are updated with the testcase specific values. Proper merge of values is assured by call of **merge_spec** function from **conf** module. @@ -140,7 +140,7 @@ Example in **tools/pkt_gen/sample_tg/sample_tg.py** module: Step 5 - supported traffic types ================================ -Currently VSPERF supports three different types of tests for traffic generators, +Currently ViNePerf supports three different types of tests for traffic generators, these are identified in vsperf through the traffic type, which include: * RFC2544 throughput - Send fixed size packets at different rates, using diff --git a/docs/testing/developer/devguide/design/vswitchperf_design.rst b/docs/testing/developer/devguide/design/vswitchperf_design.rst index 5fa892e0..f0f9401d 100644 --- a/docs/testing/developer/devguide/design/vswitchperf_design.rst +++ b/docs/testing/developer/devguide/design/vswitchperf_design.rst @@ -4,9 +4,9 @@ .. _vsperf-design: -====================== -VSPERF Design Document -====================== +======================== +ViNePerf Design Document +======================== Intended Audience ================= @@ -21,11 +21,11 @@ Usage Example Connectivity to DUT --------------------------- -Establish connectivity to the VSPERF DUT Linux host. If this is in an OPNFV lab +Establish connectivity to the ViNePerf DUT Linux host. If this is in an OPNFV lab following the steps provided by `Pharos `_ to `access the POD `_ -The followign steps establish the VSPERF environment. +The followign steps establish the ViNePerf environment. Example Command Lines --------------------- @@ -111,13 +111,13 @@ convention. Configuration of PATHS dictionary --------------------------------- -VSPERF uses external tools like Open vSwitch and Qemu for execution of testcases. These +ViNePerf uses external tools like Open vSwitch and Qemu for execution of testcases. These tools may be downloaded and built automatically (see :ref:`vsperf-installation-script`) or installed manually by user from binary packages. It is also possible to use a combination of both approaches, but it is essential to correctly set paths to all required tools. These paths are stored within a PATHS dictionary, which is evaluated before execution of each testcase, in order to setup testcase specific environment. Values selected for testcase -execution are internally stored inside TOOLS dictionary, which is used by VSPERF to execute +execution are internally stored inside TOOLS dictionary, which is used by ViNePerf to execute external tools, load kernel modules, etc. The default configuration of PATHS dictionary is spread among three different configuration files @@ -180,11 +180,11 @@ of configuration options: * option ``type`` - is a string, which defines the type of configured paths ('src' or 'bin') to be selected for a given section: - * value ``src`` means, that VSPERF will use vswitch, DPDK or QEMU built from sources - e.g. by execution of ``systems/build_base_machine.sh`` script during VSPERF + * value ``src`` means, that ViNePerf will use vswitch, DPDK or QEMU built from sources + e.g. by execution of ``systems/build_base_machine.sh`` script during ViNePerf installation - * value ``bin`` means, that VSPERF will use vswitch, DPDK or QEMU binaries installed + * value ``bin`` means, that ViNePerf will use vswitch, DPDK or QEMU binaries installed directly in the operating system, e.g. via OS specific packaging system * option ``path`` - is a string with a valid system path; Its content is checked for @@ -258,7 +258,7 @@ of configuration options: TOOLS['ovsdb-server'] = '/tmp/vsperf/src_vanilla/ovs/ovs/ovsdb/ovsdb-server' Note: In case that ``bin`` type is set for DPDK, then ``TOOLS['dpdk_src']`` will be set to -the value of ``PATHS['dpdk']['src']['path']``. The reason is, that VSPERF uses downloaded +the value of ``PATHS['dpdk']['src']['path']``. The reason is, that ViNePerf uses downloaded DPDK sources to copy DPDK and testpmd into the GUEST, where testpmd is built. In case, that DPDK sources are not available, then vsperf will continue with test execution, but testpmd can't be used as a guest loopback. This is useful in case, that other guest @@ -497,11 +497,11 @@ Detailed description of ``TRAFFIC`` dictionary items follows: Configuration of GUEST options ------------------------------ -VSPERF is able to setup scenarios involving a number of VMs in series or in parallel. +ViNePerf is able to setup scenarios involving a number of VMs in series or in parallel. All configuration options related to a particular VM instance are defined as lists and prefixed with ``GUEST_`` label. It is essential, that there is enough items in all ``GUEST_`` options to cover all VM instances involved in the test. -In case there is not enough items, then VSPERF will use the first item of +In case there is not enough items, then ViNePerf will use the first item of particular ``GUEST_`` option to expand the list to required length. Example of option expansion for 4 VMs: @@ -605,7 +605,7 @@ PXP Deployment Every testcase uses one of the supported deployment scenarios to setup test environment. The controller responsible for a given scenario configures flows in the vswitch to route traffic among physical interfaces connected to the traffic generator and virtual -machines. VSPERF supports several deployments including PXP deployment, which can +machines. ViNePerf supports several deployments including PXP deployment, which can setup various scenarios with multiple VMs. These scenarios are realized by VswitchControllerPXP class, which can configure and @@ -716,7 +716,7 @@ by deployment name as follows: * ``pvpv[number]`` - configures scenario with VMs connected in parallel with optional ``number`` of VMs. In case that ``number`` is not specified, then 2 VMs will be used. Multistream feature is used to route traffic to particular - VMs (or NIC pairs of every VM). It means, that VSPERF will enable multistream + VMs (or NIC pairs of every VM). It means, that ViNePerf will enable multistream feature and sets the number of streams to the number of VMs and their NIC pairs. Traffic will be dispatched based on Stream Type, i.e. by UDP port, IP address or MAC address. @@ -805,7 +805,7 @@ are modified inside VM (e.g. MAC swap or IP change). VM, vSwitch, Traffic Generator Independence =========================================== -VSPERF supports different VSwitches, Traffic Generators, VNFs +ViNePerf supports different VSwitches, Traffic Generators, VNFs and Forwarding Applications by using standard object-oriented polymorphism: * Support for vSwitches is implemented by a class inheriting from IVSwitch. diff --git a/docs/testing/developer/devguide/index.rst b/docs/testing/developer/devguide/index.rst index 64a4758c..ad82e3ce 100644 --- a/docs/testing/developer/devguide/index.rst +++ b/docs/testing/developer/devguide/index.rst @@ -2,46 +2,46 @@ .. http://creativecommons.org/licenses/by/4.0 .. (c) OPNFV, Intel Corporation, AT&T, Red Hat, Spirent, Ixia and others. -.. OPNFV VSPERF Documentation master file. +.. Anuket ViNePerf Documentation master file. -**************************** -OPNFV VSPERF Developer Guide -**************************** +******************************* +Anuket ViNePerf Developer Guide +******************************* ============ Introduction ============ -VSPERF is an OPNFV testing project. +ViNePerf is an Anuket testing project. -VSPERF provides an automated test-framework and comprehensive test suite based on Industry +ViNePerf provides an automated test-framework and comprehensive test suite based on Industry Test Specifications for measuring NFVI data-plane performance. The data-path includes switching technologies with -physical and virtual network interfaces. The VSPERF architecture is switch and traffic generator agnostic and test -cases can be easily customized. VSPERF was designed to be independent of OpenStack therefore OPNFV installer scenarios -are not required. VSPERF can source, configure and deploy the device-under-test using specified software versions and -network topology. VSPERF is used as a development tool for optimizing switching technologies, qualification of packet +physical and virtual network interfaces. The ViNePerf architecture is switch and traffic generator agnostic and test +cases can be easily customized. ViNePerf was designed to be independent of OpenStack therefore OPNFV installer scenarios +are not required. ViNePerf can source, configure and deploy the device-under-test using specified software versions and +network topology. ViNePerf is used as a development tool for optimizing switching technologies, qualification of packet processing functions and for evaluation of data-path performance. The Euphrates release adds new features and improvements that will help advance high performance packet processing on Telco NFV platforms. This includes new test cases, flexibility in customizing test-cases, new results display options, improved tool resiliency, additional traffic generator support and VPP support. -VSPERF provides a framework where the entire NFV Industry can learn about NFVI data-plane performance and try-out -new techniques together. A new IETF benchmarking specification (RFC8204) is based on VSPERF work contributed since -2015. VSPERF is also contributing to development of ETSI NFV test specifications through the Test and Open Source +ViNePerf provides a framework where the entire NFV Industry can learn about NFVI data-plane performance and try-out +new techniques together. A new IETF benchmarking specification (RFC8204) is based on ViNePerf work contributed since +2015. ViNePerf is also contributing to development of ETSI NFV test specifications through the Test and Open Source Working Group. -* Wiki: https://wiki.opnfv.org/display/vsperf -* Repository: https://git.opnfv.org/vswitchperf +* Wiki: https://wiki.anuket.io/display/HOME/ViNePERF +* Repository: https://git.opnfv.org/vineperf * Artifacts: https://artifacts.opnfv.org/vswitchperf.html -* Continuous Integration: https://build.opnfv.org/ci/view/vswitchperf/ +* Continuous Integration: https://build.opnfv.org/ci/view/vineperf/ ============= Design Guides ============= .. toctree:: - :caption: Traffic Gen Integration, VSPERF Design, Test Design, Test Plan + :caption: Traffic Gen Integration, ViNePerf Design, Test Design, Test Plan :maxdepth: 2 ./design/trafficgen_integration_guide.rst @@ -55,22 +55,22 @@ IETF RFC 8204 ============= .. toctree:: - :caption: VSPERF contributions to Industry Specifications + :caption: ViNePerf contributions to Industry Specifications :maxdepth: 2 :numbered: The IETF Benchmarking Methodology Working Group (BMWG) was re-chartered in 2014 to include benchmarking for -Virtualized Network Functions (VNFs) and their infrastructure. A version of the VSPERF test specification was +Virtualized Network Functions (VNFs) and their infrastructure. A version of the ViNePerf test specification was summarized in an Internet Draft ... `Benchmarking Virtual Switches in OPNFV `_ and contributed to the BMWG. In June 2017 the Internet Engineering Steering Group of the IETF approved the most recent version of the draft for publication as a new test specification (RFC 8204). -==================== -VSPERF CI Test Cases -==================== +====================== +ViNePerf CI Test Cases +====================== .. toctree:: - :caption: VSPERF Scenarios & Results + :caption: ViNePerf Scenarios & Results :maxdepth: 2 :numbered: -CI Test cases run daily on the VSPERF Pharos POD for master and stable branches. +CI Test cases run daily on the ViNePerf Pharos POD for master and stable branches. diff --git a/docs/testing/developer/devguide/requirements/ietf_draft/rfc8204-vsperf-bmwg-vswitch-opnfv.rst b/docs/testing/developer/devguide/requirements/ietf_draft/rfc8204-vsperf-bmwg-vswitch-opnfv.rst index 10b07d54..201c8415 100644 --- a/docs/testing/developer/devguide/requirements/ietf_draft/rfc8204-vsperf-bmwg-vswitch-opnfv.rst +++ b/docs/testing/developer/devguide/requirements/ietf_draft/rfc8204-vsperf-bmwg-vswitch-opnfv.rst @@ -6,12 +6,12 @@ IETF benchmarking specification RFC8204 *************************************** -The directory /ietf_draft was used to store draft versions of the VSPERF test specification proposed +The directory /ietf_draft was used to store draft versions of the ViNePerf test specification proposed as an Internet Draft and subsequently approved for publication as RFC8204. The draft versions have been removed. "Benchmarking Virtual Switches in the Open Platform for NFV (OPNFV)" is an informational RFC published by the IETF available here https://tools.ietf.org/html/rfc8204. -For more information about VSPERF refer to: +For more information about ViNePerf refer to: * Wiki: https://wiki.opnfv.org/display/vsperf * Repository: https://git.opnfv.org/vswitchperf diff --git a/docs/testing/developer/devguide/requirements/vswitchperf_ltd.rst b/docs/testing/developer/devguide/requirements/vswitchperf_ltd.rst index 1ea99f7e..5796b399 100644 --- a/docs/testing/developer/devguide/requirements/vswitchperf_ltd.rst +++ b/docs/testing/developer/devguide/requirements/vswitchperf_ltd.rst @@ -2,9 +2,9 @@ .. http://creativecommons.org/licenses/by/4.0 .. (c) OPNFV, Intel Corporation, AT&T and others. -****************************** -VSPERF LEVEL TEST DESIGN (LTD) -****************************** +******************************** +ViNePerf LEVEL TEST DESIGN (LTD) +******************************** .. 3.1 diff --git a/docs/testing/developer/devguide/requirements/vswitchperf_ltp.rst b/docs/testing/developer/devguide/requirements/vswitchperf_ltp.rst index c0b63859..fe57ddc5 100644 --- a/docs/testing/developer/devguide/requirements/vswitchperf_ltp.rst +++ b/docs/testing/developer/devguide/requirements/vswitchperf_ltp.rst @@ -4,16 +4,16 @@ .. 3.1 -***************************** -VSPERF LEVEL TEST PLAN (LTP) -***************************** +****************************** +ViNePerf LEVEL TEST PLAN (LTP) +****************************** =============== Introduction =============== -The objective of the OPNFV project titled -**Characterize vSwitch Performance for Telco NFV Use Cases**, is to +The objective of the Anuket project titled +**Characterize Virtual Networking Performance for Telco NFV Use Cases**, is to evaluate the performance of virtual switches to identify its suitability for a Telco Network Function Virtualization (NFV) environment. The intention of this Level Test Plan (LTP) document is to specify the scope, approach, resources, @@ -1295,9 +1295,9 @@ vsperf also identified an alternative configuration for the final step: Environment/infrastructure ============================ -VSPERF CI jobs are run using the OPNFV lab infrastructure as described by the +ViNePerf CI jobs are run using the Anuket lab infrastructure as described by the 'Pharos Project `_ . -A VSPERF POD is described here https://wiki.opnfv.org/display/pharos/VSPERF+in+Intel+Pharos+Lab+-+Pod+12 +A ViNePerf POD is described here https://wiki.opnfv.org/display/pharos/ViNePerf+in+Intel+Pharos+Lab+-+Pod+12 vsperf CI --------- @@ -1322,15 +1322,15 @@ vsperf CI jobs are broken down into: Scripts: -------- -There are 2 scripts that are part of VSPERFs CI: +There are 2 scripts that are part of ViNePerfs CI: - * build-vsperf.sh: Lives in the VSPERF repository in the ci/ directory and is + * build-vsperf.sh: Lives in the ViNePerf repository in the ci/ directory and is used to run vsperf with the appropriate cli parameters. * vswitchperf.yml: YAML description of our jenkins job. lives in the RELENG repository. More info on vsperf CI can be found here: -https://wiki.opnfv.org/display/vsperf/VSPERF+CI +https://wiki.opnfv.org/display/vsperf/ViNePerf+CI .. 3.3.3: diff --git a/docs/testing/developer/devguide/results/index.rst b/docs/testing/developer/devguide/results/index.rst index 04899b5a..d9ae1466 100644 --- a/docs/testing/developer/devguide/results/index.rst +++ b/docs/testing/developer/devguide/results/index.rst @@ -2,9 +2,9 @@ .. http://creativecommons.org/licenses/by/4.0 .. (c) OPNFV, Intel Corporation, AT&T and others. -************** -VSPERF Results -************** +**************** +ViNePerf Results +**************** .. toctree:: :numbered: @@ -12,3 +12,4 @@ VSPERF Results scenario.rst results.rst + osk8s.rst diff --git a/docs/testing/developer/devguide/results/osk8s.rst b/docs/testing/developer/devguide/results/osk8s.rst new file mode 100644 index 00000000..81d2f3c8 --- /dev/null +++ b/docs/testing/developer/devguide/results/osk8s.rst @@ -0,0 +1,15 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. (c) OPNFV, Spirent, AT&T, Ixia and others. + +.. Anuket ViNePerf Openstack/Kubernetes Documentation file + +Reporting for Openstack and Kubernetes Usecases +=============================================== + +For Openstack and Kubernetes scenarios, ViNePerf will providing for the following as part of the reporting: + +1. Cloud-Information: Detailed information about the Openstack or Kubernetes environment. +2. Cloud Identifier: Identifying whether the cloud was Openstack based or Kubernetes based. + +These information are saved in the same location as the test-results. diff --git a/docs/testing/developer/devguide/results/results.rst b/docs/testing/developer/devguide/results/results.rst index 0a0ab75d..ee99410f 100644 --- a/docs/testing/developer/devguide/results/results.rst +++ b/docs/testing/developer/devguide/results/results.rst @@ -2,13 +2,13 @@ .. http://creativecommons.org/licenses/by/4.0 .. (c) OPNFV, Intel Corporation, AT&T and others. -OPNFV Test Results +Anuket Test Results ========================= -VSPERF CI jobs are run daily and sample results can be found at +ViNePerf CI jobs are run daily and sample results can be found at https://wiki.opnfv.org/display/vsperf/Vsperf+Results Testcase names shown in the dashboard are combination of orignal testcase -name from VSPERF framework and indication of used vswitch. +name from ViNePerf framework and indication of used vswitch. Example: diff --git a/docs/testing/developer/devguide/results/scenario.rst b/docs/testing/developer/devguide/results/scenario.rst index f7eadd33..99ba19ff 100644 --- a/docs/testing/developer/devguide/results/scenario.rst +++ b/docs/testing/developer/devguide/results/scenario.rst @@ -2,8 +2,8 @@ .. http://creativecommons.org/licenses/by/4.0 .. (c) OPNFV, Intel Corporation, AT&T and others. -VSPERF Test Scenarios -===================== +ViNePerf Test Scenarios +======================= Predefined Tests suitable for automated execution with CI: diff --git a/docs/testing/user/configguide/index.rst b/docs/testing/user/configguide/index.rst index 87c32d11..2a69cbe1 100644 --- a/docs/testing/user/configguide/index.rst +++ b/docs/testing/user/configguide/index.rst @@ -2,46 +2,48 @@ .. http://creativecommons.org/licenses/by/4.0 .. (c) OPNFV, Intel Corporation, AT&T, Red Hat, Spirent, Ixia and others. -.. OPNFV VSPERF Documentation master file. +.. Anuket ViNePerf Documentation master file. -*********************************** -VSPERF Configuration and User Guide -*********************************** +************************************* +ViNePerf Configuration and User Guide +************************************* ============ Introduction ============ -VSPERF is an OPNFV testing project. +ViNePerf is an OPNFV testing project. -VSPERF provides an automated test-framework and comprehensive test suite based on Industry +ViNePerf provides an automated test-framework and comprehensive test suite based on Industry Test Specifications for measuring NFVI data-plane performance. The data-path includes switching technologies with -physical and virtual network interfaces. The VSPERF architecture is switch and traffic generator agnostic and test -cases can be easily customized. VSPERF was designed to be independent of OpenStack therefore OPNFV installer scenarios -are not required. VSPERF can source, configure and deploy the device-under-test using specified software versions and -network topology. VSPERF is used as a development tool for optimizing switching technologies, qualification of packet +physical and virtual network interfaces. The ViNePerf architecture is switch and traffic generator agnostic and test +cases can be easily customized. ViNePerf was designed to be independent of OpenStack therefore OPNFV installer scenarios +are not required. ViNePerf can source, configure and deploy the device-under-test using specified software versions and +network topology. ViNePerf is used as a development tool for optimizing switching technologies, qualification of packet processing functions and for evaluation of data-path performance. -The Euphrates release adds new features and improvements that will help advance high performance packet processing +The Kali release adds new features and improvements that will help advance high performance packet processing on Telco NFV platforms. This includes new test cases, flexibility in customizing test-cases, new results display options, improved tool resiliency, additional traffic generator support and VPP support. -VSPERF provides a framework where the entire NFV Industry can learn about NFVI data-plane performance and try-out -new techniques together. A new IETF benchmarking specification (RFC8204) is based on VSPERF work contributed since -2015. VSPERF is also contributing to development of ETSI NFV test specifications through the Test and Open Source +The support for Openstack and Kubernetes was added in Jerma release, and Kali release adds additional testcases to it. + +ViNePerf provides a framework where the entire NFV Industry can learn about NFVI data-plane performance and try-out +new techniques together. A new IETF benchmarking specification (RFC8204) is based on ViNePerf work contributed since +2015. ViNePerf is also contributing to development of ETSI NFV test specifications through the Test and Open Source Working Group. -* Wiki: https://wiki.opnfv.org/display/vsperf -* Repository: https://git.opnfv.org/vswitchperf +* Wiki: https://wiki.anuket.io/display/HOME/ViNePERF +* Repository: https://git.opnfv.org/vineperf * Artifacts: https://artifacts.opnfv.org/vswitchperf.html -* Continuous Integration: https://build.opnfv.org/ci/view/vswitchperf/ +* Continuous Integration: https://build.opnfv.org/ci/view/vineperf/ -================================ -VSPERF Install and Configuration -================================ +================================== +ViNePerf Install and Configuration +================================== .. toctree:: - :caption: VSPERF Install, Upgrade, Traffic Generator Guide + :caption: ViNePerf Install, Upgrade, Traffic Generator Guide :maxdepth: 2 :numbered: @@ -50,12 +52,12 @@ VSPERF Install and Configuration ./trafficgen.rst ./tools.rst -================= -VSPERF Test Guide -================= +=================== +ViNePerf Test Guide +=================== .. toctree:: - :caption: VSPERF Test Execution + :caption: ViNePerf Test Execution :maxdepth: 2 ../userguide/testusage.rst diff --git a/docs/testing/user/configguide/installation.rst b/docs/testing/user/configguide/installation.rst index b950442e..4665c9e9 100644 --- a/docs/testing/user/configguide/installation.rst +++ b/docs/testing/user/configguide/installation.rst @@ -5,15 +5,15 @@ .. _vsperf-installation: ====================== -Installing vswitchperf +Installing ViNePerf ====================== -Downloading vswitchperf +Downloading ViNeperf ----------------------- -The vswitchperf can be downloaded from its official git repository, which is +The ViNePerf can be downloaded from its official git repository, which is hosted by OPNFV. It is necessary to install a ``git`` at your DUT before downloading -vswitchperf. Installation of ``git`` is specific to the packaging system used by +vineperf. Installation of ``git`` is specific to the packaging system used by Linux OS installed at DUT. Example of installation of GIT package and its dependencies: @@ -31,14 +31,14 @@ Example of installation of GIT package and its dependencies: sudo apt-get install git -After the ``git`` is successfully installed at DUT, then vswitchperf can be downloaded +After the ``git`` is successfully installed at DUT, then vineperf can be downloaded as follows: .. code:: bash - git clone http://git.opnfv.org/vswitchperf + git clone https://gerrit.opnfv.org/gerrit/vineperf -The last command will create a directory ``vswitchperf`` with a local copy of vswitchperf +The last command will create a directory ``vineperf`` with a local copy of vineperf repository. Supported Operating Systems @@ -47,6 +47,7 @@ Supported Operating Systems * CentOS 7.3 * Fedora 24 (kernel 4.8 requires DPDK 16.11 and newer) * Fedora 25 (kernel 4.9 requires DPDK 16.11 and newer) +* Fedora 33 * openSUSE 42.2 * openSUSE 42.3 * openSUSE Tumbleweed @@ -57,6 +58,7 @@ Supported Operating Systems * Ubuntu 14.04 * Ubuntu 16.04 * Ubuntu 16.10 (kernel 4.8 requires DPDK 16.11 and newer) +* Ubuntu 20.04 Supported vSwitches ------------------- @@ -79,8 +81,8 @@ Supported VNFs In theory, it is possible to use any VNF image, which is compatible with supported hypervisor. However such VNF must ensure, that appropriate number of network interfaces is configured and that traffic is properly -forwarded among them. For new vswitchperf users it is recommended to start -with official vloop-vnf_ image, which is maintained by vswitchperf community. +forwarded among them. For new ViNePerf users it is recommended to start +with official vloop-vnf_ image, which is maintained by ViNePerf community. .. _vloop-vnf: @@ -162,23 +164,23 @@ automatically. Script **build_base_machine.sh** will install all the vsperf dependencies in terms of system packages, Python 3.x and required Python modules. -In case of CentOS 7 or RHEL it will install Python 3.3 from an additional +In case of CentOS 7 or RHEL it will install Python 3.8 from an additional repository provided by Software Collections (`a link`_). The installation script will also use `virtualenv`_ to create a vsperf virtual environment, which is isolated from the default Python environment, using the Python3 package located in **/usr/bin/python3**. This environment will reside in a directory called -**vsperfenv** in $HOME. +**vsperfenv** in $HOME. It will ensure, that system wide Python installation is not modified or -broken by VSPERF installation. +broken by ViNePerf installation. The complete list of Python packages installed inside virtualenv can be found in the file -``requirements.txt``, which is located at the vswitchperf repository. +``requirements.txt``, which is located at the ViNePerf repository. **NOTE:** For RHEL 7.3 Enterprise and CentOS 7.3 OVS Vanilla is not built from upstream source due to kernel incompatibilities. Please see the -instructions in the vswitchperf_design document for details on configuring +instructions in the ViNePerf_design document for details on configuring OVS Vanilla for binary package usage. **NOTE:** For RHEL 7.5 Enterprise DPDK and Openvswitch are not built from @@ -202,7 +204,7 @@ issue by simply downloading the file. $ wget https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7 -Using vswitchperf +Using ViNePerf ----------------- You will need to activate the virtual environment every time you start a @@ -221,12 +223,12 @@ new shell session. Its activation is specific to your OS: $ source $HOME/vsperfenv/bin/activate -After the virtual environment is configued, then VSPERF can be used. +After the virtual environment is configued, then ViNePerf can be used. For example: .. code:: bash - (vsperfenv) $ cd vswitchperf + (vsperfenv) $ cd vineperf (vsperfenv) $ ./vsperf --help Gotcha @@ -237,7 +239,7 @@ In case you will see following error during environment activation: .. code:: bash $ source $HOME/vsperfenv/bin/activate - Badly placed ()'s. + Badly placed ()s. then check what type of shell you are using: @@ -284,7 +286,7 @@ VSPerf supports the default DPDK bind tool, but also supports driverctl. The driverctl tool is a new tool being used that allows driver binding to be persistent across reboots. The driverctl tool is not provided by VSPerf, but can be downloaded from upstream sources. Once installed set the bind tool to -driverctl to allow VSPERF to correctly bind cards for DPDK tests. +driverctl to allow ViNePerf to correctly bind cards for DPDK tests. .. code:: python diff --git a/docs/testing/user/configguide/tools.rst b/docs/testing/user/configguide/tools.rst index 72e515fa..617d67bc 100644 --- a/docs/testing/user/configguide/tools.rst +++ b/docs/testing/user/configguide/tools.rst @@ -5,19 +5,19 @@ .. _additional-tools-configuration: ============================================= -'vsperf' Additional Tools Configuration Guide +ViNePerf Additional Tools Configuration Guide ============================================= Overview -------- -VSPERF supports the following categories additional tools: +ViNePerf supports the following categories additional tools: * `Infrastructure Metrics Collectors`_ * `Load Generators`_ * `L3 Cache Management`_ -Under each category, there are one or more tools supported by VSPERF. +Under each category, there are one or more tools supported by ViNePerf. This guide provides the details of how to install (if required) and configure the above mentioned tools. @@ -26,13 +26,13 @@ and configure the above mentioned tools. Infrastructure Metrics Collection --------------------------------- -VSPERF supports following two tools for collecting and reporting the metrics: +ViNePerf supports following two tools for collecting and reporting the metrics: * pidstat * collectd *pidstat* is a command in linux systems, which is used for monitoring individual -tasks currently being managed by Linux kernel. In VSPERF this command is used to +tasks currently being managed by Linux kernel. In ViNePerf this command is used to monitor *ovs-vswitchd*, *ovsdb-server* and *kvm* processes. *collectd* is linux application that collects, stores and transfers various system @@ -46,10 +46,10 @@ Installation No installation is required for *pidstat*, whereas, collectd has to be installed separately. For installation of collectd, we recommend to follow the process described -in *OPNFV-Barometer* project, which can be found here `Barometer `_ +in *Anuket-Barometer* project, which can be found here `Barometer `_ recent release. -VSPERF assumes that collectd is installed and configured to send metrics over localhost. +ViNePerf assumes that collectd is installed and configured to send metrics over localhost. The metrics sent should be for the following categories: CPU, Processes, Interface, OVS, DPDK, Intel-RDT. @@ -97,9 +97,9 @@ The *collectd* configuration option includes: Load Generation --------------- -In VSPERF, load generation refers to creating background cpu and memory loads to +In ViNePerf, load generation refers to creating background cpu and memory loads to study the impact of these loads on system under test. There are two options to -create loads in VSPERF. These options are used for different use-cases. The options are: +create loads in ViNePerf. These options are used for different use-cases. The options are: * stress or stress-ng * Stressor-VMs @@ -148,12 +148,12 @@ load-generation. However, for StressorVMs, following configurations apply: Last Level Cache Management --------------------------- -VSPERF support last-level cache management using Intel's RDT tool(s) - the +ViNePerf support last-level cache management using Intel's RDT tool(s) - the relavant ones are `Intel CAT-CMT `_ and `Intel RMD `_. RMD is a linux daemon that runs on individual hosts, and provides a REST API for control/orchestration layer to request LLC for the VMs/Containers/Applications. RDT receives resource policy -form orchestration layer - in this case, from VSPERF - and enforce it on the host. +form orchestration layer - in this case, from ViNePerf - and enforce it on the host. It achieves this enforcement via kernel interfaces such as resctrlfs and libpqos. The resource here refer to the last-level cache. User can configure policies to define how much of cache a CPU can get. The policy configuration is described below. @@ -170,7 +170,7 @@ Configuration The configuration file for cache management can be found in **conf/08_llcmanagement.conf**. -VSPERF provides following configuration options, for user to define and enforce policies via RMD. +ViNePerf provides following configuration options, for user to define and enforce policies via RMD. * ``LLC_ALLOCATION`` - Enable or Disable LLC management. * ``RMD_PORT`` - RMD port (port number on which API server is listening) @@ -186,15 +186,15 @@ VSPERF provides following configuration options, for user to define and enforce * ``PMD_CA`` - [min-cache-value, max-cache-value] for PMD * ``NOISEVM_CA`` - [min-cache-value, max-cache-value] for Noisy VM -VSPERF Containers ------------------ +ViNePerf Containers +------------------- -VSPERF containers are found in tools/docker folder. +ViNePerf containers are found in tools/docker folder. RESULTS CONTAINER ^^^^^^^^^^^^^^^^^ -The results container includes multiple services - ELK Stack, Barometer-Grafana, OPNFV-TestAPI & Jupyter. +The results container includes multiple services - ELK Stack, Barometer-Grafana, Anuket-TestAPI & Jupyter. Pre-Deployment Configuration ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -205,7 +205,7 @@ Pre-Deployment Configuration 2. You may want to modify the IP address from 0.0.0.0 to appropriate host-ip in ``docker-compose.yml`` -3. Please add dashboards folder from OPNFV-Barometer-Grafana into the grafana folder. It can be found in `Barometer Grafana `. @@ -41,10 +41,10 @@ install and configure a suitable traffic generator. Cloning and building src dependencies ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -In order to run VSPERF, you will need to download DPDK and OVS. You can +In order to run ViNePerf, you will need to download DPDK and OVS. You can do this manually and build them in a preferred location, OR you could -use vswitchperf/src. The vswitchperf/src directory contains makefiles -that will allow you to clone and build the libraries that VSPERF depends +use vineperf/src. The vineperf/src directory contains makefiles +that will allow you to clone and build the libraries that ViNePerf depends on, such as DPDK and OVS. To clone and build simply: .. code-block:: console @@ -52,7 +52,7 @@ on, such as DPDK and OVS. To clone and build simply: $ cd src $ make -VSPERF can be used with stock OVS (without DPDK support). When build +ViNePerf can be used with stock OVS (without DPDK support). When build is finished, the libraries are stored in src_vanilla directory. The 'make' builds all options in src: @@ -61,7 +61,7 @@ The 'make' builds all options in src: * OVS with vhost_user as the guest access method (with DPDK support) The vhost_user build will reside in src/ovs/ -The Vanilla OVS build will reside in vswitchperf/src_vanilla +The Vanilla OVS build will reside in vineperf/src_vanilla To delete a src subdirectory and its contents to allow you to re-clone simply use: @@ -193,7 +193,7 @@ Referencing parameter values It is possible to use a special macro ``#PARAM()`` to refer to the value of another configuration parameter. This reference is evaluated during access of the parameter value (by ``settings.getValue()`` call), so it -can refer to parameters created during VSPERF runtime, e.g. NICS dictionary. +can refer to parameters created during ViNePerf runtime, e.g. NICS dictionary. It can be used to reflect DUT HW details in the testcase definition. Example: @@ -216,7 +216,7 @@ Example: vloop_vnf ^^^^^^^^^ -VSPERF uses a VM image called vloop_vnf for looping traffic in the deployment +ViNePerf uses a VM image called vloop_vnf for looping traffic in the deployment scenarios involving VMs. The image can be downloaded from ``__. @@ -230,7 +230,7 @@ l2fwd Kernel Module A Kernel Module that provides OSI Layer 2 Ipv4 termination or forwarding with support for Destination Network Address Translation (DNAT) for both the MAC and -IP addresses. l2fwd can be found in /src/l2fwd +IP addresses. l2fwd can be found in /src/l2fwd Additional Tools Setup ^^^^^^^^^^^^^^^^^^^^^^ @@ -241,8 +241,8 @@ install and configure additional tools such as collectors and loadgens. Executing tests ^^^^^^^^^^^^^^^ -All examples inside these docs assume, that user is inside the VSPERF -directory. VSPERF can be executed from any directory. +All examples inside these docs assume, that user is inside the ViNePerf +directory. ViNePerf can be executed from any directory. Before running any tests make sure you have root permissions by adding the following line to /etc/sudoers: @@ -525,15 +525,15 @@ of NIC PCI slot definition: Where 'vf' is an indication of virtual function usage and following number defines a VF to be used. In case that VF usage is detected, -then vswitchperf will enable SRIOV support for given card and it will +then vineperf will enable SRIOV support for given card and it will detect PCI slot numbers of selected VFs. So in example above, one VF will be configured for NIC '0000:05:00.0' -and four VFs will be configured for NIC '0000:05:00.1'. Vswitchperf +and four VFs will be configured for NIC '0000:05:00.1'. ViNePerf will detect PCI addresses of selected VFs and it will use them during test execution. -At the end of vswitchperf execution, SRIOV support will be disabled. +At the end of vineperf execution, SRIOV support will be disabled. SRIOV support is generic and it can be used in different testing scenarios. For example: @@ -668,7 +668,7 @@ information on these drivers. Guest Core and Thread Binding ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -VSPERF provides options to achieve better performance by guest core binding and +ViNePerf provides options to achieve better performance by guest core binding and guest vCPU thread binding as well. Core binding is to bind all the qemu threads. Thread binding is to bind the house keeping threads to some CPU and vCPU thread to some other CPU, this helps to reduce the noise from qemu house keeping threads. @@ -787,7 +787,7 @@ assigned at least (nb_cores +1) total cores with the cpu mask. Jumbo Frame Testing ^^^^^^^^^^^^^^^^^^^ -VSPERF provides options to support jumbo frame testing with a jumbo frame supported +ViNePerf provides options to support jumbo frame testing with a jumbo frame supported NIC and traffic generator for the following vswitches: 1. OVSVanilla @@ -820,7 +820,7 @@ its mtu size changed manually using ifconfig or applicable tools: documents as it differs from distribution to distribution. To start a test for jumbo frames modify the conf file packet sizes or pass the option -through the VSPERF command line. +through the ViNePerf command line. .. code-block:: python @@ -945,10 +945,10 @@ Execution of TestPMD can be run with the following command line **NOTE:** To achieve the best 0% loss numbers with rfc2544 throughput testing, other tunings should be applied to host and guest such as tuned profiles and CPU tunings to prevent possible interrupts to worker threads. -VSPERF modes of operation -^^^^^^^^^^^^^^^^^^^^^^^^^ +ViNePerf modes of operation +^^^^^^^^^^^^^^^^^^^^^^^^^^^ -VSPERF can be run in different modes. By default it will configure vSwitch, +ViNePerf can be run in different modes. By default it will configure vSwitch, traffic generator and VNF. However it can be used just for configuration and execution of traffic generator. Another option is execution of all components except traffic generator itself. @@ -964,14 +964,14 @@ Mode of operation is driven by configuration parameter -m or --mode "trafficgen-off" - execute vSwitch and VNF "trafficgen-pause" - execute vSwitch and VNF but wait before traffic transmission -In case, that VSPERF is executed in "trafficgen" mode, then configuration +In case, that ViNePerf is executed in "trafficgen" mode, then configuration of traffic generator can be modified through ``TRAFFIC`` dictionary passed to the ``--test-params`` option. It is not needed to specify all values of ``TRAFFIC`` dictionary. It is sufficient to specify only values, which should be changed. Detailed description of ``TRAFFIC`` dictionary can be found at :ref:`configuration-of-traffic-dictionary`. -Example of execution of VSPERF in "trafficgen" mode: +Example of execution of ViNePerf in "trafficgen" mode: .. code-block:: console @@ -1014,7 +1014,7 @@ Example output: Code change verification by pylint ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Every developer participating in VSPERF project should run +Every developer participating in ViNePerf project should run pylint before his python code is submitted for review. Project specific configuration for pylint is available at 'pylint.rc'. diff --git a/docs/testing/user/userguide/trafficcapture.rst b/docs/testing/user/userguide/trafficcapture.rst index 8a224dcb..bc32f2ab 100644 --- a/docs/testing/user/userguide/trafficcapture.rst +++ b/docs/testing/user/userguide/trafficcapture.rst @@ -6,7 +6,7 @@ many of the functional tests. It allows the verification of functionality for both the vSwitch and the NICs using hardware acceleration for packet manipulation and modification. -There are three different methods of traffic capture supported by VSPERF. +There are three different methods of traffic capture supported by ViNePerf. Detailed descriptions of these methods as well as their pros and cons can be found in the following chapters. @@ -166,7 +166,7 @@ An example of Traffic Capture for testing NICs with HW offloading test: # The removal of VLAN headers is verified by inspection of captured frames. # # NOTE: This setup expects a DUT with two NICs with two ports each. First NIC is - # connected to the traffic generator (standard VSPERF setup). Ports of a second NIC + # connected to the traffic generator (standard ViNePerf setup). Ports of a second NIC # are interconnected by a patch cable. PCI addresses of all four ports have to be # properly configured in the WHITELIST_NICS parameter. { @@ -215,9 +215,9 @@ Traffic Capture on the Traffic Generator ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Using the functionality of the Traffic generator makes it possible to configure -Traffic Capture on both it's ports. With Traffic Capture enabled, VSPERF +Traffic Capture on both it's ports. With Traffic Capture enabled, ViNePerf instructs the Traffic Generator to automatically export captured data into -a pcap file. The captured packets are then sent to VSPERF for analysis and +a pcap file. The captured packets are then sent to ViNePerf for analysis and verification, monitoring any changes done by both vSwitch and the NICs. Vsperf currently only supports this functionality with the **T-Rex** generator. diff --git a/docs/testing/user/userguide/yardstick.rst b/docs/testing/user/userguide/yardstick.rst index b5e5c72d..35dfd1c9 100644 --- a/docs/testing/user/userguide/yardstick.rst +++ b/docs/testing/user/userguide/yardstick.rst @@ -2,7 +2,7 @@ .. http://creativecommons.org/licenses/by/4.0 .. (c) OPNFV, Intel Corporation, AT&T and others. -Execution of vswitchperf testcases by Yardstick +Execution of ViNePerf testcases by Yardstick ----------------------------------------------- General @@ -10,12 +10,12 @@ General Yardstick is a generic framework for a test execution, which is used for validation of installation of OPNFV platform. In the future, Yardstick will -support two options of vswitchperf testcase execution: +support two options of ViNePerf testcase execution: -- plugin mode, which will execute native vswitchperf testcases; Tests will +- plugin mode, which will execute native ViNePerf testcases; Tests will be executed natively by vsperf, and test results will be processed and reported by yardstick. -- traffic generator mode, which will run vswitchperf in **trafficgen** +- traffic generator mode, which will run ViNePerf in **trafficgen** mode only; Yardstick framework will be used to launch VNFs and to configure flows to ensure, that traffic is properly routed. This mode will allow to test OVS performance in real world scenarios. @@ -32,19 +32,19 @@ to install the yardstick. Please note, that yardstick uses OpenStack for execution of testcases. OpenStack must be installed with Heat and Neutron services. Otherwise -vswitchperf testcases cannot be executed. +ViNePerf testcases cannot be executed. -VM image with vswitchperf +VM image with ViNePerf ^^^^^^^^^^^^^^^^^^^^^^^^^ -A special VM image is required for execution of vswitchperf specific testcases +A special VM image is required for execution of ViNePerf specific testcases by yardstick. It is possible to use a sample VM image available at OPNFV artifactory or to build customized image. -Sample VM image with vswitchperf +Sample VM image with ViNePerf ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Sample VM image is available at vswitchperf section of OPNFV artifactory +Sample VM image is available at ViNePerf section of OPNFV artifactory for free download: .. code-block:: console @@ -58,18 +58,18 @@ generator. This software is not included in the sample image and must be installed by user. **NOTE:** This image will be updated only in case, that new features related -to yardstick integration will be added to the vswitchperf. +to yardstick integration will be added to the ViNePerf. Preparation of custom VM image ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In general, any Linux distribution supported by vswitchperf can be used as -a base image for vswitchperf. One of the possibilities is to modify vloop-vnf +In general, any Linux distribution supported by ViNePerf can be used as +a base image for ViNePerf. One of the possibilities is to modify vloop-vnf image, which can be downloaded from ``__ (see :ref:`vloop-vnf`). Please follow the :ref:`vsperf-installation` to -install vswitchperf inside vloop-vnf image. As vswitchperf will be run in +install ViNePerf inside vloop-vnf image. As ViNePerf will be run in trafficgen mode, it is possible to skip installation and compilation of OVS, QEMU and DPDK to keep image size smaller. @@ -80,8 +80,8 @@ of IXIA, you would need to install IxOS and IxNetowrk TCL API. VM image usage ~~~~~~~~~~~~~~ -Image with vswitchperf must be uploaded into the glance service and -vswitchperf specific flavor configured, e.g.: +Image with ViNePerf must be uploaded into the glance service and +ViNePerf specific flavor configured, e.g.: .. code-block:: console @@ -110,14 +110,14 @@ Next step is configuration of OpenStack environment, e.g. in case of devstack: source /opt/openstack/devstack/openrc export EXTERNAL_NETWORK=public -Vswitchperf testcases executable by yardstick are located at vswitchperf +ViNePerf testcases executable by yardstick are located at ViNePerf repository inside ``yardstick/tests`` directory. Example of their download and execution follows: .. code-block:: console - git clone https://gerrit.opnfv.org/gerrit/vswitchperf - cd vswitchperf + git clone https://gerrit.opnfv.org/gerrit/vineperf + cd vineperf yardstick -d task start yardstick/tests/rfc2544_throughput_dummy.yaml @@ -126,10 +126,10 @@ and execution follows: Testcase customization ^^^^^^^^^^^^^^^^^^^^^^ -Yardstick testcases are described by YAML files. vswitchperf specific testcases -are part of the vswitchperf repository and their yaml files can be found at +Yardstick testcases are described by YAML files. ViNePerf specific testcases +are part of the ViNePerf repository and their yaml files can be found at ``yardstick/tests`` directory. For detailed description of yaml file structure, -please see yardstick documentation and testcase samples. Only vswitchperf specific +please see yardstick documentation and testcase samples. Only ViNePerf specific parts will be discussed here. Example of yaml file: @@ -170,14 +170,14 @@ Example of yaml file: Section option ~~~~~~~~~~~~~~ -Section **option** defines details of vswitchperf test scenario. Lot of options -are identical to the vswitchperf parameters passed through ``--test-params`` +Section **option** defines details of ViNePerf test scenario. Lot of options +are identical to the ViNePerf parameters passed through ``--test-params`` argument. Following options are supported: - **frame_size** - a packet size for which test should be executed; Multiple packet sizes can be tested by modification of Sequence runner section inside YAML definition. Default: '64' -- **conf_file** - sets path to the vswitchperf configuration file, which will be +- **conf_file** - sets path to the ViNePerf configuration file, which will be uploaded to VM; Default: '~/vsperf-yardstick.conf' - **setup_script** - sets path to the setup script, which will be executed during setup and teardown phases @@ -192,7 +192,7 @@ argument. Following options are supported: Parameters should be stated in the form of ``param=value`` and separated by a semicolon. Configuration of traffic generator is driven by ``TRAFFIC`` dictionary, which can be also updated by values defined by ``test_params``. - Please check VSPERF documentation for details about available configuration + Please check ViNePerf documentation for details about available configuration parameters and their data types. In case that both **test_params** and **conf_file** are specified, then values from **test_params** will override values defined @@ -216,7 +216,7 @@ Section runner Yardstick supports several `runner types `__. -In case of vswitchperf specific TCs, **Sequence** runner type can be used to +In case of ViNePerf specific TCs, **Sequence** runner type can be used to execute the testcase for given list of frame sizes. @@ -226,7 +226,7 @@ Section sla In case that sla section is not defined, then testcase will be always considered as successful. On the other hand, it is possible to define a set of test metrics and their minimal values to evaluate test success. Any numeric -value, reported by vswitchperf inside CSV result file, can be used. +value, reported by ViNePerf inside CSV result file, can be used. Multiple metrics can be defined as a coma separated list of items. Minimal value must be set separately for each metric. diff --git a/docs/xtesting/index.rst b/docs/xtesting/index.rst index 9259a12a..20a291a1 100644 --- a/docs/xtesting/index.rst +++ b/docs/xtesting/index.rst @@ -2,21 +2,21 @@ .. http://creativecommons.org/licenses/by/4.0 .. (c) OPNFV, Spirent, AT&T, Ixia and others. -.. OPNFV VSPERF Documentation master file. +.. Anuket ViNePerf Documentation master file. -******************************** -OPNFV VSPERF with OPNFV Xtesting -******************************** +*********************************** +Anuket ViNePerf with OPNFV Xtesting +*********************************** ============ Introduction ============ -User can use VSPERF with Xtesting for two different usecases. +User can use ViNePerf with Xtesting for two different usecases. 1. Baremetal Dataplane Testing/Benchmarking. 2. Openstack Dataplane Testing/Benchmarking. -The Baremetal usecase is the legacy usecase of OPNFV VSPERF. +The Baremetal usecase is the legacy usecase of Anuket ViNePerf. The below figure summarizes both the usecases. @@ -52,15 +52,15 @@ These commands are described in OPNFV Xtesting Documentation. Please refere to O Accessing the Results? ====================== -VSPERF automatically publishes the results to any OPNFV Testapi deployment. -User has to configure following two parameters in VSPERF. +ViNePerf automatically publishes the results to any Anuket Testapi deployment. +User has to configure following two parameters in ViNePerf. 1. OPNFVPOD - The name of the pod. 2. OPNFV_URL - The endpoint serving testapi. As Xtesting runs its own testapi, user should point to this (testapi endpoint of Xtesting) using the above two configuration. -The above two configurations should be done wherever VSPERF is running (refer to the figure above) +The above two configurations should be done wherever ViNePerf is running (refer to the figure above) NOTE: Before running the test, it would help if user can prepre the testapi of Xtesting (if needed). The preparation include setting up the following: -- cgit 1.2.3-korg