From 7f455490d3b064db714d3b76d9806a73acfb803a Mon Sep 17 00:00:00 2001 From: Matt Riedemann Date: Tue, 26 Jun 2018 18:19:46 -0400 Subject: [PATCH] Remove unused DB API instance_group_delete method Since Ifbd53b13fa0fef62e0329283b73d587f367e46c2 we no longer have compat code in the InstanceGroup object and everything is handled in the API database, so we can drop the legacy DB API methods for instance groups. This is part of a series of cleanup changes. Change-Id: I569ee5d582ce42d84afe2b4b6e702657abe8733b --- nova/db/api.py | 5 --- nova/db/sqlalchemy/api.py | 22 ---------- nova/tests/unit/db/test_db_api.py | 44 ------------------- .../unit/db/test_sqlalchemy_migration.py | 7 ++- 4 files changed, 5 insertions(+), 73 deletions(-) diff --git a/nova/db/api.py b/nova/db/api.py index f9134075d8a9..4459771b2ef3 100644 --- a/nova/db/api.py +++ b/nova/db/api.py @@ -929,11 +929,6 @@ def instance_group_update(context, group_uuid, values): return IMPL.instance_group_update(context, group_uuid, values) -def instance_group_delete(context, group_uuid): - """Delete an group.""" - return IMPL.instance_group_delete(context, group_uuid) - - def instance_group_get_all(context): """Get all groups.""" return IMPL.instance_group_get_all(context) diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py index f7e01ec2c459..76a425132ae6 100644 --- a/nova/db/sqlalchemy/api.py +++ b/nova/db/sqlalchemy/api.py @@ -1813,9 +1813,6 @@ def instance_destroy(context, instance_uuid, constraint=None): model_query(context, models.InstanceSystemMetadata).\ filter_by(instance_uuid=instance_uuid).\ soft_delete() - model_query(context, models.InstanceGroupMember).\ - filter_by(instance_id=instance_uuid).\ - soft_delete() model_query(context, models.BlockDeviceMapping).\ filter_by(instance_uuid=instance_uuid).\ soft_delete() @@ -5780,25 +5777,6 @@ def instance_group_update(context, group_uuid, values): values['members'] = members -@pick_context_manager_writer -def instance_group_delete(context, group_uuid): - """Delete a group.""" - group_id = _instance_group_id(context, group_uuid) - - count = _instance_group_get_query(context, - models.InstanceGroup, - models.InstanceGroup.uuid, - group_uuid).soft_delete() - if count == 0: - raise exception.InstanceGroupNotFound(group_uuid=group_uuid) - - # Delete policies, metadata and members - instance_models = [models.InstanceGroupPolicy, - models.InstanceGroupMember] - for model in instance_models: - model_query(context, model).filter_by(group_id=group_id).soft_delete() - - @pick_context_manager_reader def instance_group_get_all(context): """Get all groups.""" diff --git a/nova/tests/unit/db/test_db_api.py b/nova/tests/unit/db/test_db_api.py index 85e404d69082..60bd0a82bbcd 100644 --- a/nova/tests/unit/db/test_db_api.py +++ b/nova/tests/unit/db/test_db_api.py @@ -2485,23 +2485,6 @@ class InstanceTestCase(test.TestCase, ModelsObjectComparatorMixin): # Make sure instance faults is deleted as well self.assertEqual(0, len(faults[uuid])) - def test_delete_instance_group_member_on_instance_destroy(self): - ctxt = context.get_admin_context() - uuid = uuidsentinel.uuid1 - db.instance_create(ctxt, {'uuid': uuid}) - values = {'name': 'fake_name', 'user_id': 'fake', - 'project_id': 'fake'} - group = db.instance_group_create(ctxt, values, - policies=None, members=[uuid]) - self.assertEqual([uuid], - db.instance_group_members_get(ctxt, - group['uuid'])) - - db.instance_destroy(ctxt, uuid) - self.assertEqual([], - db.instance_group_members_get(ctxt, - group['uuid'])) - def test_delete_migrations_on_instance_destroy(self): ctxt = context.get_admin_context() uuid = uuidsentinel.uuid1 @@ -8593,26 +8576,12 @@ class InstanceGroupDBApiTestCase(test.TestCase, ModelsObjectComparatorMixin): 'created_at', 'project_id', 'user_id'] self._assertEqualObjects(result2, values, ignored_keys) - def test_instance_group_delete(self): - values = self._get_default_values() - result = self._create_instance_group(self.context, values) - db.instance_group_delete(self.context, result['uuid']) - self.assertRaises(exception.InstanceGroupNotFound, - db.instance_group_delete, self.context, - result['uuid']) - def test_instance_group_get_nonexistent(self): self.assertRaises(exception.InstanceGroupNotFound, db.instance_group_get, self.context, 'nonexistent') - def test_instance_group_delete_nonexistent(self): - self.assertRaises(exception.InstanceGroupNotFound, - db.instance_group_delete, - self.context, - 'nonexistent') - def test_instance_group_get_all(self): groups = db.instance_group_get_all(self.context) self.assertEqual(0, len(groups)) @@ -8701,13 +8670,6 @@ class InstanceGroupDBApiTestCase(test.TestCase, ModelsObjectComparatorMixin): db.instance_group_get, self.new_context, result['uuid']) - def test_instance_group_delete_by_other_project_user(self): - values = self._get_default_values() - result = self._create_instance_group(self.context, values) - self.assertRaises(exception.InstanceGroupNotFound, - db.instance_group_delete, - self.new_context, result['uuid']) - def test_instance_group_get_by_admin(self): values = self._get_default_values() result = self._create_instance_group(self.context, values) @@ -8717,12 +8679,6 @@ class InstanceGroupDBApiTestCase(test.TestCase, ModelsObjectComparatorMixin): self.assertEqual(values['user_id'], group.user_id) self.assertEqual(values['project_id'], group.project_id) - def test_instance_group_delete_by_admin(self): - values = self._get_default_values() - result = self._create_instance_group(self.context, values) - db.instance_group_delete(context.get_admin_context(), - result['uuid']) - class InstanceGroupMembersDBApiTestCase(InstanceGroupDBApiTestCase): def test_instance_group_members_on_create(self): diff --git a/nova/tests/unit/db/test_sqlalchemy_migration.py b/nova/tests/unit/db/test_sqlalchemy_migration.py index 3055c1468d73..82b7bdfd81cf 100644 --- a/nova/tests/unit/db/test_sqlalchemy_migration.py +++ b/nova/tests/unit/db/test_sqlalchemy_migration.py @@ -317,6 +317,7 @@ class TestOcataCheck(test.TestCase): 'project_id': 'bar', 'uuid': uuidsentinel.ig, 'name': 'baz', + 'deleted': 0 } def test_upgrade_clean(self): @@ -345,8 +346,10 @@ class TestOcataCheck(test.TestCase): self.migration.upgrade, self.engine) def test_upgrade_with_deleted_instance_groups(self): - group = db_api.instance_group_create(self.context, self.ig_values) - db_api.instance_group_delete(self.context, group['uuid']) + igs = db_utils.get_table(self.engine, 'instance_groups') + group_id = igs.insert().execute(self.ig_values).inserted_primary_key[0] + igs.update().where(igs.c.id == group_id).values( + deleted=group_id).execute() self.migration.upgrade(self.engine)