diff options
| author | Jenkins <jenkins@review.openstack.org> | 2016-07-27 19:50:21 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2016-07-27 19:50:21 +0000 |
| commit | 5f6257206e1df085d1432778cfbc4489b87bc256 (patch) | |
| tree | 394bde9dad62eb0b653b3b5b921dfd0425988298 /openstackclient/volume | |
| parent | 97ccb65f8391a54c00f8f43e74f69941e7a4736c (diff) | |
| parent | 954c28dfa21be76b0522af051d71fb9470877a1a (diff) | |
| download | python-openstackclient-5f6257206e1df085d1432778cfbc4489b87bc256.tar.gz | |
Merge "Add support for deleting volumes with associated snapshots"
Diffstat (limited to 'openstackclient/volume')
| -rw-r--r-- | openstackclient/volume/v2/volume.py | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/openstackclient/volume/v2/volume.py b/openstackclient/volume/v2/volume.py index 85f267ef..6f055922 100644 --- a/openstackclient/volume/v2/volume.py +++ b/openstackclient/volume/v2/volume.py @@ -166,13 +166,19 @@ class DeleteVolume(command.Command): nargs="+", help=_("Volume(s) to delete (name or ID)") ) - parser.add_argument( + group = parser.add_mutually_exclusive_group() + group.add_argument( "--force", action="store_true", - default=False, help=_("Attempt forced removal of volume(s), regardless of state " "(defaults to False)") ) + group.add_argument( + "--purge", + action="store_true", + help=_("Remove any snapshots along with volume(s) " + "(defaults to False)") + ) return parser def take_action(self, parsed_args): @@ -186,12 +192,13 @@ class DeleteVolume(command.Command): if parsed_args.force: volume_client.volumes.force_delete(volume_obj.id) else: - volume_client.volumes.delete(volume_obj.id) + volume_client.volumes.delete(volume_obj.id, + cascade=parsed_args.purge) except Exception as e: result += 1 LOG.error(_("Failed to delete volume with " - "name or ID '%(volume)s': %(e)s") - % {'volume': i, 'e': e}) + "name or ID '%(volume)s': %(e)s"), + {'volume': i, 'e': e}) if result > 0: total = len(parsed_args.volumes) |
