예제 #1
0
 def _create_qos_specs(self, name, values=None):
     """Create a transfer object."""
     if values:
         specs = dict(name=name, qos_specs=values)
     else:
         specs = {"name": name, "qos_specs": {"consumer": "back-end", "key1": "value1", "key2": "value2"}}
     return db.qos_specs_create(self.ctxt, specs)["id"]
예제 #2
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
예제 #3
0
    def _create_qos_specs(self, name, consumer="back-end", values=None):
        """Create a transfer object."""
        if values is None:
            values = {"key1": "value1", "key2": "value2"}

        specs = {"name": name, "consumer": consumer, "specs": values}
        return db.qos_specs_create(self.ctxt, specs)["id"]
예제 #4
0
    def _create_qos_specs(self, name, consumer='back-end', values=None):
        """Create a transfer object."""
        if values is None:
            values = {'key1': 'value1', 'key2': 'value2'}

        specs = {'name': name,
                 'consumer': consumer,
                 'specs': values}
        return db.qos_specs_create(self.ctxt, specs)['id']
예제 #5
0
 def _create_qos_specs(self, name, values=None):
     """Create a transfer object."""
     if values:
         specs = dict(name=name, qos_specs=values)
     else:
         specs = {'name': name,
                  'qos_specs': {
                      'consumer': 'back-end',
                      'key1': 'value1',
                      'key2': 'value2'}}
     return db.qos_specs_create(self.ctxt, specs)['id']
예제 #6
0
 def _create_qos_specs(self, name, values=None):
     """Create a transfer object."""
     if values:
         specs = dict(name=name, qos_specs=values)
     else:
         specs = {
             'name': name,
             'consumer': 'back-end',
             'specs': {
                 'key1': 'value1',
                 'key2': 'value2'
             }
         }
     return db.qos_specs_create(self.ctxt, specs)['id']
예제 #7
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(_LE("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)
예제 #8
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)
예제 #9
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
예제 #10
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(_LE("DB error: %s") % e)
        raise exception.QoSSpecsCreateFailed(name=name, qos_specs=specs)
    return qos_specs_ref
예제 #11
0
파일: qos_specs.py 프로젝트: ngdmcc/cinder
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
예제 #12
0
def create_qos(ctxt, testcase_instance=None, **kwargs):
    qos = db.qos_specs_create(ctxt, kwargs)
    if testcase_instance:
        testcase_instance.addCleanup(db.qos_specs_delete, ctxt, qos['id'])
    return qos
예제 #13
0
def create_qos(ctxt, testcase_instance=None, **kwargs):
    qos = db.qos_specs_create(ctxt, kwargs)
    if testcase_instance:
        testcase_instance.addCleanup(db.qos_specs_delete, ctxt, qos['id'])
    return qos