aboutsummaryrefslogtreecommitdiffstats
path: root/yardstick/network_services/vnf_generic/vnf/tg_rfc2544_ixia.py
AgeCommit message (Collapse)AuthorFilesLines
2019-02-19Unify IXIA/Trex test cases resultsSerhiy Pshyk1-39/+31
List of changes: - Unified naming of all counters reported by IXIA/Trex - Removed not valid counters reported by IXIA - Added per interface stats reported by Trex - Fixed latency calculation for Trex tg JIRA: YARDSTICK-1592 Change-Id: Ia3d450058f884579f4d331772a8cf6de22146ac3 Signed-off-by: Serhiy Pshyk <serhiyx.pshyk@intel.com>
2019-02-12Extend TRex RFC2544 test case collected statsOleksandr Naumets1-8/+8
Added new fields into Yardstick NSB TRex RFC2544 test case results: - Iteration - PktSize - Status JIRA: YARDSTICK-1592 Change-Id: Id746b537a0ef55a891653719cc1db29ef7e994fc Signed-off-by: Oleksandr Naumets <oleksandrx.naumets@intel.com>
2019-02-11Merge "Add IXIA Tx/Rx Bytes stats into results"Volodymyr Mytnyk1-0/+8
2019-02-08Merge "Fix QnQ issue"Volodymyr Mytnyk1-1/+1
2019-02-08Add IXIA Tx/Rx Bytes stats into resultsOleksandr Naumets1-0/+8
Add IXIA "Bytes Rx" and "Bytes Tx" ports stats into collected results. This stats allows to calculate the throughput when running IMIX traffic. JIRA: YARDSTICK-1592 Change-Id: I1db678d410b37e7a0f64dc743e6e620e495115ed Signed-off-by: Oleksandr Naumets <oleksandrx.naumets@intel.com>
2019-02-08Migrate Trex TG to use new NSPerf-RFC2544 scenarioMytnyk, Volodymyr1-39/+0
JIRA: YARDSTICK-1592 Change-Id: Ic51a52385ac53df9b5f56387af4f1b661bb0d86f Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
2019-02-06Extend IXIA RFC2544 test case collected statsOleksandr Naumets1-0/+1
Added new fields into Yardstick NSB IXIA RFC2544 test case results: - Iteration (only for NSPerf-RFC2544 scenario) - Rate (for NSPerf and NSPerf-RFC2544 scenarios) - PktSize (for NSPerf and NSPerf-RFC2544 scenarios) JIRA: YARDSTICK-1596 Change-Id: I3bbf4aabf8b57580ebe644e967a5dab69e3a7c8d Signed-off-by: Oleksandr Naumets <oleksandrx.naumets@intel.com>
2019-02-05Fix QnQ issueJohn O Loughlin1-1/+1
Currently if multiple tests are run with a QnQ section defined the QnQ segment gets appended to the frame. This leads to invalid frames when the test is run for more than 1 iteration. With this patch the QnQ is updated if the QnQ segment has already been created. JIRA: YARDSTICK-1513 Change-Id: I4ba6ef89380ccf1cb8a132ff5bf048935a87f0c9 Signed-off-by: John O Loughlin <john.oloughlin@intel.com> Signed-off-by: Oleksandr Naumets <oleksandrx.naumets@intel.com>
2019-02-01Add vBNG test cases stats processing functionalityOleksandr Naumets1-54/+223
JIRA: YARDSTICK-1546 Change-Id: I3575223ef8231fb4d574e961360b0f2d90a71749 Signed-off-by: Oleksandr Naumets <oleksandrx.naumets@intel.com>
2019-01-31Add rate 'resolution' option for IXIA rfc2544 testSerhiy Pshyk1-11/+14
Rate resolution value is compared with the difference between the rates in two consecutive iterations. If the difference is smaller than the resolution, the test stops. JIRA: YYARDSTICK-1592 Change-Id: I3f203d33d1688734a59a8f62f31e3ad238bc63b0 Signed-off-by: Serhiy Pshyk <serhiyx.pshyk@intel.com>
2019-01-31Add new scenario NSPerf-RFC2544Serhiy Pshyk1-0/+108
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>
2019-01-30Merge "NSB sync: clean-up draft IPC implementation (part 1)"Volodymyr Mytnyk1-5/+5
2019-01-29Update Intel CopyrightJohn O Loughlin1-1/+1
JIRA: YARDSTICK-1591 Change-Id: I5130602e767009d83f7b39801006d68bcc126ba6 Signed-off-by: John O Loughlin <john.oloughlin@intel.com>
2019-01-29NSB sync: clean-up draft IPC implementation (part 1)Mytnyk, Volodymyr1-5/+5
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>
2019-01-15Fix minor issues with IxNet L3 rfc2544Chornyi, TarasX1-2/+2
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>
2018-12-27Add IxNetwork L3 scenario implementationMyron Sosyak1-5/+85
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>
2018-12-11Extend vBNG PPPoE test cases functionalityOleksandr Naumets1-7/+156
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>
2018-12-07Add vBNG PPPoE test cases functionalitySerhiy Pshyk1-4/+208
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>
2018-10-30Add RFC2544 iteration status fieldMytnyk, Volodymyr1-1/+2
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>
2018-10-05Update Ixia tg to use new API for traffic model creationSerhiy Pshyk1-1/+4
JIRA: YARDSTICK-1464 Change-Id: Ibbced9e0e04e077ec5c23fc15e97308dd11b7004 Signed-off-by: Serhiy Pshyk <serhiyx.pshyk@intel.com>
2018-08-21Convert IXIA latency statistics to integerRodolfo Alonso Hernandez1-3/+3
JIRA: YARDSTICK-1385 Change-Id: Id50c393da7ded4b3c8e127f7d7a6501832a68446 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-08-20Fix RFC2544 IXIA latency informationRodolfo Alonso Hernandez1-16/+15
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>
2018-08-17Merge "Improve IXIA TG Rx/TX throughput calculation"Rodolfo Alonso Hernandez1-2/+2
2018-08-17Add RFC2544 IXIA latency informationRodolfo Alonso Hernandez1-9/+8
JIRA: YARDSTICK-1385 Change-Id: Icecceaabc0389279a3a7154884c50259f794eb76 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-08-16Improve IXIA TG Rx/TX throughput calculationMytnyk, Volodymyr1-2/+2
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>
2018-08-10IXIA traffic stops running after first iterationMytnyk, Volodymyr1-11/+7
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>
2018-07-13Create a SampleVNF MQ consumer classRodolfo Alonso Hernandez1-4/+4
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>
2018-07-05Enable the MQ producer in "SampleVNFTrafficGen" classRodolfo Alonso Hernandez1-1/+1
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>
2018-06-25Change IxNextgen library loadRodolfo Alonso Hernandez1-15/+3
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>
2018-06-12Improve IXIA IxNetwork library and traffic profile (4)Rodolfo Alonso Hernandez1-29/+14
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>
2018-06-12Improve IXIA IxNetwork library and traffic profile (2)Rodolfo Alonso Hernandez1-13/+13
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>
2018-06-12Improve IXIA IxNetwork library and traffic profile (1)Rodolfo Alonso Hernandez1-13/+10
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>
2018-06-01Move ErrorClass definition to exceptions moduleRodolfo Alonso Hernandez1-4/+2
JIRA: YARDSTICK-1216 Change-Id: I82556e1d1b0c723221a58e188067cbce560b8338 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-03-01NSB: move interface probe to VNF, and attempt driver-only probe firstRoss Brattain1-2/+2
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>
2018-03-01Import "traffic_profile" modules only onceRodolfo Alonso Hernandez1-5/+6
"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>
2018-02-15NSB: Ixia remove unused traffic_generator argRoss Brattain1-1/+1
also fix pylint unittest warnings JIRA: YARDSTICK-1014 Change-Id: I4ff9769fdca89c6fc1fb9ca62e9f8ea6b174681e Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2018-01-03Make GenericVNF an abstract classRodolfo Alonso Hernandez1-4/+1
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>
2017-11-17Make GenericTrafficGen class abstractRodolfo Alonso Hernandez1-7/+0
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>
2017-09-29Auto create ixia config based on the traffic profileDeepak S1-24/+12
Change-Id: I031cc7f24f0c0816eb577a4d1606a714f68a5f83 Signed-off-by: Deepak S <deepak.s@linux.intel.com> Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-09-26Terminate the run traffic if initiated after traffic is closedDeepak S1-14/+15
Change-Id: I89fc4bccb5b5a0d49d804fca72b59e53ff77a805 Signed-off-by: Deepak S <deepak.s@linux.intel.com>
2017-09-22tg_rfc2544_ixia: log exceptions and fix list iterRoss Brattain1-7/+9
Change-Id: Ia9722604b7c8ae23e784e780f113d012de544d4b Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-09-20tg_rfc2544_ixia: use traffic id from JSON to update macRoss Brattain1-33/+40
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>
2017-09-20tg_rfc2544_ixia: renamed traffic_profile.execute to ↵Ross Brattain1-2/+2
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>
2017-09-18NSB: count from 0, vnf_0, tg_9, private->uplink, public->downlinkRoss Brattain1-2/+2
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>
2017-09-17Terminate the ixia traffic generator at the end of the test runDeepak S1-19/+22
Change-Id: I80501ab3662a58930939d849f0bde0e810154a39 Signed-off-by: Deepak S <deepak.s@linux.intel.com>
2017-09-14NSB: fix port topologyMartin Banszel1-33/+30
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>
2017-09-07Adding ixia latency support for dynamic cgnaptDeepak S1-18/+60
Change-Id: I346f6064c39cb5662c2b17ca0f520addbe5eae4c Signed-off-by: Deepak S <deepak.s@linux.intel.com>
2017-08-31Added TC for vFW in heat context with ixia TGMaciej Skrocki1-2/+9
- added common method to get relative paths - added 'Ixia' APP_NAME Change-Id: I7966798bab71af66d3efbeb1e13b07e8fbb41e88 Signed-off-by: Maciej Skrocki <maciej.skrocki@intel.com>
2017-08-19Support traffic generator for testing more than 10 portsDeepak S1-2/+2
Change-Id: I9c027af082cedbadc23b0151d403dab4e9756da4 Signed-off-by: Deepak S <deepak.s@linux.intel.com>
2017-08-17Fix import error in IxNetworkDeepak S1-1/+4
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>