Revision 41a7fae7 snf-cyclades-app/synnefo/quotas/tests.py
b/snf-cyclades-app/synnefo/quotas/tests.py | ||
---|---|---|
51 | 51 |
|
52 | 52 |
def test_vm_holdings(self): |
53 | 53 |
flavor = mfactory.FlavorFactory(cpu=24, ram=8192, disk=20, |
54 |
disk_template='drbd') |
|
54 |
disk_template='drbd')
|
|
55 | 55 |
mfactory.VirtualMachineFactory() |
56 |
mfactory.VirtualMachineFactory(flavor=flavor, userid="user1") |
|
56 |
mfactory.VirtualMachineFactory(flavor=flavor, userid="user1", |
|
57 |
operstate="BUILD") |
|
57 | 58 |
user_holdings = {"user1": {"cyclades.vm": 1, |
58 | 59 |
"cyclades.cpu": 24, |
60 |
"cyclades.active_cpu": 24, |
|
59 | 61 |
"cyclades.disk": 21474836480, |
60 |
"cyclades.ram": 8589934592}} |
|
62 |
"cyclades.ram": 8589934592, |
|
63 |
"cyclades.active_ram": 8589934592}} |
|
61 | 64 |
holdings = util.get_db_holdings(user="user1") |
62 | 65 |
self.assertEqual(holdings, user_holdings) |
63 | 66 |
holdings = util.get_db_holdings() |
64 | 67 |
self.assertEqual(holdings["user1"], user_holdings["user1"]) |
68 |
mfactory.VirtualMachineFactory(flavor=flavor, userid="user1") |
|
69 |
## |
|
70 |
mfactory.VirtualMachineFactory(flavor=flavor, userid="user2", |
|
71 |
operstate="STARTED") |
|
72 |
user_holdings = {"user2": {"cyclades.vm": 1, |
|
73 |
"cyclades.cpu": 24, |
|
74 |
"cyclades.active_cpu": 24, |
|
75 |
"cyclades.disk": 21474836480, |
|
76 |
"cyclades.ram": 8589934592, |
|
77 |
"cyclades.active_ram": 8589934592}} |
|
78 |
holdings = util.get_db_holdings(user="user2") |
|
79 |
self.assertEqual(holdings, user_holdings) |
|
80 |
mfactory.VirtualMachineFactory(flavor=flavor, userid="user3", |
|
81 |
operstate="STOPPED") |
|
82 |
user_holdings = {"user3": {"cyclades.vm": 1, |
|
83 |
"cyclades.cpu": 24, |
|
84 |
"cyclades.disk": 21474836480, |
|
85 |
"cyclades.ram": 8589934592}} |
|
86 |
holdings = util.get_db_holdings(user="user3") |
|
87 |
self.assertEqual(holdings, user_holdings) |
|
88 |
|
|
65 | 89 |
|
66 | 90 |
def test_network_holdings(self): |
67 | 91 |
mfactory.NetworkFactory(userid="user1") |
... | ... | |
96 | 120 |
qh.return_value = [21, 25, 28] |
97 | 121 |
pending = quotas.resolve_pending_commissions() |
98 | 122 |
self.assertEqual(pending, ([25], [28, 21])) |
123 |
|
|
124 |
|
|
125 |
class GetCommissionInfoTest(TestCase): |
|
126 |
def test_commissions(self): |
|
127 |
flavor = mfactory.FlavorFactory(cpu=2, ram=1024, disk=20) |
|
128 |
vm = mfactory.VirtualMachineFactory(flavor=flavor) |
|
129 |
#commission = quotas.get_commission_info(vm, "BUILD") |
|
130 |
#self.assertEqual({"cyclades.vm": 1, |
|
131 |
# "cyclades.cpu": 2, |
|
132 |
# "cyclades.active_cpu": 2, |
|
133 |
# "cyclades.ram": 1048576 * 1024, |
|
134 |
# "cyclades.active_ram": 1048576 * 1024, |
|
135 |
# "cyclades.disk": 1073741824 * 20}, commission) |
|
136 |
vm.operstate = "STARTED" |
|
137 |
vm.save() |
|
138 |
commission = quotas.get_commission_info(vm, "STOP") |
|
139 |
self.assertEqual({"cyclades.active_cpu": -2, |
|
140 |
"cyclades.active_ram": 1048576 * -1024}, commission) |
|
141 |
# Check None quotas if vm is already stopped |
|
142 |
vm.operstate = "STOPPED" |
|
143 |
vm.save() |
|
144 |
commission = quotas.get_commission_info(vm, "STOP") |
|
145 |
self.assertEqual(None, commission) |
|
146 |
commission = quotas.get_commission_info(vm, "START") |
|
147 |
self.assertEqual({"cyclades.active_cpu": 2, |
|
148 |
"cyclades.active_ram": 1048576 * 1024}, commission) |
|
149 |
vm.operstate = "STARTED" |
|
150 |
vm.save() |
|
151 |
commission = quotas.get_commission_info(vm, "DESTROY") |
|
152 |
self.assertEqual({"cyclades.vm": -1, |
|
153 |
"cyclades.cpu": -2, |
|
154 |
"cyclades.active_cpu": -2, |
|
155 |
"cyclades.ram": 1048576 * -1024, |
|
156 |
"cyclades.active_ram": 1048576 * -1024, |
|
157 |
"cyclades.disk": 1073741824 * -20}, commission) |
|
158 |
vm.operstate = "STOPPED" |
|
159 |
vm.save() |
|
160 |
commission = quotas.get_commission_info(vm, "DESTROY") |
|
161 |
self.assertEqual({"cyclades.vm": -1, |
|
162 |
"cyclades.cpu": -2, |
|
163 |
"cyclades.ram": 1048576 * -1024, |
|
164 |
"cyclades.disk": 1073741824 * -20}, commission) |
|
165 |
commission = quotas.get_commission_info(vm, "RESIZE") |
|
166 |
self.assertEqual(None, commission) |
|
167 |
commission = quotas.get_commission_info(vm, "RESIZE", |
|
168 |
{"beparams": {"vcpus": 4, |
|
169 |
"maxmem":2048}}) |
|
170 |
self.assertEqual({"cyclades.cpu": 2, |
|
171 |
"cyclades.ram": 1048576 * 1024}, commission) |
|
172 |
vm.operstate = "STOPPED" |
|
173 |
vm.save() |
|
174 |
commission = quotas.get_commission_info(vm, "REBOOT") |
|
175 |
self.assertEqual({"cyclades.active_cpu": 2, |
|
176 |
"cyclades.active_ram": 1048576 * 1024}, commission) |
|
177 |
vm.operstate = "STARTED" |
|
178 |
vm.save() |
|
179 |
commission = quotas.get_commission_info(vm, "REBOOT") |
|
180 |
self.assertEqual(None, commission) |
Also available in: Unified diff