fix share server get migration progress

When share server migration is completed, get migration progress query
fails since source share server is deleted in Manila. However, Manila is
able to return status i.e. 100% when queried using source share server.
The manilaclient is fixed to handle this scenario.

Closes-bug: #2068732
Change-Id: Ia4ac62e740ca6a2882fbeadc6b60ebea3edc1b5e
Signed-off-by: Kiran Pawar <kinpaa@gmail.com>
This commit is contained in:
Kiran Pawar
2026-02-09 12:51:30 +00:00
parent b46eeee2f2
commit 495f213c43
3 changed files with 16 additions and 3 deletions

View File

@@ -639,10 +639,9 @@ class ShareServerMigrationShow(command.ShowOne):
def take_action(self, parsed_args):
share_client = self.app.client_manager.share
if share_client.api_version >= api_versions.APIVersion("2.57"):
share_server = osc_utils.find_resource(
share_client.share_servers, parsed_args.share_server
result = share_client.share_servers.migration_get_progress(
parsed_args.share_server
)
result = share_server.migration_get_progress()
return self.dict2columns(result)
else:
raise exceptions.CommandError(

View File

@@ -651,6 +651,11 @@ class TestShareServerMigrationShow(TestShareServer):
)
self.share_networks_mock.get.return_value = self.new_share_network
migration_dict = {
'total_progress': 'fake',
'task_state': 'migration_in_progress',
'destination_share_server_id': 'fake_id',
}
self.share_server = manila_fakes.FakeShareServer.create_one_server(
attrs={
'status': 'migrating',
@@ -659,6 +664,10 @@ class TestShareServerMigrationShow(TestShareServer):
methods={'migration_get_progress': None},
)
self.servers_mock.get.return_value = self.share_server
share_client = self.app.client_manager.share
share_client.share_servers.migration_get_progress.return_value = (
migration_dict
)
# Get the command objects to test
self.cmd = osc_share_servers.ShareServerMigrationShow(self.app, None)

View File

@@ -0,0 +1,5 @@
---
fixes:
- |
Fixed an issue while getting share server migration progress for source
share server after migration is completed.