aboutsummaryrefslogtreecommitdiffstats
path: root/yardstick/network_services
AgeCommit message (Collapse)AuthorFilesLines
2018-06-29NFVI support for standalone, baremetal and heat contextsChornyi, TarasX7-40/+157
JIRA: YARDSTICK-1257 Change-Id: I6733bd49ac91985e8f3d7722e6990e8733bb430e Signed-off-by: Chornyi, TarasX <tarasx.chornyi@intel.com>
2018-06-28Decrease Sampling interval - Invalid Port resultsDanielMartinBuckley1-4/+6
JIRA: YARDSTICK-1219 The computed in/fwd throughputs displayed on the L2FWD, L3FWD and VPE dashboards. The computed value is likely 4x the expected value. It is required to return sampling information form Generator AND VNF at least every 1 second. Change-Id: I4435fd05ba3116ead836843a4c2fce133b767a28 Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@intel.com>
2018-06-27Update to Grafana Dashboard for NSB PROX NFVIDanielMartinBuckley1-0/+2
JIRA: YARDSTICK-1252 CPU grouping in grafana for better representation Throughput table is difficult to read as the tests run longer the values can overlap Default time in dashboard should be always last 1hour in dashboard (auto refresh can be also checked) Add one column in table with Gbps throughput (Rx Throughput) plus code change in yardstick Boxes are not aligned and big and small, need to be fixed boxes are now aligned, Added Seperate graphe for LINE Rate Change-Id: Ief31777c2e7a18aab4bf21fb6ccc0e93a3bb9178 Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@intel.com>
2018-06-27Fix NSB NfVi support for 25 and 40GbpsXavier Simonart1-4/+27
When setting interface_speed option in the test case, NSB/PROX was still considering 100% as 10 Gbps. With this fix, when interface_speed is set to for instance 25 Gbps then NSB/PROX will start generate at 25 Gbps. Yardstick logging info printed on the screen will show performance result as percentage of interface_speed (e.g. 100% will be 25 Gbps). This is done by sending the command "speed 250" to PROX (PROX cannot know the underlying interface speed in all cases e.g. in virtio, and hence considers 100% as 10Gbps). JIRA: YARDSTICK-1217 Change-Id: I4989161b04a7afa5e347935ee7ccef7dfe5a504d Signed-off-by: Xavier Simonart <xavier.simonart@intel.com> Signed-off-by: Emma Foley <emma.l.foley@intel.com>
2018-06-27NSB NFVi PROX VPE losing many packetsDanielMartinBuckley1-0/+4
JIRA: YARDSTICK-1105 Running a vPE test ends up with up to 25% drooped packets. This is due to tolerated loss being incorrectly configured, test duration was too short and test interval was too short. Note This is due to the fact that vPE use case have by default a tolerated loss of 100%, Now changed to 0.001, same as L2FWD Also: Grafan dashboard has been updated to show all SUT CPUS Utilization in 1 panel. And LINE rate MIN, MAX & TEST Rate have been added Change-Id: I7adae2199b3f656fe460705b6aeb3aa69c767d50 Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@intel.com>
2018-06-27Merge "Decrease Sampling interval"Abhijit Sinha2-23/+81
2018-06-26NSB NFVi BNG test fails to run - stops after one stepDanielMartinBuckley1-4/+16
JIRA: YARDSTICK-1244 When sending the start or stop command to PROX. We sould not send the same core. We should not send "start 1,1" instead we should send "start 1" Change-Id: Ie600dc3ed808fd00341e92f13bd52199e68dc51f Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@intel.com>
2018-06-26Decrease Sampling intervalDanielMartinBuckley2-23/+81
JIRA: YARDSTICK-1219 Currently NSB for NFVI using PROX returns sampling information every 13 seconds. This is too slow. It is required to return sampling information form Generator AND VNF at least every 1 second. This change is depandant on JIRA: YARDSTICK-1212 and YARDSTICK-1220 Change-Id: Ica7ab795a2919d191d8cd846d028e15739e33fb7 Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@intel.com>
2018-06-26Merge "Addition of Configurable Sampling and Configurable Confirmation Retry"Abhijit Sinha1-40/+84
2018-06-26Addition of Configurable Sampling and Configurable Confirmation RetryDanielMartinBuckley1-40/+84
JIRA: YARDSTICK-1221 In order to increase accuracy of result the following are done :- - Improve Measurement Accuracy (YARDSTICK-1212) - Improve Sampling Interval (YARDSTICK-1219) - Allow 4 PROX ports to be read simultaneously (YARDSTICK-1220) This change does the following :- - Stores LINE Rate statistics of Sample - Requires a confirmation retry before deciding to increase or decrease this is configurable. - Allows the user to disable Sampling or specify a sample interval - Added Code Coverage of ProxDurationRunner based on YARDSTICK-1199 Change-Id: I27242ac1849c9a2712866385b5fbc05977c71516 Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@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-22Merge "Configure ACL via static file"Abhijit Sinha6-243/+227
2018-06-21Configure ACL via static fileMytnyk, Volodymyr6-243/+227
This patch allows user to configure ACL/vFW SampleVNF ACL via configuration file provided in TC definition. The Yardstick applies the rules to SampleVNF from specified config file + rules generated by Yardstick (default rules). The example of SampleVNF ACL CLI commands generated/applied by Yardstick can be found at (using default ACL config file): ACL VNF ACL CLI commands: acl/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex.yaml http://paste.openstack.org/show/723303/ vFW VNF ACL CLI commands: vfw/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex.yaml http://paste.openstack.org/show/723304/ Change-Id: I76a630261a982083b628e3985fc3bec14ca495db Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
2018-06-18Refactor RFC2455 TRex traffic profile injectionRodolfo Alonso Hernandez7-366/+316
The TRex RFC2455 traffic profile configures the duration of the traffic injection. Once the traffic is started, the traffic profile should poll the traffic injector client for the injection status. When the injection is finished, the traffic execution should end. Instead of this, the traffic profile waits a fixed time (using time.sleep method) and then stops the traffic. This approach is not accurate and may cause shorter injection periods. JIRA: YARDSTICK-1197 Change-Id: I5090df81ef4ec7945ff6c1aff070656b48e0fe77 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-06-18Add "duration" parameter to test case definitionRodolfo Alonso Hernandez1-0/+22
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>
2018-06-12Improve IXIA IxNetwork library and traffic profile (4)Rodolfo Alonso Hernandez4-102/+86
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 (3)Rodolfo Alonso Hernandez2-73/+84
This patch modifies IP packet parameters. "IxNextgen.update_ip_packet" modifies the L3 packet according to the test case and setup the IP addresses. JIRA: YARDSTICK-1116 Change-Id: I46ff75ab1989d0e6f5cc876418a015386717e06f 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 Hernandez4-185/+203
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 Hernandez2-71/+153
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-12Merge changes from topics 'YARDSTICK-1218', 'YARDSTICK-1216', ↵Rodolfo Alonso Hernandez3-35/+22
'YARDSTICK-1215', 'YARDSTICK-1214' * changes: Move IncorrectConfig, IncorrectSetup and IncorrectNodeSetup to exceptions Move ErrorClass definition to exceptions module Convert SSH custom exceptions to Yardstick exceptions Remove AnsibleCommon class method mock
2018-06-11Move tests: unit/network_services/vnf_genericEmma Foley1-2/+4
* 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: I3d95537a64bde923703421510d27bac0d6dd92bd
2018-06-05Fix NSB NFVi metrics accuracyXavier Simonart4-40/+56
JIRA: YARDSTICK-1212 Change-Id: Ic4d4a3c00e4e278f4de06cc176ff663892895569 Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
2018-06-01Move IncorrectConfig, IncorrectSetup and IncorrectNodeSetup to exceptionsRodolfo Alonso Hernandez1-12/+11
JIRA: YARDSTICK-1218 Change-Id: I804065e9bce3e728f5bf9e756a78df8fd28f74ac Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-06-01Move ErrorClass definition to exceptions moduleRodolfo Alonso Hernandez2-21/+8
JIRA: YARDSTICK-1216 Change-Id: I82556e1d1b0c723221a58e188067cbce560b8338 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-06-01Convert SSH custom exceptions to Yardstick exceptionsRodolfo Alonso Hernandez1-3/+4
JIRA: YARDSTICK-1215 Change-Id: I5ecfd3dccd91b07cd8de5309dfa1a372eff16ed0 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-05-17Merge "Fix PEP8 errors in prox_binseach"Abhijit Sinha1-5/+5
2018-05-16Merge "Add --hwlb options as a command line argument for SampleVNF"Rodolfo Alonso Hernandez5-5/+14
2018-05-16Add --hwlb options as a command line argument for SampleVNFChornyi, TarasX5-5/+14
To enable HWLB queues in samplevnf on supported hardware (e.g Intel Fortville) --hwlb option needs to be passed as a VNF command line argument. JIRA: YARDSTICK-1159 Change-Id: I6e5c098dc71a711252b545c7622ee52085fa81f0 Signed-off-by: Chornyi, TarasX <tarasx.chornyi@intel.com>
2018-05-15Merge "Fix PROX throughput result calculation"Abhijit Sinha1-1/+0
2018-05-15Fix PEP8 errors in prox_binseachAbhijit Sinha1-5/+5
There were some pep8 errors in the prox_binsearch.py file. These are fixed here. JIRA: YARDSTICK-1173 Change-Id: I817bba89c6ba298bb0f27b2538aa7585cb286754 Signed-off-by: Abhijit Sinha <abhijit.sinha@intel.com>
2018-05-15Fix PROX throughput result calculationAbhijit Sinha1-1/+0
The success criteria needed a fix for throughput calculation. The results on success criteria were muliplied by 1000*1000 which is not correct and not needed as this was leading to false results in grafana. JIRA: YARDSTICK-1172 Change-Id: I56b24a700f8a565db80897aeab796e7039cae5c9 Signed-off-by: Abhijit Sinha <abhijit.sinha@intel.com>
2018-05-14Merge "Do not start collectd twice when SampleVNF is running on Baremetal"Rodolfo Alonso Hernandez3-43/+98
2018-05-14Do not start collectd twice when SampleVNF is running on BaremetalChornyi, TarasX3-43/+98
JIRA: YARDSTICK-1167 Change-Id: I7591bbb2a84ee4039a20c5da2914f1e374299015 Signed-off-by: Chornyi, TarasX <tarasx.chornyi@intel.com>
2018-05-08Merge "Add IxNetwork API Python Binding package"Rodolfo Alonso Hernandez1-16/+6
2018-05-04Add IxNetwork API Python Binding packageRodolfo Alonso Hernandez1-16/+6
Add IxNetwork python package to the requirements list. This module is needed for the "NSPerf" scenarios using IXIA as traffic generator, when IxNetwork is the program used to handle the IXIA generator. The latest version of this module is 8.40.1124.9 [1]. The license type is MIT. [1] https://pypi.python.org/pypi/ixnetwork JIRA: YARDSTICK-1106 Change-Id: I279933c95994f5120930256a104c4192a0b9900d Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-05-03MQ startup process refactorChornyi, TarasX1-29/+32
YARDSTICK-1112 Change-Id: Id30236e190bae9fb0f5b5ebd4c5e04798e4fd443 Signed-off-by: Chornyi, TarasX <tarasx.chornyi@intel.com>
2018-04-17Remove unused methods in SampleVNFEmma Foley1-44/+0
The following private methods are unused in yardstick/network_services/vnf_generic/vnf/sample_vnf.py:SampleVNF * _build_ports(self) * _get_route_data(self, route_index, route_type) * _get_port0localip6(self) * _get_port1localip6(self) * _get_port0prefixlen6(self) * _get_port1prefixlen6(self) * _get_port0gateway6(self) * _get_port1gateway6(self) They are being removed as: * _get_port* functions are already implemented and used in MultiPortConfig * _get_route_data is an auxillary functions used by the previous ones * _build_ports is implemented in the helpers JIRA: YARDSTICK-1122 Change-Id: Ie7a706cd87b610ea56f89214118a02e612a70dc0 Signed-off-by: Emma Foley <emma.l.foley@intel.com>
2018-03-22Merge "Make Sample VNF hugepages size configurable"Ross Brattain1-2/+2
2018-03-16Merge "NSB PROX L3FWD Dropping packets"Abhijit Sinha1-0/+14
2018-03-15NSB PROX L3FWD Dropping packetsDanielMartinBuckley1-0/+14
JIRA: YARDSTICK-1037 NSB PROX L3FWD was incorrect. The routing table (ipv4.lua) was incorrect. Also a specific ipv4 for 2 port configuration is required. Change-Id: I3a5fd1ea1d1ddf74cbdd6a5d9e7ced42d3c1d6e9 Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@intel.com> Signed-off-by: Abhijit Sinha <abhijit.sinha@intel.com>
2018-03-12Merge "Reduce the log level if TRex client is no connected"Emma Foley1-1/+1
2018-03-09Do NOT hardcode interface speed for PROX testsDanielMartinBuckley6-30/+43
JIRA: YARDSTICK-1035 Do not hardcode NIC/interface speed in PROX test. Test assumes NIC used is 10Gbps. This is incorrect. It could support 1Gbps, 10Gbps, 25Gbps, 40Gbps or something else. This is used to calculate pps (Packets Per Second) In Baremetal the NIC speed could be extracted. however when run on a virtual machine this is not possible. Solution: Add in options section of test file. eg. Options: interface_speed_gbps: 10 Where 10 refers to a 10Gbps. In a setup where multiple interfaces are used. This will refer to the speed of the slowest connection. Change-Id: I89ab16479a2cdd1d79e52cbcc5a972762c60d057 Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@intel.com>
2018-03-09Make Sample VNF hugepages size configurableRodolfo Alonso Hernandez1-2/+2
The amount of hugepages claimed for a Sample VNF is always 16GB. This value is excesive for most of the Sample VNF applications (except for vPE). Making this parameter configurable we allow to spawn smaller VMs by using less hugepages (in case of StandAlone and OpenStack deployments). Because this parameter depends on the Scenario and the type of VNF executed, the parameter is located in: scenarios: {options: hugepages_gb} # number of GB of hugepages claimed PENDING: document this new parameter. A new userguide section should be created to document all "scenario" sections and parameters. JIRA: YARDSTICK-1061 Change-Id: I6f082e105289bd01781be18f2fecbe0ba2fdfdee Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-03-08Reduce the log level if TRex client is no connectedRodolfo Alonso Hernandez1-1/+1
If the TRex client is no connected, the testcase will write an exception log that will be thrown to the CLI. There is no need to show the traceback in the CLI in this case. The log level is reduced to "error". JIRA: YARDSTICK-1059 Change-Id: I22a52cedd6479f4cf692ba16a8415f7b8f574ab1 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-03-07Merge "NFVi Test stops after one hour even if configured context duration is ↵Ross Brattain1-2/+4
longer"
2018-03-07NFVi Test stops after one hour even if configured context duration is longerDanielMartinBuckley1-2/+4
JIRA: YARDSTICK-1021 If the Test is to take longer than the Default Duration timer use defined test time. If not use Default Duration time Change-Id: Idacc188e199ff031310b9826238b63ed3f2ea409 Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@intel.com>
2018-03-02VNF interfaces are sorted by "vpci" address before being populatedRodolfo Alonso Hernandez2-19/+15
In [1], VNF interfaces in TG PROX are sorted by "vpci" address, before this value is populated in "vnfd_helper". "vpci_if_name_ascending" is only used in TP ProxPofile [2] to generate the stats. This patch delays this sorting process until the stats generation. [1]https://github.com/opnfv/yardstick/blob/a74ad5a1ec1a73389c5983440b2031b0bc72cea1/yardstick/network_services/vnf_generic/vnf/tg_prox.py#L62-L64 [2]https://github.com/opnfv/yardstick/blob/a74ad5a1ec1a73389c5983440b2031b0bc72cea1/yardstick/network_services/traffic_profile/prox_profile.py#L33 JIRA: YARDSTICK-1044 Change-Id: I988dc48f9a82baa1c64f728d9e6d54f2f4bae010 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 Brattain7-82/+399
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-01vFW scale-up template.Mytnyk, Volodymyr1-6/+15
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>
2018-03-01Import "traffic_profile" modules only onceRodolfo Alonso Hernandez9-36/+67
"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>