Statistics
| Branch: | Tag: | Revision:

root / db / charger.py @ 432fc8c3

History | View | Annotate | Download (616 Bytes)

1 fcbc5bb3 Vassilios Karakoidas
#
2 fcbc5bb3 Vassilios Karakoidas
# Charger - Administration script
3 fcbc5bb3 Vassilios Karakoidas
#
4 fcbc5bb3 Vassilios Karakoidas
# Executed hourly to charge vm usage for each user
5 fcbc5bb3 Vassilios Karakoidas
#
6 578b725c Vassilios Karakoidas
# Copyright 2010 Greek Research and Technology Network
7 fcbc5bb3 Vassilios Karakoidas
#
8 fcbc5bb3 Vassilios Karakoidas
9 738c4d47 Georgios Gousios
from synnefo.db.models import VirtualMachine
10 fcbc5bb3 Vassilios Karakoidas
11 6bffabbd Vassilios Karakoidas
from logic import credits
12 04a6d900 Vassilios Karakoidas
13 452d2391 Vassilios Karakoidas
def periodically_charge():
14 b90da243 Vassilios Karakoidas
    """Scan all virtual machines and charge each user"""
15 b46e0e43 Georgios Gousios
    active_vms = VirtualMachine.objects.filter(deleted=False)
16 578b725c Vassilios Karakoidas
    
17 6bffabbd Vassilios Karakoidas
    if not len(active_vms):
18 578b725c Vassilios Karakoidas
        print "No virtual machines found"
19 452d2391 Vassilios Karakoidas
        return
20 fcbc5bb3 Vassilios Karakoidas
    
21 6bffabbd Vassilios Karakoidas
    for vm in active_vms:
22 04a6d900 Vassilios Karakoidas
        # Running and Stopped is charged, else the cost is zero
23 6bffabbd Vassilios Karakoidas
        credits.charge(vm)
24 d08a5f6f Vangelis Koukis
25 d08a5f6f Vangelis Koukis
# vim: set ts=4 sts=4 sw=4 et ai :