summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-07-06 14:59:53 +0000
committerGerrit Code Review <review@openstack.org>2016-07-06 14:59:53 +0000
commitf1a27a73d6f9d039e339e3a16ee110f4cdd1947f (patch)
tree0bfe8fb3971a8076e3c7ea69843080f1df2090be
parent7f8999bf540d2c65a1008a1636ff9b623cedb559 (diff)
parentf5aef9ac36257cfd9808c0dbdb80c5adc412876b (diff)
downloadpython-openstackclient-f1a27a73d6f9d039e339e3a16ee110f4cdd1947f.tar.gz
Merge "Add '--force' option to 'backup delete' command in volumev2"
-rw-r--r--doc/source/command-objects/backup.rst9
-rw-r--r--openstackclient/tests/volume/v2/test_backup.py18
-rw-r--r--openstackclient/volume/v2/backup.py8
-rw-r--r--releasenotes/notes/bug-1597188-a2ff62b809865365.yaml6
4 files changed, 38 insertions, 3 deletions
diff --git a/doc/source/command-objects/backup.rst b/doc/source/command-objects/backup.rst
index 9fff393d..d7d96c28 100644
--- a/doc/source/command-objects/backup.rst
+++ b/doc/source/command-objects/backup.rst
@@ -2,7 +2,7 @@
backup
======
-Block Storage v1
+Block Storage v1, v2
backup create
-------------
@@ -53,8 +53,15 @@ Delete backup(s)
.. code:: bash
os backup delete
+ [--force]
<backup> [<backup> ...]
+.. option:: --force
+
+ Allow delete in state other than error or available
+
+ *Volume version 2 only*
+
.. _backup_delete-backup:
.. describe:: <backup>
diff --git a/openstackclient/tests/volume/v2/test_backup.py b/openstackclient/tests/volume/v2/test_backup.py
index b1e6594c..ce26a2d6 100644
--- a/openstackclient/tests/volume/v2/test_backup.py
+++ b/openstackclient/tests/volume/v2/test_backup.py
@@ -156,7 +156,23 @@ class TestBackupDelete(TestBackup):
result = self.cmd.take_action(parsed_args)
- self.backups_mock.delete.assert_called_with(self.backup.id)
+ self.backups_mock.delete.assert_called_with(self.backup.id, False)
+ self.assertIsNone(result)
+
+ def test_backup_delete_with_force(self):
+ arglist = [
+ '--force',
+ self.backup.id,
+ ]
+ verifylist = [
+ ('force', True),
+ ("backups", [self.backup.id])
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ result = self.cmd.take_action(parsed_args)
+
+ self.backups_mock.delete.assert_called_with(self.backup.id, True)
self.assertIsNone(result)
diff --git a/openstackclient/volume/v2/backup.py b/openstackclient/volume/v2/backup.py
index a8da4080..fed5f09e 100644
--- a/openstackclient/volume/v2/backup.py
+++ b/openstackclient/volume/v2/backup.py
@@ -92,6 +92,12 @@ class DeleteBackup(command.Command):
nargs="+",
help=_("Backup(s) to delete (name or ID)")
)
+ parser.add_argument(
+ '--force',
+ action='store_true',
+ default=False,
+ help=_("Allow delete in state other than error or available")
+ )
return parser
def take_action(self, parsed_args):
@@ -99,7 +105,7 @@ class DeleteBackup(command.Command):
for backup in parsed_args.backups:
backup_id = utils.find_resource(
volume_client.backups, backup).id
- volume_client.backups.delete(backup_id)
+ volume_client.backups.delete(backup_id, parsed_args.force)
class ListBackup(command.Lister):
diff --git a/releasenotes/notes/bug-1597188-a2ff62b809865365.yaml b/releasenotes/notes/bug-1597188-a2ff62b809865365.yaml
new file mode 100644
index 00000000..d1f23c41
--- /dev/null
+++ b/releasenotes/notes/bug-1597188-a2ff62b809865365.yaml
@@ -0,0 +1,6 @@
+---
+features:
+ - |
+ Add ``--force`` option to ``backup delete`` command to allow delete
+ in state other than error or available.
+ [Bug `1597188 <https://bugs.launchpad.net/bugs/1597188>`_]