Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
JIRA: YARDSTICK-867
1.print result in the log, showing the txt format result
Change-Id: I6deeb4cf44895ef7a6c6d231c77b3843eec285d7
Signed-off-by: rexlee8776 <limingjiang@huawei.com>
|
|
|
|
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>
|
|
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>
|
|
|
|
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>
|
|
|
|
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>
|
|
JIRA: YARDSTICK-831
Change-Id: I587c486572f439952b8a31da664d1e2c1fb8dc27
Signed-off-by: rexlee8776 <limingjiang@huawei.com>
|
|
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>
|
|
|
|
Change-Id: I9d246828790467c2a57ba410826ee9751fff89c5
Signed-off-by: JingLu5 <lvjing5@huawei.com>
|
|
|
|
Change-Id: I4bb15a398819e54f7fb3e9eac17daa4059c03376
Signed-off-by: JingLu5 <lvjing5@huawei.com>
|
|
Change-Id: I888a6029efaad8308de8df6b6787dd46af5f1c55
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
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>
|
|
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>
|
|
|
|
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>
|
|
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>
|
|
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>
|
|
|
|
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>
|
|
JIRA: YARDSTICK-790
Change-Id: I6bb36c98b8673155d3142fc54cfb39315d5ce613
Signed-off-by: qiujuan <juan_qiu@tongji.edu.cn>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
|
|
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>
|
|
Change-Id: I571289c744441a6114c6d45ac6cbd7cfc0dafef2
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
|
|
|
|
Change-Id: Ic384c4603e7482f150fd4c4d2d6a6448a45ddb9e
Signed-off-by: Trevor Tao <trevor.tao@arm.com>
|
|
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>
|
|
|
|
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
|
|
|
|
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>
|
|
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>
|
|
Change-Id: I744353f631cf1771d75f750543e8612f81be71ee
Signed-off-by: rexlee8776 <limingjiang@huawei.com>
|
|
|
|
|