Merge "Add encryption-type-delete to cinderclient"
This commit is contained in:
@@ -475,6 +475,9 @@ class FakeHTTPClient(base_client.HTTPClient):
|
||||
def put_types_1_encryption_1(self, body, **kw):
|
||||
return (200, {}, {})
|
||||
|
||||
def delete_types_1_encryption_provider(self, **kw):
|
||||
return (202, {}, None)
|
||||
|
||||
#
|
||||
# Set/Unset metadata
|
||||
#
|
||||
|
@@ -292,8 +292,14 @@ class ShellTest(utils.TestCase):
|
||||
def test_encryption_type_delete(self):
|
||||
"""
|
||||
Test encryption-type-delete shell command.
|
||||
|
||||
Verify one GET/one DELETE requests are made per command invocation:
|
||||
- one GET request to retrieve the relevant volume type information
|
||||
- one DELETE request to delete the encryption type information
|
||||
"""
|
||||
self.skipTest("Not implemented")
|
||||
self.run_command('encryption-type-delete 1')
|
||||
self.assert_called('DELETE', '/types/1/encryption/provider')
|
||||
self.assert_called_anytime('GET', '/types/1')
|
||||
|
||||
def test_migrate_volume(self):
|
||||
self.run_command('migrate 1234 fakehost --force-host-copy=True')
|
||||
|
@@ -91,5 +91,10 @@ class VolumeEncryptionTypesTest(utils.TestCase):
|
||||
def test_delete(self):
|
||||
"""
|
||||
Unit test for VolumeEncryptionTypesManager.delete
|
||||
|
||||
Verify that one DELETE request is made for encryption type deletion
|
||||
Verify that encryption type deletion returns None
|
||||
"""
|
||||
self.skipTest("Not implemented")
|
||||
result = cs.volume_encryption_types.delete(1)
|
||||
cs.assert_called('DELETE', '/types/1/encryption/provider')
|
||||
self.assertIsNone(result, "delete result must be None")
|
||||
|
@@ -484,6 +484,9 @@ class FakeHTTPClient(base_client.HTTPClient):
|
||||
def put_types_1_encryption_1(self, body, **kw):
|
||||
return (200, {}, {})
|
||||
|
||||
def delete_types_1_encryption_provider(self, **kw):
|
||||
return (202, {}, None)
|
||||
|
||||
#
|
||||
# Set/Unset metadata
|
||||
#
|
||||
|
@@ -270,8 +270,14 @@ class ShellTest(utils.TestCase):
|
||||
def test_encryption_type_delete(self):
|
||||
"""
|
||||
Test encryption-type-delete shell command.
|
||||
|
||||
Verify one GET/one DELETE requests are made per command invocation:
|
||||
- one GET request to retrieve the relevant volume type information
|
||||
- one DELETE request to delete the encryption type information
|
||||
"""
|
||||
self.skipTest("Not implemented")
|
||||
self.run_command('encryption-type-delete 1')
|
||||
self.assert_called('DELETE', '/types/1/encryption/provider')
|
||||
self.assert_called_anytime('GET', '/types/1')
|
||||
|
||||
def test_migrate_volume(self):
|
||||
self.run_command('migrate 1234 fakehost --force-host-copy=True')
|
||||
|
@@ -91,5 +91,10 @@ class VolumeEncryptionTypesTest(utils.TestCase):
|
||||
def test_delete(self):
|
||||
"""
|
||||
Unit test for VolumeEncryptionTypesManager.delete
|
||||
|
||||
Verify that one DELETE request is made for encryption type deletion
|
||||
Verify that encryption type deletion returns None
|
||||
"""
|
||||
self.skipTest("Not implemented")
|
||||
result = cs.volume_encryption_types.delete(1)
|
||||
cs.assert_called('DELETE', '/types/1/encryption/provider')
|
||||
self.assertIsNone(result, "delete result must be None")
|
||||
|
@@ -1147,6 +1147,17 @@ def do_encryption_type_create(cs, args):
|
||||
_print_volume_encryption_type_list([result])
|
||||
|
||||
|
||||
@utils.arg('volume_type',
|
||||
metavar='<volume_type>',
|
||||
type=str,
|
||||
help="Name or ID of the volume type")
|
||||
@utils.service_type('volume')
|
||||
def do_encryption_type_delete(cs, args):
|
||||
"""Delete the encryption type for a volume type (Admin Only)."""
|
||||
volume_type = _find_volume_type(cs, args.volume_type)
|
||||
cs.volume_encryption_types.delete(volume_type)
|
||||
|
||||
|
||||
@utils.arg('volume', metavar='<volume>', help='ID of the volume to migrate')
|
||||
@utils.arg('host', metavar='<host>', help='Destination host')
|
||||
@utils.arg('--force-host-copy', metavar='<True|False>',
|
||||
|
@@ -93,4 +93,5 @@ class VolumeEncryptionTypeManager(base.ManagerWithFind):
|
||||
:param volume_type: the volume type whose encryption type information
|
||||
must be deleted
|
||||
"""
|
||||
raise NotImplementedError()
|
||||
return self._delete("/types/%s/encryption/provider" %
|
||||
base.getid(volume_type))
|
||||
|
@@ -1241,6 +1241,17 @@ def do_encryption_type_create(cs, args):
|
||||
_print_volume_encryption_type_list([result])
|
||||
|
||||
|
||||
@utils.arg('volume_type',
|
||||
metavar='<volume_type>',
|
||||
type=str,
|
||||
help="Name or ID of the volume type")
|
||||
@utils.service_type('volumev2')
|
||||
def do_encryption_type_delete(cs, args):
|
||||
"""Delete the encryption type for a volume type (Admin Only)."""
|
||||
volume_type = _find_volume_type(cs, args.volume_type)
|
||||
cs.volume_encryption_types.delete(volume_type)
|
||||
|
||||
|
||||
def _print_qos_specs(qos_specs):
|
||||
utils.print_dict(qos_specs._info)
|
||||
|
||||
|
@@ -93,4 +93,5 @@ class VolumeEncryptionTypeManager(base.ManagerWithFind):
|
||||
:param volume_type: the volume type whose encryption type information
|
||||
must be deleted
|
||||
"""
|
||||
raise NotImplementedError()
|
||||
return self._delete("/types/%s/encryption/provider" %
|
||||
base.getid(volume_type))
|
||||
|
Reference in New Issue
Block a user