Bug 1793206

Summary: On Dell 14th Gen PowerEdge, iDRAC firmware starting with 3.34.34.34 disables RAW commands.
Product: Red Hat OpenStack Reporter: Vincent S. Cojot <vcojot>
Component: openstack-ironicAssignee: Dmitry Tantsur <dtantsur>
Status: CLOSED NOTABUG QA Contact: Alistair Tonner <atonner>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 13.0 (Queens)CC: bfournie, christopher_dearborn, dtantsur, jkreger, mburns
Target Milestone: ---Keywords: Triaged, ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-01-24 18:12:50 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Vincent S. Cojot 2020-01-20 22:35:41 UTC
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"

Comment 3 Dmitry Tantsur 2020-01-21 14:53:54 UTC
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.

Comment 4 Dmitry Tantsur 2020-01-21 14:56:40 UTC
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

Comment 5 Dmitry Tantsur 2020-01-21 15:16:10 UTC
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.