Description of problem: On Dell 14th Gen PowerEdge hardware, Firmware 3.34.34.34 and above bring a change that disables 'RAW' commands. This will break the 'ipmi' ironic driver if used with recent Dell H/W (14th Gen). Code excerpt: https://github.com/openstack/ironic/blob/master/ironic/drivers/modules/ipmitool.py#L737 https://github.com/openstack/ironic/blob/master/ironic/drivers/modules/ipmitool.py#L1043 Previously working raw commands will be refused by the iDRAC and a message similar to the following will be displayed: "Unable to send RAW command (channel=0x0 netfn=0x30 lun=0x0 cmd=0x30 rsp=0xd4): Insufficient privilege level"
I don't remember the exactly background, but we're using RAW commands to work around some hardware not understanding boot devices with UEFI or something like that.
Ah, so it was old ipmitool. From the source code: # FIXME(lucasagomes): Older versions of the ipmitool utility # are not able to set the options "efiboot" and "persistent" # at the same time, combining other options seems to work fine, # except efiboot. Newer versions of ipmitool (1.8.17) does fix # this problem but (some) distros still packaging an older version. # To workaround this problem for now we can make use of sending # raw bytes to set the boot device for a node in persistent + # uefi mode, this will work with newer and older versions of the # ipmitool utility. Also see: # https://bugs.launchpad.net/ironic/+bug/1611306
We can get rid of raw commands in the current master, but unless we get a confirmation that the very commands we use are broken, I'd be cautious about changing any stable releases.