summaryrefslogtreecommitdiffstats
path: root/tests/unit
AgeCommit message (Collapse)AuthorFilesLines
2017-09-25Heat: use pkey from string instead of key_filenameRoss Brattain1-11/+14
Instead of using a key_filename for Heat, we can read the key as a string directly using pkg_resources.resource_string() This will enable us to save Heat stacks as pod.yaml, because we can embedded the key into the pod.yaml directly. Change-Id: I16baaba17dab845ee0846f97678733bae33cb463 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com> Signed-off-by: Edward MacGillivray <edward.s.macgillivray@intel.com>
2017-09-19NSB: count from 0, vnf_0, tg_9, private->uplink, public->downlinkRoss Brattain22-191/+199
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-19apiserver: mock socket.gethostbynameRoss Brattain1-0/+6
we don't want use external DNS requests during unittest Change-Id: I5ed67b700ef1dab4b650ae5071a3cf641a17ae4c Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-09-18Fixing vPE config creation anf bring up issues.Deepak S1-2/+0
Change-Id: Icf7a01a053495e6d96bd664d6ceda8964fa437eb Signed-off-by: Deepak S <deepak.s@linux.intel.com> Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-09-18Fix all the exception while genereating the latency trafficDeepak S1-3/+4
Change-Id: I0b25e704b29fc68678eaa29d9e1d1eb04ee94e3e Signed-off-by: Deepak S <deepak.s@linux.intel.com> Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-09-18NSB: fix port topologyMartin Banszel26-825/+1474
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-14Merge "ssh fix, always wait"Ross Brattain2-1/+3
2017-09-13Heat: support non-mesh network toplogyRoss Brattain3-64/+38
Previsouly we added all servers to every network in Heat in a full mesh. To more closely replicate test topology and to limit then number of ports we need to all each server to specify which ports should be connected to each network. This should also allow for some kind of multiport setup. Add optional network_ports dict to each server with network to port_list mapping match inteface based on port name or vld_id replace vld_id matching with network name matching, since network_name == vld_id Change-Id: I5de46b8f673949e3c17d8df6fa96f055c43886ce Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-09-13ssh fix, always waitRoss Brattain2-1/+3
Change-Id: I1c529eeb0ef47752ed15e3e7941f57f7793ebfd4 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-09-11Added line parser to INI parserEdward MacGillivray1-12/+40
Line parser handles comments, keys and values and makes exceptions. Change-Id: I5cd3612ffd8cb08b14051bd0ef4b757c310f77bd Signed-off-by: Edward MacGillivray <edward.s.macgillivray@intel.com>
2017-09-07Merge "Adding ixia latency support for dynamic cgnapt"Ross Brattain2-1/+4
2017-09-07Adding ixia latency support for dynamic cgnaptDeepak S2-1/+4
Change-Id: I346f6064c39cb5662c2b17ca0f520addbe5eae4c Signed-off-by: Deepak S <deepak.s@linux.intel.com>
2017-09-07Merge "Bugfix: ha test case criteria pass when sla not pass"Kubi1-8/+37
2017-09-06Merge "test_kubernetes: mock file operations in test_ssh_key"Ross Brattain1-1/+6
2017-09-06Merge "test_vsperf_dpdk: mock time to speedup unitests"Ross Brattain1-11/+14
2017-09-05Add fixes for heat deployed UDP_Replay and TRexMartin Banszel4-465/+698
- Added a PROTOCOL_MAP to map the protocol names to codes -- the scapy requires the code, it fails if the proto is set e.g. to 'udp' - ip addresses must be str, not unicode -- explicit conversion to str added - removed unittest for setup_vnf_environment in test_tg_trex.py as it is the same function as already tested in test_sample_vnf.py - traffic_profile refactored -- code repetition decreased, unittest adapted Known issues: - there is a an attempt to stop already stopped trex. It fires an exception that stop command is issued on the disconnected client. Change-Id: I87e9029630f48b30e8f5b4f9d88ab3b25fd65f03 Signed-off-by: Martin Banszel <martinx.banszel@intel.com>
2017-09-05Merge "Addition of Prox NSB changes in yardstick"Ross Brattain11-823/+1209
2017-09-05Merge "Adding intel_pmu tools plugin for collectd"Ross Brattain1-0/+5
2017-09-04Adding intel_pmu tools plugin for collectdDeepak S1-0/+5
Change-Id: I81ff3d43d209e98188855c8b2eb302835bb5d417 Signed-off-by: Neha Vadnere <neha.r.vadnere@intel.com> Signed-off-by: Deepak S <deepak.s@linux.intel.com> Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-09-04Fix Ixload KPIs collection & hang issues.Deepak S1-1/+1
Change-Id: If679333dc1cb9e041a332fb374c55f72eaab1b28 Signed-off-by: Deepak S <deepak.s@linux.intel.com> Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-09-04Addition of Prox NSB changes in yardstickabhijitsinha11-823/+1209
JIRA: YARDSTICK-802 Addition of Prox L2Fwd, MPLS test cases for BM and Heat. updates: Most of tg_prox and prox_vnf were absorbed into the base classes. delete most of ProxDpdkVnfSetupEnvHelper, it is handled by DpdkVnfSetupEnvHelper baseclass use standard _build_pipeline_kwargs methods don't use terminate() use baseclass version add new method kill_vnf that runs pkill -x replace resource_helper.execute() with vnf_execture for dumping stats In order to share code between tg_prox and vnf_prox refactor to have tg_prox hold and wrap a ProxApproxVnf instance and call methods on that class. Do this instead of multiple-inheritance. Implement ProxApproxVnf.terminate() using prox socket command based exit, (stop_all, quit, force_quit). vnf_execute calls resource_helper.execute() which calls socket methods on the sut object. Since tg_prox wraps the VNF object, we can call terminate on the VNF object and it should work correctly. move prox config generation to parent process we need to get core number info from config file inside the TG processes, so we need to generate the config in the parent process so the data is copied to the child during the fork. moved more config file methods to the setup_helper class. we run force_quit after quit, so the socket should already be closed this will trigger socket error, so add _ignore_errors option for vnf_execute to ignore socket errors Fixed the terminate issue. Added MPLS tests. Added TG Stats in_packet/out_packet Fixed compile (pep8) issues Fixed MPLS TG port stats, in/out packets Added Grafana dashboards for L2FWD and MPLS Traffic profiles modified for tolerated loss and precision as per DATS tests. Added unit test case for Mpls Single port test stats collection support. Change-Id: Idd9493f597c668a3bb7d90e167e6a418546106e8 Signed-off-by: Abhijit Sinha <abhijit.sinha@intel.com> Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-09-03test_create_keypair: fix op_utils mock and mock paramikoRoss Brattain1-5/+6
Change-Id: I5c039c0d4f4ba651209c7d5ca4e748f9151b5630 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-09-03test_kubernetes: mock file operations in test_ssh_keyRoss Brattain1-1/+6
tests take too long and we should not be createing/deleting files during unittests, filesystems operations introduce too many external issues Change-Id: I989c9d0a84187becdf63497c0c1ac6e10c5eac70 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-09-03test_vsperf_dpdk: mock time to speedup unitestsRoss Brattain1-11/+14
If you put time.sleep(1) all over your code you need to mock time.sleep() in your unittests lest the unittests take forever. Change-Id: I9ebbf9e21c98e8c46bab727bbb22f33045db4361 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-09-01Merge "Adding support for updating the count/packetsize for given testcase"Ross Brattain2-11/+27
2017-09-01sample_vnf: default to 16GB of 2048Kb hugepagesRoss Brattain1-1/+1
8192 * 2048kB = 16GB Change-Id: I82bf420794e5174e88cfaea08b9fab0d77c2be7f Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-08-31Adding support for updating the count/packetsize for given testcaseDeepak S2-11/+27
Change-Id: I3ec1a6d3710d44df5ddac6bd8967d28ad58e8d33 Signed-off-by: Deepak S <deepak.s@linux.intel.com>
2017-09-01Merge "Added TC for vFW in heat context with ixia TG"Ross Brattain2-6/+11
2017-09-01Bugfix: ha test case criteria pass when sla not passrexlee87761-8/+37
ha test cases didn't store moniter info and report fail when sla didn't pass Change-Id: I0e5637e37a66e1bf03b47fe09d17e0a1acfa11c1 Signed-off-by: rexlee8776 <limingjiang@huawei.com>
2017-08-31Added TC for vFW in heat context with ixia TGMaciej Skrocki2-6/+11
- 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-31Enable update ip headers for given testcaseDeepak S1-12/+12
Change-Id: I008b3f09695f5e3f484b39d4e70b83e5942de863 Signed-off-by: Deepak S <deepak.s@linux.intel.com> Signed-off-by: Maciej Skrocki <maciej.skrocki@intel.com>
2017-08-30_get_ip_flow_range: fix bug with single IP rangesRoss Brattain1-3/+3
If we have a /32 or for some reason find a range of IPs to use, we can default to the single IP specified on the interface. Change-Id: Ieaa1d57b04e1d57e8cef344d5a53bbca05e7887f Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-08-30ssh: fix unittest race conditionRoss Brattain1-2/+2
os.stat is being called multiple times for some reason we only care that is it called at some point. ====================================================================== FAIL: tests.unit.test_ssh.SSHRunTestCase.test__put_file_sftp tags: worker-1 ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/.tox/py3/lib/python3.5/site-packages/mock/mock.py", line 1305, in patched return func(*args, **keywargs) File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/tests/unit/test_ssh.py", line 458, in test__put_file_sftp mock_stat.assert_called_once_with("localfile") File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/.tox/py3/lib/python3.5/site-packages/mock/mock.py", line 947, in assert_called_once_with raise AssertionError(msg) AssertionError: Expected 'stat' to be called once. Called 3 times. Ran 1209 tests in 2.618s FAILED (id=0, failures=1) error: testr failed (1) + testr failing ====================================================================== FAIL: tests.unit.test_ssh.SSHRunTestCase.test__put_file_sftp tags: worker-1 ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/.tox/py3/lib/python3.5/site-packages/mock/mock.py", line 1305, in patched return func(*args, **keywargs) File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/tests/unit/test_ssh.py", line 458, in test__put_file_sftp mock_stat.assert_called_once_with("localfile") File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/.tox/py3/lib/python3.5/site-packages/mock/mock.py", line 947, in assert_called_once_with raise AssertionError(msg) AssertionError: Expected 'stat' to be called once. Called 3 times. Ran 1 tests in 0.110s FAILED (id=0, failures=1) Change-Id: I73370996e6e0543419eec8ecbe81be424ec15822 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-08-29Merge "DRAFT: model: remove vld_id not needed"Ross Brattain1-3/+0
2017-08-29Merge "Add common openstack opertation scenarios: router & port"Ross Brattain5-0/+179
2017-08-28DRAFT: model: remove vld_id not neededRoss Brattain1-3/+0
it seems vld_id is not needed now that we add it in _resolve_topology. Remove it from the model and Heat context first and see what happens Needs testing Change-Id: I30d13c80bd90246ee3be67a2bd3439db45e20bcd Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-08-26Merge "Test case: Fio volume benchmark testcase using job file"Jing Lu1-0/+14
2017-08-26Raise Exception if HA test case failedJingLu51-0/+1
Change-Id: Ia3677724075c1c1408f50bbfcebd3cbcde251d66 Signed-off-by: JingLu5 <lvjing5@huawei.com>
2017-08-25Trex: fix KPI collectionRoss Brattain1-1/+1
return super result Change-Id: I723a37281da15c1887ae1b3cf91d7e957b1924d1 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-08-25Add common openstack opertation scenarios: router & portJingLu55-0/+179
JIRA: YARDSTICK-781 This patch adds some common openstack opertation scenarios Change-Id: Id436a201aa04f8f6b98576e8fbf599ca3654827c Signed-off-by: JingLu5 <lvjing5@huawei.com>
2017-08-24Merge "add ppm into result of pktgen to make result clear"Ross Brattain1-5/+5
2017-08-24Standardized TRex client library pathMaciej Skrocki26-1496/+134
- path should be defined via TREX_CLIENT_LIB environmental variable e.g. TREX_CLIENT_LIB=/opt/trex_client/stl - refactored unit tests Change-Id: I18767e48daf774432c010f1b88d18a4f0ee4e156 Signed-off-by: Maciej Skrocki <maciej.skrocki@intel.com> Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-08-24Merge "Add common openstack opertation scenarios: volume & floating ip"Jing Lu4-0/+143
2017-08-23Merge "samplevnf_helper: use network address"Ross Brattain1-0/+2
2017-08-23Merge "Re-define the framesize and flow dynamic define in testcase"Ross Brattain3-16/+49
2017-08-23Add common openstack opertation scenarios: volume & floating ipJingLu54-0/+143
JIRA: YARDSTICK-781 This patch adds some common openstack opertation scenarios Change-Id: I1300a61b389202242f112b6d280ab47746379546 Signed-off-by: JingLu5 <lvjing5@huawei.com>
2017-08-22Test case: Fio volume benchmark testcase using job fileJingLu51-0/+14
JIRA: YARDSTICK-791 In some use cases, Fio is used with a job file instead of parameters. This work is about adding support for the job file and add a new test case for volume testing. Change-Id: I312d61bf6e7d95f23eedb0b6487f6103b7d76355 Signed-off-by: JingLu5 <lvjing5@huawei.com>
2017-08-22Merge "Add common openstack opertation scenarios: subnet & port"Jing Lu5-0/+194
2017-08-22Merge "test_vsperf_dpdk: remove unused and incorrect mock open"Ross Brattain1-2/+0
2017-08-21samplevnf_helper: use network addressRoss Brattain1-0/+2
use network address with netmasks to be proper ports_mac_list is no longer valid, remove it nd_route_tbl needs to default to something otherwise the VNF will segfault if it receives IPv6 on the port, which it will because something in Neutron is sending out IPv6 packets. disable use of the routing table gateways to set arp add. We set the next hop IP to always be the TG IP address, so we need to always use the TG IP in arp add to send to the TG MAC address don't use gateways to get local addresses. we can't use gateways because with OpenStack if we define a gateway is breaks the default route and we can no longer connect to the instance via floating IP. Change-Id: I0ebefe8ac09812b6030046f73bf772edda1c7d27 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>