summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cinderclient/tests/unit/v2/test_shell.py11
-rw-r--r--cinderclient/v2/shell.py25
-rw-r--r--cinderclient/v3/shell.py27
-rw-r--r--requirements.txt2
4 files changed, 45 insertions, 20 deletions
diff --git a/cinderclient/tests/unit/v2/test_shell.py b/cinderclient/tests/unit/v2/test_shell.py
index 742e9d9..2d0e014 100644
--- a/cinderclient/tests/unit/v2/test_shell.py
+++ b/cinderclient/tests/unit/v2/test_shell.py
@@ -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.
diff --git a/cinderclient/v2/shell.py b/cinderclient/v2/shell.py
index 2c6fc66..d9127bc 100644
--- a/cinderclient/v2/shell.py
+++ b/cinderclient/v2/shell.py
@@ -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)
diff --git a/cinderclient/v3/shell.py b/cinderclient/v3/shell.py
index 4f85097..ad7e5b0 100644
--- a/cinderclient/v3/shell.py
+++ b/cinderclient/v3/shell.py
@@ -92,8 +92,8 @@ RESET_STATE_RESOURCES = {'volume': utils.find_volume,
metavar='<key=value>',
default=None,
start_version='3.4',
- help='Filters results by a image metadata key and value pair. Require '
- 'volume api version >=3.4. Default=None.')
+ help='Filters results by a image metadata key and value pair. '
+ 'Require volume api version >=3.4. Default=None.')
@utils.arg('--marker',
metavar='<marker>',
default=None,
@@ -234,6 +234,7 @@ def do_reset_state(cs, args):
entity and may not match the actual state. This can render a entity
unusable in the case of changing to the 'available' state.
"""
+ # pylint: disable=function-redefined
failure_count = 0
single = (len(args.entity) == 1)
@@ -533,7 +534,7 @@ def do_group_type_delete(cs, args):
gtype = shell_utils.find_group_type(cs, group_type)
cs.group_types.delete(gtype)
print("Request to delete group type %s has been accepted."
- % (group_type))
+ % group_type)
except Exception as e:
failure_count += 1
print("Delete for group type %s failed: %s" % (group_type, e))
@@ -798,9 +799,11 @@ def do_cluster_disable(cs, args):
help=(('Comma-separated list of sort keys and directions in the '
'form of <key>[:<asc|desc>]. '
'Valid keys: %s. '
- 'Default=None.') % ', '.join(base.SORT_MANAGEABLE_KEY_VALUES)))
+ 'Default=None.'
+ ) % ', '.join(base.SORT_MANAGEABLE_KEY_VALUES)))
def do_manageable_list(cs, args):
"""Lists all manageable volumes."""
+ # pylint: disable=function-redefined
detailed = strutils.bool_from_string(args.detailed)
volumes = cs.volumes.list_manageable(host=args.host, detailed=detailed,
marker=args.marker, limit=args.limit,
@@ -1150,9 +1153,11 @@ def do_service_list(cs, args):
help=(('Comma-separated list of sort keys and directions in the '
'form of <key>[:<asc|desc>]. '
'Valid keys: %s. '
- 'Default=None.') % ', '.join(base.SORT_MANAGEABLE_KEY_VALUES)))
+ 'Default=None.'
+ ) % ', '.join(base.SORT_MANAGEABLE_KEY_VALUES)))
def do_snapshot_manageable_list(cs, args):
"""Lists all manageable snapshots."""
+ # pylint: disable=function-redefined
detailed = strutils.bool_from_string(args.detailed)
snapshots = cs.volume_snapshots.list_manageable(host=args.host,
detailed=detailed,
@@ -1173,6 +1178,7 @@ def do_api_version(cs, args):
response = cs.services.server_api_version()
utils.print_list(response, columns)
+
@api_versions.wraps("3.3")
@utils.arg('--marker',
metavar='<marker>',
@@ -1274,6 +1280,7 @@ def do_message_delete(cs, args):
raise exceptions.CommandError("Unable to delete any of the specified "
"messages.")
+
@utils.arg('--all-tenants',
dest='all_tenants',
metavar='<0|1>',
@@ -1396,7 +1403,7 @@ def do_snapshot_list(cs, args):
@utils.arg('--limit',
metavar='<limit>',
default=None,
- help='Maximum number of attachemnts to return. Default=None.')
+ help='Maximum number of attachments to return. Default=None.')
@utils.arg('--sort',
metavar='<key>[:<direction>]',
default=None,
@@ -1584,11 +1591,11 @@ def do_version_list(cs, args):
else:
columns = ["Id", "Status", "Updated"]
- print(("Client supported API versions:"))
- print(("Minimum version %(v)s") %
+ print("Client supported API versions:")
+ print("Minimum version %(v)s" %
{'v': api_versions.MIN_VERSION})
- print(("Maximum version %(v)s") %
+ print("Maximum version %(v)s" %
{'v': api_versions.MAX_VERSION})
- print(("\nServer supported API versions:"))
+ print("\nServer supported API versions:")
utils.print_list(result, columns)
diff --git a/requirements.txt b/requirements.txt
index d0b134f..d453c69 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -7,5 +7,5 @@ keystoneauth1>=2.20.0 # Apache-2.0
simplejson>=2.2.0 # MIT
Babel!=2.4.0,>=2.3.4 # BSD
six>=1.9.0 # MIT
-oslo.i18n>=2.1.0 # Apache-2.0
+oslo.i18n!=3.15.2,>=2.1.0 # Apache-2.0
oslo.utils>=3.20.0 # Apache-2.0