def add_parm(name, data_type, max_size, min_size=0, restart_required=0): DatastoreConfigurationParameters.create( datastore_version_id=main_dsv.id, name=name, restart_required=restart_required, max_size=max_size, min_size=0, data_type=data_type, deleted=0, deleted_at=None)
def _validate_configuration(values, datastore_version=None): LOG.info(_("Validating configuration values")) for k, v in values.iteritems(): rule = DatastoreConfigurationParameters.load_parameter_by_name( datastore_version.id, k) if not rule or rule.deleted: output = {"key": k} msg = _("The parameter provided for the configuration " "%(key)s is not available.") % output raise exception.UnprocessableEntity(message=msg) # type checking value_type = rule.data_type if not isinstance(v, ConfigurationsController._find_type(value_type)): output = {"key": k, "type": value_type} msg = _("The value provided for the configuration " "parameter %(key)s is not of type %(type)s.") % output raise exception.UnprocessableEntity(message=msg) # integer min/max checking if isinstance(v, (int, long)) and not isinstance(v, bool): try: min_value = int(rule.min_size) except ValueError: raise exception.TroveError( _("Invalid or unsupported min value defined in the " "configuration-parameters configuration file. " "Expected integer.")) if v < min_value: output = {"key": k, "min": min_value} message = _("The value for the configuration parameter " "%(key)s is less than the minimum allowed: " "%(min)s") % output raise exception.UnprocessableEntity(message=message) try: max_value = int(rule.max_size) except ValueError: raise exception.TroveError( _("Invalid or unsupported max value defined in the " "configuration-parameters configuration file. " "Expected integer.")) if v > max_value: output = {"key": k, "max": max_value} message = _("The value for the configuration parameter " "%(key)s is greater than the maximum " "allowed: %(max)s") % output raise exception.UnprocessableEntity(message=message)
def _validate_configuration(values, datastore_version=None): LOG.info(_("Validating configuration values")) for k, v in values.iteritems(): rule = DatastoreConfigurationParameters.load_parameter_by_name( datastore_version.id, k) if not rule or rule.deleted: output = {"key": k} msg = _("The parameter provided for the configuration " "%(key)s is not available.") % output raise exception.UnprocessableEntity(message=msg) # type checking value_type = rule.data_type if not isinstance(v, ConfigurationsController._find_type( value_type)): output = {"key": k, "type": value_type} msg = _("The value provided for the configuration " "parameter %(key)s is not of type %(type)s.") % output raise exception.UnprocessableEntity(message=msg) # integer min/max checking if isinstance(v, (int, long)) and not isinstance(v, bool): try: min_value = int(rule.min_size) except ValueError: raise exception.TroveError(_( "Invalid or unsupported min value defined in the " "configuration-parameters configuration file. " "Expected integer.")) if v < min_value: output = {"key": k, "min": min_value} message = _("The value for the configuration parameter " "%(key)s is less than the minimum allowed: " "%(min)s") % output raise exception.UnprocessableEntity(message=message) try: max_value = int(rule.max_size) except ValueError: raise exception.TroveError(_( "Invalid or unsupported max value defined in the " "configuration-parameters configuration file. " "Expected integer.")) if v > max_value: output = {"key": k, "max": max_value} message = _("The value for the configuration parameter " "%(key)s is greater than the maximum " "allowed: %(max)s") % output raise exception.UnprocessableEntity(message=message)