[NetApp] Fix vserver peer creation with same vserver

The NetApp cDOT driver is now fixed to ignore vserver peering
when creating and promoting shares replicas within the same
vserver.

Closes-Bug: #1872243
Change-Id: I0b82c15aec7862ee3630330805ac3ac177aae127
(cherry picked from commit 0d949ac485)
This commit is contained in:
Douglas Viroel 2020-04-11 19:04:56 +00:00
parent 3d7052f457
commit f820551c1d
3 changed files with 14 additions and 2 deletions

View File

@ -380,7 +380,8 @@ class DataMotionSession(object):
# 2. vserver operations when driver handles share servers
replica_config = get_backend_configuration(replica_backend)
if replica_config.driver_handles_share_servers:
if (replica_config.driver_handles_share_servers
and replica_vserver != new_src_vserver):
# create vserver peering if does not exists
if not replica_client.get_vserver_peers(replica_vserver,
new_src_vserver):

View File

@ -462,7 +462,8 @@ class NetAppCmodeMultiSVMFileStorageLibrary(
new_replica_client = data_motion.get_client_for_backend(
new_replica_host, vserver_name=dst_vserver)
if not self._get_vserver_peers(dst_vserver, src_vserver):
if (dst_vserver != src_vserver
and not self._get_vserver_peers(dst_vserver, src_vserver)):
# 3.1. Request vserver peer creation from new_replica's host
# to active replica's host
new_replica_client.create_vserver_peer(

View File

@ -0,0 +1,10 @@
---
fixes:
- |
NetApp cDOT driver is now fixed to not create peer relationship between
same share servers when handling share replica creation and promotion.
This issue was happening when operating in `driver_handles_share_servers`
enabled mode with backends configured with more than one pool. See
`Launchpad bug 1872243 <https://launchpad.net/bugs/1872243>`_ for more
details.