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
(cherry picked from commit 354831c9b2)
This commit is contained in:
agireesh 2024-08-22 17:38:03 +05:30
parent b7dfe6173f
commit a1030e8e5f
3 changed files with 16 additions and 7 deletions

View File

@ -2033,16 +2033,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.