From 1eabf6e52550e3c4af39f54b68f7b85466e80ea4 Mon Sep 17 00:00:00 2001 From: Roland Picard Date: Tue, 26 Nov 2019 17:21:08 +0100 Subject: Add test case related to measure compute score and its energy consumption impact Test case opnfv_yardstick_tc015.yaml is added that runs a CPU test and monitor energy consumtion impact synchronized with cpu load. opnfv_yardstick_tc015.rst is added to provide documentation of the test case. energy.yaml sample is added to show how to add energy testing in any test case. JIRA: YARDSTICK-1624 Co-authored by: Sun Guannan Signed-off-by: Roland Picard Change-Id: I2403c38bbf320f96d2ed1d9e262560388efc44c9 --- docs/testing/user/userguide/15-list-of-tcs.rst | 271 +++++++++++---------- .../user/userguide/opnfv_yardstick_tc015.rst | 141 +++++++++++ 2 files changed, 277 insertions(+), 135 deletions(-) create mode 100755 docs/testing/user/userguide/opnfv_yardstick_tc015.rst (limited to 'docs') diff --git a/docs/testing/user/userguide/15-list-of-tcs.rst b/docs/testing/user/userguide/15-list-of-tcs.rst index 8990800c1..b727aa3c9 100644 --- a/docs/testing/user/userguide/15-list-of-tcs.rst +++ b/docs/testing/user/userguide/15-list-of-tcs.rst @@ -1,135 +1,136 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International -.. License. -.. http://creativecommons.org/licenses/by/4.0 -.. (c) OPNFV, Ericsson AB and others. - -==================== -Yardstick Test Cases -==================== - -Abstract -======== - -This chapter lists available Yardstick test cases. -Yardstick test cases are divided in two main categories: - -* *Generic NFVI Test Cases* - Test Cases developed to realize the methodology - described in :doc:`02-methodology` - -* *OPNFV Feature Test Cases* - Test Cases developed to verify one or more - aspect of a feature delivered by an OPNFV Project. - -Generic NFVI Test Case Descriptions -=================================== - -.. toctree:: - :maxdepth: 1 - - opnfv_yardstick_tc001.rst - opnfv_yardstick_tc002.rst - opnfv_yardstick_tc004.rst - opnfv_yardstick_tc005.rst - opnfv_yardstick_tc006.rst - opnfv_yardstick_tc008.rst - opnfv_yardstick_tc009.rst - opnfv_yardstick_tc010.rst - opnfv_yardstick_tc011.rst - opnfv_yardstick_tc012.rst - opnfv_yardstick_tc014.rst - opnfv_yardstick_tc024.rst - opnfv_yardstick_tc037.rst - opnfv_yardstick_tc038.rst - opnfv_yardstick_tc042.rst - opnfv_yardstick_tc043.rst - opnfv_yardstick_tc044.rst - opnfv_yardstick_tc055.rst - opnfv_yardstick_tc061.rst - opnfv_yardstick_tc063.rst - opnfv_yardstick_tc069.rst - opnfv_yardstick_tc070.rst - opnfv_yardstick_tc071.rst - opnfv_yardstick_tc072.rst - opnfv_yardstick_tc073.rst - opnfv_yardstick_tc074.rst - opnfv_yardstick_tc075.rst - opnfv_yardstick_tc076.rst - opnfv_yardstick_tc078.rst - opnfv_yardstick_tc079.rst - opnfv_yardstick_tc080.rst - opnfv_yardstick_tc081.rst - opnfv_yardstick_tc083.rst - opnfv_yardstick_tc084.rst - -OPNFV Feature Test Cases -======================== - -H A ---- - -.. toctree:: - :maxdepth: 1 - - opnfv_yardstick_tc019.rst - opnfv_yardstick_tc025.rst - opnfv_yardstick_tc045.rst - opnfv_yardstick_tc046.rst - opnfv_yardstick_tc047.rst - opnfv_yardstick_tc048.rst - opnfv_yardstick_tc049.rst - opnfv_yardstick_tc050.rst - opnfv_yardstick_tc051.rst - opnfv_yardstick_tc052.rst - opnfv_yardstick_tc053.rst - opnfv_yardstick_tc054.rst - opnfv_yardstick_tc056.rst - opnfv_yardstick_tc057.rst - opnfv_yardstick_tc058.rst - opnfv_yardstick_tc087.rst - opnfv_yardstick_tc088.rst - opnfv_yardstick_tc089.rst - opnfv_yardstick_tc090.rst - opnfv_yardstick_tc091.rst - opnfv_yardstick_tc092.rst - opnfv_yardstick_tc093.rst - -IPv6 ----- - -.. toctree:: - :maxdepth: 1 - - opnfv_yardstick_tc027.rst - -KVM ---- - -.. toctree:: - :maxdepth: 1 - - opnfv_yardstick_tc028.rst - -Parser ------- - -.. toctree:: - :maxdepth: 1 - - opnfv_yardstick_tc040.rst - -StorPerf --------- - -.. toctree:: - :maxdepth: 1 - - opnfv_yardstick_tc074.rst - -Templates -========= - -.. toctree:: - :maxdepth: 1 - - testcase_description_v2_template - Yardstick_task_templates - +.. This work is licensed under a Creative Commons Attribution 4.0 International +.. License. +.. http://creativecommons.org/licenses/by/4.0 +.. (c) OPNFV, Ericsson AB and others. + +==================== +Yardstick Test Cases +==================== + +Abstract +======== + +This chapter lists available Yardstick test cases. +Yardstick test cases are divided in two main categories: + +* *Generic NFVI Test Cases* - Test Cases developed to realize the methodology + described in :doc:`02-methodology` + +* *OPNFV Feature Test Cases* - Test Cases developed to verify one or more + aspect of a feature delivered by an OPNFV Project. + +Generic NFVI Test Case Descriptions +=================================== + +.. toctree:: + :maxdepth: 1 + + opnfv_yardstick_tc001.rst + opnfv_yardstick_tc002.rst + opnfv_yardstick_tc004.rst + opnfv_yardstick_tc005.rst + opnfv_yardstick_tc006.rst + opnfv_yardstick_tc008.rst + opnfv_yardstick_tc009.rst + opnfv_yardstick_tc010.rst + opnfv_yardstick_tc011.rst + opnfv_yardstick_tc012.rst + opnfv_yardstick_tc014.rst + opnfv_yardstick_tc015.rst + opnfv_yardstick_tc024.rst + opnfv_yardstick_tc037.rst + opnfv_yardstick_tc038.rst + opnfv_yardstick_tc042.rst + opnfv_yardstick_tc043.rst + opnfv_yardstick_tc044.rst + opnfv_yardstick_tc055.rst + opnfv_yardstick_tc061.rst + opnfv_yardstick_tc063.rst + opnfv_yardstick_tc069.rst + opnfv_yardstick_tc070.rst + opnfv_yardstick_tc071.rst + opnfv_yardstick_tc072.rst + opnfv_yardstick_tc073.rst + opnfv_yardstick_tc074.rst + opnfv_yardstick_tc075.rst + opnfv_yardstick_tc076.rst + opnfv_yardstick_tc078.rst + opnfv_yardstick_tc079.rst + opnfv_yardstick_tc080.rst + opnfv_yardstick_tc081.rst + opnfv_yardstick_tc083.rst + opnfv_yardstick_tc084.rst + +OPNFV Feature Test Cases +======================== + +H A +--- + +.. toctree:: + :maxdepth: 1 + + opnfv_yardstick_tc019.rst + opnfv_yardstick_tc025.rst + opnfv_yardstick_tc045.rst + opnfv_yardstick_tc046.rst + opnfv_yardstick_tc047.rst + opnfv_yardstick_tc048.rst + opnfv_yardstick_tc049.rst + opnfv_yardstick_tc050.rst + opnfv_yardstick_tc051.rst + opnfv_yardstick_tc052.rst + opnfv_yardstick_tc053.rst + opnfv_yardstick_tc054.rst + opnfv_yardstick_tc056.rst + opnfv_yardstick_tc057.rst + opnfv_yardstick_tc058.rst + opnfv_yardstick_tc087.rst + opnfv_yardstick_tc088.rst + opnfv_yardstick_tc089.rst + opnfv_yardstick_tc090.rst + opnfv_yardstick_tc091.rst + opnfv_yardstick_tc092.rst + opnfv_yardstick_tc093.rst + +IPv6 +---- + +.. toctree:: + :maxdepth: 1 + + opnfv_yardstick_tc027.rst + +KVM +--- + +.. toctree:: + :maxdepth: 1 + + opnfv_yardstick_tc028.rst + +Parser +------ + +.. toctree:: + :maxdepth: 1 + + opnfv_yardstick_tc040.rst + +StorPerf +-------- + +.. toctree:: + :maxdepth: 1 + + opnfv_yardstick_tc074.rst + +Templates +========= + +.. toctree:: + :maxdepth: 1 + + testcase_description_v2_template + Yardstick_task_templates + diff --git a/docs/testing/user/userguide/opnfv_yardstick_tc015.rst b/docs/testing/user/userguide/opnfv_yardstick_tc015.rst new file mode 100755 index 000000000..277614ad4 --- /dev/null +++ b/docs/testing/user/userguide/opnfv_yardstick_tc015.rst @@ -0,0 +1,141 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International +.. License. +.. http://creativecommons.org/licenses/by/4.0 +.. (c) OPNFV, Orange and others. + +************************************* +Yardstick Test Case Description TC015 +************************************* + +.. _unixbench: https://github.com/kdlucas/byte-unixbench/blob/master/UnixBench + ++-----------------------------------------------------------------------------+ +| Processing speed with impact on energy consumption and CPU load | +| | ++--------------+--------------------------------------------------------------+ +|test case id | OPNFV_YARDSTICK_TC015_PROCESSING SPEED | +| | | ++--------------+--------------------------------------------------------------+ +|metric | score of single cpu running, | +| | score of parallel running, | +| | energy consumption | +| | cpu load | +| | | ++--------------+--------------------------------------------------------------+ +|test purpose | The purpose of TC015 is to evaluate the IaaS compute | +| | performance with regards to CPU processing speed with | +| | its impact on the energy consumption | +| | It measures score of single cpu running and parallel | +| | running. Energy consumption and cpu load are monitored while | +| | the cpu test is running. | +| | | +| | The purpose is also to be able to spot the trends. | +| | Test results, graphs and similar shall be stored for | +| | comparison reasons and product evolution understanding | +| | between different OPNFV versions and/or configurations, | +| | different server types. | +| | | ++--------------+--------------------------------------------------------------+ +|test tool | UnixBench | +| | | +| | Unixbench is the most used CPU benchmarking software tool. | +| | It can measure the performance of bash scripts, CPUs in | +| | multithreading and single threading. It can also measure the | +| | performance for parallel tasks. Also, specific disk IO for | +| | small and large files are performed. You can use it to | +| | measure either linux dedicated servers and linux vps | +| | servers, running CentOS, Debian, Ubuntu, Fedora and other | +| | distros. | +| | | +| | (UnixBench is not always part of a Linux distribution, hence | +| | it needs to be installed. As an example see the | +| | /yardstick/tools/ directory for how to generate a Linux | +| | image with UnixBench included.) | +| | | +| | Redfish API | +| | This HTTPS interface is provided by BMC of every telco grade | +| | server. Is is a standard interface. | +| | | ++--------------+--------------------------------------------------------------+ +|test | The UnixBench runs system benchmarks on a compute, getting | +|description | information on the CPUs in the system. If the system has | +| | more than one CPU, the tests will be run twice -- once with | +| | a single copy of each test running at once, and once with N | +| | N copies, where N is the number of CPUs. | +| | | +| | UnixBench will process a set of results from a single test | +| | by averaging the individual pass results into a single final | +| | value. | +| | | +| | While the cpu test is running Energy scenario run in | +| | background to monitor the number of watt consumed by the | +| | compute server on the fly. The same is done using Cpuload | +| | scenario to monitor the overall percentage of CPU used on | +| | the fly. This enables to balance the CPU score with its | +| | impact on energy consumption. Synchronized measurements | +| | enables to look at any relation between CPU load and energy | +| | consumption. | +| | | ++--------------+--------------------------------------------------------------+ +|configuration | file: opnfv_yardstick_tc015.yaml | +| | | +| | run_mode: | +| | Run Energy and Cpuload in background | +| | Run unixbench in quiet mode or verbose mode | +| | test_type: dhry2reg, whetstone and so on | +| | | +| | Duration and Interval are set globally for Energy and | +| | Cpuload, aligned with duration of UnixBench test. | +| | SLA can be set for each scenario type. Default is NA. | +| | For SLA with single_score and parallel_score, both can be | +| | set by user, default is NA. | +| | | ++--------------+--------------------------------------------------------------+ +|applicability | Test shall be applied to node context only | +| | It can be configured with different: | +| | | +| | * test types: dhry2reg, whetstone | +| | | +| | Default values exist. | +| | | +| | SLA (optional) : min_score: The minimun UnixBench score that | +| | is accepted. | +| | | ++--------------+--------------------------------------------------------------+ +|usability | This test case is one of Yardstick's generic test. Thus it | +| | is runnable on most of the scenarios. | +| | | ++--------------+--------------------------------------------------------------+ +|references | unixbench_ | +| | | +| | ETSI-NFV-TST001 | +| | | ++--------------+--------------------------------------------------------------+ +|pre-test | The target shall have unixbench installed on it. | +|conditions | | +| | | ++--------------+--------------------------------------------------------------+ +|test sequence | description and expected result | +| | | ++--------------+--------------------------------------------------------------+ +|step 1 | Yardstick is connected with the target node using ssh. | +| | | ++--------------+--------------------------------------------------------------+ +|step 2 | Energy and Cpuload are launched silently in background one | +| | after the other. | +| | Then UnixBench is invoked. All the tests are executed using | +| | the "Run" script in the top-level of UnixBench directory. | +| | The "Run" script will run a standard "index" test, and save | +| | the report in the "results" directory. Then the report is | +| | processed by "unixbench_benchmark" and checked against the | +| | SLA. | +| | While unibench runs energy and cpu load are catched | +| | periodically according to interval value. | +| | | +| | Result: Logs are stored. | +| | | ++--------------+--------------------------------------------------------------+ +|test verdict | Fails only if SLA is not passed, or if there is a test case | +| | execution problem. | +| | | ++--------------+--------------------------------------------------------------+ -- cgit 1.2.3-korg