aboutsummaryrefslogtreecommitdiffstats
path: root/yardstick/tests/unit/benchmark/scenarios/networking
AgeCommit message (Collapse)AuthorFilesLines
2019-05-13Ping: Fix TypeError without SLA in timeout scenarioDeepanshu Bhatia1-0/+14
In case of no SLA association with scenario, when the commands timeout, stdout is empty and it gives TypeError. Reverted the condition to the old one which was used before introduction of verifySLA() JIRA: YARDSTICK-1618 Change-Id: Ibd86ba7168f26ae5b15c21fd6129cc737a7038db Signed-off-by: Deepanshu Bhatia <deepanshu@voereir.com>
2019-02-22Add new scenario NSPerf-RFC3511Chornyi, TarasX1-0/+51
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>
2019-02-21Unify TG and VNF names in infrastructure filesOrest Voznyy2-34/+34
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>
2019-02-07Update Intel Copyright for files edited in 2019John O Loughlin1-1/+1
JIRA: YARDSTICK-1591 Change-Id: I3ea9039d25bfce578681adb9e27e1598e84a1f56 Signed-off-by: John O Loughlin <john.oloughlin@intel.com>
2019-02-01Add vBNG test cases stats processing functionalityOleksandr Naumets1-0/+9
JIRA: YARDSTICK-1546 Change-Id: I3575223ef8231fb4d574e961360b0f2d90a71749 Signed-off-by: Oleksandr Naumets <oleksandrx.naumets@intel.com>
2019-01-31Add new scenario NSPerf-RFC2544Serhiy Pshyk1-0/+84
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-29NSB sync: clean-up draft IPC implementation (part 1)Mytnyk, Volodymyr1-5/+1
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>
2018-11-12Implement functionality for updating http clientMyron Sosyak1-1/+21
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>
2018-10-11Test case override of traffic profile settings.DanielMartinBuckley1-1/+17
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>
2018-08-16Fix setting `flow` configuration in TC yamlMytnyk, Volodymyr1-6/+4
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>
2018-07-31Cleanup pktgen_dpdk unit testsMiikka Koistinen1-128/+69
* 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>
2018-07-31Merge "Cleanup pktgen unit tests"Emma Foley1-490/+274
2018-07-30Cleanup pktgen unit testsMiikka Koistinen1-490/+274
* 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>
2018-07-27Refactor remote command execution in vsperf_dpdkMiikka Koistinen1-20/+14
* 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>
2018-07-27Refactor remote command execution in vsperfMiikka Koistinen1-24/+15
* 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>
2018-07-24Merge changes from topics 'YARDSTICK-1351', 'YARDSTICK-1339'Rodolfo Alonso Hernandez1-21/+35
* changes: Add IP mask to IxNetwork configuration Improve NetworkServiceTestCase._get_ip_flow_range() function
2018-07-23Merge "Clean-up tests in test_vsperf_dpdk.py:VsperfDPDKTestCase"Rex Lee1-99/+27
2018-07-23Improve NetworkServiceTestCase._get_ip_flow_range() functionRodolfo Alonso Hernandez1-21/+35
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>
2018-07-16Clean-up tests in test_vsperf_dpdk.py:VsperfDPDKTestCaseEmma Foley1-99/+27
* 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>
2018-07-13Create a SampleVNF MQ consumer classRodolfo Alonso Hernandez1-0/+1
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 traffic generator PID in "NSPerf" scenario setupRodolfo Alonso Hernandez1-1/+4
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-06-29Cleanup Iperf3 unit testsRodolfo Alonso Hernandez1-13/+9
Removed unneeded output. JIRA: YARDSTICK-1275 Change-Id: I75fe1f7f048714ba5d2fdfa586ad69ebb7b56c88 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-06-29Cleanup VsperfDPDKTestCase unit testsRodolfo Alonso Hernandez1-4/+5
Removed unneeded output. JIRA: YARDSTICK-1267 Change-Id: I0a3f25db2c5ef8ed71fd087b6b35641075c121e7 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-06-26Merge "Refactor remote command execution in pktgen_dpdk"Emma Foley1-1/+17
2018-06-26Merge "Refactor remote command execution in pktgen"Rex Lee1-45/+46
2018-06-19Refactor remote command execution in pktgen_dpdkMiikka Koistinen1-1/+17
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>
2018-06-19Refactor remote command execution in pktgenMiikka Koistinen1-45/+46
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>
2018-06-18Add "duration" parameter to test case definitionRodolfo Alonso Hernandez1-1/+2
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-15Add vsperf_dpdk SLA validation unit test casesMiikka Koistinen1-0/+45
JIRA: YARDSTICK-1228 Change-Id: Ic32f2bcd7f8bdf718c9c266666409d32ecab4924 Signed-off-by: Miikka Koistinen <miikka.koistinen@nokia.com>
2018-06-15Cleanup vsperf unit testsMiikka Koistinen1-60/+139
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>
2018-06-15Convert SLA asserts to raisesMiikka Koistinen8-9/+17
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>
2018-06-01Move IncorrectConfig, IncorrectSetup and IncorrectNodeSetup to exceptionsRodolfo Alonso Hernandez1-7/+7
JIRA: YARDSTICK-1218 Change-Id: I804065e9bce3e728f5bf9e756a78df8fd28f74ac Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-03-16Merge "Replace assert statements in tests"Abhijit Sinha1-1/+1
2018-03-12Merge "assertTrue(mock.called) -> mock.assert_called"Rodolfo Alonso Hernandez1-1/+1
2018-03-07Merge "Add l2fwd module in Tgen mode"Jack Chan1-0/+353
2018-03-06Replace assert statements in testsEmma Foley1-1/+1
JIRA: YARDSTICK-966 Change-Id: Ic98711fa1a31d27fcb60bd96b1b3e22b5cca86b3 Signed-off-by: Emma Foley <emma.l.foley@intel.com>
2018-03-05assertTrue(mock.called) -> mock.assert_calledEmma Foley1-1/+1
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>
2018-03-02Remove main() and __main__ from tests.Emma Foley14-109/+0
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>
2018-03-02Replace assertEqual(None, xx) with assertIsNone(xx)Emma Foley1-1/+1
Change-Id: Ie956d8064a8fbcbd3d56c5a79c4c613d35184af4 JIRA: YARDSTICK-942 Signed-off-by: Emma Foley <emma.l.foley@intel.com>
2018-03-01NSB: move interface probe to VNF, and attempt driver-only probe firstRoss Brattain1-168/+21
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-0/+23
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-01Add arguments to the traffic profile renderRodolfo Alonso Hernandez1-28/+49
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>
2018-03-01Import "traffic_profile" modules only onceRodolfo Alonso Hernandez1-75/+73
"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-28Mock TRex STL libraries globallyRodolfo Alonso Hernandez1-27/+14
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>
2018-02-28Add l2fwd module in Tgen modeAce Lee1-0/+353
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>
2018-02-12Move tests: unit/benchmarkEmma Foley26-0/+3694
* 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>