Merge "Delete related encryption provider when a volume type is deleting"

This commit is contained in:
Zuul 2019-01-15 04:08:32 +00:00 committed by Gerrit Code Review
commit b02f3c4878
2 changed files with 24 additions and 0 deletions

View File

@ -4204,6 +4204,11 @@ def volume_type_destroy(context, id):
update({'deleted': True,
'deleted_at': utcnow,
'updated_at': literal_column('updated_at')})
model_query(context, models.Encryption, session=session).\
filter_by(volume_type_id=id).\
update({'deleted': True,
'deleted_at': utcnow,
'updated_at': literal_column('updated_at')})
model_query(context, models.VolumeTypeProjects, session=session,
read_deleted="int_no").filter_by(
volume_type_id=id).soft_delete(synchronize_session=False)

View File

@ -47,6 +47,25 @@ class VolumeTypeTestCase(test.TestCase):
visible="True")
self.vol_type1_description = self.vol_type1_name + '_desc'
def test_volume_type_destroy_with_encryption(self):
volume_type = volume_types.create(self.ctxt, "type1")
volume_type_id = volume_type.get('id')
encryption = {
'control_location': 'front-end',
'provider': 'fake_provider',
}
db_api.volume_type_encryption_create(self.ctxt, volume_type_id,
encryption)
ret = volume_types.get_volume_type_encryption(self.ctxt,
volume_type_id)
self.assertIsNotNone(ret)
volume_types.destroy(self.ctxt, volume_type_id)
ret = volume_types.get_volume_type_encryption(self.ctxt,
volume_type_id)
self.assertIsNone(ret)
def test_get_volume_type_by_name_with_uuid_name(self):
"""Ensure volume types can be created and found."""
uuid_format_name = uuidutils.generate_uuid()