summaryrefslogtreecommitdiff
path: root/openstackclient/volume/v2
diff options
Diffstat (limited to 'openstackclient/volume/v2')
-rw-r--r--openstackclient/volume/v2/backup_record.py2
-rw-r--r--openstackclient/volume/v2/consistency_group.py18
-rw-r--r--openstackclient/volume/v2/consistency_group_snapshot.py6
-rw-r--r--openstackclient/volume/v2/qos_specs.py6
-rw-r--r--openstackclient/volume/v2/service.py2
-rw-r--r--openstackclient/volume/v2/volume.py21
-rw-r--r--openstackclient/volume/v2/volume_backend.py2
-rw-r--r--openstackclient/volume/v2/volume_backup.py12
-rw-r--r--openstackclient/volume/v2/volume_host.py3
-rw-r--r--openstackclient/volume/v2/volume_snapshot.py8
-rw-r--r--openstackclient/volume/v2/volume_transfer_request.py6
-rw-r--r--openstackclient/volume/v2/volume_type.py27
12 files changed, 63 insertions, 50 deletions
diff --git a/openstackclient/volume/v2/backup_record.py b/openstackclient/volume/v2/backup_record.py
index 98f7c71..93492f8 100644
--- a/openstackclient/volume/v2/backup_record.py
+++ b/openstackclient/volume/v2/backup_record.py
@@ -16,9 +16,9 @@
import logging
-from osc_lib.command import command
from osc_lib import utils
+from openstackclient import command
from openstackclient.i18n import _
diff --git a/openstackclient/volume/v2/consistency_group.py b/openstackclient/volume/v2/consistency_group.py
index 347724f..31959c7 100644
--- a/openstackclient/volume/v2/consistency_group.py
+++ b/openstackclient/volume/v2/consistency_group.py
@@ -18,10 +18,10 @@ import argparse
import logging
from osc_lib.cli import format_columns
-from osc_lib.command import command
from osc_lib import exceptions
from osc_lib import utils
+from openstackclient import command
from openstackclient.i18n import _
@@ -38,8 +38,8 @@ def _find_volumes(parsed_args_volumes, volume_client):
except Exception as e:
result += 1
LOG.error(
- _("Failed to find volume with name or ID '%(volume)s':%(e)s")
- % {'volume': volume, 'e': e}
+ _("Failed to find volume with name or ID '%(volume)s':%(e)s"),
+ {'volume': volume, 'e': e},
)
return result, uuid
@@ -73,8 +73,8 @@ class AddVolumeToConsistencyGroup(command.Command):
if result > 0:
total = len(parsed_args.volumes)
LOG.error(
- _("%(result)s of %(total)s volumes failed to add.")
- % {'result': result, 'total': total}
+ _("%(result)s of %(total)s volumes failed to add."),
+ {'result': result, 'total': total},
)
if add_uuid:
@@ -226,8 +226,8 @@ class DeleteConsistencyGroup(command.Command):
_(
"Failed to delete consistency group with "
"name or ID '%(consistency_group)s':%(e)s"
- )
- % {'consistency_group': i, 'e': e}
+ ),
+ {'consistency_group': i, 'e': e},
)
if result > 0:
@@ -317,8 +317,8 @@ class RemoveVolumeFromConsistencyGroup(command.Command):
if result > 0:
total = len(parsed_args.volumes)
LOG.error(
- _("%(result)s of %(total)s volumes failed to remove.")
- % {'result': result, 'total': total}
+ _("%(result)s of %(total)s volumes failed to remove."),
+ {'result': result, 'total': total},
)
if remove_uuid:
diff --git a/openstackclient/volume/v2/consistency_group_snapshot.py b/openstackclient/volume/v2/consistency_group_snapshot.py
index 3c582d6..4adf4a2 100644
--- a/openstackclient/volume/v2/consistency_group_snapshot.py
+++ b/openstackclient/volume/v2/consistency_group_snapshot.py
@@ -16,10 +16,10 @@
import logging
-from osc_lib.command import command
from osc_lib import exceptions
from osc_lib import utils
+from openstackclient import command
from openstackclient.i18n import _
@@ -101,8 +101,8 @@ class DeleteConsistencyGroupSnapshot(command.Command):
_(
"Failed to delete consistency group snapshot "
"with name or ID '%(snapshot)s': %(e)s"
- )
- % {'snapshot': snapshot, 'e': e}
+ ),
+ {'snapshot': snapshot, 'e': e},
)
if result > 0:
diff --git a/openstackclient/volume/v2/qos_specs.py b/openstackclient/volume/v2/qos_specs.py
index 72706a7..6dcc23f 100644
--- a/openstackclient/volume/v2/qos_specs.py
+++ b/openstackclient/volume/v2/qos_specs.py
@@ -19,10 +19,10 @@ import logging
from osc_lib.cli import format_columns
from osc_lib.cli import parseractions
-from osc_lib.command import command
from osc_lib import exceptions
from osc_lib import utils
+from openstackclient import command
from openstackclient.i18n import _
@@ -146,8 +146,8 @@ class DeleteQos(command.Command):
_(
"Failed to delete QoS specification with "
"name or ID '%(qos)s': %(e)s"
- )
- % {'qos': i, 'e': e}
+ ),
+ {'qos': i, 'e': e},
)
if result > 0:
diff --git a/openstackclient/volume/v2/service.py b/openstackclient/volume/v2/service.py
index 48cdba7..7777e7e 100644
--- a/openstackclient/volume/v2/service.py
+++ b/openstackclient/volume/v2/service.py
@@ -14,10 +14,10 @@
"""Service action implementations"""
-from osc_lib.command import command
from osc_lib import exceptions
from osc_lib import utils
+from openstackclient import command
from openstackclient.i18n import _
diff --git a/openstackclient/volume/v2/volume.py b/openstackclient/volume/v2/volume.py
index fa76d77..ef4ff05 100644
--- a/openstackclient/volume/v2/volume.py
+++ b/openstackclient/volume/v2/volume.py
@@ -25,11 +25,11 @@ from openstack.block_storage.v2 import volume as _volume
from openstack import exceptions as sdk_exceptions
from osc_lib.cli import format_columns
from osc_lib.cli import parseractions
-from osc_lib.command import command
from osc_lib import exceptions
from osc_lib import utils
from openstackclient.api import volume_v2
+from openstackclient import command
from openstackclient.common import pagination
from openstackclient.i18n import _
from openstackclient.identity import common as identity_common
@@ -61,7 +61,7 @@ class KeyValueHintAction(argparse.Action):
)
-class AttachmentsColumn(cliff_columns.FormattableColumn):
+class AttachmentsColumn(cliff_columns.FormattableColumn[list[ty.Any]]):
"""Formattable column for attachments column.
Unlike the parent FormattableColumn class, the initializer of the
@@ -390,12 +390,19 @@ class DeleteVolume(command.Command):
),
)
group.add_argument(
- "--purge",
+ "--cascade",
action="store_true",
help=_(
"Remove any snapshots along with volume(s) (defaults to False)"
),
)
+ group.add_argument(
+ # now called "cascade", accept old arg for compatibility
+ "--purge",
+ action="store_true",
+ help=argparse.SUPPRESS,
+ dest='cascade',
+ )
return parser
def take_action(self, parsed_args):
@@ -410,7 +417,7 @@ class DeleteVolume(command.Command):
volume_client.delete_volume(
volume_obj.id,
force=parsed_args.force,
- cascade=parsed_args.purge,
+ cascade=parsed_args.cascade,
)
except Exception as e:
result += 1
@@ -910,12 +917,12 @@ class SetVolume(command.Command):
elif policy:
# If the "--migration-policy" is specified without "--type"
LOG.warning(
- _("'%s' option will not work without '--type' option")
- % (
+ _("'%s' option will not work without '--type' option"),
+ (
'--migration-policy'
if parsed_args.migration_policy
else '--retype-policy'
- )
+ ),
)
kwargs = {}
diff --git a/openstackclient/volume/v2/volume_backend.py b/openstackclient/volume/v2/volume_backend.py
index 2fbbed6..e51e37b 100644
--- a/openstackclient/volume/v2/volume_backend.py
+++ b/openstackclient/volume/v2/volume_backend.py
@@ -15,9 +15,9 @@
"""Storage backend action implementations"""
from osc_lib.cli import format_columns
-from osc_lib.command import command
from osc_lib import utils
+from openstackclient import command
from openstackclient.i18n import _
diff --git a/openstackclient/volume/v2/volume_backup.py b/openstackclient/volume/v2/volume_backup.py
index 55cde32..7f36652 100644
--- a/openstackclient/volume/v2/volume_backup.py
+++ b/openstackclient/volume/v2/volume_backup.py
@@ -18,17 +18,17 @@ import functools
import logging
from cliff import columns as cliff_columns
-from osc_lib.command import command
from osc_lib import exceptions
from osc_lib import utils
+from openstackclient import command
from openstackclient.common import pagination
from openstackclient.i18n import _
LOG = logging.getLogger(__name__)
-class VolumeIdColumn(cliff_columns.FormattableColumn):
+class VolumeIdColumn(cliff_columns.FormattableColumn[str]):
"""Formattable column for volume ID column.
Unlike the parent FormattableColumn class, the initializer of the
@@ -175,8 +175,8 @@ class DeleteVolumeBackup(command.Command):
_(
"Failed to delete backup with "
"name or ID '%(backup)s': %(e)s"
- )
- % {'backup': backup, 'e': e}
+ ),
+ {'backup': backup, 'e': e},
)
if result > 0:
@@ -453,7 +453,9 @@ class ShowVolumeBackup(command.ShowOne):
def take_action(self, parsed_args):
volume_client = self.app.client_manager.sdk_connection.volume
- backup = volume_client.find_backup(parsed_args.backup)
+ backup = volume_client.find_backup(
+ parsed_args.backup, ignore_missing=False
+ )
columns: tuple[str, ...] = (
"availability_zone",
"container",
diff --git a/openstackclient/volume/v2/volume_host.py b/openstackclient/volume/v2/volume_host.py
index 2b0df0a..44fd58a 100644
--- a/openstackclient/volume/v2/volume_host.py
+++ b/openstackclient/volume/v2/volume_host.py
@@ -14,8 +14,7 @@
"""Volume v2 host action implementations"""
-from osc_lib.command import command
-
+from openstackclient import command
from openstackclient.i18n import _
diff --git a/openstackclient/volume/v2/volume_snapshot.py b/openstackclient/volume/v2/volume_snapshot.py
index fb77461..9533a1a 100644
--- a/openstackclient/volume/v2/volume_snapshot.py
+++ b/openstackclient/volume/v2/volume_snapshot.py
@@ -22,10 +22,10 @@ from cliff import columns as cliff_columns
from openstack.block_storage.v2 import snapshot as _snapshot
from osc_lib.cli import format_columns
from osc_lib.cli import parseractions
-from osc_lib.command import command
from osc_lib import exceptions
from osc_lib import utils
+from openstackclient import command
from openstackclient.common import pagination
from openstackclient.i18n import _
from openstackclient.identity import common as identity_common
@@ -34,7 +34,7 @@ from openstackclient.identity import common as identity_common
LOG = logging.getLogger(__name__)
-class VolumeIdColumn(cliff_columns.FormattableColumn):
+class VolumeIdColumn(cliff_columns.FormattableColumn[str]):
"""Formattable column for volume ID column.
Unlike the parent FormattableColumn class, the initializer of the
@@ -228,8 +228,8 @@ class DeleteVolumeSnapshot(command.Command):
_(
"Failed to delete snapshot with "
"name or ID '%(snapshot)s': %(e)s"
- )
- % {'snapshot': snapshot, 'e': e}
+ ),
+ {'snapshot': snapshot, 'e': e},
)
if result > 0:
diff --git a/openstackclient/volume/v2/volume_transfer_request.py b/openstackclient/volume/v2/volume_transfer_request.py
index 3bd91d0..2f1bee8 100644
--- a/openstackclient/volume/v2/volume_transfer_request.py
+++ b/openstackclient/volume/v2/volume_transfer_request.py
@@ -16,10 +16,10 @@
import logging
-from osc_lib.command import command
from osc_lib import exceptions
from osc_lib import utils
+from openstackclient import command
from openstackclient.i18n import _
@@ -128,8 +128,8 @@ class DeleteTransferRequest(command.Command):
_(
"Failed to delete volume transfer request "
"with name or ID '%(transfer)s': %(e)s"
- )
- % {'transfer': t, 'e': e}
+ ),
+ {'transfer': t, 'e': e},
)
if result > 0:
diff --git a/openstackclient/volume/v2/volume_type.py b/openstackclient/volume/v2/volume_type.py
index 9e2ac20..9c80461 100644
--- a/openstackclient/volume/v2/volume_type.py
+++ b/openstackclient/volume/v2/volume_type.py
@@ -16,14 +16,15 @@
import functools
import logging
+import typing as ty
from cliff import columns as cliff_columns
from osc_lib.cli import format_columns
from osc_lib.cli import parseractions
-from osc_lib.command import command
from osc_lib import exceptions
from osc_lib import utils
+from openstackclient import command
from openstackclient.i18n import _
from openstackclient.identity import common as identity_common
@@ -31,7 +32,7 @@ from openstackclient.identity import common as identity_common
LOG = logging.getLogger(__name__)
-class EncryptionInfoColumn(cliff_columns.FormattableColumn):
+class EncryptionInfoColumn(cliff_columns.FormattableColumn[ty.Any]):
"""Formattable column for encryption info column.
Unlike the parent FormattableColumn class, the initializer of the
@@ -171,7 +172,8 @@ class CreateVolumeType(command.ShowOne):
default=False,
help=_(
"Enabled replication for this volume type "
- "(this is an alias for '--property replication_enabled=<is> True') "
+ "(this is an alias for "
+ "'--property replication_enabled=<is> True') "
"(requires driver support)"
),
)
@@ -181,7 +183,8 @@ class CreateVolumeType(command.ShowOne):
dest='availability_zones',
help=_(
"Set an availability zone for this volume type "
- "(this is an alias for '--property RESKEY:availability_zones:<az>') "
+ "(this is an alias for "
+ "'--property RESKEY:availability_zones:<az>') "
"(repeat option to set multiple availability zones)"
),
)
@@ -274,7 +277,7 @@ class CreateVolumeType(command.ShowOne):
msg = _(
"Failed to add project %(project)s access to type: %(e)s"
)
- LOG.error(msg % {'project': parsed_args.project, 'e': e})
+ LOG.error(msg, {'project': parsed_args.project, 'e': e})
properties = {}
if parsed_args.properties:
@@ -355,8 +358,8 @@ class DeleteVolumeType(command.Command):
_(
"Failed to delete volume type with "
"name or ID '%(volume_type)s': %(e)s"
- )
- % {'volume_type': volume_type, 'e': e}
+ ),
+ {'volume_type': volume_type, 'e': e},
)
if result > 0:
@@ -463,7 +466,7 @@ class ListVolumeType(command.Lister):
_EncryptionInfoColumn = functools.partial(
EncryptionInfoColumn, encryption_data=encryption
)
- formatters['id'] = _EncryptionInfoColumn
+ formatters['id'] = _EncryptionInfoColumn # type: ignore
return (
column_headers,
@@ -534,7 +537,8 @@ class SetVolumeType(command.Command):
default=False,
help=_(
"Enabled replication for this volume type "
- "(this is an alias for '--property replication_enabled=<is> True') "
+ "(this is an alias for "
+ "'--property replication_enabled=<is> True') "
"(requires driver support)"
),
)
@@ -544,7 +548,8 @@ class SetVolumeType(command.Command):
dest='availability_zones',
help=_(
"Set an availability zone for this volume type "
- "(this is an alias for '--property RESKEY:availability_zones:<az>') "
+ "(this is an alias for "
+ "'--property RESKEY:availability_zones:<az>') "
"(repeat option to set multiple availability zones)"
),
)
@@ -758,7 +763,7 @@ class ShowVolumeType(command.ShowOne):
'Failed to get access project list for volume type '
'%(type)s: %(e)s'
)
- LOG.error(msg % {'type': volume_type.id, 'e': e})
+ LOG.error(msg, {'type': volume_type.id, 'e': e})
volume_type._info.update({'access_project_ids': access_project_ids})
if parsed_args.encryption_type:
# show encryption type information for this volume type