From 69870ae439f18863979949f5728543a0fb1cbe83 Mon Sep 17 00:00:00 2001 From: Bram Verschueren Date: Fri, 13 Dec 2019 11:13:54 +0100 Subject: [PATCH] Fix faulthy state argument choice The correct state name for a failing volume snapshot deletion is 'error_deleting' instead of 'error-deleting'. [1] [1] https://opendev.org/openstack/cinder/src/commit/89d6a5042fcb2ede5a0b1112d72fae805ea52fcd/cinder/objects/fields.py#L126 Task: #37844 Story: #2007037 Change-Id: Ia99900ece4f1cd29769b22ddaa3965789d719556 --- .../cli/command-objects/volume-snapshot.rst | 2 +- .../volume/v2/test_volume_snapshot.py | 18 ++++++++++++++++++ openstackclient/volume/v1/volume_snapshot.py | 4 ++-- .../volume/v2/consistency_group_snapshot.py | 2 +- openstackclient/volume/v2/volume_snapshot.py | 6 +++--- 5 files changed, 25 insertions(+), 7 deletions(-) diff --git a/doc/source/cli/command-objects/volume-snapshot.rst b/doc/source/cli/command-objects/volume-snapshot.rst index 30cc77cc57..21a8937018 100644 --- a/doc/source/cli/command-objects/volume-snapshot.rst +++ b/doc/source/cli/command-objects/volume-snapshot.rst @@ -115,7 +115,7 @@ List volume snapshots .. option:: --status Filters results by a status. - ('available', 'error', 'creating', 'deleting' or 'error-deleting') + ('available', 'error', 'creating', 'deleting' or 'error_deleting') .. option:: --name diff --git a/openstackclient/tests/functional/volume/v2/test_volume_snapshot.py b/openstackclient/tests/functional/volume/v2/test_volume_snapshot.py index 8d32d99731..4977a73ebc 100644 --- a/openstackclient/tests/functional/volume/v2/test_volume_snapshot.py +++ b/openstackclient/tests/functional/volume/v2/test_volume_snapshot.py @@ -121,6 +121,24 @@ class VolumeSnapshotTests(common.BaseVolumeTests): cmd_output["size"], ) self.wait_for_status('volume snapshot', name2, 'available') + + raw_output = self.openstack( + 'volume snapshot set ' + + '--state error_deleting ' + + name2 + ) + self.assertOutput('', raw_output) + + # Test list --long, --status + cmd_output = json.loads(self.openstack( + 'volume snapshot list -f json ' + + '--long ' + + '--status error_deleting' + )) + names = [x["Name"] for x in cmd_output] + self.assertNotIn(name1, names) + self.assertIn(name2, names) + raw_output = self.openstack( 'volume snapshot set ' + '--state error ' + diff --git a/openstackclient/volume/v1/volume_snapshot.py b/openstackclient/volume/v1/volume_snapshot.py index 50f81771a0..bfe249f526 100644 --- a/openstackclient/volume/v1/volume_snapshot.py +++ b/openstackclient/volume/v1/volume_snapshot.py @@ -175,10 +175,10 @@ class ListVolumeSnapshot(command.Lister): '--status', metavar='', choices=['available', 'error', 'creating', 'deleting', - 'error-deleting'], + 'error_deleting'], help=_("Filters results by a status. " "('available', 'error', 'creating', 'deleting'" - " or 'error-deleting')") + " or 'error_deleting')") ) parser.add_argument( '--volume', diff --git a/openstackclient/volume/v2/consistency_group_snapshot.py b/openstackclient/volume/v2/consistency_group_snapshot.py index 540deb0187..3cba4ecaa9 100644 --- a/openstackclient/volume/v2/consistency_group_snapshot.py +++ b/openstackclient/volume/v2/consistency_group_snapshot.py @@ -129,7 +129,7 @@ class ListConsistencyGroupSnapshot(command.Lister): '--status', metavar="", choices=['available', 'error', 'creating', 'deleting', - 'error-deleting'], + 'error_deleting'], help=_('Filters results by a status ("available", "error", ' '"creating", "deleting" or "error_deleting")') ) diff --git a/openstackclient/volume/v2/volume_snapshot.py b/openstackclient/volume/v2/volume_snapshot.py index 2b26ae323b..6cbd1156ad 100644 --- a/openstackclient/volume/v2/volume_snapshot.py +++ b/openstackclient/volume/v2/volume_snapshot.py @@ -230,10 +230,10 @@ class ListVolumeSnapshot(command.Lister): '--status', metavar='', choices=['available', 'error', 'creating', 'deleting', - 'error-deleting'], + 'error_deleting'], help=_("Filters results by a status. " "('available', 'error', 'creating', 'deleting'" - " or 'error-deleting')") + " or 'error_deleting')") ) parser.add_argument( '--volume', @@ -345,7 +345,7 @@ class SetVolumeSnapshot(command.Command): '--state', metavar='', choices=['available', 'error', 'creating', 'deleting', - 'error-deleting'], + 'error_deleting'], help=_('New snapshot state. ("available", "error", "creating", ' '"deleting", or "error_deleting") (admin only) ' '(This option simply changes the state of the snapshot '