Exemple #1
0
    def set_limit(self, user, resource, capacity, force):
        style = None
        if capacity != 'default':
            try:
                capacity, style = units.parse_with_style(capacity)
            except:
                m = "Please specify capacity as a decimal integer or 'default'"
                raise CommandError(m)

        try:
            quota, default_capacity = user.get_resource_policy(resource)
        except Resource.DoesNotExist:
            raise CommandError("No such resource: %s" % resource)

        if not force:
            s_default = show_resource_value(default_capacity, resource, style)
            s_current = (show_resource_value(quota.capacity, resource, style)
                         if quota is not None else 'default')
            s_capacity = (show_resource_value(capacity, resource, style)
                          if capacity != 'default' else capacity)
            self.stdout.write("user: %s (%s)\n" % (user.uuid, user.username))
            self.stdout.write("default capacity: %s\n" % s_default)
            self.stdout.write("current capacity: %s\n" % s_current)
            self.stdout.write("new capacity: %s\n" % s_capacity)
            self.stdout.write("Confirm? (y/n) ")
            response = raw_input()
            if string.lower(response) not in ['y', 'yes']:
                self.stdout.write("Aborted.\n")
                return

        if capacity == 'default':
            try:
                quotas.remove_base_quota(user, resource)
            except Exception as e:
                import traceback
                traceback.print_exc()
                raise CommandError("Failed to remove policy: %s" % e)
        else:
            try:
                quotas.add_base_quota(user, resource, capacity)
            except Exception as e:
                raise CommandError("Failed to add policy: %s" % e)
Exemple #2
0
    def set_limits(self, users, resource, capacity, force=False, exclude=None):
        try:
            r = Resource.objects.get(name=resource)
        except Resource.DoesNotExist:
            raise CommandError("No such resource '%s'." % resource)

        style = None
        if capacity != "default":
            try:
                capacity, style = units.parse_with_style(capacity)
            except:
                m = ("Please specify capacity as a decimal integer or "
                     "'default'")
                raise CommandError(m)

        if not force:
            if len(users) == 1:
                self.handle_limits_user(users[0], r, capacity, style)
            else:
                self.handle_limits_all(r, capacity, exclude, style)

        if capacity == "default":
            capacity = r.uplimit
        quotas.update_base_quota(users, resource, capacity)
Exemple #3
0
    def set_limits(self, users, resource, capacity, force=False, exclude=None):
        try:
            r = Resource.objects.get(name=resource)
        except Resource.DoesNotExist:
            raise CommandError("No such resource '%s'." % resource)

        style = None
        if capacity != "default":
            try:
                capacity, style = units.parse_with_style(capacity)
            except:
                m = ("Please specify capacity as a decimal integer or "
                     "'default'")
                raise CommandError(m)

        if not force:
            if len(users) == 1:
                self.handle_limits_user(users[0], r, capacity, style)
            else:
                self.handle_limits_all(r, capacity, exclude, style)

        if capacity == "default":
            capacity = r.uplimit
        quotas.update_base_quota(users, resource, capacity)