Age | Commit message (Collapse) | Author | Files | Lines |
|
Sending now a 'quit' command to PROX, so that the thread running PROX in
an ssh session is now cleaned up correctly.
Also fixed a problem with the logging when running the code more than
once. We only create handlers now, when they do not yet exist.
Updated the rapid version.
Also added some more tests in the testcases.yaml for xtesting.
At the end of a run, the PROX.log files are copied in the results
directory.
The success criterium for a test 'pass_threshold' has been removed from
the test files and is to be controlled by the xtesting testcases.yaml
file.
Change-Id: Ifbbb1c91f32c9176f52025d9ae4c495b432a94c9
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
Test details were only implemented in rapid_flowsizetest.py. When
executing other tests, an error occured. That is now fixed, although in
some cases, None is returned.
The format.yaml files defines now alsowhat will be reported in the
Xtesting details.
Change-Id: I5feae62dcf228664b24451d3fc5dfaaadf7edb5e
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
Some files were added to for rapid testing in the xtesting framework
Change-Id: Id912789c5007ca8390a67fb5b359296089aa9618
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
The latency histogram dat did not contain samples collected during the
first measurement of each step. The maximum latency did take the first
step into account. As a result, you might see a test run with a maximum
latency not showing up in the latency histogram data. This has been
fixed by also including the data from the first measurement in the
histogram data. In some cases, we also reported the wrong speed from the
last unsuccessful step. This is now fixed and we do report the speed
from the last successful step.
In rapid_log.py, a fix was added to execute the rollover on the file
handler of the log file in all cases. In some cases, the file handler
with index 0 was not the file handler of the log file.
Change-Id: I6c2b16c21dd0ee17d1d14e46c4c544e185324256
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
There is a new parameter in the config_file: dataplane_subnet_mask. This
parameter is added to the dataplane IP addresses and is needed by the
Linux stack to deal with some protocols (e.g. ARP). If not present, the
default value of 24 will be used. In the end, this will make sure that
IP addresses in the rapid.env file will have this mask, e.g. /24
If you use other tools than createrapid.py to create the rapid.env file,
make sure to add the mask.
This commit also introduces a change when exiting: we only copy the
prox.log files from the different prox instances in case we expect a new
prox.log file to be created in these instances.
When using a valid format.yaml file, the tool will now also send the
latency distribution data (histogram) to the URL.
The tool is now also checking the value of bucket_size_exp: it needs to
be 11 or more.
Change-Id: I633cdc64ef687fdb6625be1e7482a5a371f83e93
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
deploycentostools.sh is now installing a recent PROX version. When using
background traffic, the tool is also reporting the total traffic that
was handled by the NFVi stack, including foreground & background
traffic.
The use of the prox_socket and prox_launch_exit was also broken in a
previous release and is now fixed.
When setting prox_socket to false for a PROX instance, we will not
create a socket connection to control that PROX instance. Setting this
option to false is not meaningful for the generator PROX instances since
we would not be able to control the behavior of the PROX generator
during the test. You could use the generator against another non-PROX
instance and then set prox_socket to false for that non-PROX instance.
Default is true.
prox_launch_exit is used to start and stop the PROX program inside the
instance. Default is true. This is useful in case you want to start PROX
manually to be able to inspect the PROX UI, but at the same time, let
the rapid scripts control the testing.
Change-Id: Ib5aa809f4be201859542769f5f55f4989dad97ef
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
A new parameter can be put in the *.test files so that the requested
traffic is not generated at once, but slowly increasing up to the
requested traffic. This is important for some SW switched that adapt and
learn from the applied traffic. When suddenly applying a high traffic,
the switch might not have enough time to learn and lose packets. Only
after a period of time (up to 10 seconds?), the switch can cope with the
traffic without packet loss. In order to get reproducible results in
this case with low packet loss, please put the parameter ramp_step in
the test section of the *.test file. The step is expressed in percentage
of a 10Gb/s traffic. If the parameter is not present, the load will be
immediately applied.
When the runrapid.py script is now finished, it also copies the prox.log
files from all the prox instances. In case of issues, please investigate
this log file.
When using background traffic, the tool will also print the average
background traffic for each step in the DEBUG log. In this way, you can
check that the background traffic is actually dealing with the same
amount of traffic as the foreground. The tool is printing the packet
reception rate of the background generators.
A bug was also fixed regarding the latency percentile reporting. When
using tests involving l2gen.cfg, the values of the percentile latency
were wrong.
Change-Id: Id3dd02ed5cab084414c717cf898b30e6980ddf31
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
UDP and IP packet length and source UDP port and destination UDP port
were wrongly set for IPv6 packets.
In the *.test files, there is now an optional boolean field (ipv6) in
the [TestParameters] section. When set to true, the generator will use
the IPv6 packet layout to place the right values at the proper offset
in the packet. If not present or set to false, the IPv4 layout will be
used. Note also that packet size needs to be at least 84 bytes for IPV6
traffic since we need space for latency and other information in each
packet.
Packet loss ratio is now printed as a percentage of the total packets
sent.
Change-Id: I2136e87f3032348ae95b69052be7da8461c6303c
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
The IRQ test has been reworked to increase the accuracy of the IRQ
measurements. Results can now also be pushed to a Prometheus push
gateway or to OPNFV's Xtesting. In order to do so, a new file
format.yaml has been introduced. Please use this file now to specify the
details of the PushGateway or the Xtesting server.
Added new test: increment_till_fail.test
Change-Id: I111aae3e099bc03e3d2ddd1014a0301bac356e0b
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
Using vfio in stead of igb_uio. DPDK 2020.5 is NOT compiling the igb_uio
driver by default any more.
For the l3 mode, we are now using the new PROX vdev feature. This is
achieved by adding the vdev parameter in the port section of the PROX
config files. One of the advantages is that we can now ping a port
managed by PROX: the requests will be forwarded by PROX to the LINUX
stack, who will reply to the ping. A tap device is being created by PROX
to support this feature.
Installing old version of nasm since latest causes some issues.
If not pushgateway is being used, it should be commented out in the
config_file.
vfio is now loaded by specifying the module in /etc/modules-load.d
There is also an after_boot.sh script that will be run by
check_prox_system_setup.sh, which can be used for further configuration
of the instance after boot.
There is now also a file created /opt/rapid/system_ready_for_rapid by
the check_prox_system_setup.sh script. This file is created once all
configuration is done. The runrapid.py script will wait till this file
is created before executing any tests.
Change-Id: Ic5c41af82642066af42134c3323297f5a06f6f72
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
New files created in 2020 have now the right date in the copyright
notice.
Change-Id: I8eb244beec3d793e819cce1f63c39671f18286a1
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
IPV6 test has been added. The generator will now generate IPV6 packets
using NDP to resolve MAC addresses. The hex IP addresses in the inline
definition of the packets in the cfg files is now calculated by a lua
function called in parameters.lua. The hard-coded path /home/centos has
been replaced by ~. An error in the speed calculations has been fixed.
See the RapidTest class for details. The actual number of generated
flows is now reported. If the requested number of flows is not a power
of 2, the lowest power of 2 that is larger than the requested number of
flows will be used and reported.
Change-Id: I36b8d345b4a03c2cf358c19ec353ca8ad2831293
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
All packet size in the *.test files have been replaces with imix sizes.
imix is now a list of packet sizes. If you want to run with only a
pakcet size of 64, you need to specify a list containing only 1 size:
[64].
You can also specify multiple imix values by specifying a list of list
of sizes. The keyworkds in the test files are now imix & imixs.
Change-Id: Iea47c0266b022133b7bbfc9a6811e3199ae41521
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
The code has been rewritten in multiple classes and files for better
readability and maintainability. You should now also use Python3 to run
the scripts. Some of the variables in the config files have moved to
other sections. The pushgateway parameter moved to the [varia] section
of the rapid environment file.
Change-Id: Ic61a1bc3baa39447d42b21dfcc0f16c28fcdfa6e
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|