[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] xm-test: update enforce_dom0_cpus testcase
I chose to update the test to SKIP if dom0 isn't proper configured which at this point means SMP host and dom0 with at least 2 VCPUs online. Also I noticed that the test was still using vcpu-enable which is no longer available via xm; we use vcpu-set. This patch fixes the issue where after successfully running the test, dom0's vcpu state was not restored. Updated some comments and lines that exceeded 80 columns. -- Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx (512) 838-9253 T/L: 678-9253 ryanh@xxxxxxxxxx diffstat output: 01_enforce_dom0_cpus_basic_pos.py | 55 ++++++++++++++++++++++++-------------- 1 files changed, 36 insertions(+), 19 deletions(-) Signed-off-by: Ryan Harper <ryanh@xxxxxxxxxx> --- # HG changeset patch # User Ryan Harper <ryanh@xxxxxxxxxx> # Node ID 279b674363bc78a284284bd62b9a0e2b5c65acb6 # Parent 1e3977e029fddc1e53995a3502d590f8a07e5c62 Fix up enforce_dom0_cpu test case to check that dom0 has at least 2 vcpus online. Also fix bogus call to vcpu-enable; xm now uses vcpu-set as method for enable/disable of vcpus. Previously after a successful test run, this test would not leave dom0 in the same state as it was when the test started. Also some comment language changes and 80 column formatting. diff -r 1e3977e029fd -r 279b674363bc tools/xm-test/tests/enforce_dom0_cpus/01_enforce_dom0_cpus_basic_pos.py --- a/tools/xm-test/tests/enforce_dom0_cpus/01_enforce_dom0_cpus_basic_pos.py Mon May 8 18:21:41 2006 +++ b/tools/xm-test/tests/enforce_dom0_cpus/01_enforce_dom0_cpus_basic_pos.py Tue May 9 19:19:47 2006 @@ -4,20 +4,23 @@ # Authors: Dan Smith <danms@xxxxxxxxxx> # Ryan Harper <ryanh@xxxxxxxxxx> -# 1) Make sure we have a multi cpu system +# 1) Make sure we have a multi cpu system and dom0 has at +# least 2 vcpus online. # 2) clone standard config (/etc/xen/xend-config.sxp) # 3) modify clone with enforce_dom0_cpus=X # 4) restart xend with modified config # 5) check /proc/cpuinfo for cpu count -# 6) check xm list -v to see that only 1 cpu is online for dom0 -# 7) Restart xend with default config +# 6) check xm info 'VCPUs' field to see that only 'enforce_dom0_cpus' +# number of cpus are online in dom0 +# 7) Restore initial dom0 vcpu state +# 8) Restart xend with default config import sys import re import time import os -# what value should dom0_cpus be enforced? +# what value should dom0_cpus enforce? enforce_dom0_cpus=1 from XmTestLib import * @@ -25,12 +28,19 @@ check_status = 1 max_tries = 10 -# 1) Make sure we have a multi cpu system +# 1) Make sure we have a multi cpu system and dom0 has at least 2 vcpus online. if smpConcurrencyLevel() <= 1: print "*** NOTE: This machine does not have more than one physical" print " or logical cpu. The vcpu-disable test cannot be run!" SKIP("Host not capable of running test") + +# count number of online vcpus in dom0 +dom0_online_vcpus = int(getDomInfo("Domain-0", "VCPUs")) +if dom0_online_vcpus <= 1: + print "*** NOTE: DOM0 needs at least 2 VCPUs online to run this test" + print " Please enable additional vcpus if possible via xm vcpu-set" + SKIP("Host state not capable of running test") # 2) clone standard config (/etc/xen/xend-config.sxp) # 3) modify clone with enforce_dom0_cpus=1 @@ -65,26 +75,33 @@ if output != str(enforce_dom0_cpus): os.unsetenv("XEND_CONFIG") restartXend() - FAIL("/proc/cpuinfo says xend didn't enforce dom0_cpus (%s != %s)" %(output, enforce_dom0_cpus)) + FAIL("/proc/cpuinfo says xend didn't enforce dom0_cpus (%s != %s)"%(output, + enforce_dom0_cpus)) -# 7) count number of online cpus and see that it matches enforce value -dom0vcpus = getVcpuInfo("Domain-0") -num_online = len(filter(lambda x: x >= 0, dom0vcpus.values())) +# 6) count number of online cpus and see that it matches enforce value +num_online = int(getDomInfo("Domain-0", "VCPUs")) if num_online != enforce_dom0_cpus: os.unsetenv("XEND_CONFIG") restartXend() - FAIL("xm says xend didn't enforce dom0_cpus (%s != %s)" %(num_online, enforce_dom0_cpus)) + FAIL("xm says xend didn't enforce dom0_cpus (%s != %s)" %(num_online, + enforce_dom0_cpus)) -# restore dead processors -for (k,v) in zip(dom0vcpus.keys(),dom0vcpus.values()): - if v == -1: - status, output = traceCommand("xm vcpu-enable 0 %s"%(k)) - if check_status and status != 0: - os.unsetenv("XEND_CONFIG") - restartXend() - FAIL("\"%s\" returned invalid %i != 0" %(cmd,status)) +# 7) restore dead processors +status, output = traceCommand("xm vcpu-set 0 %s"%(dom0_online_vcpus)) +if check_status and status != 0: + os.unsetenv("XEND_CONFIG") + restartXend() + FAIL("\"%s\" returned invalid %i != 0" %(cmd,status)) -# Restart xend with default config +# check restore worked +num_online = int(getDomInfo("Domain-0", "VCPUs")) +if num_online != dom0_online_vcpus: + os.unsetenv("XEND_CONFIG") + restartXend() + FAIL("failed to restore dom0's VCPUs") + + +# 8) Restart xend with default config os.unsetenv("XEND_CONFIG") restartXend() _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |