2017-07-12 17:53:31 |
Fellype Cavalcante |
description |
With the proposal to solve the bug that PXE interface should be using non-persistent boot for cleaning/deploying phases as default[1], it will be necessary to create a flag to enable this persistent behavior when you set the boot device. This flag would override a non-persistent behavior in the cleaning and deploy process.
There are two places we could handle this flag:
1. The first is a more general solution to activate only in PXE, and would make all PXE's as persistent boot order.
Something like:
persistent = strutils.bool_from_string(
node.driver_info.get('force_always_pxe_persistent_boot_devices,False))
manager_utils.node_set_boot_device(task, boot_devices.PXE, persistent=persistent)
2.The other one is to define this behavior by driver, creating a flag for each driver and set it in the management interface set_boot_device method.
Something like:
def set_boot_device(self, task, device, persistent=False):
if node.driver_info.get('oneview_force_always_persistent_boot_devices', False):
persistent=True
An example of this behavior can be seen at ipmitool management interface that already handles a similar flag for the case when some IPMI BMCs don't support persistent boot devices[2].
An extended discussion about this bug can be found at [3] and [4]. Search for: fellypefca, TheJulia and sambetts.
[1] - https://review.openstack.org/#/c/479927/
[2] - https://github.com/openstack/ironic/blob/master/ironic/drivers/modules/ipmitool.py#L915
[3] - http://eavesdrop.openstack.org/irclogs/%23openstack-ironic/%23openstack-ironic.2017-06-29.log.html#t2017-06-29T12:00:01
[4] - http://eavesdrop.openstack.org/irclogs/%23openstack-ironic/%23openstack-ironic.2017-07-12.log.html#t2017-07-12T12:54:35 |
With the proposal to solve the bug that PXE interface should be using non-persistent boot for cleaning/deploying phases as default[1], it will be necessary to create a flag to enable this persistent behavior when you set the boot device. This flag would override a non-persistent behavior in the cleaning and deploy process.
There are two places we could handle this flag:
1. The first is a more general solution to activate only in PXE, and would make all PXE's as persistent boot order.
Something like:
persistent = strutils.bool_from_string(
node.driver_info.get('force_always_pxe_persistent_boot_devices,False))
manager_utils.node_set_boot_device(task, boot_devices.PXE,
persistent=persistent)
2.The other one is to define this behavior by driver, creating a flag for each driver and set it in the management interface set_boot_device method.
Something like:
def set_boot_device(self, task, device, persistent=False):
if node.driver_info.get(
'oneview_force_always_persistent_boot_devices', False):
persistent=True
An example of this behavior can be seen at ipmitool management interface that already handles a similar flag for the case when some IPMI BMCs don't support persistent boot devices[2].
An extended discussion about this bug can be found at [3] and [4]. Search for: fellypefca, TheJulia and sambetts.
[1] - https://review.openstack.org/#/c/479927/
[2] - https://github.com/openstack/ironic/blob/master/ironic/drivers/modules/ipmitool.py#L915
[3] - http://eavesdrop.openstack.org/irclogs/%23openstack-ironic/%23openstack-ironic.2017-06-29.log.html#t2017-06-29T12:00:01
[4] - http://eavesdrop.openstack.org/irclogs/%23openstack-ironic/%23openstack-ironic.2017-07-12.log.html#t2017-07-12T12:54:35 |
|