Merge "Soft delete instance group member when delete instance"
This commit is contained in:
@@ -2031,6 +2031,9 @@ 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()
|
||||
# NOTE(snikitin): We can't use model_query here, because there is no
|
||||
# column 'deleted' in 'tags' table.
|
||||
context.session.query(models.Tag).filter_by(
|
||||
|
||||
@@ -2810,6 +2810,23 @@ 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 = str(stdlib_uuid.uuid4())
|
||||
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_instance_update_and_get_original(self):
|
||||
instance = self.create_instance_with_args(vm_state='building')
|
||||
(old_ref, new_ref) = db.instance_update_and_get_original(self.ctxt,
|
||||
|
||||
Reference in New Issue
Block a user