def set_container_quota(args): try: utils = ManageAccounts() try: quota = int(args.quota) except: raise ValueError('Invalid quota') accounts = [args.account] if args.account \ else utils.existing_accounts() failed = [] def update_container_policy(account): trans = utils.backend.wrapper.conn.begin() try: utils.backend.update_container_policy(account, account, args.container, {'quota': quota}) if args.dry: print "Skipping database commit." trans.rollback() else: trans.commit() except Exception as e: failed.append((account, e)) map(update_container_policy, accounts) if failed and args.report: sys.stdout.write('Failed for the following accounts:\n') pprint_table(sys.stdout, failed, headers=[]) except Exception as e: sys.stderr.write('%s\n' % e) finally: utils.cleanup()
def export_quota(args): try: utils = ManageAccounts() d = utils.backend.node.node_account_quotas() location = os.path.abspath(os.path.expanduser(args.location)) f = open(location, 'w') for uuid, capacity in d.iteritems(): f.write(' '.join([uuid, 'pithos.diskspace', capacity])) f.write('\n') except Exception, e: sys.stderr.write('%s\n' % e)
def list(args): try: utils = ManageAccounts() if args.only_duplicate: accounts = utils.duplicate_accounts() else: accounts = utils.existing_accounts() headers = ['uuid'] table = [(a, ) for a in accounts] if args.output_format != "json" and not args.headers: headers = None pprint_table(sys.stdout, table, headers, args.output_format) except Exception, e: sys.stderr.write('%s\n' % e)
def delete(args): try: utils = ManageAccounts() utils.delete_account(args.delete_account, only_stats=True) confirm = raw_input("Type 'yes' if you are sure you want " "to remove those entries: ") if not confirm == 'yes': return else: utils.delete_account(args.delete_account, only_stats=False, dry=args.dry) except Exception, e: sys.stderr.write('%s\n' % e)
def merge(args): try: utils = ManageAccounts() utils.merge_account(args.src_account, args.dest_account, only_stats=True) confirm = raw_input("Type 'yes' if you are sure you want" " to move those entries to %s: " % args.dest_account) if not confirm == 'yes': return else: utils.merge_account(args.src_account, args.dest_account, only_stats=False, dry=args.dry) except Exception as e: sys.stderr.write('%s\n' % e) finally: utils.cleanup()
def setUp(self): self.utils = ManageAccounts() self.accounts = ('account1', 'Account1', 'account2', 'account3') for i in self.accounts: self.utils.create_account(i)
def setUp(self): self.utils = ManageAccounts() self.backend = self.utils.backend self.utils.create_account('account')