[iRMC] Change the way to get irmc-info in raid
When using the node managed by the `irmc` hardware type, if the port number of the bmc address is manually specified, the following error will occur when configuring raid: ``` %d format: a number is required, not str ``` Change raid to call parse_driver_info to get irmc_info, so that irmc-port can be converted to int type to avoid this error. Story: #2010009 Task: #45151 Signed-off-by: Zhou Hao <zhouhao@fujitsu.com> Change-Id: I35e0aa2a5e612e6e45c9489153dbb3ff3e500a66
This commit is contained in:
parent
8e57495d10
commit
916b6d02c1
@ -81,7 +81,7 @@ def _get_raid_adapter(node):
|
|||||||
:returns: RAID adapter dictionary, None otherwise.
|
:returns: RAID adapter dictionary, None otherwise.
|
||||||
:raises: IRMCOperationError on an error from python-scciclient.
|
:raises: IRMCOperationError on an error from python-scciclient.
|
||||||
"""
|
"""
|
||||||
irmc_info = node.driver_info
|
irmc_info = irmc_common.parse_driver_info(node)
|
||||||
LOG.info('iRMC driver is gathering RAID adapter info for node %s',
|
LOG.info('iRMC driver is gathering RAID adapter info for node %s',
|
||||||
node.uuid)
|
node.uuid)
|
||||||
try:
|
try:
|
||||||
@ -137,7 +137,7 @@ def _create_raid_adapter(node):
|
|||||||
:raises: IRMCOperationError on an error from python-scciclient.
|
:raises: IRMCOperationError on an error from python-scciclient.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
irmc_info = node.driver_info
|
irmc_info = irmc_common.parse_driver_info(node)
|
||||||
target_raid_config = node.target_raid_config
|
target_raid_config = node.target_raid_config
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -164,7 +164,7 @@ def _delete_raid_adapter(node):
|
|||||||
:raises: IRMCOperationError if SCCI failed from python-scciclient.
|
:raises: IRMCOperationError if SCCI failed from python-scciclient.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
irmc_info = node.driver_info
|
irmc_info = irmc_common.parse_driver_info(node)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
client.elcm.delete_raid_configuration(irmc_info)
|
client.elcm.delete_raid_configuration(irmc_info)
|
||||||
|
@ -22,6 +22,7 @@ from ironic.common import exception
|
|||||||
from ironic.conductor import task_manager
|
from ironic.conductor import task_manager
|
||||||
from ironic import drivers as ironic_drivers
|
from ironic import drivers as ironic_drivers
|
||||||
from ironic.drivers.modules import deploy_utils
|
from ironic.drivers.modules import deploy_utils
|
||||||
|
from ironic.drivers.modules.irmc import common as irmc_common
|
||||||
from ironic.drivers.modules.irmc import raid
|
from ironic.drivers.modules.irmc import raid
|
||||||
from ironic.tests.unit.drivers.modules.irmc import test_common
|
from ironic.tests.unit.drivers.modules.irmc import test_common
|
||||||
|
|
||||||
@ -702,7 +703,7 @@ class IRMCRaidConfigurationInternalMethodsTestCase(test_common.BaseIRMCTest):
|
|||||||
shared=True) as task:
|
shared=True) as task:
|
||||||
raid._commit_raid_config(task)
|
raid._commit_raid_config(task)
|
||||||
get_raid_adapter_mock.assert_called_once_with(
|
get_raid_adapter_mock.assert_called_once_with(
|
||||||
task.node.driver_info)
|
irmc_common.parse_driver_info(task.node))
|
||||||
update_raid_info_mock.assert_called_once_with(
|
update_raid_info_mock.assert_called_once_with(
|
||||||
task.node, task.node.raid_config)
|
task.node, task.node.raid_config)
|
||||||
set_async_step_flags_mock.assert_called_once_with(
|
set_async_step_flags_mock.assert_called_once_with(
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
fixes:
|
||||||
|
- |
|
||||||
|
Fix a bug when configuring RAID caused by not converting the port value
|
||||||
|
to int type when the node managed by the `irmc` hardware type.
|
Loading…
Reference in New Issue
Block a user