+++ /dev/null
-#!/usr/bin/env python
-
-"""
-invirt-setquota allows an administrator to set the RAM quotas for an owner.
-Invoking with only an owner name returns the current quotas for that owner.
-Setting a parameter to -1 restores the default.
-
-Examples:
-
- invirt-setquota joeuser -t 512 -s None
-"""
-
-from invirt.database import *
-from sys import argv, exit, stderr, stdout
-from optparse import OptionParser
-
-class invirt_exception(Exception): pass
-
-def main(argv):
- try:
- parser = OptionParser(usage = '%prog owner [options]',
- description = __doc__.strip().split('\n\n')[0])
- parser.add_option('-t', '--total',
- type = 'int',
- dest = 'total',
- help = 'set the total concurrent RAM quota')
- parser.add_option('-s', '--single',
- type = 'int',
- dest = 'single',
- help = 'set the single VM RAM quota')
- opts, args = parser.parse_args()
-
- if len(args) != 1:
- raise invirt_exception(__doc__.strip())
- owner = args[0]
- connect()
- session.begin()
-
- x = Owner.query().filter_by(owner_id=owner).first()
-
- edited = False
- if opts.total != None:
- total = int(opts.total)
- if total == -1:
- x.ram_quota_total = None
- else:
- x.ram_quota_total = total
- edited = True
-
- if opts.single != None:
- single = int(opts.single)
- if single == -1:
- x.ram_quota_single = None
- else:
- x.ram_quota_single = single
- edited = True
-
- if edited:
- session.commit()
- print str(x)
-
- except invirt_exception, ex:
- print >> stderr, ex
- return 1
-
-if __name__ == '__main__':
- exit(main(argv))