diff options
-rw-r--r-- | cinderclient/tests/unit/v2/test_shell.py | 11 | ||||
-rw-r--r-- | cinderclient/v2/shell.py | 25 | ||||
-rw-r--r-- | cinderclient/v3/shell.py | 27 | ||||
-rw-r--r-- | requirements.txt | 2 |
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 |