Revision f5c6e3f4
b/admin/templates/index.html | ||
---|---|---|
29 | 29 |
<li><strong>{{ stats.networks }}</strong> Networks</li> |
30 | 30 |
<li><strong>{{ stats.invitations }}</strong> Invitations</li> |
31 | 31 |
</ul> |
32 |
<ul class="unstyled"> |
|
33 |
<li><strong>{{ stats.ganeti_instances }}</strong> Ganeti Instances</li> |
|
34 |
<li><strong>{{ stats.ganeti_nodes }}</strong> Ganeti Nodes</li> |
|
35 |
<li><strong>{{ stats.ganeti_jobs }}</strong> Ganeti Jobs</li> |
|
36 |
</ul> |
|
32 | 37 |
</div> |
33 | 38 |
</div> |
34 | 39 |
{% endblock body %} |
b/admin/views.py | ||
---|---|---|
7 | 7 |
|
8 | 8 |
from synnefo.db import models |
9 | 9 |
from synnefo.invitations.invitations import add_invitation, send_invitation |
10 |
from synnefo.logic import backend |
|
10 | 11 |
|
11 | 12 |
|
12 | 13 |
def render(template, tab, **kwargs): |
... | ... | |
23 | 24 |
stats['networks'] = models.Network.objects.exclude(state='DELETED').count() |
24 | 25 |
stats['invitations'] = models.Invitations.objects.count() |
25 | 26 |
|
27 |
stats['ganeti_instances'] = len(backend.get_ganeti_instances()) |
|
28 |
stats['ganeti_nodes'] = len(backend.get_ganeti_nodes()) |
|
29 |
stats['ganeti_jobs'] = len(backend.get_ganeti_jobs()) |
|
30 |
|
|
26 | 31 |
images = [] |
27 | 32 |
for image in models.Image.objects.exclude(state='DELETED'): |
28 | 33 |
vms = models.VirtualMachine.objects.filter(sourceimage=image) |
b/logic/backend.py | ||
---|---|---|
394 | 394 |
rapi.ModifyInstance(vm.backend_id, |
395 | 395 |
os_name=settings.GANETI_CREATEINSTANCE_KWARGS['os']) |
396 | 396 |
|
397 |
def get_ganeti_instances(): |
|
398 |
return rapi.GetInstances() |
|
399 |
|
|
400 |
def get_ganeti_nodes(): |
|
401 |
return rapi.GetNodes() |
|
402 |
|
|
403 |
def get_ganeti_jobs(): |
|
404 |
return rapi.GetJobs() |
Also available in: Unified diff