diff options
Diffstat (limited to 'docs/testing')
-rw-r--r-- | docs/testing/user/userguide/08-api.rst | 521 | ||||
-rw-r--r-- | docs/testing/user/userguide/15-list-of-tcs.rst | 6 | ||||
-rw-r--r-- | docs/testing/user/userguide/opnfv_yardstick_tc002.rst | 4 | ||||
-rw-r--r-- | docs/testing/user/userguide/opnfv_yardstick_tc078.rst | 3 | ||||
-rw-r--r-- | docs/testing/user/userguide/opnfv_yardstick_tc080.rst | 117 | ||||
-rw-r--r-- | docs/testing/user/userguide/opnfv_yardstick_tc081.rst | 122 |
6 files changed, 752 insertions, 21 deletions
diff --git a/docs/testing/user/userguide/08-api.rst b/docs/testing/user/userguide/08-api.rst index 1d9ea6d64..ff6e62228 100644 --- a/docs/testing/user/userguide/08-api.rst +++ b/docs/testing/user/userguide/08-api.rst @@ -10,7 +10,7 @@ Yardstick Restful API Abstract -------- -Yardstick support restful API in danube. +Yardstick support restful API since Danube. Available API @@ -19,19 +19,19 @@ Available API /yardstick/env/action ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Description: This API is used to do some work related to environment. For now, we support: +Description: This API is used to prepare Yardstick test environment. For Euphrates, it supports: -1. Prepare yardstick environment(Including fetch openrc file, get external network and load images) -2. Start a InfluxDB docker container and config yardstick output to InfluxDB. -3. Start a Grafana docker container and config with the InfluxDB. +1. Prepare yardstick test environment, including set external network environment variable, load Yardstick VM images and create flavors; +2. Start an InfluxDB Docker container and config Yardstick output to InfluxDB; +3. Start a Grafana Docker container and config it with the InfluxDB. -Which API to call will depend on the Parameters. +Which API to call will depend on the parameters. Method: POST -Prepare Yardstick Environment +Prepare Yardstick test environment Example:: { @@ -41,7 +41,7 @@ Example:: This is an asynchronous API. You need to call /yardstick/asynctask API to get the task result. -Start and Config InfluxDB docker container +Start and config an InfluxDB docker container Example:: { @@ -51,7 +51,7 @@ Example:: This is an asynchronous API. You need to call /yardstick/asynctask API to get the task result. -Start and Config Grafana docker container +Start and config a Grafana docker container Example:: { @@ -64,13 +64,13 @@ This is an asynchronous API. You need to call /yardstick/asynctask API to get th /yardstick/asynctask ^^^^^^^^^^^^^^^^^^^^ -Description: This API is used to get the status of asynchronous task +Description: This API is used to get the status of asynchronous tasks Method: GET -Get the status of asynchronous task +Get the status of asynchronous tasks Example:: http://localhost:8888/yardstick/asynctask?task_id=3f3f5e03-972a-4847-a5f8-154f1b31db8c @@ -81,13 +81,13 @@ The returned status will be 0(running), 1(finished) and 2(failed). /yardstick/testcases ^^^^^^^^^^^^^^^^^^^^ -Description: This API is used to list all release test cases now in yardstick. +Description: This API is used to list all released Yardstick test cases. Method: GET -Get a list of release test cases +Get a list of released test cases Example:: http://localhost:8888/yardstick/testcases @@ -96,13 +96,13 @@ Example:: /yardstick/testcases/release/action ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Description: This API is used to run a yardstick release test case. +Description: This API is used to run a Yardstick released test case. Method: POST -Run a release test case +Run a released test case Example:: { @@ -119,7 +119,7 @@ This is an asynchronous API. You need to call /yardstick/results to get the resu /yardstick/testcases/samples/action ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Description: This API is used to run a yardstick sample test case. +Description: This API is used to run a Yardstick sample test case. Method: POST @@ -139,10 +139,25 @@ Example:: This is an asynchronous API. You need to call /yardstick/results to get the result. +/yardstick/testcases/<testcase_name>/docs +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Description: This API is used to the documentation of a certain released test case. + + +Method: GET + + +Get the documentation of a certain test case +Example:: + + http://localhost:8888/yardstick/taskcases/opnfv_yardstick_tc002/docs + + /yardstick/testsuites/action ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Description: This API is used to run a yardstick test suite. +Description: This API is used to run a Yardstick test suite. Method: POST @@ -162,11 +177,27 @@ Example:: This is an asynchronous API. You need to call /yardstick/results to get the result. +/yardstick/tasks/<task_id>/log + +Description: This API is used to get the real time log of test case execution. + + +Method: GET + + +Get real time of test case execution +Example:: + + http://localhost:8888/yardstick/tasks/14795be8-f144-4f54-81ce-43f4e3eab33f/log?index=0 + + /yardstick/results ^^^^^^^^^^^^^^^^^^ +Description: This API is used to get the test results of tasks. If you call /yardstick/testcases/samples/action API, it will return a task id. You can use the returned task id to get the results by using this API. + -Description: This API is used to get the test results of certain task. If you call /yardstick/testcases/samples/action API, it will return a task id. You can use the returned task id to get the results by using this API. +Method: GET Get test results of one task @@ -175,3 +206,457 @@ Example:: http://localhost:8888/yardstick/results?task_id=3f3f5e03-972a-4847-a5f8-154f1b31db8c This API will return a list of test case result + + +/api/v2/yardstick/openrcs/action + +Description: This API provides functionality of handling OpenStack credential file (openrc). For Euphrates, it supports: + +1. Upload an openrc file for an OpenStack environment; +2. Update an openrc file; +3. Get openrc file information; +4. Delete an openrc file. + +Which API to call will depend on the parameters. + + +METHOD: POST + + +Upload an openrc file for an OpenStack environment +Example:: + + { + 'action': 'upload_openrc', + 'args': { + 'file': file, + 'environment_id': environment_id + } + } + + +METHOD: POST + + +Update an openrc file +Example:: + + { + 'action': 'update_openrc', + 'args': { + 'openrc': { + "EXTERNAL_NETWORK": "ext-net", + "OS_AUTH_URL": "http://192.168.23.51:5000/v3", + "OS_IDENTITY_API_VERSION": "3", + "OS_IMAGE_API_VERSION": "2", + "OS_PASSWORD": "console", + "OS_PROJECT_DOMAIN_NAME": "default", + "OS_PROJECT_NAME": "admin", + "OS_TENANT_NAME": "admin", + "OS_USERNAME": "admin", + "OS_USER_DOMAIN_NAME": "default" + }, + 'environment_id': environment_id + } + } + + +METHOD: GET + +Get openrc file information +Example:: + + http://localhost:8888/api/v2/yardstick/openrcs/5g6g3e02-155a-4847-a5f8-154f1b31db8c + + +METHOD: DELETE + + +Delete openrc file +Example:: + + http://localhost:8888/api/v2/yardstick/openrcs/5g6g3e02-155a-4847-a5f8-154f1b31db8c + + +/api/v2/yardstick/pods/action + +Description: This API provides functionality of handling Yardstick pod file (pod.yaml). For Euphrates, it supports: + +1. Upload a pod file; +2. Get pod file information; +3. Delete an openrc file. + +Which API to call will depend on the parameters. + + +METHOD: POST + + +Upload a pod.yaml file +Example:: + + { + 'action': 'upload_pod_file', + 'args': { + 'file': file, + 'environment_id': environment_id + } + } + + +METHOD: GET + +Get pod file information +Example:: + + http://localhost:8888/api/v2/yardstick/pods/5g6g3e02-155a-4847-a5f8-154f1b31db8c + + +METHOD: DELETE + +Delete openrc file +Example:: + + http://localhost:8888/api/v2/yardstick/pods/5g6g3e02-155a-4847-a5f8-154f1b31db8c + + +/api/v2/yardstick/images/action + +Description: This API is used to do some work related to Yardstick VM images. For Euphrates, it supports: + +1. Load Yardstick VM images; +2. Get image's information; +3. Delete images. + +Which API to call will depend on the parameters. + + +METHOD: POST + + +Load VM images +Example:: + + { + 'action': 'load_images' + } + + +METHOD: GET + +Get image information +Example:: + + http://localhost:8888/api/v2/yardstick/images/5g6g3e02-155a-4847-a5f8-154f1b31db8c + + +METHOD: DELETE + +Delete images +Example:: + + http://localhost:8888/api/v2/yardstick/images/5g6g3e02-155a-4847-a5f8-154f1b31db8c + + +/api/v2/yardstick/tasks/action + +Description: This API is used to do some work related to yardstick tasks. For Euphrates, it supports: + +1. Create a Yardstick task; +2. run a Yardstick task; +3. Add a test case to a task; +4. Add a test suite to a task; +5. Get a tasks' information; +6. Delete a task. + +Which API to call will depend on the parameters. + + +METHOD: POST + + +Create a Yardstick task +Example:: + + { + 'action': 'create_task', + 'args': { + 'name': 'task1', + 'project_id': project_id + } + } + + +METHOD: PUT + + +Run a task +Example:: + + { + 'action': 'run' + } + + +METHOD: PUT + + +Add a test case to a task +Example:: + + { + 'action': 'add_case', + 'args': { + 'case_name': 'opnfv_yardstick_tc002', + 'case_content': case_content + } + } + + +METHOD: PUT + + +Add a test suite to a task +Example:: + + { + 'action': 'add_suite', + 'args': { + 'suite_name': 'opnfv_smoke', + 'suite_content': suite_content + } + } + + +METHOD: GET + +Get a task's information +Example:: + + http://localhost:8888/api/v2/yardstick/tasks/5g6g3e02-155a-4847-a5f8-154f1b31db8c + + +METHOD: DELETE + +Delete a task +Example:: + http://localhost:8888/api/v2/yardstick/tasks/5g6g3e02-155a-4847-a5f8-154f1b31db8c + + +/api/v2/yardstick/testcases/action + +Description: This API is used to do some work related to yardstick testcases. For Euphrates, it supports: + +1. Upload a test case; +2. Get all released test cases' information; +3. Get a certain released test case's information; +4. Delete a test case. + +Which API to call will depend on the parameters. + + +METHOD: POST + + +Upload a test case +Example:: + + { + 'action': 'upload_case', + 'args': { + 'file': file + } + } + + +METHOD: GET + + +Get all released test cases' information +Example:: + + http://localhost:8888/api/v2/yardstick/testcases + + +METHOD: GET + + +Get a certain released test case's information +Example:: + + http://localhost:8888/api/v2/yardstick/testcases/opnfv_yardstick_tc002 + + +METHOD: DELETE + + +Delete a certain test case +Example:: + http://localhost:8888/api/v2/yardstick/testcases/opnfv_yardstick_tc002 + + +/api/v2/yardstick/testsuites/action + +Description: This API is used to do some work related to yardstick test suites. For Euphrates, it supports: + +1. Create a test suite; +2. Get a certain test suite's information; +3. Get all test suites; +4. Delete a test case. + +Which API to call will depend on the parameters. + + +METHOD: POST + + +Create a test suite +Example:: + + { + 'action': 'create_sutie', + 'args': { + 'name': <suite_name>, + 'testcases': [ + 'opnfv_yardstick_tc002' + ] + } + } + + +METHOD: GET + + +Get a certain test suite's information +Example:: + + http://localhost:8888/api/v2/yardstick/testsuites/<suite_name> + + +METHOD: GET + + +Get all test suite +Example:: + + http://localhost:8888/api/v2/yardstick/testsuites + + +METHOD: DELETE + + +Delete a certain test suite +Example:: + + http://localhost:8888/api/v2/yardstick/testsuites/<suite_name> + + +/api/v2/yardstick/projects/action + +Description: This API is used to do some work related to yardstick test projects. For Euphrates, it supports: + +1. Create a Yardstick project; +2. Get a certain project's information; +3. Get all projects; +4. Delete a project. + +Which API to call will depend on the parameters. + + +METHOD: POST + + +Create a Yardstick project +Example:: + + { + 'action': 'create_project', + 'args': { + 'name': 'project1' + } + } + + +METHOD: GET + + +Get a certain project's information +Example:: + + http://localhost:8888/api/v2/yardstick/projects/<project_id> + + +METHOD: GET + + +Get all projects' information +Example:: + + http://localhost:8888/api/v2/yardstick/projects + + +METHOD: DELETE + + +Delete a certain project +Example:: + + http://localhost:8888/api/v2/yardstick/projects/<project_id> + + +/api/v2/yardstick/containers/action + +Description: This API is used to do some work related to Docker containers. For Euphrates, it supports: + +1. Create a Grafana Docker container; +2. Create an InfluxDB Docker container; +3. Get a certain container's information; +4. Delete a container. + +Which API to call will depend on the parameters. + + +METHOD: POST + + +Create a Grafana Docker container +Example:: + + { + 'action': 'create_grafana', + 'args': { + 'environment_id': <environment_id> + } + } + + +METHOD: POST + + +Create an InfluxDB Docker container +Example:: + + { + 'action': 'create_influxdb', + 'args': { + 'environment_id': <environment_id> + } + } + + +METHOD: GET + + +Get a certain container's information +Example:: + + http://localhost:8888/api/v2/yardstick/containers/<container_id> + + +METHOD: DELETE + + +Delete a certain container +Example:: + + http://localhost:8888/api/v2/yardstick/containers/<container_id> diff --git a/docs/testing/user/userguide/15-list-of-tcs.rst b/docs/testing/user/userguide/15-list-of-tcs.rst index 1b5806cd9..b62bf6390 100644 --- a/docs/testing/user/userguide/15-list-of-tcs.rst +++ b/docs/testing/user/userguide/15-list-of-tcs.rst @@ -50,8 +50,14 @@ Generic NFVI Test Case Descriptions 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 Feature Test Cases ======================== diff --git a/docs/testing/user/userguide/opnfv_yardstick_tc002.rst b/docs/testing/user/userguide/opnfv_yardstick_tc002.rst index c98780fd5..bf2466fb2 100644 --- a/docs/testing/user/userguide/opnfv_yardstick_tc002.rst +++ b/docs/testing/user/userguide/opnfv_yardstick_tc002.rst @@ -106,8 +106,8 @@ Yardstick Test Case Description TC002 | | | +--------------+--------------------------------------------------------------+ |step 2 | Yardstick is connected with the server VM by using ssh. | -| | 'ping_benchmark' bash script is copyied from Jump Host to | -| | the server VM via the ssh tunnel. | +| | 'ping_benchmark' bash script is copied from Jump Host to the | +| | server VM via the ssh tunnel. | | | | +--------------+--------------------------------------------------------------+ |step 3 | Ping is invoked. Ping packets are sent from server VM to | diff --git a/docs/testing/user/userguide/opnfv_yardstick_tc078.rst b/docs/testing/user/userguide/opnfv_yardstick_tc078.rst index 560d55e07..b5a6545ba 100644 --- a/docs/testing/user/userguide/opnfv_yardstick_tc078.rst +++ b/docs/testing/user/userguide/opnfv_yardstick_tc078.rst @@ -114,7 +114,8 @@ Yardstick Test Case Description TC078 |step 3 | Yardstick is connected with the target server by using ssh. | | | If custom runspec config file is used, this file is copyied | | | from yardstick to the target server via the ssh tunnel. | ---------------+---------------------------------------------------------------+ +| | | ++--------------+--------------------------------------------------------------+ |step 4 | SPEC CPU2006 benchmark is invoked and SPEC CPU 2006 metrics | | | are generated. | | | | diff --git a/docs/testing/user/userguide/opnfv_yardstick_tc080.rst b/docs/testing/user/userguide/opnfv_yardstick_tc080.rst new file mode 100644 index 000000000..05eca502e --- /dev/null +++ b/docs/testing/user/userguide/opnfv_yardstick_tc080.rst @@ -0,0 +1,117 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International +.. License. +.. http://creativecommons.org/licenses/by/4.0 +.. (c) OPNFV, Huawei Technologies Co.,Ltd and others. + +************************************* +Yardstick Test Case Description TC080 +************************************* + +.. _Ping: https://linux.die.net/man/8/ping + ++-----------------------------------------------------------------------------+ +|Network Latency | +| | ++--------------+--------------------------------------------------------------+ +|test case id | OPNFV_YARDSTICK_TC080_NETWORK_LATENCY_BETWEEN_CONTAINER | +| | | ++--------------+--------------------------------------------------------------+ +|metric | RTT (Round Trip Time) | +| | | ++--------------+--------------------------------------------------------------+ +|test purpose | The purpose of TC080 is to do a basic verification that | +| | network latency is within acceptable boundaries when packets | +| | travel between containers located in two different | +| | Kubernetes pods. | +| | | +| | 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. | +| | | ++--------------+--------------------------------------------------------------+ +|test tool | ping | +| | | +| | Ping is a computer network administration software utility | +| | used to test the reachability of a host on an Internet | +| | Protocol (IP) network. It measures the round-trip time for | +| | packet sent from the originating host to a destination | +| | computer that are echoed back to the source. | +| | | +| | Ping is normally part of any Linux distribution, hence it | +| | doesn't need to be installed. It is also part of the | +| | Yardstick Docker image. | +| | | ++--------------+--------------------------------------------------------------+ +|test topology | Ping packets (ICMP protocol's mandatory ECHO_REQUEST | +| | datagram) are sent from host container to target container | +| | to elicit ICMP ECHO_RESPONSE. | +| | | ++--------------+--------------------------------------------------------------+ +|configuration | file: opnfv_yardstick_tc080.yaml | +| | | +| | Packet size 200 bytes. Test duration 60 seconds. | +| | SLA RTT is set to maximum 10 ms. | +| | | ++--------------+--------------------------------------------------------------+ +|applicability | This test case can be configured with different: | +| | | +| | * packet sizes; | +| | * burst sizes; | +| | * ping intervals; | +| | * test durations; | +| | * test iterations. | +| | | +| | Default values exist. | +| | | +| | SLA is optional. The SLA in this test case serves as an | +| | example. Considerably lower RTT is expected, and also normal | +| | to achieve in balanced L2 environments. However, to cover | +| | most configurations, both bare metal and fully virtualized | +| | ones, this value should be possible to achieve and | +| | acceptable for black box testing. Many real time | +| | applications start to suffer badly if the RTT time is higher | +| | than this. Some may suffer bad also close to this RTT, while | +| | others may not suffer at all. It is a compromise that may | +| | have to be tuned for different configuration purposes. | +| | | ++--------------+--------------------------------------------------------------+ +|usability | This test case should be run in Kunernetes environment. | +| | | ++--------------+--------------------------------------------------------------+ +|references | Ping_ | +| | | +| | ETSI-NFV-TST001 | +| | | ++--------------+--------------------------------------------------------------+ +|pre-test | The test case Docker image (openretriever/yardstick) needs | +|conditions | to be pulled into Kubernetes environment. | +| | | +| | No further requirements have been identified. | +| | | ++--------------+--------------------------------------------------------------+ +|test sequence | description and expected result | +| | | ++--------------+--------------------------------------------------------------+ +|step 1 | Two containers are booted, as server and client. | +| | | ++--------------+--------------------------------------------------------------+ +|step 2 | Yardstick is connected with the server container by using | +| | ssh. 'ping_benchmark' bash script is copied from Jump Host | +| | to the server container via the ssh tunnel. | +| | | ++--------------+--------------------------------------------------------------+ +|step 3 | Ping is invoked. Ping packets are sent from server container | +| | to client container. RTT results are calculated and checked | +| | against the SLA. Logs are produced and stored. | +| | | +| | Result: Logs are stored. | +| | | ++--------------+--------------------------------------------------------------+ +|step 4 | Two containers are deleted. | +| | | ++--------------+--------------------------------------------------------------+ +|test verdict | Test should not PASS if any RTT is above the optional SLA | +| | value, or if there is a test case execution problem. | +| | | ++--------------+--------------------------------------------------------------+ diff --git a/docs/testing/user/userguide/opnfv_yardstick_tc081.rst b/docs/testing/user/userguide/opnfv_yardstick_tc081.rst new file mode 100644 index 000000000..90af8a382 --- /dev/null +++ b/docs/testing/user/userguide/opnfv_yardstick_tc081.rst @@ -0,0 +1,122 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International +.. License. +.. http://creativecommons.org/licenses/by/4.0 +.. (c) OPNFV, Huawei Technologies Co.,Ltd and others. + +************************************* +Yardstick Test Case Description TC080 +************************************* + +.. _cirros-image: https://download.cirros-cloud.net +.. _Ping: https://linux.die.net/man/8/ping + ++-----------------------------------------------------------------------------+ +|Network Latency | +| | ++--------------+--------------------------------------------------------------+ +|test case id | OPNFV_YARDSTICK_TC081_NETWORK_LATENCY_BETWEEN_CONTAINER_AND_ | +| | VM | +| | | ++--------------+--------------------------------------------------------------+ +|metric | RTT (Round Trip Time) | +| | | ++--------------+--------------------------------------------------------------+ +|test purpose | The purpose of TC080 is to do a basic verification that | +| | network latency is within acceptable boundaries when packets | +| | travel between a containers and a VM. | +| | | +| | 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. | +| | | ++--------------+--------------------------------------------------------------+ +|test tool | ping | +| | | +| | Ping is a computer network administration software utility | +| | used to test the reachability of a host on an Internet | +| | Protocol (IP) network. It measures the round-trip time for | +| | packet sent from the originating host to a destination | +| | computer that are echoed back to the source. | +| | | +| | Ping is normally part of any Linux distribution, hence it | +| | doesn't need to be installed. It is also part of the | +| | Yardstick Docker image. (For example also a Cirros image can | +| | be downloaded from cirros-image_, it includes ping) | +| | | ++--------------+--------------------------------------------------------------+ +|test topology | Ping packets (ICMP protocol's mandatory ECHO_REQUEST | +| | datagram) are sent from host container to target vm to | +| | elicit ICMP ECHO_RESPONSE. | +| | | ++--------------+--------------------------------------------------------------+ +|configuration | file: opnfv_yardstick_tc081.yaml | +| | | +| | Packet size 200 bytes. Test duration 60 seconds. | +| | SLA RTT is set to maximum 10 ms. | +| | | ++--------------+--------------------------------------------------------------+ +|applicability | This test case can be configured with different: | +| | | +| | * packet sizes; | +| | * burst sizes; | +| | * ping intervals; | +| | * test durations; | +| | * test iterations. | +| | | +| | Default values exist. | +| | | +| | SLA is optional. The SLA in this test case serves as an | +| | example. Considerably lower RTT is expected, and also normal | +| | to achieve in balanced L2 environments. However, to cover | +| | most configurations, both bare metal and fully virtualized | +| | ones, this value should be possible to achieve and | +| | acceptable for black box testing. Many real time | +| | applications start to suffer badly if the RTT time is higher | +| | than this. Some may suffer bad also close to this RTT, while | +| | others may not suffer at all. It is a compromise that may | +| | have to be tuned for different configuration purposes. | +| | | ++--------------+--------------------------------------------------------------+ +|usability | This test case should be run in Kunernetes environment. | +| | | ++--------------+--------------------------------------------------------------+ +|references | Ping_ | +| | | +| | ETSI-NFV-TST001 | +| | | ++--------------+--------------------------------------------------------------+ +|pre-test | The test case Docker image (openretriever/yardstick) needs | +|conditions | to be pulled into Kubernetes environment. | +| | The VM image (cirros-image) needs to be installed into | +| | Glance with ping included in it. | +| | | +| | No further requirements have been identified. | +| | | ++--------------+--------------------------------------------------------------+ +|test sequence | description and expected result | +| | | ++--------------+--------------------------------------------------------------+ +|step 1 | A containers is booted, as server and a VM is booted as | +| | client. | +| | | ++--------------+--------------------------------------------------------------+ +|step 2 | Yardstick is connected with the server container by using | +| | ssh. 'ping_benchmark' bash script is copied from Jump Host | +| | to the server container via the ssh tunnel. | +| | | ++--------------+--------------------------------------------------------------+ +|step 3 | Ping is invoked. Ping packets are sent from server container | +| | to client VM. RTT results are calculated and checked against | +| | the SLA. Logs are produced and stored. | +| | | +| | Result: Logs are stored. | +| | | ++--------------+--------------------------------------------------------------+ +|step 4 | The container and VM are deleted. | +| | | ++--------------+--------------------------------------------------------------+ +|test verdict | Test should not PASS if any RTT is above the optional SLA | +| | value, or if there is a test case execution problem. | +| | | ++--------------+--------------------------------------------------------------+ |