components/openstack/ironic/patches/03-boot-device.patch
changeset 4460 e5811789e2fb
child 5405 66fd59fecd68
equal deleted inserted replaced
4459:5a11150c7d2e 4460:e5811789e2fb
       
     1 Ironic is very "Linux" centric, so for all nodes regardless of architecture it
       
     2 reports the same list of supported boot devices.
       
     3 
       
     4 This is not correct for SPARC, e.g. PXE is not supported.
       
     5 
       
     6 This patch simply passes the task into the driver implemented method for 
       
     7 getting the boot device so that architecture specific information can be
       
     8 returned.
       
     9 
       
    10 Upstream bug logged against trunk:
       
    11   https://bugs.launchpad.net/ironic/+bug/1391598
       
    12 
       
    13 --- ORIGINAL/ironic/conductor/manager.py	2015-02-20 18:03:18.051557776 +0000
       
    14 +++ ironic-2014.2.1/ironic/conductor/manager.py	2015-02-20 18:08:33.001316709 +0000
       
    15 @@ -1380,4 +1380,4 @@
       
    16              if not getattr(task.driver, 'management', None):
       
    17                  raise exception.UnsupportedDriverExtension(
       
    18                              driver=task.node.driver, extension='management')
       
    19 -            return task.driver.management.get_supported_boot_devices()
       
    20 +            return task.driver.management.get_supported_boot_devices(task)
       
    21 --- ORIGINAL/ironic/drivers/base.py	2015-02-20 18:03:18.037072121 +0000
       
    22 +++ ironic-2014.2.1/ironic/drivers/base.py	2015-02-20 18:09:58.769898691 +0000
       
    23 @@ -436,9 +436,10 @@
       
    24          """
       
    25  
       
    26      @abc.abstractmethod
       
    27 -    def get_supported_boot_devices(self):
       
    28 +    def get_supported_boot_devices(self, task=None):
       
    29          """Get a list of the supported boot devices.
       
    30  
       
    31 +        :param task: a task from TaskManager.
       
    32          :returns: A list with the supported boot devices defined
       
    33                    in :mod:`ironic.common.boot_devices`.
       
    34          """