diff options
Diffstat (limited to 'docs/testing/developer')
-rw-r--r-- | docs/testing/developer/devguide/dashboard_guide.rst | 21 | ||||
-rw-r--r-- | docs/testing/developer/devguide/deprecated.rst | 15 | ||||
-rw-r--r-- | docs/testing/developer/devguide/framework_guide.rst | 14 | ||||
-rw-r--r-- | docs/testing/developer/devguide/index.rst | 14 | ||||
-rw-r--r-- | docs/testing/developer/devguide/overview.rst | 76 | ||||
-rw-r--r-- | docs/testing/developer/devguide/package_guide.rst | 14 | ||||
-rw-r--r-- | docs/testing/developer/devguide/posca_guide.rst | 175 | ||||
-rw-r--r-- | docs/testing/developer/devguide/quick_start.rst | 14 | ||||
-rw-r--r-- | docs/testing/developer/devguide/rubbos_guide.rst | 128 | ||||
-rw-r--r-- | docs/testing/developer/devguide/vstf_guide.rst | 241 |
10 files changed, 48 insertions, 664 deletions
diff --git a/docs/testing/developer/devguide/dashboard_guide.rst b/docs/testing/developer/devguide/dashboard_guide.rst deleted file mode 100644 index 5679e508..00000000 --- a/docs/testing/developer/devguide/dashboard_guide.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 -.. (c) Huawei Technologies Co.,Ltd and others. - -************** -Dashbard guide -************** - -Scope -===== -This document provides an overview of the results of test cases developed by -the OPNFV Bottlenecks Project, executed on OPNFV community labs. - -OPNFV CI(Continous Integration) system provides automated build, deploy and testing for -the software developed in OPNFV. Unless stated, the reported tests are -automated via Jenkins Jobs. - -Test results are visible in the following dashboard: - -* *Testing dashboard*: uses Mongo DB to store test results and Bitergia for - visualization, which includes the rubbos test result, vstf test result. diff --git a/docs/testing/developer/devguide/deprecated.rst b/docs/testing/developer/devguide/deprecated.rst deleted file mode 100644 index 1566f38c..00000000 --- a/docs/testing/developer/devguide/deprecated.rst +++ /dev/null @@ -1,15 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 -.. (c) Huawei Technologies Co.,Ltd and others. - -************************************** -Bottlenecks - Deprecated Testing Guide -************************************** - - -.. toctree:: - :maxdepth: 1 - - ./rubbos_guide.rst - ./vstf_guide.rst - diff --git a/docs/testing/developer/devguide/framework_guide.rst b/docs/testing/developer/devguide/framework_guide.rst new file mode 100644 index 00000000..79bd1f97 --- /dev/null +++ b/docs/testing/developer/devguide/framework_guide.rst @@ -0,0 +1,14 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. (c) Huawei Technologies Co.,Ltd and others. + +***************************** +Bottlenecks - Framework Guide +***************************** + + +Introduction +============ + +This document will provide a comprehensive guilde on Bottlenecks testing +framework development. diff --git a/docs/testing/developer/devguide/index.rst b/docs/testing/developer/devguide/index.rst index 8d57ead0..19f12ca3 100644 --- a/docs/testing/developer/devguide/index.rst +++ b/docs/testing/developer/devguide/index.rst @@ -2,15 +2,13 @@ .. http://creativecommons.org/licenses/by/4.0 .. (c) Huawei Technologies Co.,Ltd and others. -*************************** -Bottlenecks - Testing Guide -*************************** +***************************** +Bottlenecks - Developer Guide +***************************** .. toctree:: :maxdepth: 1 - ./overview.rst - ./posca_guide.rst - ./dashboard_guide.rst - ./deprecated.rst - + ./quick_start.rst + ./framework_guide.rst + ./package_guide.rst diff --git a/docs/testing/developer/devguide/overview.rst b/docs/testing/developer/devguide/overview.rst deleted file mode 100644 index f2e8bff1..00000000 --- a/docs/testing/developer/devguide/overview.rst +++ /dev/null @@ -1,76 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 -.. (c) Huawei Technologies Co.,Ltd and others. - -********************* -Project Testing Guide -********************* - -For each *test suite*, you can either setup *test story* or *test case* to run -certain test. *test story* could include several *test cases* as a set in one -configuration file. You could then call the *test story* or *test case* by using -Bottlencks CLI or Python build process. -Details will be shown in the following section. - -Brief Introdcution of the Test suites in Project Releases -============================================================= - -Brahmaputra: rubbos is introduced, which is an end2end NFVI perforamnce tool. -Virtual switch test framework(VSTF) is also introduced, -which is an test framework used for vswitch performance test. - -Colorado: rubbos is refactored by using puppet, which makes it quite flexible -to configure with different number of load generator (Client), worker (tomcat). -vstf is refactored by extracting the test case's configuration information. - -Danube: posca testsuite is introduced to implementing stress (factor), scenario and -tuning test in parametric manner. Two testcases are developed and integrated into -community CI pipeline. Rubbos and VSTF are not supported any more. - -Integration Description -======================= -+-------------+----------------------+----------------------+ -| Release | Integrated Installer | Supported Testsuite | -+-------------+----------------------+----------------------+ -| Brahmaputra | Fuel | Rubbos, VSTF | -+-------------+----------------------+----------------------+ -| Colorado | Compass | Rubbos, VSTF | -+-------------+----------------------+----------------------+ -| Danube | Compass | POSCA | -+-------------+----------------------+----------------------+ - -Test suite & Test case Description -================================== -+--------+-------------------------------+ -|POSCA | posca_factor_ping | -| +-------------------------------+ -| | posca_factor_system_bandwidth | -+--------+-------------------------------+ -|Rubbos | rubbos_basic | -| +-------------------------------+ -| | rubbos_TC1101 | -| +-------------------------------+ -| | rubbos_TC1201 | -| +-------------------------------+ -| | rubbos_TC1301 | -| +-------------------------------+ -| | rubbos_TC1401 | -| +-------------------------------+ -| | rubbos_heavy_TC1101 | -+--------+-------------------------------+ -|vstf | vstf_Ti1 | -| +-------------------------------+ -| | vstf_Ti2 | -| +-------------------------------+ -| | vstf_Ti3 | -| +-------------------------------+ -| | vstf_Tn1 | -| +-------------------------------+ -| | vstf_Tn2 | -| +-------------------------------+ -| | vstf_Tu1 | -| +-------------------------------+ -| | vstf_Tu2 | -| +-------------------------------+ -| | vstf_Tu3 | -+--------+-------------------------------+ diff --git a/docs/testing/developer/devguide/package_guide.rst b/docs/testing/developer/devguide/package_guide.rst new file mode 100644 index 00000000..19bc6ed3 --- /dev/null +++ b/docs/testing/developer/devguide/package_guide.rst @@ -0,0 +1,14 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. (c) Huawei Technologies Co.,Ltd and others. + +**************************** +Bottlenecks - Package Guilde +**************************** + + +Introduction +============ + +This document will provide a comprehensive guilde on packages library for +developers. diff --git a/docs/testing/developer/devguide/posca_guide.rst b/docs/testing/developer/devguide/posca_guide.rst deleted file mode 100644 index ae6c2481..00000000 --- a/docs/testing/developer/devguide/posca_guide.rst +++ /dev/null @@ -1,175 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 -.. (c) Huawei Technologies Co.,Ltd and others. - -********************* -POSCA Testsuite Guide -********************* - - -POSCA Introduction -==================== -The POSCA (Parametric Bottlenecks Testing Catalogue) testsuite -classifies the bottlenecks test cases and results into 5 categories. -Then the results will be analyzed and bottlenecks will be searched -among these categories. - -The POSCA testsuite aims to locate the bottlenecks in parmetric -manner and to decouple the bottlenecks regarding the deployment -requirements. -The POSCA testsuite provides an user friendly way to profile and -understand the E2E system behavior and deployment requirements. - -Goals of the POSCA testsuite: - a) Automatically locate the bottlenecks in a iterative manner. - b) Automatically generate the testing report for bottlenecks in different categories. - c) Implementing Automated Staging. - -Scopes of the POSCA testsuite: - a) Modeling, Testing and Test Result analysis. - b) Parameters choosing and Algorithms. - -Test stories of POSCA testsuite: - a) Factor test (Stress test): base test cases that Feature test and Optimization will be dependant on. - b) Feature test: test cases for features/scenarios. - c) Optimization test: test to tune the system parameter. - -Detailed workflow is illutrated below. - -* https://wiki.opnfv.org/display/bottlenecks - - -Preinstall Packages -==================== - -* Docker: https://docs.docker.com/engine/installation/ - * For Ubuntu, please refer to https://docs.docker.com/engine/installation/linux/ubuntu/ - -* Docker-Compose: https://docs.docker.com/compose/ - -.. code-block:: bash - - if [ -d usr/local/bin/docker-compose ]; then - rm -rf usr/local/bin/docker-compose - fi - curl -L https://github.com/docker/compose/releases/download/1.11.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose - chmod +x /usr/local/bin/docker-compose - - -Run POSCA Locally -================= - -POSCA testsuite is highly automated regarding test environment preparation, installing testing tools, excuting tests and showing the report/analysis. -A few steps are needed to run it locally. - -It is presumed that a user is using Compass4nfv to deploy OPNFV Danube and the user logins jumper server as root. - - -Downloading Bottlenecks Software --------------------------------- - -.. code-block:: bash - - mkdir /home/opnfv - cd /home/opnfv - git clone https://gerrit.opnfv.org/gerrit/bottlenecks - cd bottlenecks - - -Preparing Python Virtual Evnironment ------------------------------------- - -.. code-block:: bash - - . pre_virt_env.sh - - -Excuting Specified Testcase ---------------------------- - -Bottlencks provide a CLI interface to run the tests, which is one of the most convenient way since it is more close to our natural languge. An GUI interface with rest API will also be provided in later update. - -.. code-block:: bash - - bottlenecks [testcase run <testcase>] [teststory run <teststory>] - -For the *testcase* command, testcase name should be as the same name of the test case configuration file located in testsuites/posca/testcase_cfg. -For stress tests in Danube, *testcase* should be replaced by either *posca_factor_ping* or *posca_factor_system_bandwidth*. -For the *teststory* command, a user could specified the test cases to be excuted by defined it in a teststory configuration file located in testsuites/posca/testsuite_story. There is also an example there named *posca_factor_test*. - -There are also other 2 ways to run test cases and test stories. -The first one is using shell script. - -.. code-block:: bash - - bash run_tests.sh [-h|--help] [-s <testsuite>] [-c <testcase>] - -The second is using python interpreter. - -.. code-block:: bash - - docker-compose -f docker/bottleneck-compose/docker-compose.yml up -d - docker pull tutum/influxdb:0.13 - sleep 5 - POSCA_SCRIPT="/home/opnfv/bottlenecks/testsuites/posca" - docker exec bottleneckcompose_bottlenecks_1 python ${POSCA_SCRIPT}/run_posca.py [testcase <testcase>] [teststory <teststory>] - - -Showing Report --------------- - -Bottlenecks uses ELK to illustrate the testing results. -Asumming IP of the SUT (System Under Test) is denoted as ipaddr, -then the address of Kibana is http://[ipaddr]:5601. One can visit this address to see the illustrations. -Address for elasticsearch is http://[ipaddr]:9200. One can use any Rest Tool to visit the testing data stored in elasticsearch. - -Cleaning Up Environment ------------------------ - -.. code-block:: bash - - . rm_virt_env.sh - - -If you want to clean the dockers that established during the test, you can excute the additional commands below. - -.. code-block:: bash - - docker-compose -f docker/bottleneck-compose/docker-compose.yml down -d - docker ps -a | grep 'influxdb' | awk '{print $1}' | xargs docker rm -f >/dev/stdout - -Or you can just run the following command - -.. code-block:: bash - - bash run_tests.sh --cleanup - -Note that you can also add cleanup parameter when you run a test case. Then environment will be automatically cleaned up when -completing the test. - -Run POSCA through Community CI -============================== -POSCA test cases are runned by OPNFV CI now. See https://build.opnfv.org for details of the building jobs. -Each building job is set up to execute a single test case. The test results/logs will be printed on the web page and -reported automatically to community MongoDB. There are two ways to report the results. - -1. Report testing result by shell script - -.. code-block:: bash - - bash run_tests.sh [-h|--help] [-s <testsuite>] [-c <testcase>] --report - -2. Report testing result by python interpreter - -.. code-block:: bash - - docker-compose -f docker/bottleneck-compose/docker-compose.yml up -d - docker pull tutum/influxdb:0.13 - sleep 5 - REPORT="True" - POSCA_SCRIPT="/home/opnfv/bottlenecks/testsuites/posca" - docker exec bottleneckcompose_bottlenecks_1 python ${POSCA_SCRIPT}/run_posca.py [testcase <testcase>] [teststory <teststory>] REPORT - -Test Result Description -======================= -* Please refer to release notes and also https://wiki.opnfv.org/display/testing/Result+alignment+for+ELK+post-processing diff --git a/docs/testing/developer/devguide/quick_start.rst b/docs/testing/developer/devguide/quick_start.rst new file mode 100644 index 00000000..337c1ef2 --- /dev/null +++ b/docs/testing/developer/devguide/quick_start.rst @@ -0,0 +1,14 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. (c) Huawei Technologies Co.,Ltd and others. + +************************************* +Bottlenecks - A Developer Quick Start +************************************* + + +Introduction +============ + +This document will provide general view of the project for developers as a +quick guide. diff --git a/docs/testing/developer/devguide/rubbos_guide.rst b/docs/testing/developer/devguide/rubbos_guide.rst deleted file mode 100644 index 4d92d2e2..00000000 --- a/docs/testing/developer/devguide/rubbos_guide.rst +++ /dev/null @@ -1,128 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 -.. (c) Huawei Technologies Co.,Ltd and others. - -********************** -Rubbos Testsuite Guide -********************** - - -Rubbos Introduction -==================== -Rubbos is a bulletin board benchmark modeled after an online news forum like Slashdot. -It is an open source Middleware and an n-tier system model which -is used to be deployed on multiple physical node and -to measure the whole performacne of OPNFV platform. -Rubbos can deploy the Apache, tomcat, and DB. -Based on the deployment, rubbos gives the pressure to the whole system. -When the system reaches to the peak, the throughput will not grow more. -This testcase can help to understand the bottlenecks of OPNFV plantform -and improve the performance of OPNFV platform. - -Detailed workflow is illutrated below. - -.. image:: ../images/Framework_Setup.png - :width: 770px - :alt: Bottlenecks Framework Setup - -Preinstall Packages -==================== -There is a need to install some packages before running the rubbos, -gcc, gettext, g++, libaio1, libaio-dev, make and git are necessary. -When the rubbos runs on the OPNFV community continuous integration(CI) -system, the required packages are installed automately as shown in the -code repository, which is /utils/infra_setup/vm_dev_setup/packages.conf, -besides, the packages can be encapsulated in the images initially. -If someone wants to use rubbos locally, he/she has to install them by -hand, such as in ubuntu 14.04, - -.. code-block:: bash - - apt-get update - apt-get install gettext - -How does Rubbos Integrate into Installers -========================================= -1.Community CI System - -Rubbos has been successfully integrated into fuel and compass with NOSDN scenario -in OPNFV community CI system. - -Heat is used to create 9 instances, which is shown in -/utils/infra_setup/heat_template/HOT_create_instance.sh, the 9 instances are used -for installing Apache, Tomcat, Mysql, Control, Benchmark and 4 Clients. The tools, -such as rubbos, sysstat, oprofile, etc, are installed in these instances to perform -the test, the test results are stored in the Benchmark instance initially, then they -are copied to the Rubbos_result instance, finally, the test results are transferred to -the community dashboard. - -There's a need to store our pakages as large as M bytes or G bytes size, such as -the images, jdk, apache-ant, apache-tomcat, etc, the OPNFV community storage system, -Google Cloud Storage, is used, the pakages can be downloaded from -https://artifacts.opnfv.org/bottlenecks/rubbos. - -2.Local Deployment - -If someone wants to run the rubbos in his own environment, he/she can keep to the following steps, - -2.1 Start up instances by using heat, nova or libvert. In Openstack Environemnt, -the heat script can refer /utils/infra_setup/heat_template/HOT_create_instance.sh, -if the openstack doesn't support heat module, -the script /utils/infra_setup/create_instance.sh can be used. -Without Openstack, there's a way to set up instances by using libvert, the scripts are shown under -the directory /utils/rubbos_dev_env_setup. - -The image can be downloaded from the community cloud storage - -.. code-block:: bash - - curl --connect-timeout 10 -o bottlenecks-trusty-server.img - http://artifacts.opnfv.org/bottlenecks/rubbos/bottlenecks-trusty-server.img - -2.2 Ssh into the control node and clone the bottlenecks codes to the root directory. - -.. code-block:: bash - - git clone https://git.opnfv.org/bottlenecks /bottlenecks - -2.3 Download the packages and decompress them into the proper directory. - -.. code-block:: bash - - curl --connect-timeout 10 -o app_tools.tar.gz - http://artifacts.opnfv.org/bottlenecks/rubbos/app_tools.tar.gz - curl --connect-timeout 10 -o rubbosMulini6.tar.gz - http://artifacts.opnfv.org/bottlenecks/rubbos/rubbosMulini6.tar.gz - -.. code-block:: bash - - tar zxf app_tools.tar.gz -C /bottlenecks/rubbos - tar zxf rubbosMulini6.tar.gz -C /bottlenecks/rubbos/rubbos_scripts - -2.4 Ssh into the Control node and run the script - -.. code-block:: bash - - source /bottlenecks/rubbos/rubbos_scripts/1-1-1/scripts/run.sh - -2.5 Check the test results under the directory /bottlenecks/rubbos/rubbos_results in -Control node. The results are stored in the format of xml, -move them to the brower chrome, then you can see the results. - -Test Result Description -======================= -In OPNFV community, the result is shown in the following format - -:: - - [{'client': 200, 'throughput': 27}, - {'client': 700, 'throughput': 102}, - {'client': 1200, 'throughput': 177}, - {'client': 1700, 'throughput': 252}, - {'client': 2200, 'throughput': 323}, - {'client': 2700, 'throughput': 399}, - {'client': 3200, 'throughput': 473}] - -The results are transferred to the community database and a map is drawed on the dashboard. -Along with the growth of the number of the client, the throughput grows at first, then meets -up with a point of inflexion, which is caused by the bottlenecks of the measured system. diff --git a/docs/testing/developer/devguide/vstf_guide.rst b/docs/testing/developer/devguide/vstf_guide.rst deleted file mode 100644 index e1ad5f2b..00000000 --- a/docs/testing/developer/devguide/vstf_guide.rst +++ /dev/null @@ -1,241 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 -.. (c) Huawei Technologies Co.,Ltd and others. - -******************** -VSTF Testsuite Guide -******************** - -VSTF Introduction -==================== -VSTF(Virtual Switch Test Framework) is a system-level testing framework in the -area of network virtualization, and it could help you estimate the system switch -ability and find out the network bottlenecks by main KPIs(bandwidth, latency, -resource usage and so on), VSTF owns a methodology to define the test scenario and -testcases, Now we could support Tu testcases in the Openstack environment, More -scenarios and cases will be added. - -VSTF TestScenario ------------------ -1. Tu - VM to VM -2. Tn - Physical Nic loopback -3. TnV - VNF loopback -4. Ti - VM to Physical Nic - -Pre-install Packages on the ubuntu 14.04 VM -=========================================== -VSTF VM Preparation Steps -------------------------- -1. Create a ubuntu 14.04 VM -2. Install dependency inside VM -3. Install vstf python package inside VM - -VM preparation --------------- -Install python2.7 version and git - -:: - - sudo apt-get install python2.7 - sudo apt-get install git - -Download Bottlenecks package - -:: - - sudo cd /home/ - sudo git clone https://gerrit.opnfv.org/gerrit/bottlenecks - -Install the dependency - -:: - - sudo apt-get install python-pip - sudo pip install --upgrade pip - sudo dpkg-reconfigure dash - sudo apt-get install libjpeg-dev - sudo apt-get install libpng-dev - sudo apt-get install python-dev - sudo apt-get install python-testrepository - sudo apt-get install git - sudo apt-get install python-pika - sudo apt-get install python-oslo.config - sudo pip install -r /home/bottlenecks/vstf/requirements.txt - -Install vstf package - -:: - - sudo mkdir -p /var/log/vstf/ - sudo cp -r /home/bottlenecks/vstf/etc/vstf/ /etc/ - sudo mkdir -p /opt/vstf/ - sudo cd /home/bottlenecks;sudo rm -rf build/ - sudo python setup.py install - -Image on the Cloud ------------------- -+-----------+-------------------------------------------------------------+ -| Name | vstf-image | -+===========+=============================================================+ -| URL | http://artifacts.opnfv.org/bottlenecks/vstf-manager-new.img | -+-----------+-------------------------------------------------------------+ -| Format | QCOW2 | -+-----------+-------------------------------------------------------------+ -| Size | 5G | -+-----------+-------------------------------------------------------------+ -| User | root | -+-----------+-------------------------------------------------------------+ -| Passwd | root | -+-----------+-------------------------------------------------------------+ -There is a complete vstf image on the cloud ,you could download it and use it to -deploy and run cases ,but do not need VM preparation steps. - - -How is VSTF Integrated into Installers -======================================== -VM requirements ---------------- -+------------------+----------+--------------------+-----------------------------------------------------+ -| Name | FLAVOR | IMAGE_NAME | NETWORK | -+==================+==========+====================+=====================================================+ -| vstf-manager | m1.large | vstf-image | control-plane=XX.XX.XX.XX | -+------------------+----------+--------------------+-----------------------------------------------------+ -| vstf-tester | m1.large | vstf-image | control-plane(eth0)=XX.XX.XX.XX | -| | | | test-plane(eth1)=XX.XX.XX.XX | -+------------------+----------+--------------------+-----------------------------------------------------+ -| vstf-target | m1.large | vstf-image | control-plane(eth0)=XX.XX.XX.XX | -| | | | test-plane(eth1)=XX.XX.XX.XX | -+------------------+----------+--------------------+-----------------------------------------------------+ -m1.large means 4U4G for the target image Size 5GB -For the network used by VMs,network need two plane ,one plane is control plane and the other plane is test plane. - -OPNFV community Usage in the CI system --------------------------------------- -+---------------------------------------+---------------------------------------+ -| Project Name | Project Categoty | -+=======================================+=======================================+ -| bottlenecks-daily-fuel-vstf-lf-master | bottlenecks | -+---------------------------------------+---------------------------------------+ -OPNFV community jenkins Project info - -Main Entrance for the ci test: - -:: - - cd /home/bottlenecks/ci; - bash -x vstf_run.sh - -Test on local(Openstack Environment) ------------------------------------- -download the image file - -:: - - curl --connect-timeout 10 -o /tmp/vstf-manager.img \ - http://artifacts.opnfv.org/bottlenecks/vstf-manager-new.img -v - -create the image file by the glance - -:: - - glance image-create --name $MANAGER_IMAGE_NAME \ - --disk-format qcow2 \ - --container-format bare \ - --file /tmp/vstf-manager.img - -create the keypair for the image(anyone will be ok) - -:: - - cd /home/bottlenecks/utils/infra_setup/bottlenecks_key - nova keypair-add --pub_key $KEY_PATH/bottlenecks_key.pub $KEY_NAME - -create the vstf three VMs in the openstack by heat - -:: - - cd /home/bottlenecks/utils/infra_setup/heat_template/vstf_heat_template - heat stack-create vstf -f bottleneck_vstf.yaml - -launch the vstf process inside the vstf-manager vstf-tester vstf-target VMs - -:: - - cd /home/bottlenecks/utils/infra_setup/heat_template/vstf_heat_template - bash -x launch_vstf.sh - -edit the test scenario and test packet list in the vstf_test.sh, now support the Tu-1/2/3 - -:: - - function fn_testing_scenario(){ - ... - local test_length_list="64 128 256 512 1024" - local test_scenario_list="Tu-1 Tu-3" - ... - } - -launch the vstf script - -:: - - cd /home/bottlenecks/utils/infra_setup/heat_template/vstf_heat_template - bash -x vstf_test.sh - -Test Result Description -======================= -Result Format -------------- -For example after the test, The result will display as the following format - -:: - - { u'64': { u'AverageLatency': 0.063, - u'Bandwidth': 0.239, - u'CPU': 0.0, - u'Duration': 20, - u'MaximumLatency': 0.063, - u'MinimumLatency': 0.063, - u'MppspGhz': 0, - u'OfferedLoad': 100.0, - u'PercentLoss': 22.42, - u'RxFrameCount': 4309750.0, - u'RxMbps': 198.28, - u'TxFrameCount': 5555436.0, - u'TxMbps': 230.03}} - -Option Description ------------------- -+---------------------+---------------------------------------------------+ -| Option Name | Description | -+=====================+===================================================+ -| AverageLatency | The average latency data during the packet | -| | transmission (Unit:microsecond) | -+---------------------+---------------------------------------------------+ -| Bandwidth | Network bandwidth(Unit:Million packets per second)| -+---------------------+---------------------------------------------------+ -| CPU | Total Resource Cpu usage(Unit: Ghz) | -+---------------------+---------------------------------------------------+ -| Duration | Test time(Unit: second) | -+---------------------+---------------------------------------------------+ -| MaximumLatency | The maximum packet latency during the packet | -| | transmission (Unit:microsecond) | -+---------------------+---------------------------------------------------+ -| MinimumLatency | The maximum packet latency during the packet | -| | transmission (Unit:microsecond) | -+---------------------+---------------------------------------------------+ -| MppspGhz | Million Packets per second with per CPU | -| | resource Ghz(Unit: Mpps/Ghz) | -+---------------------+---------------------------------------------------+ -| OfferedLoad | The load of network offered | -+---------------------+---------------------------------------------------+ -| PercentLoss | The percent of frame loss rate | -+---------------------+---------------------------------------------------+ -| RxFrameCount | The total frame on Nic rx | -+---------------------+---------------------------------------------------+ -| RxMbps | The received bandwidth per second | -+---------------------+---------------------------------------------------+ -| TxFrameCount | The total frame on Nic rx | -+---------------------+---------------------------------------------------+ -| TxMbps | The send bandwidth per second | -+---------------------+---------------------------------------------------+ |