NetApp cDOT vserver deletion fails if no lifs present
If no LIFs are present on a vserver (such as can happen if an error occurs during share creation in driver_handles_share_servers=True mode), the vserver deletion fails due to a recent change. This makes the deletion path more resilient. Change-Id: I475b7b00cd5ba6bb111e2002bb8faa49e4878592 Closes-Bug: #1607029
This commit is contained in:
parent
4e9f52022f
commit
bcd2855e8e
@ -320,8 +320,10 @@ class NetAppCmodeMultiSVMFileStorageLibrary(
|
||||
vserver_client = self._get_api_client(vserver=vserver)
|
||||
network_interfaces = vserver_client.get_network_interfaces()
|
||||
|
||||
home_port = network_interfaces[0]['home-port']
|
||||
vlan = home_port.split('-')[1]
|
||||
vlan = None
|
||||
if network_interfaces:
|
||||
home_port = network_interfaces[0]['home-port']
|
||||
vlan = home_port.split('-')[1]
|
||||
|
||||
@utils.synchronized('netapp-VLAN-%s' % vlan, external=True)
|
||||
def _delete_vserver_with_lock():
|
||||
|
@ -698,7 +698,8 @@ class NetAppFileStorageLibraryTestCase(test.TestCase):
|
||||
mock_delete_vserver_vlan.assert_called_once_with(
|
||||
c_fake.NETWORK_INTERFACES)
|
||||
|
||||
def test_delete_vserver_with_ipspace(self):
|
||||
@ddt.data([], c_fake.NETWORK_INTERFACES)
|
||||
def test_delete_vserver_with_ipspace(self, interfaces):
|
||||
|
||||
self.mock_object(self.library._client,
|
||||
'get_vserver_ipspace',
|
||||
@ -714,7 +715,7 @@ class NetAppFileStorageLibraryTestCase(test.TestCase):
|
||||
'_delete_vserver_vlan')
|
||||
self.mock_object(vserver_client,
|
||||
'get_network_interfaces',
|
||||
mock.Mock(return_value=c_fake.NETWORK_INTERFACES))
|
||||
mock.Mock(return_value=interfaces))
|
||||
|
||||
security_services = fake.NETWORK_INFO['security_services']
|
||||
|
||||
@ -727,8 +728,7 @@ class NetAppFileStorageLibraryTestCase(test.TestCase):
|
||||
fake.VSERVER1, vserver_client, security_services=security_services)
|
||||
self.library._client.delete_ipspace.assert_called_once_with(
|
||||
fake.IPSPACE)
|
||||
mock_delete_vserver_vlan.assert_called_once_with(
|
||||
c_fake.NETWORK_INTERFACES)
|
||||
mock_delete_vserver_vlan.assert_called_once_with(interfaces)
|
||||
|
||||
def test_delete_vserver_vlan(self):
|
||||
|
||||
|
@ -0,0 +1,4 @@
|
||||
---
|
||||
fixes:
|
||||
- Fixed issue with NetApp cDOT share server cleanup when LIF creation fails
|
||||
while setting up a new vServer.
|
Loading…
x
Reference in New Issue
Block a user