Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Tool provisioning in PROX setup environment helper is not needed [1]. The
tool (PROX traffic injector) is already provided during the VNF building:
./ansible/nsb_setup.yml -->
./ansible/build_yardstick_image.yml -->
./ansible/ubuntu_server_cloudimg_modify_samplevnfs.yml -->
./ansible/roles/install_samplevnf
[1]https://github.com/opnfv/yardstick/blob/master/yardstick/network_services/vnf_generic/vnf/prox_helpers.py#L641
JIRA: YARDSTICK-872
Change-Id: I0f925a7967a35a97901fbe5053793a791a7b1b01
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
GenericVNF class is now an abstract class. Only optional methods are
implemented. Mandatory methods:
- instantiate
- wait_for_instantiate
- terminate
- scale
- collect_kpi.
JIRA: YARDSTICK-866
Change-Id: Ia8766f9f98816e11894d1e72b0f3bd573d091d99
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
JIRA: YARDSTICK-906
This test case is for benchmarking VM(VNF) compute performance using SPEC CPU2006.
Change-Id: Ida87aa4d394e38b398acb0af3176dd1b4c858c35
Signed-off-by: JingLu5 <lvjing5@huawei.com>
|
|
JIRA: YARDSTICK-904
This task is about to implement a get function in ssh.py to
fetch desired files/folder in a remote VM to a local path.
In some test cases, test tools will produce results in files.
We want retain the original result files and archive them in
Yardstick docker for future usage.
Change-Id: Ifd333eb044ce31cffa6f5b2a8f6a46648a8858d1
Signed-off-by: JingLu5 <lvjing5@huawei.com>
|
|
"check_output" is a blocking wrapper for "Popen" which returns the output
of the command execution or raises an exception in case of error.
"Popen" is a non-blocking function that allows to create asynchronous
tasks. It returns any possible execution error but doesn't raise an
exception; this is delegated to the developer.
This code is used in the Yardstick CLI base test class.
Change-Id: Ie3e1228b2d40cb306354447653678bf581bc9697
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
Moving variable setting before reading
Verified via TC:
yardstick/samples/vnf_samples/nsut/ping/tc_ping_heat_context.yaml
JIRA: YARDSTICK-899
Change-Id: Ia2feac1ed4e67dccd02446ba27afc9d40e87be35
Signed-off-by: Jiri Prokes <jirix.x.prokes@intel.com>
|
|
A generic throughput test case that can be used as a
stub code for a Linux-based VNF configured as an L3 forwarder.
Supported context:
* Standalone OVSDPDK and SRIOV
* Baremetal
Code changes:
* Allow pmd-cpu-mask and lcore mask for OVS DPDK
* router_vnf.py - configures interface IP addresses and static arp entries
using ip command
* NFVi KPIs
* Allow cputune tag for standalone context to be able to PIN on NUMA 1 cpus
SRIOV Test cases:
* RFC2544 Ethernet framesizes, 128K Flows
* 2,4 and 6 ports
* 2 and 3 vcpus per port
*
OVSDPDK Test cases:
* RFC2544 Ethernet framesizes, 128K Flows
* 2 and 4 ports
* 2 vcpus per port
* 2 PMD threads per port
TODO:
* Documentation
* Add 6 ports tests
References:
* router_vnf.py is based on sample_vnf.py
* tc_*.yaml files are based on acl/vfw test case files
Added unitests
Added get_stats to parse ip -s link
Change-Id: Id1b969d5420dfcab7c1e695acbd2cd1655747efe
Signed-off-by: Dino Simeon Madarang <dinox.madarang@intel.com>
Signed-off-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Reviewed-by: Alain Jebara <alain.jebara@intel.com>
Reviewed-by: Deepak S <deepak.s@linux.intel.com>
Reviewed-by: Emma Foley <emma.l.foley@intel.com>
Reviewed-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
Reviewed-by: Ross Brattain <ross.b.brattain@intel.com>
Reviewed-by: Edward MacGillivray <edward.s.macgillivray@intel.com>
Signed-off-by: Dhaval Patel <dhaval.r.patel@intel.com>
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Fixed standalone.model.Libvirt SR-IOV XML interface modeling, acording
to [1]:
- All PCI attributes now are printed in hexadecimal format.
- The PCI address is now added in the correct section, 'interface'.
network_services.utils.PciAddress was refactored to accept both 'domain:
bus:slot:function' and 'bus:slot:function' format inputs. This class is
used as input in the previous class, Libvirt, to print in XML the PCI
address of a SR-IOV interface.
network_services.utils.PciAddress.parse_address is now deprecated. Instead
the class standard instantiation must be used:
libvirt_obj = utils.PciAddress(text_with_address)
A deprecation decorator is implemented along with this patch. This
decorator is used for the first time in the previously mentioned function.
This decorator stores every decorated function name and deprecation message
and raises a logging warning message the first time this function is used.
[1] https://goo.gl/so2Mrp
Change-Id: I22e95c488e27d6e2a8fdf6c1a07faab275fa6bba
Signed-off-by: Dino Simeon Madarang <dinox.madarang@intel.com>
Reviewed-by: Alain Jebara <alain.jebara@intel.com>
Reviewed-by: Deepak S <deepak.s@linux.intel.com>
Reviewed-by: Ross Brattain <ross.b.brattain@intel.com>
Reviewed-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
|
|
For some L2/L3 DPDK testcases we need to use a custom
IP address space different from what Heat provides.
These testcases require port_security_enabled = False so
Neutron should allow for unrestricted L2 traffic.
This will work because we bind the ports to DPDK and thus
don't need DHCP.
vnf_0:
floating_ip: true
placement: "pgrp1"
network_ports:
mgmt:
- mgmt
uplink_0:
- xe0:
local_ip: 10.44.0.20
netmask: 255.255.255.0
downlink_0:
- xe1:
local_ip: 10.44.0.30
netmask: 255.255.255.0
Also fixup flake8 errors in unittests
Change-Id: Id29dfffa692f16fb1f526d208db43e476e2f7830
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
|
|
This patch consists of reverting the changes of patch 45227 and
incudes redirecting the console output of the LiveMigration
execution to /dev/null as the stdout contains only the statistics,
i.e., totaltime, downtime and setuptime.
This reverts commit 5a1f65d3e7d67488ee6f558dccfa5ca5581ddb65.
Change-Id: I252b5a4045657cfa8362e9aae755249480cd3b77
Signed-off-by: Navya <navyax.bathula@intel.com>
|
|
GenericTrafficGen class is now an abstract class. Only optional methods
are implemented.
- 'run_traffic' and 'terminate' are mandatory.
- 'listen_traffic', 'verify_traffic' and 'wait_for_instance' are
optional. By default these methods doesn't execute any action.
JIRA: YARDSTICK-853
Change-Id: I2befdaa337af79cc2364bdd7c66183c31c5ab69a
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
|
|
JIRA: YARDSTICK-848
The NSB PROX MPLS test uses Binsearch traffic
profile and the mpls traffic profile is a duplicate.
Change-Id: Ie2124cebf306fd6917b70ecd7c23ae12ef4850dc
Signed-off-by: Abhijit Sinha <abhijit.sinha@intel.com>
|
|
when we create TRex config we sort based on PCI bus address
and create a logical port ordering.
We need to save this port ordering and re-use it everywhere.
redirect vnfd_helper.port_num() to resource_helper.port_num() to
use the logical mapping
Change-Id: Ibff628556d5e11e686e15716a66a3210758c4ff0
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
network_services.vnf_generic.vnf.prox_helpers.ProxSocketHelper.rx_stats"
|
|
|
|
|
|
|
|
* Remove the method which is unused and is marked as deprecated.
Change-Id: Ie64084fcd26985283c664445b173a757d3d908ab
JIRA: YARDSTICK-838
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
|
|
intel_pmu needs to download a config file based on the
CPU model. When generating VNF images we don't have
access to the actual vCPU that will be used, so we
can't predownload. This code was meant to be a fix
for that by downloading all the configs and then
selecting one that matched the vCPU.
However we have license issues with intel_pmu enven GPLv2 code,
so remove it for now.
Change-Id: I5257ff7c4ddc1d40537dadb29efa40d1d68cb852
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Created two new class functions for Scenario class:
* "get_description" will return the first line of the docstring,
if exists.
* "get_scenario_type" will return the value of "__scenario_type__"
variable.
Change-Id: I8e3b47e33e0bae101b874c3975bb9c383397d188
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
JIRA: YARDSTICK-802
Addition of PROX LW_AFTR basked on PROX/DATS v037 test_104_lw_aftr.py
- This support BM and Openstack Heat
- This supports 4 Ports ONLY
- Grafana Dashboards included
- Code Coverage / Unit testing
Change-Id: If2170ab458bf687256d5f1a1e840a3b9d2788ef7
Signed-off-by: Daniel MArtin Buckley <daniel.m.buckley@intel.com>
Signed-off-by: Abhijit Sinha <abhijit.sinha@intel.com>
|
|
by default ConfigParser will lowercase everything,
unless you override optionxform.
also sort key value in inventory line for consistency
https://docs.python.org/3/library/configparser.html#configparser.ConfigParser.optionxform
Transforms the option name option as found in an input file or as passed in by
client code to the form that should be used in the internal structures. The
default implementation returns a lower-case version of option; subclasses may
override this or client code can set an attribute of this name on instances to
affect this behavior.
You don’t need to subclass the parser to use this method, you can also set it
on an instance, to a function that takes a string argument and returns a
string. Setting it to str, for example, would make option names case sensitive:
cfgparser = ConfigParser()
cfgparser.optionxform = str
Note that when reading configuration files, whitespace around the option names
is stripped before optionxform() is called.
YARDSTICK-833
Change-Id: Ia1810b0c77922d84e11c9e538540b38816338593
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Change-Id: Id8aa734fee431d90cbdc1e0eb2173784ada822fe
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Users would like to ensure placement of VMs on specific compute nodes so
that the measurements are meaningful. Examples: Measure network
performance in different scenarios (VMs in same host, in different
hosts, across fabric, across tenants)
Example:
context:
name: yardstick
placement_groups:
pgrp1:
policy: "availability"
servers:
tg_0:
floating_ip: true
placement: "pgrp1"
availability_zone: "zone2"
vnf_0:
floating_ip: true
placement: "pgrp1"
availability_zone: "zone1"
Change-Id: I28a757c25ae3f5b3571ab3edd82d51ceba32c302
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
We don't really know what core we are going to use for the
VNF before we generate the MultiPortConfig, so these
methods are incorrect.
We may need some more advanced method to validate
the vCPU topology, but that will probably happen
in the MultiPortConfig
Change-Id: Ifee7ae4589ce0fce67771fb8d8b8dce0a0f06409
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
We used to try to probe all the cores that the VNF was using
and only dump CPU stats for those cores.
We can't really detect those core accurately and we would rather
dump all the core information and let influxdb and grafana filter
the information.
We do end up with excessive KPI output, especially on systems with 88
cores, but this is manageable.
The core logic was partially removed, this finishes the removal.
Change-Id: I5cbb694fd982519e2df54db49a21ed5948e13537
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
This patch is used to remove the livemigration testcase result loaded
to json as there is no dashboard implemented for the testcase
Change-Id: I7a9589a0bbc5f2a28587c2878da042fc50af18e0
Signed-off-by: Navya Bathula <navyax.bathula@intel.com>
|
|
|
|
Removed the abs function which can potentially mask
negative dropped packets.
Dropped packets in Prox workload VNF = rx_packets - tx_packets
Change-Id: I510a351e899cdf9a1f366d632b9f0528b1d9dcce
Signed-off-by: Abhijit Sinha <abhijit.sinha@intel.com>
|
|
|
|
Change-Id: I9d246828790467c2a57ba410826ee9751fff89c5
Signed-off-by: JingLu5 <lvjing5@huawei.com>
|
|
|
|
Change-Id: Ie770ca69ebdc66589ed6ca5c25bfc9a75afb8938
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
Change-Id: If2e079966939b7faa33d2833d81caad0a3669036
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
Change-Id: I1f457c9c24f2ca84dde61b64f58edaff8952670a
Signed-off-by: Edward MacGillivray <edward.s.macgillivray@intel.com>
|
|
|
|
switch from hardcoded path to dynamic path
based on bin_path
also enable proxy for install_collectd
add barometer settings for virt and ovs_stats
Change-Id: Id138aef548332a3e3fcb3963b746e7c9f10c0948
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Change-Id: I8674caa15c9fc32cfacb17f558da5fb31094877e
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
|
|
JIRA: YARDSTICK-755
There is a history problem that iperf use udp to set a net protocol.
This code will change it to protocol.
so you could use 'tcp','udp' and other protocol.
Change-Id: I1a101013dfe58165a3ed08aa77f0aa2f73d57a12
Signed-off-by: Ace Lee <liyin11@huawei.com>
|
|
|
|
JIRA: YARDSTICK-802
Addition of Prox vPE test case
- The tests supports BM, Openstack Heat
- Supports 4 ports
- Grafana dashboards included
- Added support for parameters.lua
for prox additional files
- Unit tests for code coverage
Change-Id: I5cccb351dacba88a293ae4b8aba1f0a803d62e6d
Signed-off-by: Abhijit Sinha <abhijit.sinha@intel.com>
Signed-off-by: Daniel MArtin Buckley <daniel.m.buckley@intel.com>
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
sometime Jenkins fails due to what I guess are concurrency problems
in os.environ mock
======================================================================
FAIL: tests.unit.benchmark.core.test_task.TaskTestCase.test_parse_suite_with_constraint_no_args
tags: worker-10
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python3.5/unittest/mock.py", line 1157, in patched
return func(*args, **keywargs)
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-euphrates/tests/unit/benchmark/core/test_task.py", line 208, in test_parse_suite_with_constraint_no_args
task_files, task_args, task_args_fnames = t.parse_suite()
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-euphrates/yardstick/benchmark/core/task.py", line 455, in parse_suite
cur_pod = os.environ.get('NODE_NAME', None)
File "/usr/lib/python3.5/unittest/mock.py", line 917, in __call__
return _mock_self._mock_call(*args, **kwargs)
File "/usr/lib/python3.5/unittest/mock.py", line 976, in _mock_call
result = next(effect)
StopIteration
Ran 1262 tests in 2.375s
FAILED (id=0, failures=1)
error: testr failed (1)
+ testr failing
Replace the mock decorator with a context manager to try to
reduce the scope and duration of the mock.
Change-Id: I342fe6c403e66c53ac4c39fd88fa9047cdfae5d9
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
|
|
|
|
Change-Id: Ibd159359c6f57d573a909d6841c121c15bf692c1
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|