aboutsummaryrefslogtreecommitdiffstats
path: root/yardstick/benchmark/scenarios
AgeCommit message (Collapse)AuthorFilesLines
2017-12-25SPEC cpu2006 test case for VMJingLu51-0/+170
JIRA: YARDSTICK-906 This test case is for benchmarking VM(VNF) compute performance using SPEC CPU2006. Change-Id: Ida87aa4d394e38b398acb0af3176dd1b4c858c35 Signed-off-by: JingLu5 <lvjing5@huawei.com>
2017-12-16bugfix: tc078 have no data stored or dashboard to show resultsrexlee87761-0/+8
JIRA: YARDSTICK-867 1.print result in the log, showing the txt format result Change-Id: I6deeb4cf44895ef7a6c6d231c77b3843eec285d7 Signed-off-by: rexlee8776 <limingjiang@huawei.com>
2017-12-16Merge "bugfix: tc078 fails in some situations"Ross Brattain1-3/+7
2017-12-15bugfix: kill process do not accurately kill "nova-api"rexlee87761-1/+1
JIRA: YARDSTICK-849 1. update the kill process RegEx pattern to be more accurate 2. make attack_process to be parameter so it can be customized if the SUT is using a different name of attack_process Change-Id: I569730ced6c24aafbffcf2fc5752d3560d0adac5 Signed-off-by: rexlee8776 <limingjiang@huawei.com>
2017-12-13bugfix: tc078 fails in some situationsrexlee87761-3/+7
1. make "SPECint_benchmark, runspec_iterations, runspec_tune, runspec_size, runspec_rate" parameterized and change the default value "int^429" to "int" 2. remove "become: true" in some roles since it does not need root privilege JIRA: YARDSTICK-852 Change-Id: Icb384bddc12911e2681a981d0504e0e142d1a8ec Signed-off-by: rexlee8776 <limingjiang@huawei.com>
2017-12-01Merge "KVMFORNFV: Reverting LiveMigration changes"Jing Lu2-13/+11
2017-11-30KVMFORNFV: Reverting LiveMigration changesNavya Bathula2-13/+11
This patch consists of reverting the changes of patch 45227 and incudes redirecting the console output of the LiveMigration execution to /dev/null as the stdout contains only the statistics, i.e., totaltime, downtime and setuptime. This reverts commit 5a1f65d3e7d67488ee6f558dccfa5ca5581ddb65. Change-Id: I252b5a4045657cfa8362e9aae755249480cd3b77 Signed-off-by: Navya <navyax.bathula@intel.com>
2017-11-17Merge "Create get_description and get_scenario_type for Scenario"Ross Brattain1-0/+14
2017-11-07Create get_description and get_scenario_type for ScenarioRodolfo Alonso Hernandez1-0/+14
Created two new class functions for Scenario class: * "get_description" will return the first line of the docstring, if exists. * "get_scenario_type" will return the value of "__scenario_type__" variable. Change-Id: I8e3b47e33e0bae101b874c3975bb9c383397d188 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2017-10-28tc053 kill haproxy wrong mismatchrexlee87761-0/+5
JIRA: YARDSTICK-831 Change-Id: I587c486572f439952b8a31da664d1e2c1fb8dc27 Signed-off-by: rexlee8776 <limingjiang@huawei.com>
2017-10-25KVMFORNFV: To avoid livemigration result update to jsonNavya1-2/+2
This patch is used to remove the livemigration testcase result loaded to json as there is no dashboard implemented for the testcase Change-Id: I7a9589a0bbc5f2a28587c2878da042fc50af18e0 Signed-off-by: Navya Bathula <navyax.bathula@intel.com>
2017-10-19Merge "add CheckConnectivity scenario"Jing Lu1-0/+99
2017-10-19add CheckConnectivity scenarioJingLu51-0/+99
Change-Id: I9d246828790467c2a57ba410826ee9751fff89c5 Signed-off-by: JingLu5 <lvjing5@huawei.com>
2017-10-18Merge "Fio: support input job file configuration"Jing Lu1-1/+16
2017-10-17Fio: support input job file configurationJingLu51-1/+16
Change-Id: I4bb15a398819e54f7fb3e9eac17daa4059c03376 Signed-off-by: JingLu5 <lvjing5@huawei.com>
2017-10-12Support to add multiple src/dst ports in flowDeepak S1-0/+6
Change-Id: I888a6029efaad8308de8df6b6787dd46af5f1c55 Signed-off-by: Deepak S <deepak.s@linux.intel.com>
2017-10-12ping: always save rtt data, influxdb ignore empty dataRoss Brattain1-8/+27
If the SLA was failing we were raising AssertionError and not storing the rtt in the data dict. This caused influxdb parse errors because the data was empty. Fixup influxdb to ignore records with no data, so we don't try to parse no data. Change the ping logic to always record the rtt result even if the SLA was not met. Also fixup ping logic in cases where ping does not return results. If SLA is defined use SLA * 10 otherwise use large float that doesn't break the grafana scale too much, maybe 999999 JIRA: YARDSTICK-809 Change-Id: Id2d51216581644a80e8c7b9aa98919a766008adf Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-10-12KVMFORNFV: To verify the execution of the bash scriptNavya1-5/+20
This patch is used to verify the parameters passed and the flow of qemu_migrate_benchmark.bash script to handle the bugs Change-Id: Ifc1bfa7a91a2eed178b9dc984c222074f06e0599 Signed-off-by: Navya Bathula <navyax.bathula@intel.com>
2017-10-12Merge "Use "protocol" parameters in iperf3 yaml and task file"Ross Brattain1-8/+12
2017-10-11Use "protocol" parameters in iperf3 yaml and task fileAce Lee1-8/+12
JIRA: YARDSTICK-755 There is a history problem that iperf use udp to set a net protocol. This code will change it to protocol. so you could use 'tcp','udp' and other protocol. Change-Id: I1a101013dfe58165a3ed08aa77f0aa2f73d57a12 Signed-off-by: Ace Lee <liyin11@huawei.com>
2017-10-10TC008 Interrupt Affinity FixJing Zhang1-3/+8
The smp_affinity takes hex mask, currently it is given hex number. Change-Id: Id738bfe10551dad1f5df48910a230b12f50d1b3d JIRA: YARDSTICK-818 Signed-off-by: Jing Zhang <jing.c.zhang@nokia.com>
2017-10-05KVMFORNFV:Livemigration testcase changes in YardstickNavya1-2/+3
This patch includes changing the function call to place the respective bash file to the given TARGET_SCRIPT path. Change-Id: Iba2adf4bdb6d9045493f5099e29ade4e8e6b5cd3 Signed-off-by: Navya <navyax.bathula@intel.com>
2017-10-05Merge "Add intermediate variables for attacker,monitor,result_checker"Ross Brattain9-44/+61
2017-10-04rewrite _generate_pod_yaml to combine name and pkey settingRoss Brattain1-16/+13
just deepcopy and change. This will probably break in the future if we use anything other than dicts and list. Change-Id: I9a9b0c5b09b3e3ebd7ed593bf6339ea030605f93 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-10-04Add intermediate variables for attacker,monitor,result_checkerqiujuan9-44/+61
JIRA: YARDSTICK-790 Change-Id: I6bb36c98b8673155d3142fc54cfb39315d5ce613 Signed-off-by: qiujuan <juan_qiu@tongji.edu.cn>
2017-10-03NSB PROX test hang fixesRoss Brattain1-5/+19
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-02add collectd resource node capabilityRoss Brattain1-6/+6
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-02drain runner queue and undo cancel_join_threadRoss Brattain1-1/+0
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-01cancel all queue join threadsRoss Brattain1-0/+1
In some cases we are blocking in base.Runner join() because the queues are not empty call cancel_join_thread to prevent the Queue from blocking the Process exit https://docs.python.org/3.3/library/multiprocessing.html#all-platforms Joining processes that use queues Bear in mind that a process that has put items in a queue will wait before terminating until all the buffered items are fed by the "feeder" thread to the underlying pipe. (The child process can call the cancel_join_thread() method of the queue to avoid this behaviour.) This means that whenever you use a queue you need to make sure that all items which have been put on the queue will eventually be removed before the process is joined. Otherwise you cannot be sure that processes which have put items on the queue will terminate. Remember also that non-daemonic processes will be joined automatically. Warning As mentioned above, if a child process has put items on a queue (and it has not used JoinableQueue.cancel_join_thread), then that process will not terminate until all buffered items have been flushed to the pipe. This means that if you try joining that process you may get a deadlock unless you are sure that all items which have been put on the queue have been consumed. Similarly, if the child process is non-daemonic then the parent process may hang on exit when it tries to join all its non-daemonic children. cancel_join_thread() Prevent join_thread() from blocking. In particular, this prevents the background thread from being joined automatically when the process exits – see join_thread(). A better name for this method might be allow_exit_without_flush(). It is likely to cause enqueued data to lost, and you almost certainly will not need to use it. It is really only there if you need the current process to exit immediately without waiting to flush enqueued data to the underlying pipe, and you don’t care about lost data. Change-Id: I345c722a752bddf9f0824a11cdf52ae9f04669af Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-09-29Merge "NSB: ignore VNF node if there is no VNF model"Ross Brattain1-1/+5
2017-09-28vnf_generic: Fix str object has no attribute itemsDino Madarang1-4/+8
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-28NSB: ignore VNF node if there is no VNF modelRoss Brattain1-1/+5
Change-Id: I571289c744441a6114c6d45ac6cbd7cfc0dafef2 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-09-27Merge "[PATCH] Patch for Yardstick arm64 netperf_install.bash"Ross Brattain1-0/+42
2017-09-26Merge "Enable IP_ROUTING for netperf UDP_STREAM test"Ross Brattain1-0/+4
2017-09-25[PATCH] Patch for Yardstick arm64 netperf_install.bashTrevor Tao1-0/+42
Change-Id: Ic384c4603e7482f150fd4c4d2d6a6448a45ddb9e Signed-off-by: Trevor Tao <trevor.tao@arm.com>
2017-09-21bugfix: tc025 should use ipmi to poweroffroot2-31/+36
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-20Merge "Generate pod.yaml from current context"Ross Brattain1-0/+34
2017-09-20Merge "Heat: use pkey from string instead of key_filename"Ross Brattain1-0/+11
2017-09-20Enable IP_ROUTING for netperf UDP_STREAM testTrevor Tao1-0/+4
To avoid the following ERROR when netperf test between 2 different subnets: ERROR netperf: send_omni: send_data failed: Network is unreachable For detail, please see: https://serverfault.com/questions/802320/netperf-iptables-\ masquerade-network-unreachable Or: https://stackoverflow.com/questions/11981480/error-in-running-\ netperf-udp-stream-over-openvpn Change-Id: I62b202844861440deaf3bf0f65b41561bd87ae87 Signed-off-by: Trevor Tao <trevor.tao@arm.com>
2017-09-18Heat: use pkey from string instead of key_filenameRoss Brattain1-0/+11
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-18NSB: count from 0, vnf_0, tg_9, private->uplink, public->downlinkRoss Brattain1-4/+4
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-15vnf_generic: adjust ssh timeout for number of VNFsRoss Brattain1-4/+9
we assume the time it takes to start multiple instances is proportional to the number of instances so we scale the timeout based on the number of instances. Change-Id: I6901890d3f184ac4e38e1d6823b96c291579e04a Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-09-15Generate pod.yaml from current contextRoss Brattain1-0/+34
We want to generate pod.yaml from Heat contexts so we can re-use the context without destroying it. But we don't have node role information and it doesn't make sense in this case, so make the role optional. Since we changed Heat to use pkey instead of key_filename, we can embed the pkey into the pod.yaml, but we have to make sure to convert the pkey to string, in case it is a RSAKey object Change-Id: Ibefcfbd8236e68013a704c39964cb870da825da8 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-09-15Merge "NSB: fix port topology"Ross Brattain1-19/+34
2017-09-15Merge "improve logging, clear using print"Rex Lee2-2/+2
2017-09-14NSB: fix port topologyMartin Banszel1-19/+34
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-13Heat: support non-mesh network toplogyRoss Brattain1-5/+24
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-14improve logging, clear using printrexlee87762-2/+2
Change-Id: I744353f631cf1771d75f750543e8612f81be71ee Signed-off-by: rexlee8776 <limingjiang@huawei.com>
2017-09-12Merge "KVMFORNFV:Livemigration testcase changes in Yardstick"Rex Lee2-2/+6
2017-09-08Merge "testcase: add rate parameter for spec cpu 2006"Jing Lu1-0/+3