Age | Commit message (Collapse) | Author | Files | Lines |
|
This patch implements an active wait for the traffic injection. Once the
traffic is started, the traffic generator class will poll periodically the
IXIA traffic generator chassis to retrieve the status of the traffic
("started", "stopped").
Now the latency statistics are retrieved and reported for each injection
period.
JIRA: YARDSTICK-1116
Change-Id: I4422e2c88b4fc97b7cac3de8a82b2d75467c4117
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
(cherry picked from commit a3399d07b83ce0e50d9c0144d00a7ba83a73390f)
|
|
This patch introduces a new way to configure the TCL IxNetwork server.
All the configuration is done using the TCL API, removing the need of
using the pre-saved configuration file.
"IxNextgen.assign_ports" creates and assigns the virtual ports for each
physical port defined in the test case.
"IxNextgen.create_traffic_item" creates one traffic item and two flow
groups per pair of ports, in both directions.
"IxNextgen.gt_statistics" retrieves only the required statistics to
generate the samples blob in the traffic generator.
JIRA: YARDSTICK-1116
Change-Id: I8f1c0c55e99c274b2ed8276ed9a385c502e16d93
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
(cherry picked from commit ee721fd3e8b77ccfe4252a107a9af8dc41ccc389)
|
|
|
|
* Fix pylint errors
* Add TODOs
Some errors are ignored locally, as they were a symptom of other problems.
These issues have been flagged with a TODO, and should be fixed later.
JIRA: YARDSTICK-837
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
Change-Id: Id983a2e415d66633331e7fea96a377e2a7589980
(cherry-picked from commit cfc40ad1bb36889e54bc99cb779cfcfa1f3b04dd)
|
|
|
|
exceptions" into stable/fraser
|
|
This patch allows user to configure ACL/vFW SampleVNF ACL
via configuration file provided in TC definition. The
Yardstick applies the rules to SampleVNF from specified config
file + rules generated by Yardstick (default rules).
The example of SampleVNF ACL CLI commands generated/applied
by Yardstick can be found at (using default ACL config file):
ACL VNF ACL CLI commands:
acl/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex.yaml
http://paste.openstack.org/show/723303/
vFW VNF ACL CLI commands:
vfw/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex.yaml
http://paste.openstack.org/show/723304/
Change-Id: I76a630261a982083b628e3985fc3bec14ca495db
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
(cherry picked from commit 3fdca97ff5053770161059a34a95fd39463eaecd)
|
|
JIRA: YARDSTICK-1112
Change-Id: Id30236e190bae9fb0f5b5ebd4c5e04798e4fd443
Signed-off-by: Chornyi, TarasX <tarasx.chornyi@intel.com>
(cherry picked from commit d38bd854fb2c3eb6c0c4dd34ace2a52af7cf892d)
|
|
into stable/fraser
|
|
stable/fraser
|
|
JIRA: YARDSTICK-1218
Change-Id: I804065e9bce3e728f5bf9e756a78df8fd28f74ac
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
(cherry picked from commit dc0e675f47f4dbf1b54ce9c22878e2e876bc26e8)
|
|
JIRA: YARDSTICK-1215
Change-Id: I5ecfd3dccd91b07cd8de5309dfa1a372eff16ed0
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
(cherry picked from commit dde8fa628483deec352e176cea8decdbf6bed7e8)
|
|
To enable HWLB queues in samplevnf on supported hardware
(e.g Intel Fortville) --hwlb option needs to be passed
as a VNF command line argument.
JIRA: YARDSTICK-1159
Change-Id: I6e5c098dc71a711252b545c7622ee52085fa81f0
Signed-off-by: Chornyi, TarasX <tarasx.chornyi@intel.com>
(cherry picked from commit 1c8bfeb11a620c63ffd9fcd7f8735ded4521e077)
|
|
JIRA: YARDSTICK-1167
Change-Id: I7591bbb2a84ee4039a20c5da2914f1e374299015
Signed-off-by: Chornyi, TarasX <tarasx.chornyi@intel.com>
(cherry picked from commit ba2ca2819a8b0312627742d126030c3dac15052f)
|
|
* Fix pylint errors
* Add TODOs
Some errors are ignored locally, as they were a symptom of other problems.
These issues have been flagged with a TODO, and should be fixed later.
JIRA: YARDSTICK-837
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
Change-Id: Idc2e70291b6d9b4cf7e7249a10c4a290b999206c
(cherry picked from commit 2e75e6d27240945ec985998bbe9ec6241d11626a)
|
|
The following private methods are unused in
yardstick/network_services/vnf_generic/vnf/sample_vnf.py:SampleVNF
* _build_ports(self)
* _get_route_data(self, route_index, route_type)
* _get_port0localip6(self)
* _get_port1localip6(self)
* _get_port0prefixlen6(self)
* _get_port1prefixlen6(self)
* _get_port0gateway6(self)
* _get_port1gateway6(self)
They are being removed as:
* _get_port* functions are already implemented and used in MultiPortConfig
* _get_route_data is an auxillary functions used by the previous ones
* _build_ports is implemented in the helpers
JIRA: YARDSTICK-1122
Change-Id: Ie7a706cd87b610ea56f89214118a02e612a70dc0
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
(cherry picked from commit 50bcd3e477bc29abb43ed73643d551ff55a73403)
|
|
|
|
|
|
JIRA: YARDSTICK-1035
Do not hardcode NIC/interface speed in PROX test. Test assumes
NIC used is 10Gbps. This is incorrect. It could support 1Gbps,
10Gbps, 25Gbps, 40Gbps or something else.
This is used to calculate pps (Packets Per Second)
In Baremetal the NIC speed could be extracted. however when
run on a virtual machine this is not possible.
Solution:
Add in options section of test file.
eg.
Options:
interface_speed_gbps: 10
Where 10 refers to a 10Gbps. In a setup where multiple interfaces
are used. This will refer to the speed of the slowest connection.
Change-Id: I89ab16479a2cdd1d79e52cbcc5a972762c60d057
Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@intel.com>
|
|
The amount of hugepages claimed for a Sample VNF is always 16GB. This
value is excesive for most of the Sample VNF applications (except for vPE).
Making this parameter configurable we allow to spawn smaller VMs by using
less hugepages (in case of StandAlone and OpenStack deployments).
Because this parameter depends on the Scenario and the type of VNF executed,
the parameter is located in:
scenarios: {options: hugepages_gb} # number of GB of hugepages claimed
PENDING: document this new parameter. A new userguide section should be
created to document all "scenario" sections and parameters.
JIRA: YARDSTICK-1061
Change-Id: I6f082e105289bd01781be18f2fecbe0ba2fdfdee
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
JIRA: YARDSTICK-966
Change-Id: Ic98711fa1a31d27fcb60bd96b1b3e22b5cca86b3
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
|
|
|
|
In [1], VNF interfaces in TG PROX are sorted by "vpci" address, before
this value is populated in "vnfd_helper". "vpci_if_name_ascending" is
only used in TP ProxPofile [2] to generate the stats.
This patch delays this sorting process until the stats generation.
[1]https://github.com/opnfv/yardstick/blob/a74ad5a1ec1a73389c5983440b2031b0bc72cea1/yardstick/network_services/vnf_generic/vnf/tg_prox.py#L62-L64
[2]https://github.com/opnfv/yardstick/blob/a74ad5a1ec1a73389c5983440b2031b0bc72cea1/yardstick/network_services/traffic_profile/prox_profile.py#L33
JIRA: YARDSTICK-1044
Change-Id: I988dc48f9a82baa1c64f728d9e6d54f2f4bae010
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
Removes the unnecessary main() functions from tests.
Also removes shebang (#!) where it appears at the top of files.
JIRA: YARDSTICK-861
Change-Id: I79180d1eb9c5bce640142dd62ce28c7437c1b210
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
|
|
Change-Id: Ie956d8064a8fbcbd3d56c5a79c4c613d35184af4
JIRA: YARDSTICK-942
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
|
|
* tests/unit/network_services/helpers/test_samplevnf_helper.py
* tests/unit/network_services/traffic_profile/test_rfc2544.py
* yardstick/tests/unit/common/test_ansible_common.py
JIRA: YARDSTICK-942
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
Change-Id: Ib3c71db5f5774d2bfb3a9cbd260b838eb5501448
|
|
If no devices are present we can't detect MAC address so
we can't match Heat ports to interfaces.
If only the driver is missing we can try to probe the driver using
lspci. We can use lspci to ask the kernel what driver it should use
for the PCI device.
If we can't probe at all because the device is already bound, we can
use dpkd-devind to find all the PCI address we care about and create a
map with PCI device and real kernel driver.
Then we can dpdk force rebind to the kernel driver.
Once we have rebound to the kernel driver we can detect
MAC address and all the other attributes that are required.
Fix VnfSshHelper to allow override of wait timeout
And a bunch of other refactors that got swept up in this
JIRA: YARDSTICK-835
Change-Id: I14cb657ed289a77941d048345d06ced5b5d5da52
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Added topology and traffic profile templates
Added support for using JinJa2 templates in topology definition
Added support for static pipeline configs for SampleVNFs
JIRA: YARDSTICK-1043
Change-Id: Iab99fd5b5ad69ca32ee70b9fe47779387ad27e7f
Signed-off-by: Chornyi, TarasX <tarasx.chornyi@intel.com>
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
|
|
In order to render configurable traffic profiles in NSB test cases,
a new variable is introduced: "extra_arg". The content of
this variable is added to the VNFD render data, under a key called
"extra_args".
This will allow the user to define Jinja templates for traffic profiles.
E.g.:
$ cat test_case_definition.yml
scenarios:
- type: NSPerf
traffic_profile: traffic_profile.yml
extra_args:
vports: 10
$ cat traffic_profile.yml
{% set vports = get(extra_args, 'vports', '0') or 4 %}
{% for vport in range(vports|int) %}
uplink_{{vport}}:
data...
{% endfor %}
JIRA: YARDSTICK-946
Change-Id: Ib3c1f2d89efa012772edf2156e97d5f4742a6b80
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
"traffic_profile" modules should be imported only once. Every time
TrafficProfile.get is called, the modules under
"yardstick.network_services.traffic_profiles" are loaded [1]. Instead
of this, the modules should be registered only once the first time
"yardstick.network_services.traffic_profiles.base" is loaded. This
will reduce the execution time and will avoid unnecessary calls.
[1] https://github.com/opnfv/yardstick/blob/d2c7cc4e9768ed003257a95c92cdb278d516761b/yardstick/network_services/traffic_profile/base.py#L36-L37
JIRA: YARDSTICK-951
Change-Id: Ia3565378ba3a1377fcb0aea8bda50ef8189414fd
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
Make it more clear that traffic_profile is not a generic class.
Eventually we can refactor a more generic traffic profile.
Change-Id: I1bf44a8cafcdeb8d74efb9e85a34f6d7b526d036
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
|
|
|
|
JIRA: YARDSTICK-1036
This stores a number of extra counters in influxdb for Prox test cases.
It also stores existing counters with a "succcess_" tag.
Previously throughput where stored without success or failure indication.
Also "Result_" counters are also stored.
These can now be used by Grafana to graph output.
Change-Id: Ie5636c14ecbab1b53a988bdfbd47ddd1fcdbd695
Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@intel.com>
|
|
IP address format introduced in [1] should be unicode instead of string.
"ipaddress.IPv4Address(min_value)" doesn't parse correctly the input
parameter unless the parameter is in unicode format; this is valid both
for Python version 2 and 3.
Execution error if the parameter is a string:
>>> int(ipaddress.IPv4Address('10.0.3.2'))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/ipaddress.py",
line 1391, in __init__
self._check_packed_address(address, 4)
File "/usr/local/lib/python2.7/dist-packages/ipaddress.py",
line 554, in _check_packed_address
expected_len, self._version))
ipaddress.AddressValueError: '10.0.3.2' (len 8 != 4) is not permitted
as an IPv4 address. Did you pass in a bytes (str in Python 2) instead
of a unic
[1]https://github.com/opnfv/yardstick/blob/e5775e7efbc55f116b4d4ac11ff87b8d8553247e/yardstick/network_services/traffic_profile/traffic_profile.py#L87-L88
JIRA: YARDSTICK-996
Change-Id: Ic727a79044834b181c99789f0f5efc21c68f0ff2
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
|
|
also fix pylint unittest warnings
JIRA: YARDSTICK-1014
Change-Id: I4ff9769fdca89c6fc1fb9ca62e9f8ea6b174681e
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Change-Id: Ie1da572e2ac00e380b25f8e22f5aa9059dcb5238
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Change-Id: Ieb58167d8b20e0de32578b3df105a141507869d5
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
also fix unittests
Change-Id: Ie3026f5a0df8e690271afb71fe36ac531cbae2a0
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Both "uio" and "igb_uio" drivers are present in the VM image generated
using "./nsb_setup.sh" script. "igb_uio" driver is compiled along with
the DPDK library compilation.
Tool "nsb_setup.sh" provisioning and execution should be removed from
this function because there is not needed anymore.
In case "igb_uio" driver is not loaded, an exception should be raised.
JIRA: YARDSTICK-999
Change-Id: I89174f84ac36d8231587402c96751746cb18e290
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
|
|
http://dpdk.org/doc/guides/sample_app_ug/ip_pipeline.html#application-resources-present-in-the-configuration-file
LINK instances are created implicitly based on the PORT_MASK application startup
argument. LINK0 is the first port enabled in the PORT_MASK, port 1 is the next one,
etc. The LINK ID is different than the DPDK PMD-level NIC port ID, which is the actual
position in the bitmask mentioned above. For example, if bit 5 is the first bit set
in the bitmask, then LINK0 is having the PMD ID of 5. This mechanism creates a
contiguous LINK ID space and isolates the configuration file against changes in the
board PCIe slots where NICs are plugged in.
Change-Id: I6e449272cfcfb2b2a75c246f7f569e3f923da245
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
The goal of this function is to:
- Read the default hugepage size.
- Set 16GB of hugepages.
- Check if the status of the last action.
According to [1], the default hugepage size could be read in
"/proc/meminfo", always in kB. Then "/proc/sys/vm/nr_hugepages"
could be used to set the number of default hugepages.
[1] https://www.kernel.org/doc/Documentation/vm/hugetlbpage.txt
JIRA: YARDSTICK-997
Change-Id: I762d1b16294ba1c1c2feee56610819ac358c7410
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
In DPDK 16.07 [1], "dpdk_nic_bind" utility was renamed to "dpdk-devbind".
This patch removes all references to this previous naming to avoid
confusions.
[1] https://dpdk-guide.gitlab.io/dpdk-guide/setup/binding.html
JIRA: YARDSTICK-995
Change-Id: I827c4c11c9e9e519f33f21b80459e7d65e51545e
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
|
|
Change-Id: Id19df79b4d27aab1a83d8350ce6395e87c13472b
JIRA: YARDSTICK-903
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
|
|
unittest.assertEquals is deprecated[1], and has been replaced with
unittest.assertEqual.
[1] https://docs.python.org/2/library/unittest.html#deprecated-aliases
Change-Id: I9c6320e3a9ec5528036b529a9c32fc48b0bcfd62
JIRA: YARDSTICK-864
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
|
|
JIRA: YARDSTICK-903
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
Change-Id: Id7912b5ddee36e7366bcfa824379853efd0a89f1
|
|
* Update log message and rename method to make debugging easier
* Fix pep8 violations in touched files
JIRA: YARDSTICK-859
Change-Id: Id138d72cd8557ffacd5dcc81d06feeb484e13625
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
|