Ironic is very "Linux" centric, so for all nodes regardless of architecture it
reports the same list of supported boot devices.
This is not correct for SPARC, e.g. PXE is not supported.
This patch simply passes the task into the driver implemented method for
getting the boot device so that architecture specific information can be
returned.
Upstream bug logged against trunk:
--- ORIGINAL/ironic/conductor/manager.py 2015-05-05 22:41:35.764613395 +0100
+++ ironic-2015.1.0/ironic/conductor/manager.py 2015-05-05 22:47:23.046291559 +0100
@@ -1615,7 +1615,7 @@
if not getattr(task.driver, 'management', None):
driver=task.node.driver, extension='management')
+ return task.driver.management.get_supported_boot_devices(task)
--- ORIGINAL/ironic/drivers/base.py 2015-05-05 22:41:35.780975517 +0100
+++ ironic-2015.1.0/ironic/drivers/base.py 2015-05-05 22:48:01.342155003 +0100
@@ -629,9 +629,10 @@
"""
- def get_supported_boot_devices(self):
+ def get_supported_boot_devices(self, task=None):
"""Get a list of the supported boot devices.
+ :param task: a task from TaskManager.
:returns: A list with the supported boot devices defined
in :mod:`ironic.common.boot_devices`.
"""