From 6f53844d7f1052cdfb031cfbe2a0bd8ba750e272 Mon Sep 17 00:00:00 2001 From: Kiran Pawar Date: Tue, 30 Jan 2024 17:27:41 +0000 Subject: [PATCH] Fix share force delete case Manilaclient force delete sends two REST requests, first force delete and then delete. Fix it. Change-Id: I8257c04f2b5f1a02533dc0fa5d37ae6ff923a56a Closes-Bug: #2051737 (cherry picked from commit 99be0ce9cc78b287170a5287c7bfd59038c7ecc2) --- manilaclient/osc/v2/share.py | 2 +- manilaclient/tests/unit/osc/v2/test_share.py | 6 ++++++ ...737-fix-share-force-delete-request-6d2578fb7da61e3f.yaml | 5 +++++ 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 releasenotes/notes/bug-2051737-fix-share-force-delete-request-6d2578fb7da61e3f.yaml diff --git a/manilaclient/osc/v2/share.py b/manilaclient/osc/v2/share.py index 1dcc42035..882a6e61c 100644 --- a/manilaclient/osc/v2/share.py +++ b/manilaclient/osc/v2/share.py @@ -350,7 +350,7 @@ class DeleteShare(command.Command): if parsed_args.force: share_client.shares.force_delete(share_obj) - if parsed_args.soft: + elif parsed_args.soft: if share_client.api_version >= api_versions.APIVersion( '2.69'): share_client.shares.soft_delete(share_obj) diff --git a/manilaclient/tests/unit/osc/v2/test_share.py b/manilaclient/tests/unit/osc/v2/test_share.py index 443e78f65..c481c2f68 100644 --- a/manilaclient/tests/unit/osc/v2/test_share.py +++ b/manilaclient/tests/unit/osc/v2/test_share.py @@ -425,6 +425,8 @@ class TestShareDelete(TestShare): result = self.cmd.take_action(parsed_args) self.shares_mock.delete.assert_called_with(shares[0], None) + self.shares_mock.soft_delete.assert_not_called() + self.shares_mock.force_delete.assert_not_called() self.assertIsNone(result) def test_share_delete_many(self): @@ -481,6 +483,8 @@ class TestShareDelete(TestShare): result = self.cmd.take_action(parsed_args) self.shares_mock.force_delete.assert_called_once_with(shares[0]) + self.shares_mock.delete.assert_not_called() + self.shares_mock.soft_delete.assert_not_called() self.assertIsNone(result) def test_share_delete_with_soft(self): @@ -500,6 +504,8 @@ class TestShareDelete(TestShare): result = self.cmd.take_action(parsed_args) self.shares_mock.soft_delete.assert_called_once_with(shares[0]) + self.shares_mock.delete.assert_not_called() + self.shares_mock.force_delete.assert_not_called() self.assertIsNone(result) def test_share_delete_wrong_name(self): diff --git a/releasenotes/notes/bug-2051737-fix-share-force-delete-request-6d2578fb7da61e3f.yaml b/releasenotes/notes/bug-2051737-fix-share-force-delete-request-6d2578fb7da61e3f.yaml new file mode 100644 index 000000000..3b7c697ea --- /dev/null +++ b/releasenotes/notes/bug-2051737-fix-share-force-delete-request-6d2578fb7da61e3f.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - Share force delete command was sending two REST requests, first force delete and + then delete. Fixed it by removing delete request. For more details, please refer to + `launchpad bug 2051737 `_