Age | Commit message (Collapse) | Author | Files | Lines |
|
New scenarion executes complete run per runner's
iteration and designed to work with IxLoad TG.
JIRA: YARDSTICK-1592
Change-Id: I43f37ae4ab211a29d75a9c9edd93141767a4c57d
Signed-off-by: Chornyi Taras <tarasx.chornyi@intel.com>
|
|
Update naming in related files, i.e. pod, docs, docstrings.
Rename TGs and VNFs to follow a single naming convention, for all VNFs:
name: trafficgen_0
role: tg__0
name: vnf_0
role: vnf__0
JIRA: YARDSTICK-1578
Change-Id: I7596b915939f242349a99721b6088ae738dd277f
Signed-off-by: Orest Voznyy <orestx.voznyy@intel.com>
|
|
JIRA: YARDSTICK-1591
Change-Id: I3ea9039d25bfce578681adb9e27e1598e84a1f56
Signed-off-by: John O Loughlin <john.oloughlin@intel.com>
|
|
JIRA: YARDSTICK-1546
Change-Id: I3575223ef8231fb4d574e961360b0f2d90a71749
Signed-off-by: Oleksandr Naumets <oleksandrx.naumets@intel.com>
|
|
List of changes:
- Added new scenario NSPerf-RFC2544 that runs complete test per
runner's iteration
- NSPerf is still present for backward compatibility
- Added ScenarioOutput class which allows scenario to report
data (kpi,...) at any moment of time (not only once per run)
- New output mechanism is used only by new NSPerf-RFC2544 scenario
JIRA: YARDSTICK-1592
Change-Id: Ica8078f61d895f74df90e8eaad7a675b28bd19c6
Signed-off-by: Serhiy Pshyk <serhiyx.pshyk@intel.com>
|
|
The existing implementation of IPC is not finished and isn't used
by any of the VNFs/TG implementation. It is used in the code but does
nothing from functionality perspective.
New syncronization mechanism is going to be implemented by using
different approach than it was designed before. Thus, the current
IPC mechanism is not going to be re-used. So, removing it.
The IPC consumer/producer implementation is left as it may be
required for other purposes.
- Remove SampleVNF MQ consumer class
- Remove IterationIPC MQ producer for VNF control messages
- Remove MQ producer from SampleVNFTrafficGen class
- Remove TrafficGeneratorProducer class
- Remove IterationIPC runner
- Remove unused task_id form VNF Generic initialization as it is not
required for synchronization of VNFs/TGs anymore.
- Fix UT
JIRA: YARDSTICK-1592
Change-Id: I65fe51bcbd1bfeea0c43eb79ca6fb2aab5b65ae7
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
|
|
Implemented functionality for updating http client configuration.
Extended http_ixload.py with functions for update page object
and count of simulated users in http client on netTraffic.
JIRA: YARDSTICK-1435
Change-Id: I9a0be226d4201d861d3a764864b42e5d87a4a305
Signed-off-by: Myron Sosyak <myronx.sosyak@intel.com>
Signed-off-by: Taras Chornyi <tarasx.chornyi@intel.com>
|
|
JIRA: YARDSTICK-1298
Allow the test case file e.g. "tc_prox_baremetal_l2fwd-4.yaml"
settings to override the values in the traffic_profile file
e.g. "prox_binsearch.yaml"
This is done by adding the "traffic_config" section to the
"options" section in the "test case file".
See below :-
options:
interface_speed_gbps: 10
traffic_config:
tolerated_loss: 0.001
test_precision: 0.1
packet_sizes: [64]
duration: 30
lower_bound: 0.0
upper_bound: 100.0
vnf__0:
prox_path: /opt/nsb_bin/prox
prox_config: "configs/handle_l2fwd-4.cfg"
prox_args:
"-t": ""
tg__0:
prox_path: /opt/nsb_bin/prox
prox_config: "configs/gen_l2fwd-4.cfg"
prox_args:
"-e": ""
"-t": ""
Precedence of the traffic settings.
1. Values provided in the "traffic_config" section, inside
the "options" section, of the test case file
2. values provided in the "traffic_profile" section of the
traffic_profile file
Change-Id: I6b4e123e865c9dab548f9ad28647f95b53410e8f
Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@intel.com>
|
|
The `flow` configuration is not applied to the traffic
profile if `seed` or `count` option is missing in the
TC definition.
- Fix `seed` backward compatibility.
JIRA: YARDSTICK-1383
Change-Id: Ic874fb2be1c13009f94eb3a80194bfe81d7a923b
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
|
|
* Improve test execution
* Use common functionality in setUp()
* Disable logging
* Remove tests that test common/utils code. These tests are moved to
common/utils's unit tests in a follow-up patch.
JIRA: YARDSTICK-1239
Change-Id: I88d047fe25c4c13bea446c9fc9bda92306420296
Signed-off-by: Miikka Koistinen <miikka.koistinen@nokia.com>
|
|
|
|
* Improve test execution
* Use common functionality in setUp()
* Disable logging
JIRA: YARDSTICK-1238
Change-Id: I0904bf99f0e151b437d506bf322da83f706dcf8f
Signed-off-by: Miikka Koistinen <miikka.koistinen@nokia.com>
|
|
* Remove unneeded variables
* Do not raise RuntimeError when a remote command fails, instead
leave it for the yardstick ssh module to handle.
* Prevent CsvReader from raising StopIteration if csv output cannot be
parsed. The SLA validation will take care of errors in that case.
JIRA: YARDSTICK-1166
Change-Id: I9e353d39dfd3bd27407dde32744ce71b5762e84e
Signed-off-by: Miikka Koistinen <miikka.koistinen@nokia.com>
|
|
* Remove unneeded variables
* Do not raise RuntimeError when a remote command fails, instead leave
it for the yardstick ssh module to handle.
* Prevent CsvReader from raising StopIteration if csv output cannot be
parsed. The SLA validation will take care of errors in that case.
JIRA: YARDSTICK-1166
Change-Id: I6cf550bd7bc8f511b3c0f25c67f8caab18bccd28
Signed-off-by: Miikka Koistinen <miikka.koistinen@nokia.com>
|
|
* changes:
Add IP mask to IxNetwork configuration
Improve NetworkServiceTestCase._get_ip_flow_range() function
|
|
|
|
Improve the method to calculate the CIDR IP address range (first one,
last one). IPv4Network or IPv6Network hosts() is an iterator throught
the list of valid IPs. If the network is too big, the generation of a
list [1] can be very expensive.
[1]https://github.com/opnfv/yardstick/blob/master/yardstick/benchmark/scenarios/networking/vnf_generic.py#L90
JIRA: YARDSTICK-1339
Change-Id: I9352b2e7ff4925c246df8b40ecf43e8dc96c42d2
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
* Move some common mocking into the setUp()
The same return values was being set for moch_ssh
in each test method.
* Remove duplicate statements in test_vsperf_dpdk.py:VsperfDPDKTestCase
The same assert* were being called for multiple methods,
which were checking that setup worked as expected.
These checks are not required each time.
Change-Id: I325fc98ee569dcf7988951c82da0c02d5e465a16
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
|
|
This new class is designed to be used in a ``GenericVNF`` object (VNF
or traffic generator) in a builder pattern. This consumer class will
be instantiated when initializing the ``GenericVNF`` derived object.
The ``GenericVNFConsumer`` endpoint is the ``GenericVNF``derived object
itself.
``GenericVNFEndpoint`` is an interface class to be inherited in a
``GenericVNF`` child object; the VNF object will implement the endpoints
methods.
NewVNF(GenericVNF, GenericVNFEndpoint):
def __init__(self, name, vnfd, task_id):
...
self._consumer = vnf_base.GenericVNFConsumer([task_id], self)
self._consumer.start_rpc_server()
JIRA: YARDSTICK-1293
Change-Id: I1bcd980352099e9ebefdab0c96d51aa46f6a1e54
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
Now "NSPerf" scenario will inform about the traffic generator PIDs after
setup process. With this information, IterationIPC runner will be able
to receive the messages sent by those traffic generators and control
the main iteration loop.
The following example, using vFW as VNF and OpenStack as context, makes
use of this new runner implementation:
/samples/vnf_samples/nsut/vfw/
tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_iterationipc.yaml
JIRA: YARDSTICK-1127
Change-Id: I46b1368bc209680b88ff9fb5c3b9beadf6271ac9
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
Removed unneeded output.
JIRA: YARDSTICK-1275
Change-Id: I75fe1f7f048714ba5d2fdfa586ad69ebb7b56c88
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
Removed unneeded output.
JIRA: YARDSTICK-1267
Change-Id: I0a3f25db2c5ef8ed71fd087b6b35641075c121e7
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
|
|
|
|
PktgenDPDKLatency.run will raise a RuntimeError if a remote command
fails. This commit makes it use the already existing exception raising
mechanism in yardstick's ssh client.
JIRA: YARDSTICK-1166
Change-Id: I3a3c7691399044b174f5d040c015c9b907b2fe5d
Signed-off-by: Miikka Koistinen <miikka.koistinen@nokia.com>
|
|
Some remote commands in Pktgen are executed without checking the exit
status. This patch makes all remote commands check exit value, and
removes unused variables that are captured from remote command
executions.
JIRA: YARDSTICK-1166
Change-Id: I42a667ebd22d086887d61e1671bc569b03c59d33
Signed-off-by: Miikka Koistinen <miikka.koistinen@nokia.com>
|
|
Add "duration" parameter to test case definition, in scenario:options
section. This parameter will be rendered in the traffic profile.
If the parameter is not present in the test case scenario options, the
default time written in the traffic profile options will be 30 seconds
(TrafficProfile.DEFAULT_DURATION = 30). If the traffic profile
injection time is not defined, the default injection time will be 30
seconds.
testcase:scenario:options:duration (default = 30)
render --> traffic_profile:duration
parse --> TrafficProfile.duration (default = 30)
Target traffic profiles (RFC2544):
- RFC2544Profile
- IXIARFC2544Profile
JIRA: YARDSTICK-1194
Change-Id: I968922e6bb882d7ee15aa1c4db4037face7a3492
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
JIRA: YARDSTICK-1228
Change-Id: Ic32f2bcd7f8bdf718c9c266666409d32ecab4924
Signed-off-by: Miikka Koistinen <miikka.koistinen@nokia.com>
|
|
Remove unneeded mock return values and improve the test execution.
Add unit test cases about SLA validation.
JIRA: YARDSTICK-1227
Change-Id: I90b8b9c4cb6a57ae4b0869e84af0da43ee22a670
Signed-off-by: Miikka Koistinen <miikka.koistinen@nokia.com>
|
|
This commit converts Python assertions to a custom exception in all
places where SLA validation is checked with an assertion.
This commit also fixes all emerged pylint errors.
JIRA: YARDSTICK-966
Change-Id: If771ed03b2cbc0a43a57fcfb9293f18740b3ff80
Signed-off-by: Miikka Koistinen <miikka.koistinen@nokia.com>
|
|
JIRA: YARDSTICK-1218
Change-Id: I804065e9bce3e728f5bf9e756a78df8fd28f74ac
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>
|
|
When checking whether a mocked method has been called,
mock.assert_called or mock.assert_called_once should be
used, and not unittest.assertTrue(mock.called)
This change does this update.
It can be verified with:
grep -irn "self.assertTrue(.*called)" --exclude-dir=.tox
And the replacement was done with:
sed -i 's/self.assertTrue(\(.*\).called)/\1.assert_called_once()/g' <list_of_files>
Change-Id: I4f26e0c736bf33e0b2413c8e8c33dbdb91f090e2
JIRA: YARDSTICK-865
Signed-off-by: Emma Foley <emma.l.foley@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>
|
|
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>
|
|
TRex Python libraries are not going to be available during
unit testing execution. Those modules calling TRex libraries
should be mocked individually. This patch will remove the need
of mocking those libraries per module.
JIRA: YARDSTICK-1010
Change-Id: I4aa11d43ecf32a3dad78f869541b4afea4ec1d28
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
JIRA: YARDSTICK-796
Add l2fwd testcase in Tgen mode(Moongen)
fix offiline problem in Tgen mode.
Change-Id: I2ee224157a4f1d78e85fcae192a65afd33a1a515
Signed-off-by: Ace Lee <liyin11@huawei.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>
|