--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0 International\r
+.. License.\r
+.. http://creativecommons.org/licenses/by/4.0\r
+.. (c) OPNFV, Orange and others.\r
+\r
+*************************************\r
+Yardstick Test Case Description TC015\r
+*************************************\r
+\r
+.. _unixbench: https://github.com/kdlucas/byte-unixbench/blob/master/UnixBench\r
+\r
++-----------------------------------------------------------------------------+\r
+| Processing speed with impact on energy consumption and CPU load |\r
+| |\r
++--------------+--------------------------------------------------------------+\r
+|test case id | OPNFV_YARDSTICK_TC015_PROCESSING SPEED |\r
+| | |\r
++--------------+--------------------------------------------------------------+\r
+|metric | score of single cpu running, |\r
+| | score of parallel running, |\r
+| | energy consumption |\r
+| | cpu load |\r
+| | |\r
++--------------+--------------------------------------------------------------+\r
+|test purpose | The purpose of TC015 is to evaluate the IaaS compute |\r
+| | performance with regards to CPU processing speed with |\r
+| | its impact on the energy consumption |\r
+| | It measures score of single cpu running and parallel |\r
+| | running. Energy consumption and cpu load are monitored while |\r
+| | the cpu test is running. |\r
+| | |\r
+| | The purpose is also to be able to spot the trends. |\r
+| | Test results, graphs and similar shall be stored for |\r
+| | comparison reasons and product evolution understanding |\r
+| | between different OPNFV versions and/or configurations, |\r
+| | different server types. |\r
+| | |\r
++--------------+--------------------------------------------------------------+\r
+|test tool | UnixBench |\r
+| | |\r
+| | Unixbench is the most used CPU benchmarking software tool. |\r
+| | It can measure the performance of bash scripts, CPUs in |\r
+| | multithreading and single threading. It can also measure the |\r
+| | performance for parallel tasks. Also, specific disk IO for |\r
+| | small and large files are performed. You can use it to |\r
+| | measure either linux dedicated servers and linux vps |\r
+| | servers, running CentOS, Debian, Ubuntu, Fedora and other |\r
+| | distros. |\r
+| | |\r
+| | (UnixBench is not always part of a Linux distribution, hence |\r
+| | it needs to be installed. As an example see the |\r
+| | /yardstick/tools/ directory for how to generate a Linux |\r
+| | image with UnixBench included.) |\r
+| | |\r
+| | Redfish API |\r
+| | This HTTPS interface is provided by BMC of every telco grade |\r
+| | server. Is is a standard interface. |\r
+| | |\r
++--------------+--------------------------------------------------------------+\r
+|test | The UnixBench runs system benchmarks on a compute, getting |\r
+|description | information on the CPUs in the system. If the system has |\r
+| | more than one CPU, the tests will be run twice -- once with |\r
+| | a single copy of each test running at once, and once with N |\r
+| | N copies, where N is the number of CPUs. |\r
+| | |\r
+| | UnixBench will process a set of results from a single test |\r
+| | by averaging the individual pass results into a single final |\r
+| | value. |\r
+| | |\r
+| | While the cpu test is running Energy scenario run in |\r
+| | background to monitor the number of watt consumed by the |\r
+| | compute server on the fly. The same is done using Cpuload |\r
+| | scenario to monitor the overall percentage of CPU used on |\r
+| | the fly. This enables to balance the CPU score with its |\r
+| | impact on energy consumption. Synchronized measurements |\r
+| | enables to look at any relation between CPU load and energy |\r
+| | consumption. |\r
+| | |\r
++--------------+--------------------------------------------------------------+\r
+|configuration | file: opnfv_yardstick_tc015.yaml |\r
+| | |\r
+| | run_mode: |\r
+| | Run Energy and Cpuload in background |\r
+| | Run unixbench in quiet mode or verbose mode |\r
+| | test_type: dhry2reg, whetstone and so on |\r
+| | |\r
+| | Duration and Interval are set globally for Energy and |\r
+| | Cpuload, aligned with duration of UnixBench test. |\r
+| | SLA can be set for each scenario type. Default is NA. |\r
+| | For SLA with single_score and parallel_score, both can be |\r
+| | set by user, default is NA. |\r
+| | |\r
++--------------+--------------------------------------------------------------+\r
+|applicability | Test shall be applied to node context only |\r
+| | It can be configured with different: |\r
+| | |\r
+| | * test types: dhry2reg, whetstone |\r
+| | |\r
+| | Default values exist. |\r
+| | |\r
+| | SLA (optional) : min_score: The minimun UnixBench score that |\r
+| | is accepted. |\r
+| | |\r
++--------------+--------------------------------------------------------------+\r
+|usability | This test case is one of Yardstick's generic test. Thus it |\r
+| | is runnable on most of the scenarios. |\r
+| | |\r
++--------------+--------------------------------------------------------------+\r
+|references | unixbench_ |\r
+| | |\r
+| | ETSI-NFV-TST001 |\r
+| | |\r
++--------------+--------------------------------------------------------------+\r
+|pre-test | The target shall have unixbench installed on it. |\r
+|conditions | |\r
+| | |\r
++--------------+--------------------------------------------------------------+\r
+|test sequence | description and expected result |\r
+| | |\r
++--------------+--------------------------------------------------------------+\r
+|step 1 | Yardstick is connected with the target node using ssh. |\r
+| | |\r
++--------------+--------------------------------------------------------------+\r
+|step 2 | Energy and Cpuload are launched silently in background one |\r
+| | after the other. |\r
+| | Then UnixBench is invoked. All the tests are executed using |\r
+| | the "Run" script in the top-level of UnixBench directory. |\r
+| | The "Run" script will run a standard "index" test, and save |\r
+| | the report in the "results" directory. Then the report is |\r
+| | processed by "unixbench_benchmark" and checked against the |\r
+| | SLA. |\r
+| | While unibench runs energy and cpu load are catched |\r
+| | periodically according to interval value. |\r
+| | |\r
+| | Result: Logs are stored. |\r
+| | |\r
++--------------+--------------------------------------------------------------+\r
+|test verdict | Fails only if SLA is not passed, or if there is a test case |\r
+| | execution problem. |\r
+| | |\r
++--------------+--------------------------------------------------------------+\r