Gwenael Lambrouin [Fri, 6 Jan 2023 16:53:23 +0000 (17:53 +0100)]
Cleanup requirements & tox config, update pylint
- remove useless Python packages
- make the purpose of each requirements.txt file explicit
- don't overlap between requirements.txt files
- fix requirements so that the "new" pip dependency resolver (enabled by
default since pip 20.3) work. Consequently, it is not necessary to pin
pip version to 20.2.4 and we can drop tox-pip-version
- remove unused tox environments
- skip the installation of nfvbench in the tox environments where this
is not necessary
- update pylint 2.10.2 => 2.15.9 (that was necessary to fix some
requirement conflicts):
- disable some of new checkers:
consider-using-f-string,consider-using-generator,unnecessary-lambda-assignment,implicit-str-concat,global-variable-not-assigned
- remove many obsolete checkers from the disable list
- apply a simple refactor suggestion in nfvbench code
- upgrade to Python 3.8 some remaining references to Python 3.6
Change-Id: I55c0fb144b9199681962f396582590aba89ed02c
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Gwenael Lambrouin [Wed, 8 Feb 2023 12:20:45 +0000 (13:20 +0100)]
docs: refresh & structure overhaul
Rework the doc in order to improve the navigation experience and to make
it easier to update the doc:
- simplify structure: docs/{release-notes,user,developer}
- recreate sphinx config file
- switch theme from opnfv to piccolo
- fix minor rst issues
- fix external references
- add missing license headers (add a short header with copyright and
SPDX license identifier to the files lacking the information. The
header is based on https://github.com/david-a-wheeler/spdx-tutorial)
Change-Id: I9a1135a2873d9955beb26760e0cb6c5d6c1326bd
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Gwenael Lambrouin [Wed, 18 Jan 2023 08:51:22 +0000 (09:51 +0100)]
nfvbenchvm: fix image URL in build log
Update the link to access to the qcow2 VM image in Google storage: use
https instead of http
Change-Id: I315fec57ae12256753bc9abf561c29aafa9aa325
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Gwenael Lambrouin [Tue, 3 Jan 2023 17:05:09 +0000 (18:05 +0100)]
tox: fix testing issues after VM build
When the traffic generator VM is built with option -s (use local
nfvbench code), the code and the unit test files are copied to
nfvbenchvm/dib/elements/nfvbenchvm/static/opt/nfvbench. This can lead
to two problems:
1) if pytest is invoked after that, the test collection will fail
because of duplicated test files;
2) if flake8 is invoked after that, the same files will be checked twice.
To fix this this issue that can occur on a developper's machine, we tell
pytest to look for test files in the test/ directory rather than
everywhere. This is fine because test/ is the base directory for all
test files.
Similarly, we tell flake8 to skip the nfvbenchvm/ directory.
Change-Id: Idb7f62828db4290f16221bb72bd9c6d5d958f649
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Gwenael Lambrouin [Mon, 14 Nov 2022 16:56:10 +0000 (17:56 +0100)]
nfvbenchvm: release 0.16
- separate loop VM and generator VM version numbers (a first step
towards using nfvbench version number for the generator VM)
- increase loop VM version number
- Add a release note page dedicated to nfvbench loop VM
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Change-Id: I2bc651eb315bfa889e5dd1d56f69e2c3d9219646
Cédric Ollivier [Wed, 14 Dec 2022 18:23:34 +0000 (19:23 +0100)]
Update to py38
py38 is the oldest py version support vs
Ubuntu 22.04 python third-party.
It updates requirements to yoga too.
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
Change-Id: I9d39f3600a4d0c432b7caf2f0b2bd51554e12318
Gwenael Lambrouin [Mon, 18 Jul 2022 13:49:51 +0000 (15:49 +0200)]
nfvbenchvm: refactor wait for VPP service
Sleeping for 10s and hoping that VPP service will be ready to accept
vppctl commands does not work all the times. Instead of increasing the
sleep time, poll every second until "vppctl show int" returns something.
Wait at most 30 seconds.
By the way, exit with a clear error message if "vppctl show int" does
not report two network interfaces as expected.
Change-Id: I6f0f053378c0bee8fd28a231dc1041c94642f5b3
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Gwenael Lambrouin [Fri, 3 Jun 2022 15:54:16 +0000 (17:54 +0200)]
behave_tests: refactor TestAPI DB lookup
- use testapi.TestapiClient everywhere
- relax search constraints: match only project name (nfvbench), test
case name (characterization or non-regression), scenario tag
(throughput or latency) and user_label (test chain identifier:
identifies, among other things, the platform, the compute class under
test, ...)
- add unit tests for some of the related behave steps
Change-Id: I26763f845c2286601cb958b326525b29320a1627
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Gwenael Lambrouin [Tue, 31 May 2022 07:42:18 +0000 (09:42 +0200)]
behave_tests: refactor TestAPI HTTP request
- raise a requests.exceptions.HttpError if the HTTP request returned an
unsuccessful status code
- document exceptions that can occur during the communication with
TestAPI database
Change-Id: Iea81e76ef8938cb34a06529105ac6c282e664479
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Gwenael Lambrouin [Thu, 9 Jun 2022 09:33:08 +0000 (11:33 +0200)]
behave_tests: add unit tests for TestAPI client
Change-Id: I31a8d774df406c993f6fb605eb09025d643c6e39
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Gwenael Lambrouin [Mon, 17 Oct 2022 15:28:38 +0000 (17:28 +0200)]
Fix Jenkins build
- docs: fix broken link
- pep8: fix missing space
Change-Id: I421d5a8e10b4e63c379c99f306813ade15f1f7a2
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Gwenael Lambrouin [Wed, 18 May 2022 12:54:20 +0000 (12:54 +0000)]
behave_tests: fix infinite recursion
Fix bug in behave_tests that occurs when behave looks for a previous
result (either non-regression or characterization) in testapi database.
When the result cannot be found on the first results page, behave enters
an infinite recursion. Eventually, the operating system kills the
python interpreter leading to a return code equal to 137.
When behave is run by xtesting run_tests command, run_tests is also
killed so the error is not reported by xtesting.
This is now fixed.
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Change-Id: I6b0feafb5ebadf7d0d1df6d0ee03fd22cbe6899d
Gwenael Lambrouin [Mon, 6 Dec 2021 08:23:21 +0000 (09:23 +0100)]
nfvbenchvm: set mgmt interface MTU=1500 by default
By default, configure the MTU of the management interface to the
conservative value of 1500: this will reduce the risk to get an
unmanageable VM. Else the MTU we will get will depend on the IaaS setup
and it could be high. And this will lead to troubles when we try to
manage the VM from a machine configured with a high MTU and when the
network path contains a link with a low MTU. This can typically happen
when we try to manage the VM from another VM in the same IaaS and when
the management traffic has to go outside the IaaS.
To set the MTU to a different value, configure the INTF_MGMT_MTU
variable in /etc/nfvbenchvm.conf. If INTF_MGMT_MTU is set to the
special value "auto", the MTU will not be configured and it will keep
the value set by the hypervisor ("legacy" nfvbenchvm behavior). If
INTF_MGMT_MTU is unset, the MTU will be set to 1500. In other cases,
the MTU will be set to the value of INTF_MGMT_MTU.
Change-Id: I5816113bbacec5fcdcc9672e20d8a4e2ac0c599a
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Gwenael Lambrouin [Mon, 13 Dec 2021 16:53:31 +0000 (17:53 +0100)]
nfvbenchvm: keep only 1 copy of behave_tests code
Have multiple versions of the code in the VM can be confusing during
troubleshooting sessions, so we only keep one copy of behave_tests code
as we did for nfvbench code.
Change-Id: I5af6cd960486bafaaddfcbac11504c6dcbd1848d
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Gwenael Lambrouin [Mon, 13 Dec 2021 16:35:18 +0000 (17:35 +0100)]
nfvbenchvm: add option to use local nfvbench code
build-image.sh has a new option -s to build the generator VM image from
the local nfvbench code (Git working copy) instead of the master branch
of nfvbench repository on OPNFV Gerrit. This is useful for testing
during the development phases.
When this option is used, the version of the generator VM image is
extended with nfvbench development version number to be able to
distinguish the development images from the latest published image.
Change-Id: If21cbf2be59ff4f4110ebc157af0f934b98bddcb
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Gwenael Lambrouin [Mon, 13 Dec 2021 13:33:07 +0000 (14:33 +0100)]
nfvbenchvm: add 2 debug features to build-image.sh
- The new option -t (enable debug traces) allows to show in the build
log the commands run in the shell scripts, including the commands
defined in the disk image builder elements.
- The new option -d (debug) instructs disk-image-create to drop the
developer in a shell inside the chroot in case an error occurs. This
makes troubleshooting of the image possible (inspect files, run
commands, ...)
Change-Id: I5f76e7dec64fc4c86b1515f6b81a16e11e03eadf
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Gwenael Lambrouin [Mon, 13 Dec 2021 12:48:14 +0000 (13:48 +0100)]
nfvbenchvm: abort build on error
Make sure a VM image build fails if any step fails. Else we can end up
with a bad image not containing all that we want, and we discover this
later at run time.
For instance, without the current patch, we can get a generator VM image
without nfvbench installed because "pip install" failed, but this is not
detected by the build process because the last step in
post-install.d/52-nfvbench-script is an "echo" command that returns a
success code.
We fix this by making all the Bash scripts fail if any command whose
return code is not tested fails (set -euo pipefail).
Change-Id: Ic5ec9eb85a8d6e7e4d1dcbac8ebcac5931e4808e
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Gwenael Lambrouin [Mon, 13 Dec 2021 12:17:53 +0000 (13:17 +0100)]
nfvbenchvm: fix broken build after dib update
Attempting to build nfvbench VM images with diskimage_builder (dib)
3.16.0 leads to the following error:
diskimage_builder.element_dependencies.MissingElementException: Element
'block-device' not found
Something changed at some point of diskimage_builder history, and the
updated doc states: "When using the vm element, an element that provides
block-device should be included".
To fix this and prevent future similar issues, this patch:
- adds the "block-device-mbr" element to the dependency list
- sets diskimage_builder version
By the way:
- replace the deprecated "centos7" element with the more generic
"centos" element.
- add missing dependencies in the pre-requisites section of nfvbenchvm
doc
- install pip with package manager (the current latest version of
get-pip.py is not compatible with python 3.6, so let's use the
occasion to stop getting pip directly from the Internet)
- use Python 3 in build-image.sh
Change-Id: I3198a1042eca04224b2a62db443c39a76903cf22
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Gwenael Lambrouin [Mon, 21 Feb 2022 14:15:47 +0000 (15:15 +0100)]
.gitlab-ci.yml: fix vm image jobs
1) use CentOS 7 hosts to build VM images: CentOS 8 is not supported as a
build host according to diskimage-builder documentation:
https://docs.openstack.org/diskimage-builder/latest/user_guide/supported_distros.html
(page checked on 2022-02-08)
2) add missing packages for diskimage-builder: qemu-img kpartx sudo
e2fsprogs
3) use "python3 -m venv" instead of virtualenv (else the pipeline fails
because of https://github.com/pypa/virtualenv/issues/1029)
Change-Id: I14daf76dded1f230e12c47218ddcb1fe9029bcd8
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Gwenael Lambrouin [Wed, 9 Feb 2022 16:18:47 +0000 (17:18 +0100)]
Set pylint version to 2.10.2
If we don't specify a version of pylint, jenkins jobs in gerrit
sometimes fail for a reason unrelated to the submitted change because a
newer version of pylint adding new checks is used for the first time
during the job run. This is very annoying.
Let's stick to the latest version of pylint known to work with nfvbench,
and we will consider an update later on.
Change-Id: Ia2f87d0730ec1e733905a002a651ad6bcdf7edbb
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Gwenael Lambrouin [Mon, 6 Sep 2021 07:07:05 +0000 (07:07 +0000)]
Merge "behave_tests: tweak nfvbench results JSON filename"
Gwenael Lambrouin [Wed, 1 Sep 2021 13:13:18 +0000 (13:13 +0000)]
Switch VPP package repository to packagecloud.io
VPP install guide [1] now refers to packagecloud.io instead of
nexus.fd.io as the source for VPP binary packages.
[1] https://fd.io/docs/vpp/v2106/gettingstarted/installing/centos.html
I could not find when the switch took place, but I recently got some
intermittent issues when trying to use nexus.fd.io (Bad Gateway errors),
so it seemed like a good opportunity to make the move.
Additionally, this will make it possible to get vpp releases higher
than 19.08 when building nfvbench loop VM image.
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Change-Id: I9cff7289e426e0ed8c8a7df8322a4a4baeb79f47
Gwenael Lambrouin [Tue, 31 Aug 2021 13:49:40 +0000 (15:49 +0200)]
behave_tests: tweak nfvbench results JSON filename
In case nfvbench packet rate is expressed as a percentage of the max throughput
rather than a value in pps or bps, use that percentage to build nfvbench
results JSON filename.
This is sometimes needed for results post-processing because the percentage
information cannot be found in nfvbench results itself.
Change-Id: I7d16dba16a733a8ee58a6f80ce4df40cb40e9843
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Trevor Bramwell [Mon, 7 Jun 2021 14:52:53 +0000 (07:52 -0700)]
Add Gitlab-CI Configuration
Adds jobs for tox verification, ReadTheDocs builds on changes to docs/,
docker image builds, and disk image verification and builds.
Change-Id: Ie8e579a12ae6a0efd325a04de670486cafd50f46
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
Gwenael Lambrouin [Tue, 24 Aug 2021 09:42:26 +0000 (11:42 +0200)]
Be explicit about text file encoding
Python PEP 597 (https://www.python.org/dev/peps/pep-0597) recommends to use an
explicit encoding for text files instead of the default locale encoding.
Pylint 2.10 adds a new checker named unspecified-encoding for that.
The present patch adds explicit utf-8 encoding to open() calls in nfvbench and
fixes pylint unspecified-encoding warnings.
Remark: this patch does not change nfvbench behaviour on systems where utf-8 is
the locale encoding, which is generally the case on Linux systems.
Change-Id: Ic4dfb37e1ea958452a0173f7630a68f0d95071ae
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Gwenael Lambrouin [Thu, 29 Jul 2021 16:22:29 +0000 (18:22 +0200)]
docs: how to use tox on a developer's machine
Change-Id: I0acbf6a89b1126336862a008bbe4331fa94ef0a5
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Gwenael Lambrouin [Tue, 27 Jul 2021 15:49:22 +0000 (15:49 +0000)]
NFVBENCH-216 Fix broken flake8 tests in CI
- remove version constraints on the "hacking" python package (flake8
plugin that enforces openstack coding style) because this was the root
cause holding flake8 in the past.
- require flake8>=3.3.0 to have python 3.6 support
- ignore all the new errors introduced by newer versions of the tools.
The point here is to have flake8 back with equal functionality. If
wanted, some of the new error codes could be re-enabled, but this would
require to fix the code and could lead to accidental regressions.
- align minimum package version numbers in requirements-dev.txt and
test-requirements.txt
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Change-Id: I2e85aded58f1b2b9b5e750dba66ac68b13e150a5
Gwenael Lambrouin [Mon, 26 Jul 2021 09:49:25 +0000 (11:49 +0200)]
tox: fix docs-linkcheck behind a proxy
Change-Id: I3718f3276f145a64e97968065512fe9c1f7cb91f
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Gwenael Lambrouin [Fri, 16 Jul 2021 09:12:38 +0000 (11:12 +0200)]
behave_tests: change packet rate for latency non regression tests
Base the rate of the latency test on the latest characterization max throughput
test instead of the latest non regression max throughput test. The goal is to
use the same packet rate for all latency tests and to avoid variations of the
latency result due to the variation of the max throughput results, ie to
decouple max throughput and latency test results.
This is achieved with a new "Given" behave phrase:
Given packet rate equal to {percentage} of max throughput of last characterization
This new phrase is now used by default in non-regression.feature, but it is
still possible to use the previous behaviour with the phrase:
Given <throughput> rate of previous scenario
Change-Id: I15b5d7a68cd57c67d01d2119781f65114e6d41ce
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Gwenael Lambrouin [Tue, 20 Jul 2021 08:59:31 +0000 (10:59 +0200)]
behave_tests: doc and log start nfvbench server
Change-Id: I36b7a32525f75bf1dc2b7ec150428afa5298d478
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Gwenael Lambrouin [Mon, 19 Jul 2021 09:42:39 +0000 (11:42 +0200)]
behave_tests: log latency test (fixed threshold)
Change-Id: I8285829a854f146fb9736d44655a7e848923203e
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Gwenael Lambrouin [Mon, 19 Jul 2021 08:45:15 +0000 (10:45 +0200)]
behave_tests: log nfvbench API test
Change-Id: I67bfba22393f2f324b3c052b443b24c520231172
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Gwenael Lambrouin [Fri, 16 Jul 2021 15:54:17 +0000 (17:54 +0200)]
behave_tests: refactor max result search
Remove duplicate code introduced by logging and make the max result search
easier to read.
Change-Id: If88c6d5a8b57ae9e26edab206e0f61526a98d09d
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Gwenael Lambrouin [Tue, 13 Jul 2021 15:14:47 +0000 (17:14 +0200)]
behave_tests: log nfvbench traffic runs
Change-Id: I791b57c78f98252f01c08a6539762725888a3514
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Gwenael Lambrouin [Fri, 16 Jul 2021 13:40:16 +0000 (15:40 +0200)]
behave_tests: add secondary logging infrastructure
In addition to the main logger managed by behave framework to show the test
progress and the results summary, add a second logger to provide insight on
what's going on internally.
That second logger logs to a file in the results dir.
Change-Id: Ie2e8012ea54b153a2e661a06a2c521f48e7040b2
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Gwenael Lambrouin [Thu, 15 Jul 2021 15:48:01 +0000 (15:48 +0000)]
behave_tests: code cleaning (TEST_DB_EXT_URL)
Remove all reference to the TEST_DB_EXT_URL env variable which is not
used.
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Change-Id: I552255f11c04da344aac1f2d9dd9f3da4293e553
Gwenael Lambrouin [Thu, 15 Jul 2021 09:33:21 +0000 (11:33 +0200)]
behave_tests: create results dir if needed
Change-Id: I122607f24844eda15920b514a29e4efba9a7c4e6
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Gwenael Lambrouin [Tue, 13 Jul 2021 16:27:51 +0000 (18:27 +0200)]
behave_tests: configure nfvbench ip/port with env vars
It is now possible to configure nfvbench server IP address and port number
with environment variables: NFVBENCH_SERVER_HOST and NFVBENCH_SERVER_PORT.
It is still possible to configure them in feature files, and the values found
in feature files take precedence.
This allows to have behave tests and nfvbench server running on different
machines without changing feature files, which is especially useful for
testing.
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Change-Id: I98dc7f87a1a233b90b44dfc8b26a1e63961fff3c
Gwenael Lambrouin [Mon, 28 Jun 2021 16:10:41 +0000 (18:10 +0200)]
Compare the latency result with a fixed threshold of 1ms
Change-Id: I2b4ea4ee6e6442d4ceac268e7bf3c6bf9277ff54
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
fmenguy [Wed, 7 Jul 2021 09:05:28 +0000 (11:05 +0200)]
NFVBENCH-215 Fix wrong throughput ratio in latency tests
Change-Id: I5c976dd49a2c17b47559b1d6a565a6e78f7cfd0e
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
fmenguy [Wed, 9 Jun 2021 09:07:40 +0000 (11:07 +0200)]
Add Gwenael as committer
Change-Id: I56883e7ae5c4057a38ca43b6f1199b810e2ac947
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
fmenguy [Tue, 8 Jun 2021 07:18:33 +0000 (09:18 +0200)]
Fix pps error message in behave tests
Change-Id: I2f050f8a6f193c4e04ac8a427aedb7c241633b73
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
fmenguy [Mon, 7 Jun 2021 13:45:16 +0000 (15:45 +0200)]
Add missing file for clouds.yaml management
Change-Id: Ic9be998451dceb314b2fc46e936604402a27e925
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
fmenguy [Fri, 4 Jun 2021 14:24:30 +0000 (16:24 +0200)]
Increase loopVM version in Dockerfile
Change-Id: I4496b90a5b49b0c1e9c2c841240bbe9c0dca5f45
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
Fran�ois-R�gis Menguy [Fri, 4 Jun 2021 14:10:31 +0000 (14:10 +0000)]
Merge "Increase VM version to 0.15"
Fran�ois-R�gis Menguy [Fri, 4 Jun 2021 14:09:36 +0000 (14:09 +0000)]
Merge "behave_tests: increase nfvbench_test_api timeout"
Fran�ois-R�gis Menguy [Fri, 4 Jun 2021 14:08:22 +0000 (14:08 +0000)]
Merge "behave_tests: add feature quick-test-10kpps"
Fran�ois-R�gis Menguy [Fri, 4 Jun 2021 13:48:46 +0000 (13:48 +0000)]
Merge "Increase Xtesting version in requirements and remove behaveframework temporary patch"
fmenguy [Fri, 4 Jun 2021 12:59:56 +0000 (14:59 +0200)]
Increase VM version to 0.15
Change-Id: I5ab68c6eadd4cbb91753870c10b53ead0b973bca
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
fmenguy [Fri, 4 Jun 2021 12:34:49 +0000 (14:34 +0200)]
NFVBENCH-213 Add clouds.yaml management in generator VM
Change-Id: Ia741847f886a291f0b0d7276e36d5c18f7819185
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
fmenguy [Fri, 4 Jun 2021 12:21:29 +0000 (14:21 +0200)]
NFVBENCH-212 Add clouds.yaml file as a config file to use for openstack API access
Change-Id: If855ffda1070ed9c9c4544230e4efec185a93f45
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
fmenguy [Fri, 4 Jun 2021 07:47:17 +0000 (09:47 +0200)]
NFVBENCH-211 Fix VPP driver for loop VM
Change-Id: I6e55b4c0ad41d773b5303b8dc8c09cee8482c646
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
Gwenael Lambrouin [Wed, 26 May 2021 16:07:31 +0000 (18:07 +0200)]
behave_tests: increase nfvbench_test_api timeout
In some cases, the 50 seconds timeout to wait for nfvbench HTTP server to be
ready is too short. (Convoluted but real example: when the DNS servers are not
properly configured and nfvbench tries to reach the OpenStack APIs while it
does not need them because we just want to do a loopback test without loop VM)
The new timeout is 120 seconds.
Change-Id: I4932eff7c9a100370e7ceaaa2a467efbbceb5993
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Gwenael Lambrouin [Wed, 26 May 2021 15:30:13 +0000 (17:30 +0200)]
behave_tests: add feature quick-test-10kpps
Add a quick test at low packet rate for troubleshooting purpose:
- duration: 10s
- fixed packet rate: 10kpps
- frame size: 64
- flow count: 128
Change-Id: Ib736dbe7ade6d0b6e4d484a6d8bfca34bb5c4c5a
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
fmenguy [Tue, 1 Jun 2021 15:13:22 +0000 (17:13 +0200)]
Increase Xtesting version in requirements and remove behaveframework temporary patch
Change-Id: Id52abffc67a17066c9282bcdcab04ecfd6c568cb
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
Gwenael Lambrouin [Tue, 1 Jun 2021 09:08:41 +0000 (11:08 +0200)]
xtesting: change nfvbench config file path for test case 10kpps-pvp-run
The test case 10kpps-pvp-run now looks for nfvbench config file at the same
place as the behave tests: /etc/nfvbench/nfvbench.cfg
Change-Id: I260dbf6ddefc6d683e79cc3afb03ead8fb408218
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
fmenguy [Tue, 25 May 2021 15:02:30 +0000 (17:02 +0200)]
NFVBENCH-210 Remove TRex restart from behave test scenarios
Change-Id: I19895eae9a3e68999cdde15f3f21520dcf6e6897
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
fmenguy [Tue, 25 May 2021 09:04:53 +0000 (11:04 +0200)]
Update loop VM image to v0.14
Change-Id: I1cf8a36544c5f9205391e916eaa00311f8808a46
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
fmenguy [Mon, 17 May 2021 12:01:20 +0000 (14:01 +0200)]
NFVBENCH-209 Fix NFVbench loopvm build failed on testpmd step
Change-Id: I0715b46b34b382176f2e06798deeede402b4c2fd
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
fmenguy [Mon, 17 May 2021 11:11:35 +0000 (13:11 +0200)]
Revert cleanup and allow force push image to GS (tmp)
Change-Id: Ic742d0f538b62a101d3c3752fd2008163bb3bbe0
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
fmenguy [Mon, 17 May 2021 07:07:01 +0000 (09:07 +0200)]
NFVBENCH-208 Fix VM images
Change-Id: I9014b36b4f2e044f807a9b8a997e8c455511c046
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
fmenguy [Wed, 28 Apr 2021 11:27:15 +0000 (13:27 +0200)]
Add generator VM Xtesting call example in documentation
Change-Id: I789caa7f46bd2b21af15ec5ffe4d857e10a7734c
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
fmenguy [Mon, 16 Nov 2020 16:01:33 +0000 (17:01 +0100)]
NFVBENCH-196: New NFVbench image for generator part (nfvbench and TRex codes inside VM)
Change-Id: Id919a1b9dbf5e04b198d022432ed5c64232a27ba
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
fmenguy [Wed, 28 Apr 2021 07:43:58 +0000 (09:43 +0200)]
NFVBENCH-206 Fix TRex patches remaining code
Change-Id: Ifebb89d9d0aa2a21257c8e925cd51faa07b88353
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
Pierrick Louin [Sat, 6 Mar 2021 01:23:56 +0000 (01:23 +0000)]
NFVBENCH-190: Add a 'i40e_mixed' option, trex accepts other i40e driven ports to run in kernel mode on the same board
Change-Id: I33b1d848f409e0431bd4e247456b1d697d8b9d04
Signed-off-by: Pierrick Louin <pierrick.louin@orange.com>
fmenguy [Thu, 11 Mar 2021 19:33:36 +0000 (20:33 +0100)]
NFVBENCH-205 - Add behave tests for characterization and non-regression
Change-Id: I708eee21a9fd11e7a276707fb0b43d8598381ce7
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
fmenguy [Tue, 21 Apr 2020 16:26:41 +0000 (18:26 +0200)]
NFVBENCH-163: Add gratuitous ARP in case of L3 router mode
Change-Id: Iec2b186176285f723eb2685319c55e6cd6d33a8a
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
fmenguy [Mon, 5 Oct 2020 16:13:05 +0000 (18:13 +0200)]
Add Kibana visualizations examples for NDR result
Change-Id: I652dc2c3d69ae5f6bff5019b0868d1becaceec63
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
Pierrick Louin [Fri, 5 Mar 2021 10:12:56 +0000 (10:12 +0000)]
NFVBENCH-204 Remove some piece of code depending on a non merged patch (NFVBENCH-190)
Signed-off-by: Pierrick Louin <pierrick.louin@orange.com>
Change-Id: I34476f743f9ab0620f866e93ac068941a3a031af
Pierrick Louin [Tue, 10 Nov 2020 03:27:47 +0000 (04:27 +0100)]
NFVBENCH-203: Make --show-config really print the actual running config
Add a --show-pre-config cmd to print the config before CLI override.
Signed-off-by: Pierrick Louin <pierrick.louin@orange.com>
Change-Id: I708498cf10eee043242cd975ab05bc44883bca4e
Pierrick Louin [Tue, 10 Nov 2020 02:34:40 +0000 (03:34 +0100)]
NFVBENCH-202: Generalize auto T-Rex restart on every command line related parameter change.
Signed-off-by: Pierrick Louin <pierrick.louin@orange.com>
Change-Id: Ia8e572e8ebea37bb7fb2c898d6a311b522dec0b4
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
fmenguy [Tue, 16 Feb 2021 14:32:11 +0000 (15:32 +0100)]
NFVBENCH-201 Fix port creation with accurate subnet_id
Change-Id: I419cfeb82d16ff1ac1145df5d52fe6f88d890a49
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
fmenguy [Mon, 1 Feb 2021 15:12:59 +0000 (16:12 +0100)]
NFVBENCH-200 Cleanup refactoring
Change-Id: I380a9efecdce8d525a9ae41949828c73e9cdac5f
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
fmenguy [Thu, 28 Jan 2021 12:52:49 +0000 (13:52 +0100)]
NFVBENCH-199 add exception to avoid API locked with pending run
Change-Id: I12635d3f002bbac38e6c063ed3ca972ad02685ce
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
fmenguy [Tue, 2 Mar 2021 14:24:29 +0000 (15:24 +0100)]
NFVBENCH-198 Error in File logger management (REST API)
Change-Id: I9c798b3bcbf416c0d3f107856aca0872c650a580
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
fmenguy [Mon, 1 Mar 2021 14:54:10 +0000 (15:54 +0100)]
NFVBENCH-197 Upgrade NFVbench packaging (Ubuntu version and requirements)
Change-Id: I79c8bc86272435bd4fa9ed9d1129eb964513ec1a
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
Pierrick Louin [Thu, 3 Dec 2020 22:18:41 +0000 (22:18 +0000)]
NFVBENCH-195: Work around a fatal error encountered with the latest pip release, building the container.
Signed-off-by: Pierrick Louin <pierrick.louin@orange.com>
Change-Id: I7dbfa076360be0c62a1b9893070f059dc2566842
fmenguy [Tue, 24 Nov 2020 13:00:25 +0000 (14:00 +0100)]
NFVBENCH-194 Fix too many headers in NFVBenchSummarizer using server mode
Change-Id: I5c2394bc87c845caa2b322c30ed9dbf4feb20e86
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
Pierrick Louin [Mon, 16 Nov 2020 12:49:10 +0000 (13:49 +0100)]
NFVBENCH-193: Correct a critical bug introduced in commit NFVBENCH-192
Signed-off-by: Pierrick Louin <pierrick.louin@orange.com>
Change-Id: Ia22008181fa7af63af68baed7e793ca7dab25a11
Fran�ois-R�gis Menguy [Mon, 16 Nov 2020 07:00:28 +0000 (07:00 +0000)]
Merge "NFVBENCH-192: Complete/fix hdrh related processings to consider all cases (multiple service chains, distribution n/a with intel VFs)"
Pierrick Louin [Sun, 8 Nov 2020 20:49:49 +0000 (21:49 +0100)]
NFVBENCH-192: Complete/fix hdrh related processings to consider all cases
(multiple service chains, distribution n/a with intel VFs)
Signed-off-by: Pierrick Louin <pierrick.louin@orange.com>
Change-Id: I80e38601292a7777d37ed05959c8ef205505c2ac
Pierrick Louin [Sun, 8 Nov 2020 21:31:41 +0000 (22:31 +0100)]
NFVBENCH-187: Augment --l2-loopback command line option capabilities
[vlan(s)|no-tag|true|false] - Update documentation
Clarify some fuzzy coding in options processing [nfvbench.py]
Change-Id: Ie6eec7722bfa557924f435f268b852c300e160df
Signed-off-by: Pierrick Louin <pierrick.louin@orange.com>
Pierrick Louin [Tue, 13 Oct 2020 22:14:08 +0000 (00:14 +0200)]
NFVBENCH-189: Add a fix to work around the i40e_VF port initialization issue
Change-Id: I170292e0871b1ff00aa5c7e1136b3b14b143bee1
Signed-off-by: Pierrick Louin <pierrick.louin@orange.com>
Pierrick Louin [Tue, 13 Oct 2020 21:52:04 +0000 (23:52 +0200)]
NFVBENCH-188: Add an option for dumping the TRex log file
Change-Id: Icd48638a5d789ea780ef8c39bc3a2cb963b8bc8a
Signed-off-by: Pierrick Louin <pierrick.louin@orange.com>
Pierrick Louin [Tue, 13 Oct 2020 17:09:22 +0000 (19:09 +0200)]
NFVBENCH-186: Fix a bug: NDR mode now fully supports 'intf_speed' overriding
Change-Id: I43453b5790474324ec0db6e98311bb864ee00ec4
Signed-off-by: Pierrick Louin <pierrick.louin@orange.com>
Pierrick Louin [Tue, 13 Oct 2020 17:02:16 +0000 (19:02 +0200)]
NFVBENCH-184: Add a feature (+ options) allowing to change ownership of shared log & result files
Change-Id: Id77426dade28aed48986ce6c18db6a193da5b6ed
Signed-off-by: Pierrick Louin <pierrick.louin@orange.com>
ahothan [Mon, 19 Oct 2020 14:08:49 +0000 (07:08 -0700)]
Add Francois as committer
Change-Id: I74b186a52563bf93aed23b697bb6f0a9fe020ffa
Signed-off-by: ahothan <ahothan@cisco.com>
Pierrick Louin [Tue, 13 Oct 2020 15:31:51 +0000 (17:31 +0200)]
NFVBENCH-181: Make T-Rex restart on 'cores' or 'vlan_tagging' parameter value change
Change-Id: Ibd4e03f79699b811f7a245609c2cf45603796842
Signed-off-by: Pierrick Louin <pierrick.louin@orange.com>
Pierrick Louin [Tue, 13 Oct 2020 15:21:42 +0000 (17:21 +0200)]
NFVBENCH-180: Add a 'no_e2e_check' option to skip "end to end" connectivity check
Change-Id: Ic4ed852752a542f958f9ccb74369825bc85ddadb
Signed-off-by: Pierrick Louin <pierrick.louin@orange.com>
Pierrick Louin [Tue, 13 Oct 2020 15:58:36 +0000 (17:58 +0200)]
NFVBENCH-182: Cap the cache size to 10000 (maximum admitted)
Change-Id: Ia63fd9689bccbd6c5230efaaf2d3060d38de4fce
Signed-off-by: Pierrick Louin <pierrick.louin@orange.com>
Pierrick Louin [Tue, 13 Oct 2020 16:24:12 +0000 (18:24 +0200)]
NFVBENCH-183: Correct a very old bug - revealed with python3 - when traffic is unidirectional (while checking pps rate)
Change-Id: I55fd64915c647a3a6b2b85bf30ecc69af620f420
Signed-off-by: Pierrick Louin <pierrick.louin@orange.com>
Pierrick Louin [Tue, 13 Oct 2020 14:37:46 +0000 (16:37 +0200)]
NFVBENCH-178: Add a 'debug_mask' configuration parameter for development needs
Change-Id: I3752085cdd97105f24dfdde65a0c3beee46badb1
Signed-off-by: Pierrick Louin <pierrick.louin@orange.com>
fmenguy [Thu, 8 Oct 2020 09:46:55 +0000 (11:46 +0200)]
NFVBENCH-171 Not accurate flow count with some IP and UDP ranges combinations
Change-Id: Ic68db4ee54c508ebb24ca2e605dcec2a6b2fb3bf
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
fmenguy [Tue, 22 Sep 2020 15:10:10 +0000 (17:10 +0200)]
NFVBENCH-177: Add a config item 'user_info' and theoretical max rate value
Change-Id: If96ccbffab67cfc0a08279d94cf7a5e81d958044
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
ahothan [Thu, 10 Sep 2020 19:11:35 +0000 (12:11 -0700)]
NFVBENCH-176 Cannot run service mode with flow stats
Change-Id: Iac920f75ea95c8d53afceeebf6445a4416d089d8
Signed-off-by: ahothan <ahothan@cisco.com>
fmenguy [Mon, 24 Aug 2020 14:00:01 +0000 (16:00 +0200)]
NFVBENCH-175 pylint w0707 correction
Change-Id: I16927f051f80c540ffc1989f5311e47e68b14a73
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
fmenguy [Wed, 22 Jul 2020 07:33:16 +0000 (09:33 +0200)]
NFVBENCH-172: Add quartiles and 99 percentile latency values
Change-Id: If223a47bbb039e4565924a49259c07cede356373
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
Alec Hothan [Fri, 29 May 2020 14:40:08 +0000 (14:40 +0000)]
Merge "NFVBENCH-169: UDP port random step correction"
fmenguy [Fri, 29 May 2020 14:09:03 +0000 (16:09 +0200)]
NFVBENCH-169: UDP port random step correction
Change-Id: I1ff96c02ea5b3abd126f303e3197dbcaf60e7dc3
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>
fmenguy [Wed, 6 May 2020 15:35:35 +0000 (17:35 +0200)]
[NFVBENCH-168] Improve config properties managed after a REST call
Change-Id: I20973c1c405dec8cce58f984e1fb84e345013b25
Signed-off-by: fmenguy <francoisregis.menguy@orange.com>