aboutsummaryrefslogtreecommitdiffstats
path: root/yardstick/network_services
AgeCommit message (Collapse)AuthorFilesLines
2018-07-26Merge "NSB TREX RFC2544 scenario fails with correlated traffic"Rodolfo Alonso Hernandez1-1/+1
2018-07-26NSB TREX RFC2544 scenario fails with correlated trafficMytnyk, Volodymyr1-1/+1
When correlated traffic TC is running, the traffic is running only on uplink ports instead of both type of ports (yardstick/network_services/traffic_profile/rfc2544.py +113). Trex TG fails to get samples on downlink ports. JIRA: YARDSTICK-1357 Change-Id: I66d78b73f2dc5bb531fe8607d0e46f60b828953e Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
2018-07-26Make injection time configurable for IXIA RFC2544 test casesRodolfo Alonso Hernandez2-4/+6
JIRA: YARDSTICK-1196 Change-Id: I77b4772b9224ff5cd21fd9fc67eb7e4b821fcf77 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-07-25Merge "Fix typo in classname AclUknownActionTemplate"Rodolfo Alonso Hernandez1-1/+1
2018-07-24IxNetwork IPv4 mask format is x.x.x.xRodolfo Alonso Hernandez1-2/+5
When updating the IP packet in IxNextgen library, the IPv4 mask should be defined in the following format: x.x.x.x This mask defines the number of lower bits used to generate a random IP. For example: - mask length: 16 - mask string: 0.0.255.255 JIRA: YARDSTICK-1351 Change-Id: Ie3cbf0205aac83aea8d7f665bc068e8566238055 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-07-24Fix typo in classname AclUknownActionTemplateEmma Foley1-1/+1
AclUknownActionTemplate -> AclUnknownActionTemplate JIRA: YARDSTICK-1334 Change-Id: I796e080078c657c5e0e59144d24ec797e244a8f7 Signed-off-by: Emma Foley <emma.l.foley@intel.com>
2018-07-24Merge changes from topics 'YARDSTICK-1351', 'YARDSTICK-1339'Rodolfo Alonso Hernandez2-11/+27
* changes: Add IP mask to IxNetwork configuration Improve NetworkServiceTestCase._get_ip_flow_range() function
2018-07-24Add IP mask to IxNetwork configurationRodolfo Alonso Hernandez2-11/+27
Assign the IP mask to IxNetwork configuration, depending on the IP range provided by the user in the traffic profile. In case of single IP, a default mask will be provided: - IP_VERSION_4_MASK = 24 - IP_VERSION_6_MASK = 64 JIRA: YARDSTICK-1351 Change-Id: I029473ab8b9966a76cf559ffef53b34ca11462ad Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-07-23Add pktgen traffic profileRodolfo Alonso Hernandez2-0/+62
This new profile is based on the DPDK pktgen traffic generator. The traffic generator is controlled using LUA [1]. Those string commands are sent to the traffic generator using an open socket. Host address and open port are needed parameters. The following actions are implemented: - start injection - stop injection - change injection rate - clear all stats - help message command [1] http://pktgen-dpdk.readthedocs.io/en/latest/lua.html JIRA: YARDSTICK-1345 Change-Id: I560a168d194cedc9fdba312ec84437933efc8d9b Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-07-23Add DPDK pktgen traffic generatorRodolfo Alonso Hernandez1-0/+103
Add DPDK pktgen traffic generator. This traffic generator is designed only to work in with a MQ aware runner. Implements two consumer methods: - runner_method_start_iteration - runner_method_stop_iteration "run_traffic" method will only initialize the traffic profile object. This traffic generator uses a socket port (LUA port, default 22022) to send the command messages. Link: http://pktgen-dpdk.readthedocs.io/en/latest/index.html JIRA: YARDSTICK-1344 Change-Id: I89bba0f462fa1c22b33f1253f67f7c41e6e721a5 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-07-20Increase rounding digits in IXIA RFC2544Rodolfo Alonso Hernandez1-2/+6
Increase rounding digits in IXIA RFC2544 for: - Drop percentage: 6 digits - Rate: 5 digits, both for fps and % line rate. JIRA: YARDSTICK-1338 Change-Id: Iae6e49dd3d15035452f28976af0b16222fa8e23c Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-07-20Accept line rate percentage or fps a initial rate for IXIA RFC2544Rodolfo Alonso Hernandez3-19/+49
Accept line rate percentage or fps a initial rate for IXIA RFC2544 traffic profile: traffic_profile: traffic_type : IXIARFC2544Profile frame_rate : 100% traffic_profile: traffic_type : IXIARFC2544Profile frame_rate : 5000fps JIRA: YARDSTICK-1336 Change-Id: I85b3dd0daf563bb7af098a3aa5bb872961fb009b Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-07-13Create a SampleVNF MQ consumer classRodolfo Alonso Hernandez15-54/+96
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-13Merge "Cleanup TG IxLoad test cases"Rodolfo Alonso Hernandez1-5/+4
2018-07-12Fix "id" retrieval from MQ producer in GenericTrafficGenRodolfo Alonso Hernandez1-1/+1
"GenericTrafficGen.get_mq_producer_id" uses a wrong method to retrieve the MQ producer ID. "MessagingProducer" ID is a property called "id". JIRA: YARDSTICK-1312 Change-Id: Id72836b1cde59059359907bd3a315a1abb55778e Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-07-12Merge "Do not request NFVi metrics from empty nodes"Rodolfo Alonso Hernandez1-5/+6
2018-07-12Cleanup TG IxLoad test casesRodolfo Alonso Hernandez1-5/+4
Refactor SSH handling and library mocks. JIRA: YARDSTICK-1236 Change-Id: I591601f8ea8bf4bbd5c43300ff29d7930af5c3c6 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-07-11Revert "vPE Sample VNF is missing in the installation scripts"Volodymyr Mytnyk1-2/+2
SampleVNF source tree doesn't contain vPE VNF sources, thus the installation of the vPE sampleVNF fails because of the changes. Reverting. This reverts commit 5bb855a82d960a4fb796e801ec9a9a22dc40b1ca. Change-Id: I27e929e813a28847c2ca725031ec767633a36954 Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
2018-07-11Do not request NFVi metrics from empty nodesRodolfo Alonso Hernandez1-5/+6
In Collector class [1], the information from the nodes is retrieved to create a ResourceProfile object per node. If the node information is empty, Collector should skip this node. [1] https://github.com/opnfv/yardstick/blob/master/yardstick/network_services/collector/subscriber.py#L34 JIRA: YARDSTICK-1302 Change-Id: I84dff3e20881352263736b682a60a4f382960153 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-07-09Fix IXIA IxNetwork IMIX configurationRodolfo Alonso Hernandez1-4/+5
IxNet library is not setting correctly the IMIX definition per traffic item. The correct input for "weightedRangePairs" parameter is: [[64, 64, 10], [128, 128, 15], [512, 512, 5]] JIRA: YARDSTICK-1296 Change-Id: Idb4034ce817250da5b9a434230b1be6dae0d3ba3 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-07-09Merge changes from topics 'YARDSTICK-1286', 'YARDSTICK-1127'Rodolfo Alonso Hernandez5-13/+71
* changes: Make "IterationIPC" MQ producer for VNF control messages Enable traffic generator PID in "NSPerf" scenario setup Enable the MQ producer in "SampleVNFTrafficGen" class Add "TrafficGeneratorProducer" for "GenericTrafficGen" instances Add "IterationIPC" runner
2018-07-05Merge "vPE Sample VNF is missing in the installation scripts"Rodolfo Alonso Hernandez1-2/+2
2018-07-05Enable traffic generator PID in "NSPerf" scenario setupRodolfo Alonso Hernandez2-11/+15
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>
2018-07-05Enable the MQ producer in "SampleVNFTrafficGen" classRodolfo Alonso Hernandez5-11/+44
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-07-05Add "TrafficGeneratorProducer" for "GenericTrafficGen" instancesRodolfo Alonso Hernandez1-0/+21
Added "TrafficGeneratorProducer" class, a message producer specific for "GenericTrafficGen" derived classes. JIRA: YARDSTICK-1127 Change-Id: Icc87a6920155612e759a1d4d2f29028940c2e040 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-07-03IXIA IxNetwork TP first rate is not populatedRodolfo Alonso Hernandez1-0/+4
IXIA IxNetwork traffic profile defines an initial injection frame rate for RFC2544 test cases: schema: "isb:traffic_profile:0.1" traffic_profile: frame_rate : 20000 This value should be assigned to IXIARFC2544Profile.rate before the initial injection period. JIRA: YARDSTICK-1288 Change-Id: I29a334c7dbb863f680e45a1d3ab880aaf1fe166d Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-06-29Cleanup TestIxLoadTrafficGen unit testsRodolfo Alonso Hernandez1-4/+4
Removed unneeded output and mock system calls. JIRA: YARDSTICK-1270 Change-Id: I0e04a67cab592216280481c7145188c4f9045466 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
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>