Revision 5083fc47 snf-cyclades-app/synnefo/quotas/util.py
b/snf-cyclades-app/synnefo/quotas/util.py | ||
---|---|---|
51 | 51 |
floating_ips = floating_ips.filter(userid=user) |
52 | 52 |
|
53 | 53 |
# Get resources related with VMs |
54 |
vm_resources = vms.values("userid").annotate(num=Count("id"), |
|
55 |
ram=Sum("flavor__ram"), |
|
56 |
cpu=Sum("flavor__cpu"), |
|
57 |
disk=Sum("flavor__disk")) |
|
54 |
vm_resources = vms.values("userid")\ |
|
55 |
.annotate(num=Count("id"), |
|
56 |
total_ram=Sum("flavor__ram"), |
|
57 |
total_cpu=Sum("flavor__cpu"), |
|
58 |
disk=Sum("flavor__disk")) |
|
58 | 59 |
vm_active_resources = \ |
59 | 60 |
vms.values("userid")\ |
60 | 61 |
.filter(Q(operstate="STARTED") | Q(operstate="BUILD") | |
61 | 62 |
Q(operstate="ERROR"))\ |
62 |
.annotate(active_ram=Sum("flavor__ram"),
|
|
63 |
active_cpu=Sum("flavor__cpu"))
|
|
63 |
.annotate(ram=Sum("flavor__ram"), |
|
64 |
cpu=Sum("flavor__cpu")) |
|
64 | 65 |
|
65 | 66 |
for vm_res in vm_resources.iterator(): |
66 | 67 |
user = vm_res['userid'] |
67 | 68 |
res = {"cyclades.vm": vm_res["num"], |
68 |
"cyclades.cpu": vm_res["cpu"],
|
|
69 |
"cyclades.total_cpu": vm_res["total_cpu"],
|
|
69 | 70 |
"cyclades.disk": 1073741824 * vm_res["disk"], |
70 |
"cyclades.ram": 1048576 * vm_res["ram"]}
|
|
71 |
"cyclades.total_ram": 1048576 * vm_res["total_ram"]}
|
|
71 | 72 |
holdings[user] = res |
72 | 73 |
|
73 | 74 |
for vm_res in vm_active_resources.iterator(): |
74 | 75 |
user = vm_res['userid'] |
75 |
holdings[user]["cyclades.active_cpu"] = vm_res["active_cpu"]
|
|
76 |
holdings[user]["cyclades.active_ram"] = 1048576 * vm_res["active_ram"]
|
|
76 |
holdings[user]["cyclades.cpu"] = vm_res["cpu"]
|
|
77 |
holdings[user]["cyclades.ram"] = 1048576 * vm_res["ram"]
|
|
77 | 78 |
|
78 | 79 |
# Get resources related with networks |
79 | 80 |
net_resources = networks.values("userid")\ |
Also available in: Unified diff