aboutsummaryrefslogtreecommitdiffstats
path: root/docs/testing
diff options
context:
space:
mode:
Diffstat (limited to 'docs/testing')
-rw-r--r--docs/testing/user/userguide/08-api.rst521
-rw-r--r--docs/testing/user/userguide/15-list-of-tcs.rst6
-rw-r--r--docs/testing/user/userguide/opnfv_yardstick_tc002.rst4
-rw-r--r--docs/testing/user/userguide/opnfv_yardstick_tc078.rst3
-rw-r--r--docs/testing/user/userguide/opnfv_yardstick_tc080.rst117
-rw-r--r--docs/testing/user/userguide/opnfv_yardstick_tc081.rst122
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. |
+| | |
++--------------+--------------------------------------------------------------+