def test_qos_specs_update(self): name = "FakeName" specs_id = self._create_qos_specs(name) value = dict(key2="new_value2", key3="value3") self.assertRaises(exception.QoSSpecsNotFound, db.qos_specs_update, self.ctxt, "Fake-UUID", value) db.qos_specs_update(self.ctxt, specs_id, value) specs = db.qos_specs_get(self.ctxt, specs_id) self.assertEqual(specs["specs"]["key2"], "new_value2") self.assertEqual(specs["specs"]["key3"], "value3")
def save(self): updates = self.cinder_obj_get_changes() if updates: if "specs_keys_removed" in updates.keys(): for specs_key_to_remove in updates["specs_keys_removed"]: db.qos_specs_item_delete(self._context, self.id, specs_key_to_remove) del updates["specs_keys_removed"] db.qos_specs_update(self._context, self.id, updates) self.obj_reset_changes()
def test_qos_specs_update(self): name = 'FakeName' specs_id = self._create_qos_specs(name) value = dict(key2='new_value2', key3='value3') self.assertRaises(exception.QoSSpecsNotFound, db.qos_specs_update, self.ctxt, 'Fake-UUID', value) db.qos_specs_update(self.ctxt, specs_id, value) specs = db.qos_specs_get(self.ctxt, specs_id) self.assertEqual(specs['specs']['key2'], 'new_value2') self.assertEqual(specs['specs']['key3'], 'value3')
def test_qos_specs_update(self): name = 'FakeName' specs_id = self._create_qos_specs(name) value = dict(key2='new_value2', key3='value3') self.assertRaises(exception.QoSSpecsNotFound, db.qos_specs_update, self.ctxt, 'Fake-UUID', value) db.qos_specs_update(self.ctxt, specs_id, value) specs = db.qos_specs_get(self.ctxt, specs_id) self.assertEqual('new_value2', specs['specs']['key2']) self.assertEqual('value3', specs['specs']['key3'])
def save(self): updates = self.cinder_obj_get_changes() if updates: if 'specs_keys_removed' in updates.keys(): for specs_key_to_remove in updates['specs_keys_removed']: db.qos_specs_item_delete(self._context, self.id, specs_key_to_remove) del updates['specs_keys_removed'] db.qos_specs_update(self._context, self.id, updates) self.obj_reset_changes()
def test_qos_specs_update(self): name = 'FakeName' specs_id = self._create_qos_specs(name) value = dict(key2='new_value2', key3='value3') self.assertRaises(exception.QoSSpecsNotFound, db.qos_specs_update, self.ctxt, fake.WILL_NOT_BE_FOUND_ID, value) db.qos_specs_update(self.ctxt, specs_id, value) specs = db.qos_specs_get(self.ctxt, specs_id) self.assertEqual('new_value2', specs['specs']['key2']) self.assertEqual('value3', specs['specs']['key3'])
def test_qos_specs_update(self): name = 'FakeName' specs_id = self._create_qos_specs(name) value = {'consumer': 'both', 'specs': {'key2': 'new_value2', 'key3': 'value3'}} self.assertRaises(exception.QoSSpecsNotFound, db.qos_specs_update, self.ctxt, fake.WILL_NOT_BE_FOUND_ID, value) db.qos_specs_update(self.ctxt, specs_id, value) specs = db.qos_specs_get(self.ctxt, specs_id) self.assertEqual('new_value2', specs['specs']['key2']) self.assertEqual('value3', specs['specs']['key3']) self.assertEqual('both', specs['consumer'])
def test_qos_specs_update(self): name = 'FakeName' specs_id = self._create_qos_specs(name) value = { 'consumer': 'both', 'specs': { 'key2': 'new_value2', 'key3': 'value3' } } self.assertRaises(exception.QoSSpecsNotFound, db.qos_specs_update, self.ctxt, fake.WILL_NOT_BE_FOUND_ID, value) db.qos_specs_update(self.ctxt, specs_id, value) specs = db.qos_specs_get(self.ctxt, specs_id) self.assertEqual('new_value2', specs['specs']['key2']) self.assertEqual('value3', specs['specs']['key3']) self.assertEqual('both', specs['consumer'])
def update(context, qos_specs_id, specs): """Update qos specs. :param specs dictionary that contains key/value pairs for updating existing specs. e.g. {'consumer': 'front-end', 'total_iops_sec': 500, 'total_bytes_sec': 512000,} """ # need to verify specs in case 'consumer' is passed _verify_prepare_qos_specs(specs, create=False) LOG.debug("qos_specs.update(): specs %s" % specs) try: res = db.qos_specs_update(context, qos_specs_id, specs) except db_exc.DBError as e: LOG.exception(_LE("DB error: %s") % e) raise exception.QoSSpecsUpdateFailed(specs_id=qos_specs_id, qos_specs=specs) return res
def update(context, qos_specs_id, specs): """Update qos specs. :param specs dictionary that contains key/value pairs for updating existing specs. e.g. {'consumer': 'front-end', 'total_iops_sec': 500, 'total_bytes_sec': 512000,} """ # need to verify specs in case 'consumer' is passed _verify_prepare_qos_specs(specs, create=False) LOG.debug('qos_specs.update(): specs %s' % specs) try: res = db.qos_specs_update(context, qos_specs_id, specs) except db_exc.DBError as e: LOG.exception(_('DB error: %s') % e) raise exception.QoSSpecsUpdateFailed(specs_id=qos_specs_id, qos_specs=specs) return res