1
|
from mx.DateTime import TimeDelta
|
2
|
|
3
|
A_prematureends = [True, False]
|
4
|
BC_prematureends = [True, False]
|
5
|
BC_requesttimes = [(TimeDelta(minutes=15), TimeDelta(minutes=20)),
|
6
|
(TimeDelta(minutes=40), TimeDelta(minutes=45)),
|
7
|
(TimeDelta(minutes=45), TimeDelta(minutes=105))]
|
8
|
|
9
|
numfile = 1
|
10
|
|
11
|
for A_prematureend in A_prematureends:
|
12
|
for BC_prematureend in BC_prematureends:
|
13
|
for (B_requesttime, C_requesttime) in BC_requesttimes:
|
14
|
f = open ("deadline10-%i.lwf" % numfile, "w")
|
15
|
|
16
|
print >> f, """<?xml version="1.0"?>
|
17
|
<lease-workload name="deadline10">
|
18
|
<description>
|
19
|
"""
|
20
|
|
21
|
if A_prematureend:
|
22
|
print >> f, "First lease ends prematurely."
|
23
|
else:
|
24
|
print >> f, "First lease does not end prematurely."
|
25
|
|
26
|
if BC_prematureend:
|
27
|
print >> f, "Second and third lease end prematurely."
|
28
|
else:
|
29
|
print >> f, "Second and third lease do not end prematurely."
|
30
|
|
31
|
print >> f, "Second and third lease start at %s and %s" % (B_requesttime, C_requesttime)
|
32
|
|
33
|
print >> f, """
|
34
|
</description>
|
35
|
|
36
|
<site>
|
37
|
<resource-types names="CPU Memory"/>
|
38
|
<nodes>
|
39
|
<node-set numnodes="4">
|
40
|
<res type="CPU" amount="100"/>
|
41
|
<res type="Memory" amount="1024"/>
|
42
|
</node-set>
|
43
|
</nodes>
|
44
|
</site>
|
45
|
<lease-requests>
|
46
|
|
47
|
<lease-request arrival="00:00:00.00">"""
|
48
|
if A_prematureend:
|
49
|
print >> f, """<realduration time="01:30:00.00"/>"""
|
50
|
|
51
|
print >> f, """
|
52
|
<lease id="1" preemptible="true">
|
53
|
<nodes>
|
54
|
<node-set numnodes="4">
|
55
|
<res amount="100" type="CPU"/>
|
56
|
<res amount="1024" type="Memory"/>
|
57
|
</node-set>
|
58
|
</nodes>
|
59
|
<start>
|
60
|
<exact time="00:30:00.00"/>
|
61
|
</start>
|
62
|
<duration time="02:00:00.00"/>
|
63
|
<deadline time="10:00:00.00"/>
|
64
|
<software>
|
65
|
<disk-image id="foobar1.img" size="1024"/>
|
66
|
</software>
|
67
|
</lease>
|
68
|
</lease-request>
|
69
|
<lease-request arrival="%s">""" % B_requesttime
|
70
|
if BC_prematureend:
|
71
|
print >> f, """<realduration time="00:10:00.00"/>"""
|
72
|
|
73
|
print >> f, """
|
74
|
<lease id="2" preemptible="true">
|
75
|
<nodes>
|
76
|
<node-set numnodes="4">
|
77
|
<res amount="100" type="CPU"/>
|
78
|
<res amount="1024" type="Memory"/>
|
79
|
</node-set>
|
80
|
</nodes>
|
81
|
<start>
|
82
|
<exact time="01:00:00.00"/>
|
83
|
</start>
|
84
|
<duration time="00:15:00.00"/>
|
85
|
<deadline time="01:15:00.00"/>
|
86
|
<software>
|
87
|
<disk-image id="foobar1.img" size="1024"/>
|
88
|
</software>
|
89
|
</lease>
|
90
|
</lease-request>
|
91
|
<lease-request arrival="%s">""" % C_requesttime
|
92
|
if BC_prematureend:
|
93
|
print >> f, """<realduration time="00:10:00.00"/>"""
|
94
|
|
95
|
print >> f, """
|
96
|
<lease id="3" preemptible="true">
|
97
|
<nodes>
|
98
|
<node-set numnodes="4">
|
99
|
<res amount="100" type="CPU"/>
|
100
|
<res amount="1024" type="Memory"/>
|
101
|
</node-set>
|
102
|
</nodes>
|
103
|
<start>
|
104
|
<exact time="02:00:00.00"/>
|
105
|
</start>
|
106
|
<duration time="00:15:00.00"/>
|
107
|
<deadline time="02:15:00.00"/>
|
108
|
<software>
|
109
|
<disk-image id="foobar1.img" size="1024"/>
|
110
|
</software>
|
111
|
</lease>
|
112
|
</lease-request>
|
113
|
</lease-requests>
|
114
|
</lease-workload>"""
|
115
|
|
116
|
f.close()
|
117
|
print " def test_deadline10_%i(self):" % numfile
|
118
|
print " self._tracefile_test(\"deadline10-%i.lwf\")" % numfile
|
119
|
print " self._verify_done([1,2,3])"
|
120
|
print
|
121
|
numfile += 1
|