Merge "Handle dashes in encryption-type-create arguments"

This commit is contained in:
Jenkins 2017-05-24 15:46:56 +00:00 committed by Gerrit Code Review
commit 58c60e787f
2 changed files with 27 additions and 9 deletions

View File

@ -834,6 +834,17 @@ class ShellTest(utils.TestCase):
self.assert_called('POST', '/types/2/encryption', body=expected)
self.assert_called_anytime('GET', '/types/2')
@ddt.data('--key-size 512 --control-location front-end',
'--key_size 512 --control_location front-end') # old style
def test_encryption_type_create_with_args(self, arg):
expected = {'encryption': {'cipher': None,
'key_size': 512,
'provider': 'TestProvider',
'control_location': 'front-end'}}
self.run_command('encryption-type-create 2 TestProvider ' + arg)
self.assert_called('POST', '/types/2/encryption', body=expected)
self.assert_called_anytime('GET', '/types/2')
def test_encryption_type_update(self):
"""
Test encryption-type-update shell command.

View File

@ -1644,14 +1644,19 @@ def do_encryption_type_show(cs, args):
default=None,
help='The encryption algorithm or mode. '
'For example, aes-xts-plain64. Default=None.')
@utils.arg('--key_size',
@utils.arg('--key-size',
metavar='<key_size>',
type=int,
required=False,
default=None,
help='Size of encryption key, in bits. '
'For example, 128 or 256. Default=None.')
@utils.arg('--control_location',
@utils.arg('--key_size',
type=int,
required=False,
default=None,
help=argparse.SUPPRESS)
@utils.arg('--control-location',
metavar='<control_location>',
choices=['front-end', 'back-end'],
type=str,
@ -1660,6 +1665,11 @@ def do_encryption_type_show(cs, args):
help='Notional service where encryption is performed. '
'Valid values are "front-end" or "back-end." '
'For example, front-end=Nova. Default is "front-end."')
@utils.arg('--control_location',
type=str,
required=False,
default='front-end',
help=argparse.SUPPRESS)
def do_encryption_type_create(cs, args):
"""Creates encryption type for a volume type. Admin only."""
volume_type = shell_utils.find_volume_type(cs, args.volume_type)
@ -1684,8 +1694,7 @@ def do_encryption_type_create(cs, args):
type=str,
required=False,
default=argparse.SUPPRESS,
help="Class providing encryption support (e.g. LuksEncryptor) "
"(Optional)")
help="Class providing encryption support (e.g. LuksEncryptor)")
@utils.arg('--cipher',
metavar='<cipher>',
type=str,
@ -1694,8 +1703,7 @@ def do_encryption_type_create(cs, args):
default=argparse.SUPPRESS,
const=None,
help="Encryption algorithm/mode to use (e.g., aes-xts-plain64). "
"Provide parameter without value to set to provider default. "
"(Optional)")
"Provide parameter without value to set to provider default.")
@utils.arg('--key-size',
dest='key_size',
metavar='<key-size>',
@ -1705,8 +1713,7 @@ def do_encryption_type_create(cs, args):
default=argparse.SUPPRESS,
const=None,
help="Size of the encryption key, in bits (e.g., 128, 256). "
"Provide parameter without value to set to provider default. "
"(Optional)")
"Provide parameter without value to set to provider default. ")
@utils.arg('--control-location',
dest='control_location',
metavar='<control-location>',
@ -1715,7 +1722,7 @@ def do_encryption_type_create(cs, args):
required=False,
default=argparse.SUPPRESS,
help="Notional service where encryption is performed (e.g., "
"front-end=Nova). Values: 'front-end', 'back-end' (Optional)")
"front-end=Nova). Values: 'front-end', 'back-end'")
def do_encryption_type_update(cs, args):
"""Update encryption type information for a volume type (Admin Only)."""
volume_type = shell_utils.find_volume_type(cs, args.volume_type)