Remove 'mac' argument for [un]set_iscsi_boot_info()
This adds changes to both iSCSI boot related interfaces 'set_iscsi_boot_info' and 'unset_iscsi_boot_info' so iSCSI attempt is done for all nics instead one. Change-Id: I871d3e5da579bb8fddeb265267c9c7df76d370c4 Closes-Bug: #1739405
This commit is contained in:
parent
579b71710a
commit
176aefbc9b
|
@ -267,15 +267,13 @@ class IloClient(operations.IloOperations):
|
|||
"""
|
||||
return self._call_method('set_http_boot_url', url)
|
||||
|
||||
def set_iscsi_boot_info(self, mac, target_name, lun, ip_address,
|
||||
def set_iscsi_boot_info(self, target_name, lun, ip_address,
|
||||
port='3260', auth_method=None, username=None,
|
||||
password=None):
|
||||
"""Set iscsi details of the system in uefi boot mode.
|
||||
|
||||
The iSCSI initiator is identified by the MAC provided.
|
||||
The initiator system is set with the target details like
|
||||
IQN, LUN, IP, Port etc.
|
||||
:param mac: MAC address of initiator.
|
||||
:param target_name: Target Name for iscsi.
|
||||
:param lun: logical unit number.
|
||||
:param ip_address: IP address of the target.
|
||||
|
@ -287,19 +285,18 @@ class IloClient(operations.IloOperations):
|
|||
:raises: IloCommandNotSupportedInBiosError, if the system is
|
||||
in the bios boot mode.
|
||||
"""
|
||||
return self._call_method('set_iscsi_boot_info', mac, target_name, lun,
|
||||
return self._call_method('set_iscsi_boot_info', target_name, lun,
|
||||
ip_address, port, auth_method, username,
|
||||
password)
|
||||
|
||||
def unset_iscsi_boot_info(self, mac):
|
||||
def unset_iscsi_boot_info(self):
|
||||
"""Disable iscsi boot option of the system in uefi boot mode.
|
||||
|
||||
:param mac: MAC address of initiator.
|
||||
:raises: IloError, on an error from iLO.
|
||||
:raises: IloCommandNotSupportedInBiosError, if the system is
|
||||
in the bios boot mode.
|
||||
"""
|
||||
return self._call_method('unset_iscsi_boot_info', mac)
|
||||
return self._call_method('unset_iscsi_boot_info')
|
||||
|
||||
def get_iscsi_initiator_info(self):
|
||||
"""Returns iSCSI initiator information of iLO.
|
||||
|
|
|
@ -64,15 +64,13 @@ class IloOperations(object):
|
|||
"""
|
||||
raise exception.IloCommandNotSupportedError(ERRMSG)
|
||||
|
||||
def set_iscsi_boot_info(self, mac, target_name, lun, ip_address,
|
||||
def set_iscsi_boot_info(self, target_name, lun, ip_address,
|
||||
port='3260', auth_method=None, username=None,
|
||||
password=None):
|
||||
"""Set iscsi details of the system in uefi boot mode.
|
||||
|
||||
The iSCSI initiator is identified by the MAC provided.
|
||||
The initiator system is set with the target details like
|
||||
IQN, LUN, IP, Port etc.
|
||||
:param mac: MAC address of initiator.
|
||||
:param target_name: Target Name for iscsi.
|
||||
:param lun: logical unit number.
|
||||
:param ip_address: IP address of the target.
|
||||
|
@ -86,10 +84,9 @@ class IloOperations(object):
|
|||
"""
|
||||
raise exception.IloCommandNotSupportedError(ERRMSG)
|
||||
|
||||
def unset_iscsi_boot_info(self, mac):
|
||||
def unset_iscsi_boot_info(self):
|
||||
"""Disable iscsi boot option of the system in uefi boot mode.
|
||||
|
||||
:param mac: MAC address of initiator.
|
||||
:raises: IloError, on an error from iLO.
|
||||
:raises: IloCommandNotSupportedError, if the system is
|
||||
in the bios boot mode.
|
||||
|
|
|
@ -608,52 +608,38 @@ class RISOperations(rest.RestConnectorBase, operations.IloOperations):
|
|||
' does not exist')
|
||||
raise exception.IloCommandNotSupportedError(msg)
|
||||
|
||||
def _change_iscsi_settings(self, mac, iscsi_info):
|
||||
"""Change iscsi settings.
|
||||
def _change_iscsi_settings(self, iscsi_info):
|
||||
"""Change iSCSI settings.
|
||||
|
||||
:param mac: MAC address of the initiator.
|
||||
:param iscsi_info: A dictionary that contains information of iscsi
|
||||
:param iscsi_info: A dictionary that contains information of iSCSI
|
||||
target like target_name, lun, ip_address, port etc.
|
||||
:raises: IloInvalidInputError, if mac provided is invalid.
|
||||
:raises: IloError, on an error from iLO.
|
||||
"""
|
||||
headers, bios_uri, bios_settings = self._check_bios_resource()
|
||||
# Get the Boot resource and Mappings resource.
|
||||
# Get the Mappings resource.
|
||||
map_settings = self._get_bios_mappings_resource(bios_settings)
|
||||
boot_settings = self._get_bios_boot_resource(bios_settings)
|
||||
correlatable_id = None
|
||||
for boot_setting in boot_settings['BootSources']:
|
||||
if(mac in boot_setting['UEFIDevicePath']):
|
||||
correlatable_id = boot_setting['CorrelatableID']
|
||||
break
|
||||
nics = []
|
||||
for mapping in map_settings['BiosPciSettingsMappings']:
|
||||
for subinstance in mapping['Subinstances']:
|
||||
for association in subinstance['Associations']:
|
||||
if 'NicBoot' in association:
|
||||
nics.append(association)
|
||||
|
||||
if not correlatable_id:
|
||||
msg = ('MAC provided is Invalid')
|
||||
raise exception.IloInvalidInputError(msg)
|
||||
|
||||
nic = None
|
||||
# Get the NIC for the particular mac provided.
|
||||
for map_setting in map_settings['BiosPciSettingsMappings']:
|
||||
sub_instances = map_setting['Subinstances']
|
||||
if sub_instances:
|
||||
for sub_instance in sub_instances:
|
||||
if(sub_instance['CorrelatableID'] ==
|
||||
correlatable_id):
|
||||
# The nic is in the format 'NicBoot1' or 'NicBoot2'
|
||||
nic = sub_instance['Associations'][0]
|
||||
break
|
||||
if nic is not None:
|
||||
break
|
||||
|
||||
if not nic:
|
||||
msg = ('MAC does not have any corresponding mapping')
|
||||
if not nics:
|
||||
msg = ('No nics found')
|
||||
raise exception.IloError(msg)
|
||||
|
||||
iscsi_uri = self._check_iscsi_rest_patch_allowed()
|
||||
iscsi_info['iSCSIBootAttemptName'] = nic
|
||||
iscsi_info['iSCSINicSource'] = nic
|
||||
iscsi_info['iSCSIBootAttemptInstance'] = 1
|
||||
patch_data = {'iSCSIBootSources': [iscsi_info]}
|
||||
# Set iSCSI info to all nics
|
||||
iscsi_infos = []
|
||||
for nic in nics:
|
||||
data = iscsi_info.copy()
|
||||
data['iSCSIBootAttemptName'] = nic
|
||||
data['iSCSINicSource'] = nic
|
||||
data['iSCSIBootAttemptInstance'] = nics.index(nic) + 1
|
||||
iscsi_infos.append(data)
|
||||
|
||||
patch_data = {'iSCSIBootSources': iscsi_infos}
|
||||
status, headers, response = self._rest_patch(iscsi_uri,
|
||||
None, patch_data)
|
||||
if status >= 300:
|
||||
|
@ -905,15 +891,13 @@ class RISOperations(rest.RestConnectorBase, operations.IloOperations):
|
|||
msg = 'set_http_boot_url is not supported in the BIOS boot mode'
|
||||
raise exception.IloCommandNotSupportedInBiosError(msg)
|
||||
|
||||
def set_iscsi_boot_info(self, mac, target_name, lun, ip_address,
|
||||
def set_iscsi_boot_info(self, target_name, lun, ip_address,
|
||||
port='3260', auth_method=None, username=None,
|
||||
password=None):
|
||||
"""Set iscsi details of the system in uefi boot mode.
|
||||
"""Set iSCSI details of the system in UEFI boot mode.
|
||||
|
||||
The iSCSI initiator is identified by the MAC provided.
|
||||
The initiator system is set with the target details like
|
||||
IQN, LUN, IP, Port etc.
|
||||
:param mac: MAC address of initiator.
|
||||
:param target_name: Target Name for iscsi.
|
||||
:param lun: logical unit number.
|
||||
:param ip_address: IP address of the target.
|
||||
|
@ -923,7 +907,7 @@ class RISOperations(rest.RestConnectorBase, operations.IloOperations):
|
|||
:param password: CHAP secret.
|
||||
:raises: IloError, on an error from iLO.
|
||||
:raises: IloCommandNotSupportedInBiosError, if the system is
|
||||
in the bios boot mode.
|
||||
in the BIOS boot mode.
|
||||
"""
|
||||
if(self._is_boot_mode_uefi() is True):
|
||||
iscsi_info = {}
|
||||
|
@ -937,24 +921,23 @@ class RISOperations(rest.RestConnectorBase, operations.IloOperations):
|
|||
iscsi_info['iSCSIAuthenticationMethod'] = 'Chap'
|
||||
iscsi_info['iSCSIChapUsername'] = username
|
||||
iscsi_info['iSCSIChapSecret'] = password
|
||||
self._change_iscsi_settings(mac.upper(), iscsi_info)
|
||||
self._change_iscsi_settings(iscsi_info)
|
||||
else:
|
||||
msg = 'iscsi boot is not supported in the BIOS boot mode'
|
||||
msg = 'iSCSI boot is not supported in the BIOS boot mode'
|
||||
raise exception.IloCommandNotSupportedInBiosError(msg)
|
||||
|
||||
def unset_iscsi_boot_info(self, mac):
|
||||
"""Disable iscsi boot option in uefi boot mode.
|
||||
def unset_iscsi_boot_info(self):
|
||||
"""Disable iSCSI boot option in UEFI boot mode.
|
||||
|
||||
:param mac: MAC address of initiator.
|
||||
:raises: IloError, on an error from iLO.
|
||||
:raises: IloCommandNotSupportedInBiosError, if the system is
|
||||
in the bios boot mode.
|
||||
in the BIOS boot mode.
|
||||
"""
|
||||
if(self._is_boot_mode_uefi() is True):
|
||||
iscsi_info = {'iSCSIBootEnable': 'Disabled'}
|
||||
self._change_iscsi_settings(mac.upper(), iscsi_info)
|
||||
self._change_iscsi_settings(iscsi_info)
|
||||
else:
|
||||
msg = 'iscsi boot is not supported in the BIOS boot mode'
|
||||
msg = 'iSCSI boot is not supported in the BIOS boot mode'
|
||||
raise exception.IloCommandNotSupportedInBiosError(msg)
|
||||
|
||||
def get_iscsi_initiator_info(self):
|
||||
|
|
|
@ -1541,6 +1541,33 @@ GET_BIOS_BOOT = """
|
|||
|
||||
"""
|
||||
|
||||
GET_BIOS_MAPPINGS_WITHOUT_NIC = """
|
||||
{
|
||||
"Registry": "HpBiosAttributeRegistryP89.1.1.00",
|
||||
"BiosPciSettingsMappings": [
|
||||
{
|
||||
"Associations": [
|
||||
"EmbSata1Enable"
|
||||
],
|
||||
"CorrelatableID": "PciRoot(0x0)/Pci(0x1F,0x2)",
|
||||
"Instance": 1,
|
||||
"Subinstances": []
|
||||
},
|
||||
{
|
||||
"Associations": [
|
||||
"EmbNicEnable",
|
||||
{
|
||||
"PreBootNetwork": "EmbNic"
|
||||
}
|
||||
],
|
||||
"CorrelatableID": "PciRoot(0x0)/Pci(0x1C,0x4)/Pci(0x0,0x0)",
|
||||
"Instance": 3,
|
||||
"Subinstances": []
|
||||
}
|
||||
]
|
||||
}
|
||||
"""
|
||||
|
||||
GET_BIOS_MAPPINGS = """
|
||||
{
|
||||
"Registry": "HpBiosAttributeRegistryP89.1.1.00",
|
||||
|
@ -1893,6 +1920,33 @@ GET_ISCSI_PATCH = """
|
|||
"iSCSITargetIpAddress": "10.10.1.30",
|
||||
"iSCSITargetName": "iqn.2011-07.com.example.server:test1",
|
||||
"iSCSITargetTcpPort": 3260
|
||||
},
|
||||
{
|
||||
"iSCSIBootAttemptInstance": 2,
|
||||
"iSCSIBootAttemptName": "NicBoot2",
|
||||
"iSCSIBootLUN": "1",
|
||||
"iSCSINicSource": "NicBoot2",
|
||||
"iSCSITargetIpAddress": "10.10.1.30",
|
||||
"iSCSITargetName": "iqn.2011-07.com.example.server:test1",
|
||||
"iSCSITargetTcpPort": 3260
|
||||
},
|
||||
{
|
||||
"iSCSIBootAttemptInstance": 3,
|
||||
"iSCSIBootAttemptName": "NicBoot3",
|
||||
"iSCSIBootLUN": "1",
|
||||
"iSCSINicSource": "NicBoot3",
|
||||
"iSCSITargetIpAddress": "10.10.1.30",
|
||||
"iSCSITargetName": "iqn.2011-07.com.example.server:test1",
|
||||
"iSCSITargetTcpPort": 3260
|
||||
},
|
||||
{
|
||||
"iSCSIBootAttemptInstance": 4,
|
||||
"iSCSIBootAttemptName": "NicBoot4",
|
||||
"iSCSIBootLUN": "1",
|
||||
"iSCSINicSource": "NicBoot4",
|
||||
"iSCSITargetIpAddress": "10.10.1.30",
|
||||
"iSCSITargetName": "iqn.2011-07.com.example.server:test1",
|
||||
"iSCSITargetTcpPort": 3260
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -362,10 +362,10 @@ class IloClientTestCase(testtools.TestCase):
|
|||
|
||||
@mock.patch.object(client.IloClient, '_call_method')
|
||||
def test_set_iscsi_boot_info(self, call_mock):
|
||||
self.client.set_iscsi_boot_info('c456', 'iqn.2011-07.com:example:123',
|
||||
self.client.set_iscsi_boot_info('iqn.2011-07.com:example:123',
|
||||
'1', '10.10.1.23', '3260', 'CHAP',
|
||||
'user', 'password')
|
||||
call_mock.assert_called_once_with('set_iscsi_boot_info', 'c456',
|
||||
call_mock.assert_called_once_with('set_iscsi_boot_info',
|
||||
'iqn.2011-07.com:example:123',
|
||||
'1', '10.10.1.23', '3260',
|
||||
'CHAP', 'user', 'password')
|
||||
|
@ -377,8 +377,8 @@ class IloClientTestCase(testtools.TestCase):
|
|||
|
||||
@mock.patch.object(client.IloClient, '_call_method')
|
||||
def test_unset_iscsi_boot_info(self, call_mock):
|
||||
self.client.unset_iscsi_boot_info('c456')
|
||||
call_mock.assert_called_once_with('unset_iscsi_boot_info', 'c456')
|
||||
self.client.unset_iscsi_boot_info()
|
||||
call_mock.assert_called_once_with('unset_iscsi_boot_info')
|
||||
|
||||
@mock.patch.object(client.IloClient, '_call_method')
|
||||
def test_set_iscsi_initiator_info(self, call_mock):
|
||||
|
|
|
@ -156,12 +156,10 @@ class IloRisTestCase(testtools.TestCase):
|
|||
'iSCSITargetIpAddress': '10.10.1.30',
|
||||
'iSCSITargetTcpPort': 3260}
|
||||
self.client.set_iscsi_boot_info(
|
||||
'C4346BB7EF30',
|
||||
'iqn.2011-07.com.example.server:test1',
|
||||
'1', '10.10.1.30')
|
||||
_uefi_boot_mode_mock.assert_called_once_with()
|
||||
change_iscsi_settings_mock.assert_called_once_with('C4346BB7EF30',
|
||||
iscsi_variables)
|
||||
change_iscsi_settings_mock.assert_called_once_with(iscsi_variables)
|
||||
|
||||
@mock.patch.object(ris.RISOperations, '_change_iscsi_settings')
|
||||
@mock.patch.object(ris.RISOperations, '_is_boot_mode_uefi')
|
||||
|
@ -169,17 +167,15 @@ class IloRisTestCase(testtools.TestCase):
|
|||
change_iscsi_settings_mock):
|
||||
_uefi_boot_mode_mock.return_value = True
|
||||
iscsi_variables = {'iSCSIBootEnable': 'Disabled'}
|
||||
self.client.unset_iscsi_boot_info('C4346BB7EF30')
|
||||
self.client.unset_iscsi_boot_info()
|
||||
_uefi_boot_mode_mock.assert_called_once_with()
|
||||
change_iscsi_settings_mock.assert_called_once_with('C4346BB7EF30',
|
||||
iscsi_variables)
|
||||
change_iscsi_settings_mock.assert_called_once_with(iscsi_variables)
|
||||
|
||||
@mock.patch.object(ris.RISOperations, '_is_boot_mode_uefi')
|
||||
def test_unset_iscsi_boot_info_bios(self, _uefi_boot_mode_mock):
|
||||
_uefi_boot_mode_mock.return_value = False
|
||||
mac = 'C4346BB7EF30'
|
||||
self.assertRaises(exception.IloCommandNotSupportedInBiosError,
|
||||
self.client.unset_iscsi_boot_info, mac)
|
||||
self.client.unset_iscsi_boot_info)
|
||||
_uefi_boot_mode_mock.assert_called_once_with()
|
||||
|
||||
@mock.patch.object(ris.RISOperations, '_rest_get')
|
||||
|
@ -226,9 +222,8 @@ class IloRisTestCase(testtools.TestCase):
|
|||
@mock.patch.object(ris.RISOperations, '_is_boot_mode_uefi')
|
||||
def test_set_iscsi_boot_info_bios(self, _uefi_boot_mode_mock):
|
||||
_uefi_boot_mode_mock.return_value = False
|
||||
mac = 'C4346BB7EF30'
|
||||
self.assertRaises(exception.IloCommandNotSupportedInBiosError,
|
||||
self.client.set_iscsi_boot_info, mac,
|
||||
self.client.set_iscsi_boot_info,
|
||||
'iqn.2011-07.com.example.server:test1',
|
||||
'1', '10.10.1.30')
|
||||
_uefi_boot_mode_mock.assert_called_once_with()
|
||||
|
@ -1333,17 +1328,14 @@ class TestRISOperationsPrivateMethods(testtools.TestCase):
|
|||
@mock.patch.object(ris.RISOperations, '_rest_patch')
|
||||
@mock.patch.object(ris.RISOperations, '_check_iscsi_rest_patch_allowed')
|
||||
@mock.patch.object(ris.RISOperations, '_get_bios_mappings_resource')
|
||||
@mock.patch.object(ris.RISOperations, '_get_bios_boot_resource')
|
||||
@mock.patch.object(ris.RISOperations, '_check_bios_resource')
|
||||
def test__change_iscsi_settings(self, check_bios_mock, boot_mock,
|
||||
def test__change_iscsi_settings(self, check_bios_mock,
|
||||
mappings_mock, check_iscsi_mock,
|
||||
patch_mock):
|
||||
bios_uri = '/rest/v1/systems/1/bios'
|
||||
bios_settings = json.loads(ris_outputs.GET_BIOS_SETTINGS)
|
||||
check_bios_mock.return_value = (ris_outputs.GET_HEADERS,
|
||||
bios_uri, bios_settings)
|
||||
boot_settings = json.loads(ris_outputs.GET_BIOS_BOOT)
|
||||
boot_mock.return_value = boot_settings
|
||||
map_settings = json.loads(ris_outputs.GET_BIOS_MAPPINGS)
|
||||
mappings_mock.return_value = map_settings
|
||||
iscsi_uri = '/rest/v1/systems/1/bios/iScsi/Settings'
|
||||
|
@ -1356,68 +1348,39 @@ class TestRISOperationsPrivateMethods(testtools.TestCase):
|
|||
check_iscsi_mock.return_value = iscsi_uri
|
||||
patch_mock.return_value = (200, ris_outputs.GET_HEADERS,
|
||||
ris_outputs.REST_POST_RESPONSE)
|
||||
self.client._change_iscsi_settings('C4346BB7EF30', properties)
|
||||
self.client._change_iscsi_settings(properties)
|
||||
check_bios_mock.assert_called_once_with()
|
||||
boot_mock.assert_called_once_with(bios_settings)
|
||||
mappings_mock.assert_called_once_with(bios_settings)
|
||||
check_iscsi_mock.assert_called_once_with()
|
||||
patch_mock.assert_called_once_with(iscsi_uri, None, settings)
|
||||
|
||||
@mock.patch.object(ris.RISOperations, '_get_bios_mappings_resource')
|
||||
@mock.patch.object(ris.RISOperations, '_get_bios_boot_resource')
|
||||
@mock.patch.object(ris.RISOperations, '_check_bios_resource')
|
||||
def test__change_iscsi_settings_invalid_mac(self, check_bios_mock,
|
||||
boot_mock,
|
||||
def test__change_iscsi_settings_without_nic(self, check_bios_mock,
|
||||
mappings_mock):
|
||||
bios_uri = '/rest/v1/systems/1/bios'
|
||||
bios_settings = json.loads(ris_outputs.GET_BIOS_SETTINGS)
|
||||
check_bios_mock.return_value = (ris_outputs.GET_HEADERS,
|
||||
bios_uri, bios_settings)
|
||||
boot_settings = json.loads(ris_outputs.GET_BIOS_BOOT)
|
||||
boot_mock.return_value = boot_settings
|
||||
map_settings = json.loads(ris_outputs.GET_BIOS_MAPPINGS)
|
||||
mappings_mock.return_value = map_settings
|
||||
self.assertRaises(exception.IloInvalidInputError,
|
||||
self.client._change_iscsi_settings, 'C456', {})
|
||||
check_bios_mock.assert_called_once_with()
|
||||
boot_mock.assert_called_once_with(bios_settings)
|
||||
mappings_mock.assert_called_once_with(bios_settings)
|
||||
|
||||
@mock.patch.object(ris.RISOperations, '_get_bios_mappings_resource')
|
||||
@mock.patch.object(ris.RISOperations, '_get_bios_boot_resource')
|
||||
@mock.patch.object(ris.RISOperations, '_check_bios_resource')
|
||||
def test__change_iscsi_settings_invalid_mapping(self, check_bios_mock,
|
||||
boot_mock,
|
||||
mappings_mock):
|
||||
bios_uri = '/rest/v1/systems/1/bios'
|
||||
bios_settings = json.loads(ris_outputs.GET_BIOS_SETTINGS)
|
||||
check_bios_mock.return_value = (ris_outputs.GET_HEADERS,
|
||||
bios_uri, bios_settings)
|
||||
boot_settings = json.loads(ris_outputs.GET_BIOS_BOOT)
|
||||
boot_mock.return_value = boot_settings
|
||||
map_settings = json.loads(ris_outputs.GET_BIOS_MAPPINGS)
|
||||
map_settings = json.loads(ris_outputs.GET_BIOS_MAPPINGS_WITHOUT_NIC)
|
||||
mappings_mock.return_value = map_settings
|
||||
self.assertRaises(exception.IloError,
|
||||
self.client._change_iscsi_settings,
|
||||
'C4346BB7EF31', {})
|
||||
{})
|
||||
check_bios_mock.assert_called_once_with()
|
||||
boot_mock.assert_called_once_with(bios_settings)
|
||||
mappings_mock.assert_called_once_with(bios_settings)
|
||||
|
||||
@mock.patch.object(ris.RISOperations, '_rest_patch')
|
||||
@mock.patch.object(ris.RISOperations, '_check_iscsi_rest_patch_allowed')
|
||||
@mock.patch.object(ris.RISOperations, '_get_bios_mappings_resource')
|
||||
@mock.patch.object(ris.RISOperations, '_get_bios_boot_resource')
|
||||
@mock.patch.object(ris.RISOperations, '_check_bios_resource')
|
||||
def test__change_iscsi_settings_fail(self, check_bios_mock, boot_mock,
|
||||
def test__change_iscsi_settings_fail(self, check_bios_mock,
|
||||
mappings_mock, check_iscsi_mock,
|
||||
patch_mock):
|
||||
bios_uri = '/rest/v1/systems/1/bios'
|
||||
bios_settings = json.loads(ris_outputs.GET_BIOS_SETTINGS)
|
||||
check_bios_mock.return_value = (ris_outputs.GET_HEADERS,
|
||||
bios_uri, bios_settings)
|
||||
boot_settings = json.loads(ris_outputs.GET_BIOS_BOOT)
|
||||
boot_mock.return_value = boot_settings
|
||||
map_settings = json.loads(ris_outputs.GET_BIOS_MAPPINGS)
|
||||
mappings_mock.return_value = map_settings
|
||||
iscsi_uri = '/rest/v1/systems/1/bios/iScsi/Settings'
|
||||
|
@ -1432,9 +1395,8 @@ class TestRISOperationsPrivateMethods(testtools.TestCase):
|
|||
ris_outputs.REST_POST_RESPONSE)
|
||||
self.assertRaises(exception.IloError,
|
||||
self.client._change_iscsi_settings,
|
||||
'C4346BB7EF30', properties)
|
||||
properties)
|
||||
check_bios_mock.assert_called_once_with()
|
||||
boot_mock.assert_called_once_with(bios_settings)
|
||||
mappings_mock.assert_called_once_with(bios_settings)
|
||||
check_iscsi_mock.assert_called_once_with()
|
||||
patch_mock.assert_called_once_with(iscsi_uri, None, settings)
|
||||
|
|
Loading…
Reference in New Issue