def _max_attempts(self): max_attempts = CONF.scheduler.scheduler_max_attempts if max_attempts < 1: raise exception.InvalidParameterValue( err=_("Invalid value for 'scheduler_max_attempts', " "must be >=1")) return max_attempts
def quota_update(self, context, project_id, resource_name, updates): if 'resource_name' in updates or 'project_id' in updates: msg = _("Cannot overwrite resource_name/project_id for " "an existing Quota.") raise exception.InvalidParameterValue(err=msg) try: return self._do_update_quota(context, project_id, resource_name, updates) except db_exc.DBDuplicateEntry: pass
def server_update(self, context, server_id, values): if 'uuid' in values: msg = _("Cannot overwrite UUID for an existing Server.") raise exception.InvalidParameterValue(err=msg) try: return self._do_update_server(context, server_id, values) except db_exc.DBDuplicateEntry as e: if 'name' in e.columns: raise exception.DuplicateName(name=values['name'])
def aggregate_update(self, context, aggregate_id, values): if 'uuid' in values: msg = _("Cannot overwrite UUID for an existing aggregate.") raise exception.InvalidParameterValue(err=msg) try: result = self._do_update_aggregate(context, aggregate_id, values) except db_exc.DBDuplicateEntry as e: if 'name' in e.columns: raise exception.DuplicateName(name=values['name']) return result
def wrapper(**kw): obj_type = kw.pop('object_type') result = func(**kw) extra_args = set(kw) - set(result) if extra_args: raise exception.InvalidParameterValue( _("Unknown keyword arguments (%(extra)s) were passed " "while creating a test %(object_type)s object.") % {"extra": ", ".join(extra_args), "object_type": obj_type}) return result
def check_schema(body, schema): """Ensure all necessary keys are present and correct in create body. Check that the user-specified create body is in the expected format and include the required information. :param body: create body :raises InvalidParameterValue: if validation of create body fails. """ validator = jsonschema.Draft4Validator( schema, format_checker=jsonschema.FormatChecker()) try: validator.validate(body) except jsonschema.ValidationError as exc: raise exception.InvalidParameterValue( _('Invalid create body: %s') % exc)
def add_identity_filter(query, value): """Adds an identity filter to a query. Filters results by ID, if supplied value is a valid integer. Otherwise attempts to filter results by UUID. :param query: Initial query to add filter to. :param value: Value for filtering results by. :return: Modified query. """ if strutils.is_int_like(value): return query.filter_by(id=value) elif uuidutils.is_uuid_like(value): return query.filter_by(uuid=value) else: raise exception.InvalidParameterValue(identity=value)
def _paginate_query(context, model, limit=None, marker=None, sort_key=None, sort_dir=None, query=None): if not query: query = model_query(context, model) sort_keys = ['id'] if sort_key and sort_key not in sort_keys: sort_keys.insert(0, sort_key) try: query = sqlalchemyutils.paginate_query(query, model, limit, sort_keys, marker=marker, sort_dir=sort_dir) except db_exc.InvalidSortKey: raise exception.InvalidParameterValue( _('The sort_key value "%(key)s" is an invalid field for sorting') % {'key': sort_key}) return query.all()