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:
parent
b7dfe6173f
commit
a1030e8e5f
@ -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,
|
||||||
|
@ -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):
|
||||||
|
|
||||||
|
@ -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.
|
Loading…
Reference in New Issue
Block a user