blob: 4d48d4d55edbbeba14f16a37dc8bd7464ab71a5e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
.. (c) 2018 Spirent Communications Corp.
********************************
Network Performance Benchmarking
********************************
Like compute or storage QPI, network QPI gives users an overall score for system network performance.
For now it focuses on L2 virtual switch performance on NFVI. Current testcase are from RFC2544 standart and
implemntation is based on Spirent Testcenter Virtual.
For now, network QPI runs against on the baremetal/virtual scenario deployed by
the OPNFV installer `APEX`_.
Getting started
===============
Notice: All descriptions are based on containers.
Requirements
------------
* Git must be installed.
* Docker and docker-compose must be installed.
* Spirent Testcenter Virtual image must be uploaded to the target cloud and the
associated flavor must be created before test.
* Spirent License Server and Spirent LabServer must be set up and keep them ip
reachable from target cloud external network before test.
Git Clone QTIP Repo
-------------------
::
git clone https://git.opnfv.org/qtip
Running QTIP container and Nettest Containers
----------------------------------------------
With Docker Compose, we can use a YAML file to configure application's services and
use a single command to create and start all the services.
There is a YAML file ``./qtip/tests/ci/network/docker-compose.yaml`` from QTIP repos.
It can help you to create and start the network QPI service.
Before running docker-compose, you must specify these three variables:
* DOCKER_TAG, which specified the Docker tag(ie: latest)
* SSH_CREDENTIALS, a directory which includes an SSH key pair will be mounted into QTIP container.
QTIP use this SSH key pair to connect to remote hosts.
* ENV_FILE, which includes the environment variables required by QTIP and Storperf containers
A example of ENV_FILE:
::
INSTALLER_TYPE=apex
INSTALLER_IP=192.168.122.247
TEST_SUITE=network
NODE_NAME=zte-virtual5
SCENARIO=generic
TESTAPI_URL=
OPNFV_RELEASE=euphrates
# The below environment variables are Openstack Credentials.
OS_USERNAME=admin
OS_USER_DOMAIN_NAME=Default
OS_PROJECT_DOMAIN_NAME=Default
OS_BAREMETAL_API_VERSION=1.29
NOVA_VERSION=1.1
OS_PROJECT_NAME=admin
OS_PASSWORD=ZjmZJmkCvVXf9ry9daxgwmz3s
OS_NO_CACHE=True
COMPUTE_API_VERSION=1.1
no_proxy=,192.168.37.10,192.0.2.5
OS_CLOUDNAME=overcloud
OS_AUTH_URL=http://192.168.37.10:5000/v3
IRONIC_API_VERSION=1.29
OS_IDENTITY_API_VERSION=3
OS_AUTH_TYPE=password
# The below environment variables are extra info with Spirent.
SPT_LICENSE_SERVER_IP=192.168.37.251
SPT_LAB_SERVER_IP=192.168.37.122
SPT_STCV_IMAGE_NAME=stcv-4.79
SPT_STCV_FLAVOR_NAME=m1.tiny
Then, you use the following commands to start network QPI service.
::
docker-compose -f docker-compose.yaml pull
docker-compose -f docker-compose.yaml up -d
Execution
---------
You can run network QPI with docker exec:
::
docker exec <qtip container> bash -x /home/opnfv/repos/qtip/qtip/scripts/quickstart.sh
QTIP generates results in the ``$PWD/results/`` directory are listed down under the
timestamp name.
Metrics
-------
Nettest provides the following `metrics`_:
* RFC2544 througput
* RFC2544 latency
.. _APEX: https://wiki.opnfv.org/display/apex
.. _metrics: https://tools.ietf.org/html/rfc2544
|