Fixing parsing problem of cascade in client

We have implemented cascade deleting volume in CLI now,
but there's still something that should be improved:

1. A parsing problem of cascade is existing that always
evaluate parameter to True.

So now change the cascade parameter to a flag that don't
accept value anymore.

If user want to delete volume with snapshot, just need to
use 'cinder delete --cascade [volume_id]'.

Change-Id: I92e9400d5d7fbb741607bdbde7ac0c0667fca85d
Closes-Bug: #1585441
Implements: blueprint support-deleting-vols-with-snps-in-cli
This commit is contained in:
wanghao 2016-05-25 15:11:37 +08:00
parent 1aa45d8474
commit 86fe5617aa
2 changed files with 11 additions and 3 deletions
cinderclient
tests/unit/v2
v3

@ -399,6 +399,16 @@ class ShellTest(utils.TestCase):
self.assert_called_anytime('DELETE', '/volumes/1234')
self.assert_called('DELETE', '/volumes/5678')
def test_delete_with_cascade_true(self):
self.run_command('delete 1234 --cascade')
self.assert_called('DELETE', '/volumes/1234?cascade=True')
self.run_command('delete --cascade 1234')
self.assert_called('DELETE', '/volumes/1234?cascade=True')
def test_delete_with_cascade_with_invalid_value(self):
self.assertRaises(SystemExit, self.run_command,
'delete 1234 --cascade 1234')
def test_backup(self):
self.run_command('backup-create 1234')
self.assert_called('POST', '/backups')

@ -447,10 +447,8 @@ def do_create(cs, args):
@utils.arg('--cascade',
metavar='<cascade>',
action='store_true',
default=False,
const=True,
nargs='?',
help='Remove any snapshots along with volume. Default=False.')
@utils.arg('volume',
metavar='<volume>', nargs='+',