Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
* 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.
Change-Id: I30eb4b0aafe0575d0cddbc946108291f21a98ed8
Jira: YARDSTICK-837
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
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>
|
|
|
|
|
|
Function get_network_id now uses shade client instead of shade client.
Removed redundant function: get_port_id.
JIRA: YARDSTICK-890
Change-Id: I6081477fee39fa78131187e65daf3d7d3a9e439f
Signed-off-by: Shobhi Jain <shobhi.jain@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>
|
|
This patch makes yardstick.benchmark.scenario.base:Scenario classes
plugable.
A new entry point is added to the setup. This entry point could be
extended in other plugin projects to add new Scenario classes.
E.g.: take a look at [1]. This is a Yardstick plugin example project.
Clone the project and execute, from the project directory:
$ sudo -EH python setup.py install
This will add a new module to python ('yardstick-new-plugin') and a
new Scenario class.
Now list the scenarios in Yardstick:
$ yardstick scenario list
...
| SpecCPU2006_for_VM | Spec CPU2006 benchmark for Virtual Machine |
| SpecCPU2006 | Spec CPU2006 benchmark |
| Dummy2 | Execute Dummy (v2!) echo |
+-----------------------+--------------------------------------------+
[1] https://github.com/ralonsoh/yardstick_new_plugin
JIRA: YARDSTICK-910
Change-Id: Ib70ee9bf4dc7ff91d1dd6377317b313288e36bff
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
|
|
|
|
* Check the results at the test methods
* Remove print statement from Parser scenario
* Replace assertEquals(x, True) with assertTrue(x)
Change-Id: I5c2612692e625fc888c7ce7637b9e1625440724a
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
|
|
|
|
* changes:
Replace assertEquals with assertEqual
Make files pep8 compliant before using assertTrue|False
|
|
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
|
|
* 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.
Change-Id: I505d72e1c646fea1976a0bf854369c6b6308bbb1
Jira: YARDSTICK-837
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
|
|
Change I22e95c488e27d6e2a8fdf6c1a07faab275fa6bba introduced a change in
test case 'test_build_vm_xml' [1]. This test case generates a file which
is stored locally but never removed.
[1]https://github.com/opnfv/yardstick/blob/80dc9034edeb05f66bfa6264ae0adf0f6aea60da/tests/unit/benchmark/contexts/standalone/test_model.py
JIRA: YARDSTICK-918
Change-Id: I91d39bb37c3d8a273fe68155bb308c5a3bc1ca9d
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
|
|
|
|
* 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>
|
|
|
|
|
|
* Use mock_object.assert_called_with instead of
self.assertTrue(mock_object.called)
* Remove an unneeded if clause in CreateVolume
* Add individual tests for each method in CreateVolume
Change-Id: I54cc56434d316f059b3822879145e6a299866fcb
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
|
|
* Fix pylint errors
* Add notes where additional action is needed.
Some errors are ignored locally, as they were a symptom of other problems.
These issues have been flagged for follow-up, and should be fixed later.
JIRA: YARDSTICK-837
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
Change-Id: Idbf56d0cd3b29b70691acd6af4d5ac3c400d2ccc
|
|
* Add unit test per Rodolfo's comment
Creating a VM using generted xml file /tmp/vm_sriov_0.xml returns
an XML error: missing source address type.
This fix modifies generted xml from:
<source>
<address>
<address bus="0x1a" domain="0x0000" function="0x0" slot="0x10" type="pci" />
</address>
</source>
to:
<source>
<address bus="0x1a" domain="0x0000" function="0x0" slot="0x10" type="pci" />
</source>
Change-Id: I694153e7468986bacb19ba3e09e761993aad7184
Signed-off-by: Dino Simeon Madarang <dinox.madarang@intel.com>
Reviewed-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
Reviewed-by: Ross Brattain <ross.b.brattain@intel.com>
Reviewed-by: Alain Jebara <alain.jebara@intel.com>
Reviewed-by: Emma Foley <emma.l.foley@intel.com>
|
|
unittest.assertIn(x,y) should be used instead of:
* unittest.assertTrue(x in y)
* unittest.assertEqual(x in y, True)
Also fixes pep8 violations existing in the file.
Change-Id: I705c1bd4af74757b5c928995894aede436d66817
JIRA: YARDSTICK-901
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
|
|
* 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: I1f8a6041424c4c69f46ef30bd5c66d2d51d24347
|
|
* 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
Change-Id: I2847c380556985fae2c92bb8a7da9c47e91e1338
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
|
|
|
|
* 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: I30d3f61e5ea479758f9a2f39cf415da18e49b9d6
|
|
Change-Id: I0eabdd5d7e918dcf0df747119a104dedf125606f
Jira: YARDSTICK-837
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
|
|
|
|
|
|
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>
|