diff options
author | Zhou Hao <zhouhao@fujitsu.com> | 2022-04-28 09:30:08 +0800 |
---|---|---|
committer | Zhou Hao <zhouhao@fujitsu.com> | 2022-04-28 09:30:29 +0800 |
commit | 93a993d0265457c14c91bd7f058fcb5a86c6fd07 (patch) | |
tree | 3051b9281e1a7a9cd976a54c2bb10d07f76d675a /ironic | |
parent | e5626ab9c7d1b71f078b90e4c785a4aaff6d05b3 (diff) | |
download | ironic-93a993d0265457c14c91bd7f058fcb5a86c6fd07.tar.gz |
[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: Ifb12822e40afd2f68eb5a2091c9258013f3dccae
Diffstat (limited to 'ironic')
-rw-r--r-- | ironic/drivers/modules/irmc/raid.py | 6 | ||||
-rw-r--r-- | ironic/tests/unit/drivers/modules/irmc/test_raid.py | 3 |
2 files changed, 5 insertions, 4 deletions
diff --git a/ironic/drivers/modules/irmc/raid.py b/ironic/drivers/modules/irmc/raid.py index 26737ea11..c8a5b9537 100644 --- a/ironic/drivers/modules/irmc/raid.py +++ b/ironic/drivers/modules/irmc/raid.py @@ -81,7 +81,7 @@ def _get_raid_adapter(node): :returns: RAID adapter dictionary, None otherwise. :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', node.uuid) try: @@ -137,7 +137,7 @@ def _create_raid_adapter(node): :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 try: @@ -164,7 +164,7 @@ def _delete_raid_adapter(node): :raises: IRMCOperationError if SCCI failed from python-scciclient. """ - irmc_info = node.driver_info + irmc_info = irmc_common.parse_driver_info(node) try: client.elcm.delete_raid_configuration(irmc_info) diff --git a/ironic/tests/unit/drivers/modules/irmc/test_raid.py b/ironic/tests/unit/drivers/modules/irmc/test_raid.py index 94c77db2f..eefe7ff3a 100644 --- a/ironic/tests/unit/drivers/modules/irmc/test_raid.py +++ b/ironic/tests/unit/drivers/modules/irmc/test_raid.py @@ -22,6 +22,7 @@ from ironic.common import exception from ironic.conductor import task_manager from ironic import drivers as ironic_drivers 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.tests.unit.drivers.modules.irmc import test_common @@ -702,7 +703,7 @@ class IRMCRaidConfigurationInternalMethodsTestCase(test_common.BaseIRMCTest): shared=True) as task: raid._commit_raid_config(task) 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( task.node, task.node.raid_config) set_async_step_flags_mock.assert_called_once_with( |