Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
|
|
JIRA: YARDSTICK-1591
Change-Id: I5130602e767009d83f7b39801006d68bcc126ba6
Signed-off-by: John O Loughlin <john.oloughlin@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>
|
|
Changed default rate from 100pps to 100%.
Set Ip mask to 32
JIRA: YARDSTICK-1566
Change-Id: I4c0245297b2d6b254c06155047c3499f6572e9c5
Signed-off-by: Chornyi, TarasX <tarasx.chornyi@intel.com>
|
|
Protocol interfaces are creating with config from pod file
Static IP configuration are creating from testcase flow options
JIRA: YARDSTICK-1570
Change-Id: I74cde67b5084d5b65d09934fe8fce7760b5ea461
Signed-off-by: Myron Sosyak <myronx.sosyak@intel.com>
|
|
Extended Ixia traffic generator with functionality to
create traffic flows between device groups.
JIRA: YARDSTICK-1521
Change-Id: Iaaa822f2f3da876629576d4101be29c9a65296d0
Signed-off-by: Oleksandr Naumets <oleksandrx.naumets@intel.com>
|
|
Added vBNG PPPoE test cases functionality which allows to:
- create and configure access network connections (PPPoE subscribers);
- create and configure core network connections;
- configure and run traffic between access and core network
topologies.
JIRA: YARDSTICK-1508
Change-Id: I90975505fe7318227a837d97e8db4a06712de7eb
Signed-off-by: Serhiy Pshyk <serhiyx.pshyk@intel.com>
Signed-off-by: Oleksandr Naumets <oleksandrx.naumets@intel.com>
|
|
Added new RFC2544 iteration status field into the
testcase result to be able to exctract the best
RX/TX throughput value from each iteration.
The field equal "Success" if the trhoughput value is in the
given drop percentage range and "Failure" otherwise.
JIRA: YARDSTICK-1389
Change-Id: I2fb2ef036b63a0e7bbf3d6c6568d3bdffa488e1f
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
|
|
JIRA: YARDSTICK-1464
Change-Id: Ibbced9e0e04e077ec5c23fc15e97308dd11b7004
Signed-off-by: Serhiy Pshyk <serhiyx.pshyk@intel.com>
|
|
JIRA: YARDSTICK-1385
Change-Id: Id50c393da7ded4b3c8e127f7d7a6501832a68446
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
Do not overwrite the samples information with the latency parameters.
JIRA: YARDSTICK-1385
Change-Id: I2f144800ad19d7736eedf5c7b6783731031c4bf4
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
|
|
JIRA: YARDSTICK-1385
Change-Id: Icecceaabc0389279a3a7154884c50259f794eb76
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
Use float instead of integer to convert TG throughtput
IXIA statistic.
JIRA: YARDSTICK-1378
Change-Id: I39bd143adc4b10035c6f0986a06d407a18aa0887
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
|
|
IXIA traffic stops running after first iteration when
traffic profile duration is set to 60 sec.
JIRA: YARDSTICK-1374
Change-Id: I216b98d43b66aabc72ed88e895b89e28572b264f
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
Signed-off-by: Myron Sosyak <myronx.sosyak@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 all traffic generators using the default implementation of
"ClientResourceHelper.run_traffic" will update the status of
the traffic injection using the MQ.
The available methods are listed in common.messsaging (VNF_METHOD_*):
- tg_method_started: VNF app started
- tg_method_finished: VNF app finished
- tg_method_iteration: VNF app execution loop started
JIRA: YARDSTICK-1127
Change-Id: I12829e1762fc20cc95da3b50767a66f031e25ee8
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
Changed IxNextgen library load in IXIA RFC2544 traffic generator call.
JIRA: YARDSTICK-1116
Change-Id: Icbdc5f1255dd2676584f3a1be767287e55e71f4a
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
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>
|
|
This patch modifies the way the packet frame and the flow is configured
before the injection.
"IxNextgen.update_frame" modifies the L2 frame according to the
test case and setup the frame rate, frame size, traffic injection
duration and MAC addresses.
JIRA: YARDSTICK-1116
Change-Id: Ife08f15a4eda24d7835c92c4172b450854d112ee
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
|
|
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>
|
|
JIRA: YARDSTICK-1216
Change-Id: I82556e1d1b0c723221a58e188067cbce560b8338
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@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>
|
|
"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>
|
|
also fix pylint unittest warnings
JIRA: YARDSTICK-1014
Change-Id: I4ff9769fdca89c6fc1fb9ca62e9f8ea6b174681e
Signed-off-by: Ross Brattain <ross.b.brattain@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>
|
|
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>
|
|
Change-Id: I031cc7f24f0c0816eb577a4d1606a714f68a5f83
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Change-Id: I89fc4bccb5b5a0d49d804fca72b59e53ff77a805
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
Change-Id: Ia9722604b7c8ae23e784e780f113d012de544d4b
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
we were using raw sort index of the interfaces to
set the MAC address, but we should be using the
traffic id from the static JSON instead.
Change-Id: I13284db04abb3eaf8c9826974a9e5aa1c37b3891
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
traffic_profile.execute_traffic
tg_rfc2544_ixia: pass ports to generate_samples
Change-Id: I90d12fa2ce8cd4d1c2a18bdcf70027f6d9e3f77f
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Also rename private to uplink, public to downlink
for scale-out template we need to count from 0
so we can use range() without +1/-1 errors
vnf_0, vnf_1
tg_0, tg_1
also fix Ixia defaults
Change-Id: I6aecfbb95f99af20f012a9df19c19be77d1b5b77
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Edward MacGillivray <edward.s.macgillivray@intel.com>
|
|
Change-Id: I80501ab3662a58930939d849f0bde0e810154a39
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
Add a new PortPair class to resolve the
topology into list of public and private ports.
Before we were calculating public/private in multiple
locations and using different conventions.
In addition for all the DPDK test we need to use the DPDK
port number and no rely on interface ordering or interface naming
conventions.
We used to use xe0 -> 0, xe1 -> 1, etc. This is not the DPDK port
number.
Use the new dpdknicbind_helper class to parse the output of
dpdk-devbind.py to find the actual DPDK port number at runtime.
We then use this DPDK port number to correctly calculate the
port_mask_hex.
The port mask maps the DPDK port num (PMD ID) to the LINK ID
used in the pipeline config
We also need to make sure we only use the interfaces matched to the
topology and not use all the interfaces, because in some cases we will
have unused interfaces. In particular TRex always requires an even
number of interfaces, so for single port TRex tests we have to create
the second port and not use it.
Thus we had to modify the traffic generator stats code to only dump
stats for used ports and no unused ports.
Ixia was using interface ordering to map to Ixia ports, instead we use
the dpdk_port_num which must be hardcoded for Ixia.
Renamed traffic_profile.execute to traffic_profile.execute_traffic so
we can trace the code easier.
We pass the port used by the traffic profile to generate_samples so we
don't get stats for unused ports.
Fixed up vPE config creation and bring up issues.
Fixed up CGNAPT and UDP_Replay to work correctly.
Tested with 4-port scale-out
Change-Id: I2e4f328bff2904108081e92a4bf712333fa73869
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Edward MacGillivray <edward.s.macgillivray@intel.com>
|
|
Change-Id: I346f6064c39cb5662c2b17ca0f520addbe5eae4c
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
- added common method to get relative paths
- added 'Ixia' APP_NAME
Change-Id: I7966798bab71af66d3efbeb1e13b07e8fbb41e88
Signed-off-by: Maciej Skrocki <maciej.skrocki@intel.com>
|
|
Change-Id: I9c027af082cedbadc23b0151d403dab4e9756da4
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
This patch fixes import error related to ixnetwork and do not wait for
TG server to start as IXIA is always running :)
Change-Id: I49d6b100eadafad75431cb8974605a6faa496f23
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Change-Id: I8d7cea75aa864c37a058a154a38c9828ea5da434
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Change-Id: I09bcb3f2c4b945283070d442589d3bf00468abbc
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
Signed-off-by: Edward MacGillivray <edward.s.macgillivray@intel.com>
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|