NetApp: don't check kerberos config on mgmt LIF.

NetApp Driver- Exclude the vserver management network interface for
certain vserver account when checking the vserver Kerberos configuration
for network interfaces.

Closes-Bug: #2073766
Change-Id: I1f7a1207b8714b3fccd202526eeb92a547083537
This commit is contained in:
agireesh 2024-08-22 17:38:03 +05:30 committed by Gireesh Awasthi
parent 3920cd46e4
commit 354831c9b2
3 changed files with 16 additions and 7 deletions

View File

@ -2038,16 +2038,16 @@ class NetAppCmodeClient(client_base.NetAppBaseClient):
'8.3 or later.') '8.3 or later.')
raise exception.NetAppException(msg) raise exception.NetAppException(msg)
lifs = self.list_network_interfaces() lifs_info = self.get_network_interfaces(protocols=['NFS', 'CIFS'])
if not lifs: if len(lifs_info) == 0:
LOG.debug("There are no LIFs configured for this Vserver. " LOG.debug("There are no LIFs configured for this Vserver. "
"Kerberos is disabled.") "Kerberos is disabled.")
return False return False
# NOTE(dviroel): All LIFs must have kerberos enabled # NOTE(dviroel): All LIFs must have kerberos enabled
for lif in lifs: for lif in lifs_info:
api_args = { api_args = {
'interface-name': lif, 'interface-name': lif.get('interface-name'),
'desired-attributes': { 'desired-attributes': {
'kerberos-config-info': { 'kerberos-config-info': {
'is-kerberos-enabled': None, 'is-kerberos-enabled': None,

View File

@ -2958,8 +2958,8 @@ class NetAppClientCmodeTestCase(test.TestCase):
self.mock_object(self.client, 'send_request', self.mock_object(self.client, 'send_request',
mock.Mock(return_value=api_response)) mock.Mock(return_value=api_response))
self.mock_object(self.client, self.mock_object(self.client,
'list_network_interfaces', 'get_network_interfaces',
mock.Mock(return_value=['lif1'])) mock.Mock(return_value=[{'interface-name': 'lif1'}]))
result = self.client.is_kerberos_enabled() result = self.client.is_kerberos_enabled()
@ -2975,7 +2975,7 @@ class NetAppClientCmodeTestCase(test.TestCase):
self.assertTrue(result) self.assertTrue(result)
self.client.send_request.assert_called_once_with( self.client.send_request.assert_called_once_with(
'kerberos-config-get', kerberos_config_get_args) 'kerberos-config-get', kerberos_config_get_args)
self.client.list_network_interfaces.assert_called_once() self.client.get_network_interfaces.assert_called_once()
def test_get_kerberos_service_principal_name(self): def test_get_kerberos_service_principal_name(self):

View File

@ -0,0 +1,9 @@
---
fixes:
- |
NetApp driver `bug #2073766
<https://bugs.launchpad.net/manila/+bug/2073766>`_:
Kerberos can only be configured for the SVM data network interface.
Therefore, this fix excludes the vserver management network interface
for certain SVM accounts when checking the SVM Kerberos configuration
for network interfaces.