Пример #1
0
def return_qos_specs_create(context, name, specs):
    if name == "666":
        raise exception.QoSSpecsExists(specs_id=name)
    elif name == "555":
        raise exception.QoSSpecsCreateFailed(name=id, qos_specs=specs)
    elif name == "444":
        raise exception.InvalidQoSSpecs(reason=name)
    pass
Пример #2
0
def return_qos_specs_create(context, name, specs):
    if name == 'qos_spec_%s' % fake.ALREADY_EXISTS_ID:
        raise exception.QoSSpecsExists(specs_id=name)
    elif name == 'qos_spec_%s' % fake.ACTION_FAILED_ID:
        raise exception.QoSSpecsCreateFailed(name=id, qos_specs=specs)
    elif name == 'qos_spec_%s' % fake.INVALID_ID:
        raise exception.InvalidQoSSpecs(reason=name)
    pass
Пример #3
0
def return_qos_specs_create(context, name, specs):
    if name == 'qos_spec_%s' % fake.ALREADY_EXISTS_ID:
        raise exception.QoSSpecsExists(specs_id=name)
    elif name == 'qos_spec_%s' % fake.ACTION_FAILED_ID:
        raise exception.QoSSpecsCreateFailed(name=id, qos_specs=specs)
    elif name == 'qos_spec_%s' % fake.INVALID_ID:
        raise exception.InvalidQoSSpecs(reason=name)

    return objects.QualityOfServiceSpecs(name=name,
                                         specs=specs,
                                         consumer='back-end',
                                         id=fake.QOS_SPEC_ID)
Пример #4
0
    def create(self):
        if self.obj_attr_is_set('id'):
            raise exception.ObjectActionError(action='create',
                                              reason='already created')
        updates = self.cinder_obj_get_changes()

        try:
            create_ret = db.qos_specs_create(self._context, updates)
        except db_exc.DBDataError:
            msg = _('Error writing field to database')
            LOG.exception(msg)
            raise exception.Invalid(msg)
        except db_exc.DBError:
            LOG.exception('DB error occurred when creating QoS specs.')
            raise exception.QoSSpecsCreateFailed(name=self.name,
                                                 qos_specs=self.specs)
        # Save ID with the object
        updates['id'] = create_ret['id']
        self._from_db_object(self._context, self, updates)
Пример #5
0
def create(context, name, specs=None):
    """Creates qos_specs.

    :param specs dictionary that contains specifications for QoS
          e.g. {'consumer': 'front-end',
                'total_iops_sec': 1000,
                'total_bytes_sec': 1024000}
    """
    _verify_prepare_qos_specs(specs)

    values = dict(name=name, qos_specs=specs)

    LOG.debug("Dict for qos_specs: %s" % values)

    try:
        qos_specs_ref = db.qos_specs_create(context, values)
    except db_exc.DBError as e:
        LOG.exception(_('DB error: %s') % e)
        raise exception.QoSSpecsCreateFailed(name=name, qos_specs=specs)
    return qos_specs_ref
Пример #6
0
def create(context, name, specs=None):
    """Creates qos_specs.

    :param specs dictionary that contains specifications for QoS
          e.g. {'consumer': 'front-end',
                'total_iops_sec': 1000,
                'total_bytes_sec': 1024000}
    """
    _verify_prepare_qos_specs(specs)

    values = dict(name=name, qos_specs=specs)

    LOG.debug("Dict for qos_specs: %s", values)

    try:
        qos_specs_ref = db.qos_specs_create(context, values)
    except db_exc.DBDataError:
        msg = _('Error writing field to database')
        LOG.exception(msg)
        raise exception.Invalid(msg)
    except db_exc.DBError:
        LOG.exception(_LE('DB error:'))
        raise exception.QoSSpecsCreateFailed(name=name, qos_specs=specs)
    return qos_specs_ref