Age | Commit message (Collapse) | Author | Files | Lines |
|
When building the qcow2 image, we are not automatically getting the
latest version of the samplevnf code. Since this might have to do with
caches, a parameter with the workspace directory is now passed to
disk-image-create using the --image-cache option.
Also removed verify-image.sh since this is done using build-image.sh
with the -v option.
Change-Id: I661c543102258929bdfe53af6c6ea0ff72eab33d
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
A secret and public key pair is available in the rapid directory:
rapid_rsa_key and rapid_rsa_key.pub. createrapid.py is now modified to
upload this key into OpenStack if the keypair does not already exist in
OpenStack. Which keypair to use is now only defined in
params_rapid.yaml. You can still define a key pair with a different name
in params_rapid.yaml. If the secret and public key files are not
available, a new keypair will be created and the secret key file will be
saved. The name of the secret key file is the name as the OpenStack
keypair name. The name of the public file is the same, with the pub
extension.
Change-Id: Ib8b5e4bf3a3d3138216698dc588a6908248220c0
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
In the fomula to calculate the sut throughput measurement, we used the
frequency of the wrong machine: the generator. This issue showed up when
testing with generator and sut on a different type of compute node, with
different processor frequency.
Change-Id: Ib42bb8a30924d6bc6bb2773aed5dcc9145bb50fc
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: I93bc98069bf60d8b727fd877bf89087c57ad2dd9
|
|
CGNat was discarding packets in some cases. Some run
were fine, others were seeing many packets discarded.
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: I63b2df993e31443bc4b5168611fcdcfa454e2137
|
|
a README file in the tests subdirectory is now describing the parameters
used in the test description files. Each test files has a comment
pointing to the README file for more information.
Change-Id: I49b9b3e1fac0a65c43e7f2d7dc90612923e28f78
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
- Cleanup of the format.yaml file.
- Adding of the packet mis-ordering statistics
- Added a warmup phase to get the correct mis-ordering statistics since
ARP messages need to be dealt with before we can collect correct
misordering stats
- Code cleanup avoiding some long lines
- Removing background traffic control from rapid_flowsizetest.py since
this is already done in the iteration code in rapid_test.py
Change-Id: I4c60a90353f27b8e2d0b62505e8f1cd886a17f0a
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
Removing trailing spaces
Change-Id: I8d06b7413444843f0bdaa890189929f0e5e2e0f8
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
Rework of some of the code for better readability
Change-Id: I559e88faba31d93e593d39cf436f3e114ba4528a
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
A cgnat test can now be executed. This test needs 3 PROX instances. The
first one, the generator needs to have an interface on the private
dataplane network. The second instance, the cgnat needs to have it's
first dataplane interface on the private network, while the second data
plane needs to be on the public network. The third instance will be
playing the role of internet server that the generator is connecting to.
It will have one dataplane interface on the public network. This third
instance will increase the packet size of the received packets by
padding it with zeros and it will send the packets back to the cgnat
mutliple times. How many times is defined by a multiplier in the
cgnat.cfg file.
In that cgnat file, we also define a range of IP addresses that will be
used for the dynamic source IP NAT-ing. Make sure that the ports are
allowed to accept other IP addresses than their own (e.g. allowed
address pairs) and that the range of IP addresses is not overlapping
with other machines in the public network.
Change-Id: Ibc1c8513ac4e8a304378814fceb28c090dff895f
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
When scripts are doing an ssh or scp to the PROX instances, errors were
sometimes hidden. E.g. when we try to upload a config file to the PROX
instance that is already existing but owned by another user, we would
not see the error on the screen.
Note this will only happen if you build your own image. In case you use
the pre-canned PROX images, this should not cause issues.
Change-Id: I94176b737cd548c93afc71450a85910d7eca2b0c
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
In case we receive a NON-IPv4 packet, we discard the packet. However,
this made the rte_hash_lookup_bulk crash. Hence the keys parameter has
changed to avoid the crash.
Change-Id: I093688a0b59d44667a42147fd67fbc7901d6dba4
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
Change-Id: Ie2532fdb6339dc447ae122136088d6a1ca2c80f2
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
Fixed the error in the calculation of the rte_pktmbuf_refcnt_update
parameter
Change-Id: I858d9e0b8cf158f9c24807197df34f69217a1b1c
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
Fixes compilation issues seen on gcc 9.3.0 on dpdk 20.05.
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: Ib7989c1bac66e82551165ab49e06941ebc772347
|
|
PROX is not yet dealing with IPV6 routing info (only IPV4). Hence we got
a segmentation fault when receiving such information. In a previous
commit, we are checking for IPV4 routing info and we do not continue
processing of any other routing information. With this fix, we ask the
Linux OS NOT to provide IPV6 routing info.
The checks when receiving routing information have changed so that we only
treat IPV4 and nothing else.
Change-Id: I428a036c31014377c8de08da17e51740be0e1de5
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
The code was only written to deal with IPV4 routing messages. If we
receive an IPV6 routing message, we are now ignoring that message.
Change-Id: I0f8044a0331235639bf5cab9abb9c8ce55c3522d
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
The -i option is now specifying the appendix for the the image name. The
name of the image will be rapid-<appendix>.qcow2. The -i option could then
be used to specify 'latest' or 'stable'.
The -g option specifies the google storage url where the qcow2 will be
stored.
The -v option is still existing in case we want to only verify the qcow2
image creation process.
An example:
buils-image.sh -g artifacts.opnfv.org/samplevnf/images -i latest -v
Change-Id: Ie07a89eff029f4e9fd3e1f2ebff1eaea05c580a6
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
tuned-adm is now run through check_prox_system_setup.sh at the first
system startup/reboot. This will result in the correct grub cmdline
parameters.
We are also coying the default rapid_rsa_key in the authorized_keys of
the rapid user, which is now the default user to run the tests.
Fixed also an issue in handle_mirror.c: using now ETYPE_IPv4.
Changed deploycentostools.sh to reflect the changes done when building
the image with disk-image-create.
Change-Id: I5933d21faef9fe02b56c01d0b96e2c143cc5476d
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
Change-Id: Id2a3fc69d097024cff608103ba7310388a273976
|
|
Changed PROX and the python scripts so that the "lat all stats" command
also returns the mis_ordered, extent and duplicate statistics.
In order to make this work properly, we need now to also stop and
restart the latency cores, every time we stop and start the generator
cores, since the sequence numbers are reinitialised every time we start
the generator core.
Change-Id: Ic4212a989c8ee9d0f026a34ca63a08b982c32b71
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
Changed to Xavier's new email address
Change-Id: I3b5a0e00c41abcbca405dbea33a87c56688a5289
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: I3eeacb550d1ef51a13802d06f06973437afe7d9b
|
|
|
|
The qcow2 file name is now constructed as a combination of
rapid-${GIT_BRANCH##*}.qcow2
The image is built and copied every time the job is triggered. In this
way we will overwrite rapid-latest.qcow2.
Change-Id: I9f9c255dc5207a7595aa9e49ae57bd50b42c4d3b
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
All files are now availavle to build a qcow2 image using disk image builder.
This image is based on centos 7. DPDK and PROX are installed together
with some optimizations.
Change-Id: I61aa91206ea7f8b3b6a3ff7d490d1804e7e784c8
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
It can only work for python3.
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
Change-Id: Ie7b2706f9d4dbfbb2cdca85c0543894c79634246
|
|
For Kubernetes environment core ids in the config and test files are relative and
automatically remapped to the allowed cores allocated for container.
There is no change to the baremetal or VM environment.
Signed-off-by: Yury Kylulin <yury.kylulin@intel.com>
Change-Id: I63e499723e8213de1b05d4175eb3eddc4492ccf5
|
|
Some of the prefetching code was commented out, which was wrong. The
prefetching is back in.
Change-Id: Id7e7f09bd62faa7b9faf3d677962a99ba2a71080
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
In order to deal with non-symmetrical load, the mirror function can now
change the packet size of each packet it receives. It can also send the
incoming packet multiple times on each of the tx ports. To support this
feature, 2 new parameters in the cfg file have been added for the mirror
mode:
- multiplier: specifies how many times a packet needs to be sent on each
tx port. Default is 1.
- mirror_size: the size of the packets that need to be sent. This will
just change (increase) the packet size of each incoming packet. If not
specified or invalid value (e.g. <64), the size will not be changed.
The packet size will only be changed for IPv4 UDP and IPv4 TCP.
Note that these parameters have no effect on the mirror copy submode.
Change-Id: Ic46b52abdd80ed51cffee667bd04ade9ec23ff6d
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
In a previous change, all test files were moved to the tests
subdirectory. When not specifying the test file on the command line as a
parameter, the default test file is used, as specified in
rapid_defaults.py
It did not reflect the fact that all test files were moved to
this directory.
Change-Id: I5c77b75dbdde040d0e30dda2b97e981dff572f2f
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
Make image more universal and add rapid scripts for mgmt from the container.
Signed-off-by: Yury Kylulin <yury.kylulin@intel.com>
Change-Id: Ia46a8e147f978dd64bfe6c7b44f7dff92e241855
|
|
All test files are now in the tests directory. All PROX config files
moved to the configs directory. When specifying a test on the
runrapid.py command line, you should now also mention the directory:
e.g. --test tests/basicrapid.test
In these test files, you need now to also include the configs
subdirectory when specifying the prox configuration that needs to be
used.
The --map parameter has also changed. It can still take the file name
of the map file, that specifies which PROX instance to use during a
test. On top of that, you can now also specify a list of indices of the
machines to be used during a test: e.g. --map [1,3].
Change-Id: I887cba59834dd8c903a22bc80959b10da2775398
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
Adding default RSA keys for SSH access.
Signed-off-by: Yury Kylulin <yury.kylulin@intel.com>
Change-Id: Id9552717591a805562f3ed2f840251bd9f6a71c1
|
|
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>
|
|
Fix subnet configuration for the dataplane interface.
Signed-off-by: Yury Kylulin <yury.kylulin@intel.com>
Change-Id: I612113a86a960284303915d5d003bf67a1b48a72
|
|
Move to python version 3 in all scripts for kubernetes environment.
Streamline file names to match existing libraries.
Signed-off-by: Yury Kylulin <yury.kylulin@intel.com>
Change-Id: Id875f4240a87ab600b445cb9a7fd97ec1335f88a
|
|
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>
|
|
Final changes to the documentation
Change-Id: Ibefd33feb15efb692b445dd6a025ec3854d2ed5a
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
Added 04-running_the_test.rst describing how to change the default test.
This section is describing the parameters the parameters you can use and
how to change the Dockerfile and the testcases.yaml file.
Change-Id: Ieaa173ebc61dd320659ca6be3d2ce31684298d42
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
Fixed some errors causing an invalid rst format.
Change-Id: Ide739a48abbd32b5c88b017a74ad7afc406c2c34
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
Some more documentation updates for the Jerma release.
Change-Id: I0626ae2ac18dd858f6d1e5fa341371aca6ec639d
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
First step in a rewrite of the sampleVNF documentation whcih is now
focused on the TST009 testing using PROX and rapid.
Change-Id: Id95cd44831ae7db518ccdf1d8da55890197d2fcb
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
|
|
Per TSC decision as documented in
https://wiki.opnfv.org/display/meetings/OPNFV+TSC+Meeting+2020-09-29,
changing the INFO file with committer info for sampleVNF project. The
project is now focusing only on the rapid-PROX based dataplane
benchmarking using TST009 spec.
Change-Id: I61a6f69b84af9e1e30e071771a1d2e36b833cf84
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>
|
|
'reset values all' and 'reset randoms all' commands were
potentially causing some crash. This has been fixed.
Change-Id: Idc2c4f7c90db73e7fdf9e8ef76b00ba956a0d854
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
|
|
Change-Id: I0e5098747cc496da8632e8d6f779e418da03dc4a
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
|
|
JIRA: SAMPLEVNF-161
Adding Release notes and pointers to the documentation in the wiki
Change-Id: Ifce28b844ae336b5a54479b614b3959193acc42d
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>
|