Project

General

Profile

root / trunk / tests / test_xmlrpc.py @ 632

1
from common import BaseXMLRPCTest
2
from mx.DateTime import TimeDelta
3
from haizea.common.utils import reset_lease_id_counter
4
import haizea.cli.rpc_commands as rpc
5
import time
6

    
7
class TestXMLRPC(BaseXMLRPCTest):
8
    def __init__(self):
9
        self.config = self.load_configfile("base_config_simulator.conf")
10
        self.config.set("simulation", "clock", "real")
11
        self.config.set("simulation", "resources", "4  CPU:100 Memory:1024")
12
        self.config.set("scheduling", "backfilling", "off")
13
        self.config.set("scheduling", "non-schedulable-interval", "2")
14
   
15
    def test_getters(self):
16
        self.start()
17
        cmd = rpc.haizea_list_hosts(["-D"])
18
        cmd.run()
19
        cmd = rpc.haizea_list_leases(["-D"])
20
        cmd.run()
21
        cmd = rpc.haizea_show_queue(["-D"])
22
        cmd.run()
23
        self.stop()
24
        
25
    def test_ar(self):
26
        reset_lease_id_counter()
27
        self.start()
28
        cmd = rpc.haizea_request_lease(["-D", "-t", "+00:01:00", "-d", "00:10:00", "-n", "1", "--non-preemptible", 
29
                                        "-c", "1", "-m", "512", "-i", "foobar.img", "-z", "600"])
30
        cmd.run()
31
        time.sleep(5)
32
        cmd = rpc.haizea_list_leases(["-D"])
33
        cmd.run()
34
        cmd = rpc.haizea_cancel_lease(["-D", "-l", "1"])
35
        cmd.run()
36
        cmd = rpc.haizea_list_leases(["-D"])
37
        cmd.run()
38
        self.stop()
39
    
40
    def test_be(self):
41
        reset_lease_id_counter()        
42
        self.start()
43
        cmd = rpc.haizea_request_lease(["-D", "-t", "best_effort", "-d", "00:10:00", "-n", "4", "--non-preemptible", 
44
                                        "-c", "1", "-m", "512", "-i", "foobar.img", "-z", "600"])
45
        cmd.run()
46
        cmd = rpc.haizea_request_lease(["-D", "-t", "best_effort", "-d", "00:10:00", "-n", "4", "--non-preemptible", 
47
                                        "-c", "1", "-m", "512", "-i", "foobar.img", "-z", "600"])
48
        cmd.run()
49
        time.sleep(7)
50
        cmd = rpc.haizea_list_leases(["-D"])
51
        cmd.run()
52
        # Cancel the queued request
53
        cmd = rpc.haizea_cancel_lease(["-D", "-l", "2"])
54
        cmd.run()
55
        cmd = rpc.haizea_list_leases(["-D"])
56
        cmd.run()
57
        # Cancel the running request
58
        cmd = rpc.haizea_cancel_lease(["-D", "-l", "1"])
59
        cmd.run()
60
        cmd = rpc.haizea_list_leases(["-D"])
61
        cmd.run()
62
        self.stop()
63
    
64
    def test_im(self):
65
        reset_lease_id_counter()  
66
        self.start()
67
        cmd = rpc.haizea_request_lease(["-D", "-t", "now", "-d", "00:10:00", "-n", "1", "--non-preemptible", 
68
                                        "-c", "1", "-m", "512", "-i", "foobar.img", "-z", "600"])
69
        cmd.run()
70
        time.sleep(5)
71
        cmd = rpc.haizea_list_leases(["-D"])
72
        cmd.run()
73
        cmd = rpc.haizea_cancel_lease(["-D", "-l", "1"])
74
        cmd.run()
75
        cmd = rpc.haizea_list_leases(["-D"])
76
        cmd.run()
77
        self.stop()