summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ironic/drivers/modules/iscsi_deploy.py7
-rw-r--r--ironic/tests/unit/drivers/modules/test_iscsi_deploy.py9
-rw-r--r--releasenotes/notes/iscsi-optional-cpu-arch-ebf6a90dde34172c.yaml6
3 files changed, 20 insertions, 2 deletions
diff --git a/ironic/drivers/modules/iscsi_deploy.py b/ironic/drivers/modules/iscsi_deploy.py
index 5cfaef2b5..d81bc068a 100644
--- a/ironic/drivers/modules/iscsi_deploy.py
+++ b/ironic/drivers/modules/iscsi_deploy.py
@@ -117,8 +117,11 @@ def get_deploy_info(node, address, iqn, port=None, lun='1', conv_flags=None):
'ephemeral_mb': i_info['ephemeral_mb'],
'preserve_ephemeral': i_info['preserve_ephemeral'],
'boot_option': deploy_utils.get_boot_option(node),
- 'boot_mode': boot_mode_utils.get_boot_mode(node),
- 'cpu_arch': node.properties.get('cpu_arch')})
+ 'boot_mode': boot_mode_utils.get_boot_mode(node)})
+
+ cpu_arch = node.properties.get('cpu_arch')
+ if cpu_arch is not None:
+ params['cpu_arch'] = cpu_arch
# Append disk label if specified
disk_label = deploy_utils.get_disk_label(node)
diff --git a/ironic/tests/unit/drivers/modules/test_iscsi_deploy.py b/ironic/tests/unit/drivers/modules/test_iscsi_deploy.py
index cd460132d..e1712d40c 100644
--- a/ironic/tests/unit/drivers/modules/test_iscsi_deploy.py
+++ b/ironic/tests/unit/drivers/modules/test_iscsi_deploy.py
@@ -418,6 +418,15 @@ class IscsiDeployMethodsTestCase(db_base.DbTestCase):
ret_val = self._test_get_deploy_info(extra_instance_info=capabilities)
self.assertEqual('local', ret_val['boot_option'])
+ def test_get_deploy_info_cpu_arch(self):
+ ret_val = self._test_get_deploy_info()
+ self.assertEqual('x86_64', ret_val['cpu_arch'])
+
+ def test_get_deploy_info_cpu_arch_none(self):
+ self.node.properties['cpu_arch'] = None
+ ret_val = self._test_get_deploy_info()
+ self.assertNotIn('cpu_arch', ret_val)
+
def test_get_deploy_info_disk_label(self):
capabilities = {'capabilities': {'disk_label': 'msdos'}}
ret_val = self._test_get_deploy_info(extra_instance_info=capabilities)
diff --git a/releasenotes/notes/iscsi-optional-cpu-arch-ebf6a90dde34172c.yaml b/releasenotes/notes/iscsi-optional-cpu-arch-ebf6a90dde34172c.yaml
new file mode 100644
index 000000000..a8ee9e5ce
--- /dev/null
+++ b/releasenotes/notes/iscsi-optional-cpu-arch-ebf6a90dde34172c.yaml
@@ -0,0 +1,6 @@
+---
+fixes:
+ - |
+ Fixes an issue where iSCSI based deployments fail if the ``cpu_arch``
+ property is not specified on a node.
+