Skip to content

Commit ec73156

Browse files
Zuulopenstack-gerrit
authored andcommitted
Merge "Rename openstack volume delete --purge -> --cascade"
2 parents 91302d2 + cebf4d7 commit ec73156

5 files changed

Lines changed: 63 additions & 22 deletions

File tree

openstackclient/tests/unit/volume/v2/test_volume.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -655,7 +655,7 @@ def test_volume_delete_one_volume(self):
655655
arglist = [self.volumes[0].id]
656656
verifylist = [
657657
("force", False),
658-
("purge", False),
658+
("cascade", False),
659659
("volumes", [self.volumes[0].id]),
660660
]
661661
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -674,7 +674,7 @@ def test_volume_delete_multi_volumes(self):
674674
arglist = [v.id for v in self.volumes]
675675
verifylist = [
676676
('force', False),
677-
('purge', False),
677+
('cascade', False),
678678
('volumes', arglist),
679679
]
680680
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -701,7 +701,7 @@ def test_volume_delete_multi_volumes_with_exception(self):
701701
]
702702
verifylist = [
703703
('force', False),
704-
('purge', False),
704+
('cascade', False),
705705
('volumes', [self.volumes[0].id, 'unexist_volume']),
706706
]
707707
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -732,7 +732,7 @@ def test_volume_delete_with_purge(self):
732732
]
733733
verifylist = [
734734
('force', False),
735-
('purge', True),
735+
('cascade', True),
736736
('volumes', [self.volumes[0].id]),
737737
]
738738
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -754,7 +754,7 @@ def test_volume_delete_with_force(self):
754754
]
755755
verifylist = [
756756
('force', True),
757-
('purge', False),
757+
('cascade', False),
758758
('volumes', [self.volumes[0].id]),
759759
]
760760
parsed_args = self.check_parser(self.cmd, arglist, verifylist)

openstackclient/tests/unit/volume/v3/test_volume.py

Lines changed: 32 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -912,7 +912,7 @@ def test_volume_delete_one_volume(self):
912912
arglist = [self.volumes[0].id]
913913
verifylist = [
914914
("force", False),
915-
("purge", False),
915+
("cascade", False),
916916
("volumes", [self.volumes[0].id]),
917917
]
918918
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -931,7 +931,7 @@ def test_volume_delete_multi_volumes(self):
931931
arglist = [v.id for v in self.volumes]
932932
verifylist = [
933933
('force', False),
934-
('purge', False),
934+
('cascade', False),
935935
('volumes', arglist),
936936
]
937937
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -958,7 +958,7 @@ def test_volume_delete_multi_volumes_with_exception(self):
958958
]
959959
verifylist = [
960960
('force', False),
961-
('purge', False),
961+
('cascade', False),
962962
('volumes', [self.volumes[0].id, 'unexist_volume']),
963963
]
964964
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -989,7 +989,29 @@ def test_volume_delete_with_purge(self):
989989
]
990990
verifylist = [
991991
('force', False),
992-
('purge', True),
992+
('cascade', True),
993+
('volumes', [self.volumes[0].id]),
994+
]
995+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
996+
997+
result = self.cmd.take_action(parsed_args)
998+
self.assertIsNone(result)
999+
1000+
self.volume_sdk_client.find_volume.assert_called_once_with(
1001+
self.volumes[0].id, ignore_missing=False
1002+
)
1003+
self.volume_sdk_client.delete_volume.assert_called_once_with(
1004+
self.volumes[0].id, cascade=True, force=False
1005+
)
1006+
1007+
def test_volume_delete_with_cascade(self):
1008+
arglist = [
1009+
'--cascade',
1010+
self.volumes[0].id,
1011+
]
1012+
verifylist = [
1013+
('force', False),
1014+
('cascade', True),
9931015
('volumes', [self.volumes[0].id]),
9941016
]
9951017
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -1011,7 +1033,7 @@ def test_volume_delete_with_force(self):
10111033
]
10121034
verifylist = [
10131035
('force', True),
1014-
('purge', False),
1036+
('cascade', False),
10151037
('volumes', [self.volumes[0].id]),
10161038
]
10171039
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -1031,7 +1053,7 @@ def test_volume_delete_remote(self):
10311053
verifylist = [
10321054
("remote", True),
10331055
("force", False),
1034-
("purge", False),
1056+
("cascade", False),
10351057
("volumes", [self.volumes[0].id]),
10361058
]
10371059
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -1052,7 +1074,7 @@ def test_volume_delete_multi_volumes_remote(self):
10521074
verifylist = [
10531075
('remote', True),
10541076
('force', False),
1055-
('purge', False),
1077+
('cascade', False),
10561078
('volumes', arglist[1:]),
10571079
]
10581080
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -1077,7 +1099,6 @@ def test_volume_delete_remote_with_purge(self):
10771099
verifylist = [
10781100
('remote', True),
10791101
('force', False),
1080-
('purge', True),
10811102
('volumes', [self.volumes[0].id]),
10821103
]
10831104

@@ -1086,7 +1107,7 @@ def test_volume_delete_remote_with_purge(self):
10861107
exceptions.CommandError, self.cmd.take_action, parsed_args
10871108
)
10881109
self.assertIn(
1089-
"The --force and --purge options are not supported with the "
1110+
"The --force and --cascade options are not supported with the "
10901111
"--remote parameter.",
10911112
str(exc),
10921113
)
@@ -1104,7 +1125,7 @@ def test_volume_delete_remote_with_force(self):
11041125
verifylist = [
11051126
('remote', True),
11061127
('force', True),
1107-
('purge', False),
1128+
('cascade', False),
11081129
('volumes', [self.volumes[0].id]),
11091130
]
11101131

@@ -1113,7 +1134,7 @@ def test_volume_delete_remote_with_force(self):
11131134
exceptions.CommandError, self.cmd.take_action, parsed_args
11141135
)
11151136
self.assertIn(
1116-
"The --force and --purge options are not supported with the "
1137+
"The --force and --cascade options are not supported with the "
11171138
"--remote parameter.",
11181139
str(exc),
11191140
)

openstackclient/volume/v2/volume.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -390,12 +390,19 @@ def get_parser(self, prog_name):
390390
),
391391
)
392392
group.add_argument(
393-
"--purge",
393+
"--cascade",
394394
action="store_true",
395395
help=_(
396396
"Remove any snapshots along with volume(s) (defaults to False)"
397397
),
398398
)
399+
group.add_argument(
400+
# now called "cascade", accept old arg for compatibility
401+
"--purge",
402+
action="store_true",
403+
help=argparse.SUPPRESS,
404+
dest='cascade',
405+
)
399406
return parser
400407

401408
def take_action(self, parsed_args):
@@ -410,7 +417,7 @@ def take_action(self, parsed_args):
410417
volume_client.delete_volume(
411418
volume_obj.id,
412419
force=parsed_args.force,
413-
cascade=parsed_args.purge,
420+
cascade=parsed_args.cascade,
414421
)
415422
except Exception as e:
416423
result += 1

openstackclient/volume/v3/volume.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -515,12 +515,19 @@ def get_parser(self, prog_name):
515515
),
516516
)
517517
group.add_argument(
518-
"--purge",
518+
"--cascade",
519519
action="store_true",
520520
help=_(
521521
"Remove any snapshots along with volume(s) (defaults to False)"
522522
),
523523
)
524+
group.add_argument(
525+
# now called "cascade", accept old arg for compatibility
526+
"--purge",
527+
action="store_true",
528+
help=argparse.SUPPRESS,
529+
dest='cascade',
530+
)
524531
parser.add_argument(
525532
'--remote',
526533
action='store_true',
@@ -532,9 +539,9 @@ def take_action(self, parsed_args):
532539
volume_client = self.app.client_manager.sdk_connection.volume
533540
result = 0
534541

535-
if parsed_args.remote and (parsed_args.force or parsed_args.purge):
542+
if parsed_args.remote and (parsed_args.force or parsed_args.cascade):
536543
msg = _(
537-
"The --force and --purge options are not "
544+
"The --force and --cascade options are not "
538545
"supported with the --remote parameter."
539546
)
540547
raise exceptions.CommandError(msg)
@@ -550,7 +557,7 @@ def take_action(self, parsed_args):
550557
volume_client.delete_volume(
551558
volume_obj.id,
552559
force=parsed_args.force,
553-
cascade=parsed_args.purge,
560+
cascade=parsed_args.cascade,
554561
)
555562
except Exception as e:
556563
result += 1
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
upgrade:
3+
- |
4+
The ``--purge`` argument to the ``volume delete`` command has been renamed
5+
to ``--cascade`` to better match the Cinder API and the meaning of what
6+
this argument does. An alias is provided for backwards compatibility.

0 commit comments

Comments
 (0)