3
# Copyright (C) International Business Machines Corp., 2005
4
# Author: Dan Smith <danms@us.ibm.com>
5
# Author: Ryan Harper <ryanh@us.ibm.com>
7
from XmTestLib import *
9
def get_sedf_params(domain):
10
status, output = traceCommand("xm sched-sedf %s" %(domain.getName()))
11
return (status, output.split('\n')[1].split())
14
domain = XmTestDomain(extraConfig = {"sched":"sedf"})
17
domain.start(noConsole=True)
18
except DomainError, e:
20
print "Failed to create test domain because:"
24
# get current param values as baseline
25
(status, params) = get_sedf_params(domain)
29
FAIL("Getting sedf parameters return non-zero rv (%d)", status)
31
# parse out current params
32
(name, domid, p, s, l, e, w) = params
34
# toggle extratime value
35
extratime = str((int(e)+1)%2)
38
# NB: when disabling extratime(=0), must pass in a slice
39
opts = "%s -e %s" %(domain.getName(), extratime)
41
opts += " -s %s" %( str( (float(p)/2)+1 ) )
44
(status, output) = traceCommand("xm sched-sedf %s" %(opts))
48
FAIL("Setting sedf parameters return non-zero rv (%d)" % status)
51
(s,params) = get_sedf_params(domain)
55
FAIL("Getting sedf parameters return non-zero rv (%d)" % s)
57
(name,domid,p1,s1,l1,e1,w1) = params
60
FAIL("Failed to %s extratime" %(direction))
62
# Stop the domain (nice shutdown)