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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
|
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
.. (c) OPNFV, Intel Corporation, AT&T and others.
=====================
Upgrading ViNePerf
=====================
Generic
-------
In case, that ViNePerf is cloned from git repository, then it is easy to
upgrade it to the newest stable version or to the development version.
You could get a list of stable releases by ``git`` command. It is necessary
to update local git repository first.
**NOTE:** Git commands must be executed from directory, where ViNePerf repository
was cloned, e.g. ``vineperf``.
Update of local git repository:
.. code:: bash
$ git pull
List of stable releases:
.. code:: bash
$ git tag
brahmaputra.1.0
colorado.1.0
colorado.2.0
colorado.3.0
danube.1.0
euphrates.1.0
You could select which stable release should be used. For example, select ``danube.1.0``:
.. code:: bash
$ git checkout danube.1.0
Development version of ViNePerf can be selected by:
.. code:: bash
$ git checkout master
Colorado to Danube upgrade notes
--------------------------------
Obsoleted features
~~~~~~~~~~~~~~~~~~
Support of vHost Cuse interface has been removed in Danube release. It means,
that it is not possible to select ``QemuDpdkVhostCuse`` as a VNF anymore. Option
``QemuDpdkVhostUser`` should be used instead. Please check you configuration files
and definition of your testcases for any occurrence of:
.. code:: python
VNF = "QemuDpdkVhostCuse"
or
.. code:: python
"VNF" : "QemuDpdkVhostCuse"
In case that ``QemuDpdkVhostCuse`` is found, it must be modified to ``QemuDpdkVhostUser``.
**NOTE:** In case that execution of ViNePerf is automated by scripts (e.g. for
CI purposes), then these scripts must be checked and updated too. It means,
that any occurrence of:
.. code:: bash
./vsperf --vnf QemuDpdkVhostCuse
must be updated to:
.. code:: bash
./vsperf --vnf QemuDpdkVhostUser
Configuration
~~~~~~~~~~~~~
Several configuration changes were introduced during Danube release. The most
important changes are discussed below.
Paths to DPDK, OVS and QEMU
===========================
ViNePerf uses external tools for proper testcase execution. Thus it is important
to properly configure paths to these tools. In case that tools are installed
by installation scripts and are located inside ``./src`` directory inside
ViNePerf home, then no changes are needed. On the other hand, if path settings
was changed by custom configuration file, then it is required to update configuration
accordingly. Please check your configuration files for following configuration
options:
.. code:: bash
OVS_DIR
OVS_DIR_VANILLA
OVS_DIR_USER
OVS_DIR_CUSE
RTE_SDK_USER
RTE_SDK_CUSE
QEMU_DIR
QEMU_DIR_USER
QEMU_DIR_CUSE
QEMU_BIN
In case that any of these options is defined, then configuration must be updated.
All paths to the tools are now stored inside ``PATHS`` dictionary. Please
refer to the :ref:`paths-documentation` and update your configuration where necessary.
Configuration change via CLI
============================
In previous releases it was possible to modify selected configuration options
(mostly VNF specific) via command line interface, i.e. by ``--test-params``
argument. This concept has been generalized in Danube release and it is
possible to modify any configuration parameter via CLI or via **Parameters**
section of the testcase definition. Old configuration options were obsoleted
and it is required to specify configuration parameter name in the same form
as it is defined inside configuration file, i.e. in uppercase. Please
refer to the :ref:`overriding-parameters-documentation` for additional details.
**NOTE:** In case that execution of ViNePerf is automated by scripts (e.g. for
CI purposes), then these scripts must be checked and updated too. It means,
that any occurrence of
.. code:: bash
guest_loopback
vanilla_tgen_port1_ip
vanilla_tgen_port1_mac
vanilla_tgen_port2_ip
vanilla_tgen_port2_mac
tunnel_type
shall be changed to the uppercase form and data type of entered values must
match to data types of original values from configuration files.
In case that ``guest_nic1_name`` or ``guest_nic2_name`` is changed,
then new dictionary ``GUEST_NICS`` must be modified accordingly.
Please see :ref:`configuration-of-guest-options` and ``conf/04_vnf.conf`` for additional
details.
Traffic configuration via CLI
=============================
In previous releases it was possible to modify selected attributes of generated
traffic via command line interface. This concept has been enhanced in Danube
release and it is now possible to modify all traffic specific options via
CLI or by ``TRAFFIC`` dictionary in configuration file. Detailed description
is available at :ref:`configuration-of-traffic-dictionary` section of documentation.
Please check your automated scripts for ViNePerf execution for following CLI
parameters and update them according to the documentation:
.. code:: bash
bidir
duration
frame_rate
iload
lossrate
multistream
pkt_sizes
pre-installed_flows
rfc2544_tests
stream_type
traffic_type
|