4 invirt-setquota allows an administrator to set memory, disk, and VM quotas
5 for an owner. Invoking with only an owner name returns the current quotas for
6 that owner. Setting a parameter to -1 restores the default.
10 invirt-setquota joeuser -mt 512 -ms None
13 from invirt.database import *
14 from sys import argv, exit, stderr, stdout
15 from optparse import OptionParser
17 class invirt_exception(Exception): pass
21 parser = OptionParser(usage = '%prog owner [options]',
22 description = __doc__.strip().split('\n\n')[0])
23 parser.add_option('-m', '--mem-total',
26 help = 'set total concurrent RAM quota')
27 parser.add_option('-n', '--mem-single',
30 help = 'set single VM RAM quota')
31 parser.add_option('-d', '--disk-total',
34 help = 'set total disk quota')
35 parser.add_option('-e', '--disk-single',
38 help = 'set single VM disk quota')
39 parser.add_option('-v', '--vms-total',
42 help = 'set total VM quota')
43 parser.add_option('-w', '--vms-active',
46 help = 'set active VM quota')
47 opts, args = parser.parse_args()
51 raise invirt_exception(__doc__.strip())
56 x = Owner.query().filter_by(owner_id=owner).first()
59 if opts.memtotal != None:
60 total = int(opts.memtotal)
62 x.ram_quota_total = None
64 x.ram_quota_total = total
67 if opts.memsingle != None:
68 single = int(opts.memsingle)
70 x.ram_quota_single = None
72 x.ram_quota_single = single
75 if opts.disktotal != None:
76 total = int(opts.disktotal)
78 x.disk_quota_total = None
80 x.disk_quota_total = total
83 if opts.disksingle != None:
84 single = int(opts.disksingle)
86 x.disk_quota_single = None
88 x.disk_quota_single = single
91 if opts.vmstotal != None:
92 total = int(opts.vmstotal)
94 x.vms_quota_total = None
96 x.vms_quota_total = total
99 if opts.vmsactive != None:
100 active = int(opts.vmsactive)
102 x.vms_quota_active = None
104 x.vms_quota_active = active
111 except invirt_exception, ex:
115 if __name__ == '__main__':