Activity log for bug #2064907

Date Who What changed Old value New value Message
2024-05-06 09:40:06 Sylvan Le Deunff bug added bug
2024-05-06 09:46:47 Sylvan Le Deunff description **When performing a share server migration, if no new network is specified same allocations should be reused on destination share server.** But the code responsible to update existing allocations with new share_server_id seems to be missing here: https://opendev.org/openstack/manila/src/tag/18.1.0/manila/share/manager.py#L6099 Trying this, we found out another issue: **The way share server name is retrieved in NetApp driver prevents doing another migration after the first one.** * NetApp driver determines the name of the source share server for a migration using templating (something like "os_{server_id}" by default). * Migration of NetApp vserver with manila creates a new share_server entry in manila DB with a different server_id, but vserver still has the same name on NetApp cluster. * Now the name "os_{server_id}" does not match "vserver_name" anymore. * This breaks ability to migrate vserver a second time. The problem occurs in those functions related to migration: * [_check_for_migration_support](https://opendev.org/openstack/manila/src/tag/18.1.0/manila/share/drivers/netapp/dataontap/cluster_mode/lib_multi_svm.py#L1286) * [_migration_start_using_svm_migrate](https://opendev.org/openstack/manila/src/tag/18.1.0/manila/share/drivers/netapp/dataontap/cluster_mode/lib_multi_svm.py#L1525) And can be fixed by replacing templating by using backend_details stored in manila ```python source_share_server["backend_details"]["vserver_name"] ``` ISSUE 1 ======= When performing a share server migration, if no new network is specified same allocations should be reused on destination share server.** But the code responsible to update existing allocations with new share_server_id seems to be missing here: https://opendev.org/openstack/manila/src/tag/18.1.0/manila/share/manager.py#L6099 ISSUE 2 ======= The way share server name is retrieved in NetApp driver prevents doing another migration after the first one. - NetApp driver determines the name of the source share server for a migration using templating (something like "os_{server_id}" by default). - Migration of NetApp vserver with manila creates a new share_server entry in manila DB with a different server_id, but vserver still has the same name on NetApp cluster. - Now the name "os_{server_id}" does not match "vserver_name" anymore. - This breaks ability to migrate vserver a second time. The problem occurs in those functions related to migration: - _check_for_migration_support: https://opendev.org/openstack/manila/src/tag/18.1.0/manila/share/drivers/netapp/dataontap/cluster_mode/lib_multi_svm.py#L1286 * _migration_start_using_svm_migrate: https://opendev.org/openstack/manila/src/tag/18.1.0/manila/share/drivers/netapp/dataontap/cluster_mode/lib_multi_svm.py#L1525 And can be fixed by replacing templating by using backend_details stored in manila - source_share_server["backend_details"]["vserver_name"]
2024-05-06 09:46:57 Sylvan Le Deunff description ISSUE 1 ======= When performing a share server migration, if no new network is specified same allocations should be reused on destination share server.** But the code responsible to update existing allocations with new share_server_id seems to be missing here: https://opendev.org/openstack/manila/src/tag/18.1.0/manila/share/manager.py#L6099 ISSUE 2 ======= The way share server name is retrieved in NetApp driver prevents doing another migration after the first one. - NetApp driver determines the name of the source share server for a migration using templating (something like "os_{server_id}" by default). - Migration of NetApp vserver with manila creates a new share_server entry in manila DB with a different server_id, but vserver still has the same name on NetApp cluster. - Now the name "os_{server_id}" does not match "vserver_name" anymore. - This breaks ability to migrate vserver a second time. The problem occurs in those functions related to migration: - _check_for_migration_support: https://opendev.org/openstack/manila/src/tag/18.1.0/manila/share/drivers/netapp/dataontap/cluster_mode/lib_multi_svm.py#L1286 * _migration_start_using_svm_migrate: https://opendev.org/openstack/manila/src/tag/18.1.0/manila/share/drivers/netapp/dataontap/cluster_mode/lib_multi_svm.py#L1525 And can be fixed by replacing templating by using backend_details stored in manila - source_share_server["backend_details"]["vserver_name"] ISSUE 1 ======= When performing a share server migration, if no new network is specified same allocations should be reused on destination share server. But the code responsible to update existing allocations with new share_server_id seems to be missing here: https://opendev.org/openstack/manila/src/tag/18.1.0/manila/share/manager.py#L6099 ISSUE 2 ======= The way share server name is retrieved in NetApp driver prevents doing another migration after the first one. - NetApp driver determines the name of the source share server for a migration using templating (something like "os_{server_id}" by default). - Migration of NetApp vserver with manila creates a new share_server entry in manila DB with a different server_id, but vserver still has the same name on NetApp cluster. - Now the name "os_{server_id}" does not match "vserver_name" anymore. - This breaks ability to migrate vserver a second time. The problem occurs in those functions related to migration: - _check_for_migration_support: https://opendev.org/openstack/manila/src/tag/18.1.0/manila/share/drivers/netapp/dataontap/cluster_mode/lib_multi_svm.py#L1286 * _migration_start_using_svm_migrate: https://opendev.org/openstack/manila/src/tag/18.1.0/manila/share/drivers/netapp/dataontap/cluster_mode/lib_multi_svm.py#L1525 And can be fixed by replacing templating by using backend_details stored in manila - source_share_server["backend_details"]["vserver_name"]
2024-05-06 09:47:32 Sylvan Le Deunff description ISSUE 1 ======= When performing a share server migration, if no new network is specified same allocations should be reused on destination share server. But the code responsible to update existing allocations with new share_server_id seems to be missing here: https://opendev.org/openstack/manila/src/tag/18.1.0/manila/share/manager.py#L6099 ISSUE 2 ======= The way share server name is retrieved in NetApp driver prevents doing another migration after the first one. - NetApp driver determines the name of the source share server for a migration using templating (something like "os_{server_id}" by default). - Migration of NetApp vserver with manila creates a new share_server entry in manila DB with a different server_id, but vserver still has the same name on NetApp cluster. - Now the name "os_{server_id}" does not match "vserver_name" anymore. - This breaks ability to migrate vserver a second time. The problem occurs in those functions related to migration: - _check_for_migration_support: https://opendev.org/openstack/manila/src/tag/18.1.0/manila/share/drivers/netapp/dataontap/cluster_mode/lib_multi_svm.py#L1286 * _migration_start_using_svm_migrate: https://opendev.org/openstack/manila/src/tag/18.1.0/manila/share/drivers/netapp/dataontap/cluster_mode/lib_multi_svm.py#L1525 And can be fixed by replacing templating by using backend_details stored in manila - source_share_server["backend_details"]["vserver_name"] ISSUE 1 ======= When performing a share server migration, if no new network is specified same allocations should be reused on destination share server. But the code responsible to update existing allocations with new share_server_id seems to be missing here: https://opendev.org/openstack/manila/src/tag/18.1.0/manila/share/manager.py#L6099 ISSUE 2 ======= The way share server name is retrieved in NetApp driver prevents doing another migration after the first one. - NetApp driver determines the name of the source share server for a migration using templating (something like "os_{server_id}" by default). - Migration of NetApp vserver with manila creates a new share_server entry in manila DB with a different server_id, but vserver still has the same name on NetApp cluster. - Now the name "os_{server_id}" does not match "vserver_name" anymore. - This breaks ability to migrate vserver a second time. The problem occurs in those functions related to migration: - _check_for_migration_support: https://opendev.org/openstack/manila/src/tag/18.1.0/manila/share/drivers/netapp/dataontap/cluster_mode/lib_multi_svm.py#L1286 - _migration_start_using_svm_migrate: https://opendev.org/openstack/manila/src/tag/18.1.0/manila/share/drivers/netapp/dataontap/cluster_mode/lib_multi_svm.py#L1525 And can be fixed by replacing templating by using backend_details stored in manila - source_share_server["backend_details"]["vserver_name"]
2024-05-06 09:50:02 Sylvan Le Deunff manila: assignee Sylvan Le Deunff (sylvanld)
2024-05-06 10:33:03 OpenStack Infra manila: status New In Progress
2024-05-08 19:19:19 Vida Haririan tags migration share-migration
2024-06-04 13:24:45 Sylvan Le Deunff manila: status In Progress Fix Committed