aboutsummaryrefslogtreecommitdiffstats
path: root/tests
AgeCommit message (Collapse)AuthorFilesLines
2017-10-04NSB PROX test hang fixesRoss Brattain12-58/+189
The PROX tests were hanging in the duration runner. These are fixes for various errors: raise error in collect_kpi if VNF is down move prox dpdk_rebind after collectd stop fix dpdk nicbind rebind to group by drivers prox: raise error in collect_kpi if the VNF is down prox: add VNF_TYPE for consistency sample_vnf: debug and fix kill_vnf pkill is not matching some executable names, add some debug process dumps and try switching back to killall until we can find the issue sample_vnf: add default timeout, so we can override default 3600 SSH timeout collect_kpi is the point at which we check the VNFs and TGs for failures or exits queues are the problem make sure we aren't silently blocking on non-empty queues by canceling join thread in subprocess fixup duration runner to close queues and other attempt to stop duration runner from hanging VnfdHelper: memoize port_num resource: fail if ssh can't connect at the end of 3600 second test our ssh connection is dead, so we can't actually stop collectd unless we reconnect fix stop() logic to ignore ssh errors Change-Id: I6c8e682a80cb9d00362e2fef4a46df080f304e55 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-10-03Enable multi-port perf in trex as TGDeepak S3-15/+11
set TRex -c option for threads per port based on hardware number of queues. We can't auto-detect number of queues and we can't use more than one thread per core on systems with single-queue interfaces, so move the option to the config file options: tg_0: queues_per_port: 2 also enable trex debug by removing >/dev/null redirection options: tg_0: trex_server_debug: true Change-Id: I46da187849282bf28f4ef5b333e1ae890e202768 Signed-off-by: Deepak S <deepak.s@linux.intel.com> Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-10-03add collectd resource node capabilityRoss Brattain2-31/+59
allow manually adding collectd nodes using Node context. if a node is present with a collectd config dict then we can create a ResourceProfile object for it and connect to collectd. example nodes: - name: compute_0 role: Compute ip: 1.1.1.1 user: root password: r00t collectd: interval: 5 plugins: ovs_stats: {} Change-Id: Ie0c00fdb58373206071daa1fb13faf175c4313e0 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-10-03drain runner queue and undo cancel_join_threadRoss Brattain2-4/+44
Sometimes the runners can hang. Initially debugging lead to the queue join thread, so I thought we could cancel all the join threads and everything would be okay. But it turns out canceling the queue join threads can lead to corruption of the queues, so when we go to drain the queues the task hangs. But it also turns out that we were not properly draining the queues in the task process. We were waiting for all the runners to exit, then draining the queues. This is bad and will cause the queues to fill up and hang and/or drop data or corrupt the queues. The proper fix seems to be to draining the queues in a loop before calling join with a timeout. Also modified the queue drain loops to no block on queue.get() Revert "cancel all queue join threads" This reverts commit 75c0e3a54b8f6e8fd77c7d9d95decab830159929. Revert "duration runner: add teardown and cancel all queue join threads" This reverts commit 7eb6abb6931b24e085b139cc3500f4497cdde57d. Change-Id: Ic4f8e814cf23615621c1250535967716b425ac18 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-10-03Ensure that at least one handler is availableEdward MacGillivray1-0/+16
https://jira.opnfv.org/browse/YARDSTICK-773?filter=-3 Remove dependency of yardstick on utils methods Change-Id: Iadf502364a7f08c279a8f0d17d7e45e8047f4066 Signed-off-by: Edward MacGillivray <edward.s.macgillivray@intel.com>
2017-10-02code inspection fixes: test_pktgenRoss Brattain1-7/+7
Change-Id: I05cb069984b7674924cfcb1ed023048c0aa0c444 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-10-02Enabling multi_VM & multi port launch in standalone contextDeepak S15-1662/+1129
new context names: - SRIOV - StandaloneSriov - OvsDpdk - StandaloneOvsDpdk - Seperate helper, libvirt, server info class - Allow multi-port and multi-VM support. Change-Id: I3c65e4535082fa0e2f4c6ee11c3bca9ccfdc01b8 Signed-off-by: Deepak S <deepak.s@linux.intel.com> Signed-off-by: Martin Banszel <martinx.banszel@intel.com>
2017-10-02Merge "load_images.sh: Add missing ssh_options" into stable/euphratesRoss Brattain1-0/+1
2017-10-02load_images.sh: Add missing ssh_optionsAlexandru Avadanii1-0/+1
Empty ssh_options led to ssh login failure, which stopped the whole script. Change-Id: I8374a30a02b14d04eb0f623a0c58d7ebed77a589 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> (cherry picked from commit 77c7d358bc6a61e2a5c24c6056cc3e40561f27c7)
2017-10-02CI: add new test cases into CI so they can have resultrexlee87761-1/+22
Change-Id: Ib2b165c41121b29b2af378dc420c2360786de3f0 Signed-off-by: rexlee8776 <limingjiang@huawei.com> (cherry picked from commit 4aecf8839e12260284603266c4b93dc72b33ea36)
2017-09-30Auto create ixia config based on the traffic profileDeepak S1-5/+5
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-30Adapt getting the image architecture to mcpCristina Pauna1-4/+7
The part which gets the image architecture still uses the old fuel command. Adapted the script to use the mcp command. JIRA: ARMBAND-285 Change-Id: Iddce77c3a856ea11f9994861151db89a402e735e Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
2017-09-30vnf_generic: Fix str object has no attribute itemsDino Madarang1-0/+6
When an IP range is specified in src_ip/dst_ip like: src_ip: - '152.16.100.180-152.16.100.181' yardstick would return str object has no attribute items error. This change will return the IP range as is if type is str. Change-Id: I3b097777f0d85b0600207157bebba18987ea2275 Signed-off-by: Dino Simeon Madarang <dinox.madarang@intel.com> Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-09-30Addition of Prox NSB BNG and BNG-QoS testAbhijit Sinha6-272/+602
JIRA: YARDSTICK-802 Added Prox BNG and BNG-QoS Test - The tests supports BM, Openstack Heat - Supports 4 ports - Test added for BNG traffic profile - Fixed the Prox heat test cases with proper upstream and downstream links - Grafana Dashboard for BNG & BNG-QoS added - Increased the test Duration to 300 TODO: - Test does not Terminate correctly Update: Added new helper class for run_test: Genric, MPLS and BNG tests. Change-Id: Ib40811bedb45a3c3030643943f32679a4044e076 Signed-off-by: Abhijit Sinha <abhijit.sinha@intel.com> Signed-off-by: Edward MacGillivray <edward.s.macgillivray@intel.com> Signed-off-by: Ross Brattain <ross.b.brattain@intel.com> Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@intel.com>
2017-09-30collectd: write config file from Jinja2 templateRoss Brattain2-133/+40
We have the collectd.conf inside the python package so instead of copying it from various places, write the template directly to the remote system. collectd: read collect.conf template with pkgresources read the collectd.conf file as a string directly and upload without creating temp file use Jinja2 template, disable failing plugins use proper Jinja2 template, disable the plugins that were failing to load and blocking startup add support for per-testcase collectd.conf config using YAML add support for custom interval, default is 25 seconds Change-Id: Id904f7b7c9f41a9dd7adf5dfa06c064d65c25d2d Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-09-30Adding multi-port support for ixia taffic generatorDeepak S1-8/+4
Change-Id: Ic8aa130f3cdc7bd8dec39d06a6b824340bf658b2 Signed-off-by: Deepak S <deepak.s@linux.intel.com> Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-09-30bugfix: tc055 fail due to options with no valuerexlee87761-1/+0
JIRA: YARDSTICK-816 Change-Id: Ib7eb411b940775915c6c9f87ac5cdc9825069467 Signed-off-by: rexlee8776 <limingjiang@huawei.com>
2017-09-30Fix vPE VNF characterization issues.Deepak S1-10/+130
Change-Id: Ia934128777d2839f6d2b940857c266fc3e2bd4a1 Signed-off-by: Deepak S <deepak.s@linux.intel.com>
2017-09-30Add nodeSelector to enable selecting the desiredTrevor Tao1-2/+6
Kubernetes running node when creating containers for Kubernetes context For example, a yaml file may looks like: servers: host: image: xxx command: /bin/bash nodeSelector: xxx: yyy Synchronously change the unit test for this function Change-Id: If74c9dad9b1a70395bb79f34708a0fde04e7e650 Signed-off-by: Trevor Tao <trevor.tao@arm.com>
2017-09-30Merge "Get node IPs and IDs according to env" into stable/euphratesRoss Brattain1-15/+11
2017-09-30bugfix: tc054 default value is wrongrexlee87761-60/+5
management route ip is not common in most SUTs, so it should be removed. also huawei pod1 ipmi info should updated so this test case can be added into ci later Change-Id: I3a29c59c473ee7087d4d61753ffc955b061571fb Signed-off-by: rexlee8776 <limingjiang@huawei.com> (cherry picked from commit 8701e63e3daf508d8e3482f0a344554d17ff6e24)
2017-09-29Get node IPs and IDs according to envCatalina Focsa1-15/+11
Extract node IPs and IDs for each node having a controller or compute role (name starting with the "cmp" or "ctl" prefix) and add them into the $pod_yaml file, analogous to the previous implementation. Since node IDs are expected to be unique and integers (condition that does not match the salt node ID format), they are substituted with an incremented index for each controller/compute node in the environment. Change-Id: Id90626edc3f098bd96343336b2be179721dee5a1 Signed-off-by: Catalina Focsa <catalina.focsa@enea.com> (cherry picked from commit 6892687967d2d5ac8db37dd67b3e52d9f775eda6)
2017-09-28Create test suite for Euphrates releasechenjiankun3-0/+138
JIRA: YARDSTICK-814 Test suite: "opnfv_os-odl-fdio-ha_daily.yaml", "opnfv_os-odl-dvr-noha_daily.yaml", "opnfv_os-odl-sfc-noha_daily.yaml" are missing in yardstick-apex-baremetal-daily-euphrates job. We need to create them. Change-Id: I6d8bbeb17cd887776f1f3b401ec80523ea90d3c1 Signed-off-by: chenjiankun <chenjiankun1@huawei.com> (cherry picked from commit 6ecb9a6d50345277645633b1bed4d255dc434222)
2017-09-25tg_rfc2544_ixia: log exceptions and fix list iterRoss Brattain1-7/+11
Change-Id: Ia9722604b7c8ae23e784e780f113d012de544d4b Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-09-25Add service in kubernetes contextchenjiankun1-6/+59
JIRA: YARDSTICK-803 Currently kubernetes test case can only run in master node. We need to support it run in jump server. So I add service and use nodePort type. Then we can login the pod using nodePort. Change-Id: Ia7900d263f1c5323f132435addec27ad10547ef9 Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
2017-09-25bugfix: tc025 should use ipmi to poweroffroot1-1/+1
if it use shutdown, it'll take several minutes to shutdown, leads to the ipmi power on command fails Change-Id: I74b61325cbcc3a6ec070d2fa103accf84f29b0fa Signed-off-by: root <limingjiang@huawei.com>
2017-09-25tg_rfc2544_ixia: use traffic id from JSON to update macRoss Brattain1-4/+5
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-25cgnapt: mock time.sleep in unitestsRoss Brattain1-2/+4
Change-Id: I26957977e6dcd0392078a543a6907a550711c702 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-09-25prox: fix TG KPIsRoss Brattain2-9/+8
The problem is that we share the same ProxResourceHelper for both VNF and TG. For VNF we want to talk to resource.py and get collectd KPIs. For TG we need to read from the queue the TG calculated KPIs and we also want collectd KPIs. workaround is to use a different method name collect_collectd_kpi for VNFs Change-Id: Icc2132758e37ce210f5600a0cd433077930208e5 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-09-25Addition of PROX NSB tests to yardstickDanielMartinBuckley1-10/+30
JIRA: YARDSTICK-802 Addition of PROX L2FWD_Multiflow, ACL, Load Balancing plus grafana dashboards Supports 2 and 4 port Baremetal & Heat Change-Id: I1f3990d5451de265ee3901302569c355ece3b146 Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@intel.com>
2017-09-25prox: use find_relative_file when uploadingRoss Brattain1-1/+1
the prox files were being found correctly. if we use find_relative_file they will lookup relative to the task_path Change-Id: Ifde5d07df5ccfbfeba015b2f43bd8b53e89a00b7 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-09-25add opnfv_os-odl-fdio-dvr-ha_daily.yaml scenarioRoss Brattain1-0/+38
Change-Id: I723477edf810a220816a2e67aa80f7f144efb3a6 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-09-25prox: pass prox_config_dict between Processes using queueRoss Brattain6-74/+61
we generate the prox_config_dict in the _run Process, but we also need it in the _traffic_runner Process to get core info. use a queue to pass the config list between the processes enable collect_kpi Change-Id: Ibaf41d606e559a87addf43d6ddaed206dbd2d20c Signed-off-by: Ross Brattain <ross.b.brattain@intel.com> Signed-off-by: Edward MacGillivray <edward.s.macgillivray@intel.com>
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-19add scenario opnfv_os-nosdn-bar-ha_daily.yaml for BarometerRoss Brattain2-0/+223
For now just copied and renamed opnfv_os-nosdn-nofeature-ha_daily.yaml Change-Id: Idbd37a3e21220aa407d053157da71b449bad15ee Signed-off-by: Ross Brattain <ross.b.brattain@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-18rename odl_l3 tests to just odlRoss Brattain3-0/+166
Change-Id: I664437d598db9f9dcc7036e306b8a4edc40287cf 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-15Merge "tc006: fio job_file.ini the volume should be configed"Rex Lee1-1/+2
2017-09-15Merge "tc063: make node parameter can be pass"Rex Lee1-2/+2
2017-09-15Merge "Create opnfv_k8-ovn-lb-noha_daily.yaml test suite file"Jing Lu1-0/+18
2017-09-15Merge "tc011: make parameters to be able to config"Rex Lee1-4/+8
2017-09-14Merge "ssh fix, always wait"Ross Brattain2-1/+3
2017-09-14tc011: make parameters to be able to configrexlee87761-4/+8
Change-Id: Ic8a85b762f5204a9b759bf57c3189df97aa52d0c Signed-off-by: rexlee8776 <limingjiang@huawei.com>
2017-09-14tc006: fio job_file.ini the volume should be configedrexlee87761-1/+2
Change-Id: Ie03dfe7d1227578bb50e5e4460e50b9dc59dd202 Signed-off-by: rexlee8776 <limingjiang@huawei.com>
2017-09-14Create opnfv_k8-ovn-lb-noha_daily.yaml test suite filechenjiankun1-0/+18
JIRA: RDSTICK-811 We need to create opnfv_k8-ovn-lb-noha_daily.yaml so that we can run kubernetes test in k8-ovn-lb-noha scenario. Change-Id: I9c18b6d68c96ef917f3b65e494e3c2d9e1beefdd Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
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>