Remove old flavor_access_get_by_flavor_id db api method

We haven't used this since the flavor migration compat
code was removed:

I4107af592448e20fe929f8fa3112929e3685b581

Change-Id: I9d3220aaafaad754f0975cf4bf72e86b50253d15
This commit is contained in:
Matt Riedemann 2018-01-31 17:03:46 -05:00
parent c1442d3c8c
commit 27c7c88737
3 changed files with 0 additions and 93 deletions

View File

@ -1578,17 +1578,6 @@ def flavor_extra_specs_delete(context, flavor_id, key):
"""Delete the given extra specs item."""
IMPL.flavor_extra_specs_delete(context, flavor_id, key)
def flavor_extra_specs_update_or_create(context, flavor_id,
extra_specs):
"""Create or update instance type extra specs.
This adds or modifies the key/value pairs specified in the
extra specs dict argument
"""
IMPL.flavor_extra_specs_update_or_create(context, flavor_id,
extra_specs)
####################

View File

@ -4862,47 +4862,6 @@ def flavor_extra_specs_delete(context, flavor_id, key):
extra_specs_key=key, flavor_id=flavor_id)
@require_context
@pick_context_manager_writer
def flavor_extra_specs_update_or_create(context, flavor_id, specs,
max_retries=10):
for attempt in range(max_retries):
try:
instance_type_id = _flavor_get_id_from_flavor(context, flavor_id)
spec_refs = model_query(context, models.InstanceTypeExtraSpecs,
read_deleted="no").\
filter_by(instance_type_id=instance_type_id).\
filter(models.InstanceTypeExtraSpecs.key.in_(specs.keys())).\
all()
existing_keys = set()
for spec_ref in spec_refs:
key = spec_ref["key"]
existing_keys.add(key)
with get_context_manager(context).writer.savepoint.using(
context):
spec_ref.update({"value": specs[key]})
for key, value in specs.items():
if key in existing_keys:
continue
spec_ref = models.InstanceTypeExtraSpecs()
with get_context_manager(context).writer.savepoint.using(
context):
spec_ref.update({"key": key, "value": value,
"instance_type_id": instance_type_id})
context.session.add(spec_ref)
return specs
except db_exc.DBDuplicateEntry:
# a concurrent transaction has been committed,
# try again unless this was the last attempt
if attempt == max_retries - 1:
raise exception.FlavorExtraSpecUpdateCreateFailed(
id=flavor_id, retries=max_retries)
####################

View File

@ -4495,16 +4495,6 @@ class InstanceTypeTestCase(BaseInstanceTypeTestCase):
ignored_keys)
self._assertEqualObjects(extra_specs, flavor['extra_specs'])
@mock.patch('sqlalchemy.orm.query.Query.all', return_value=[])
def test_flavor_create_with_extra_specs_duplicate(self, mock_all):
extra_specs = dict(key='value')
flavorid = 'flavorid'
self._create_flavor({'flavorid': flavorid, 'extra_specs': extra_specs})
self.assertRaises(exception.FlavorExtraSpecUpdateCreateFailed,
db.flavor_extra_specs_update_or_create,
self.ctxt, flavorid, extra_specs)
def test_flavor_get_all(self):
# NOTE(boris-42): Remove base instance types
for it in db.flavor_get_all(self.ctxt):
@ -4790,37 +4780,6 @@ class InstanceTypeExtraSpecsTestCase(BaseInstanceTypeTestCase):
db.flavor_extra_specs_delete,
self.ctxt, it['flavorid'], 'dummy')
def test_flavor_extra_specs_update_or_create(self):
for it in self.flavors:
current_specs = it['extra_specs']
current_specs.update(dict(b='b1', c='c1', d='d1', e='e1'))
params = (self.ctxt, it['flavorid'], current_specs)
db.flavor_extra_specs_update_or_create(*params)
real_specs = db.flavor_extra_specs_get(self.ctxt, it['flavorid'])
self._assertEqualObjects(current_specs, real_specs)
def test_flavor_extra_specs_update_or_create_flavor_not_found(self):
self.assertRaises(exception.FlavorNotFound,
db.flavor_extra_specs_update_or_create,
self.ctxt, 'nonexists', {})
def test_flavor_extra_specs_update_or_create_retry(self):
def counted():
def get_id(context, flavorid):
get_id.counter += 1
raise db_exc.DBDuplicateEntry
get_id.counter = 0
return get_id
get_id = counted()
self.stub_out('nova.db.sqlalchemy.api._flavor_get_id_from_flavor',
get_id)
self.assertRaises(exception.FlavorExtraSpecUpdateCreateFailed,
sqlalchemy_api.flavor_extra_specs_update_or_create,
self.ctxt, 1, {}, 5)
self.assertEqual(get_id.counter, 5)
class InstanceTypeAccessTestCase(BaseInstanceTypeTestCase):