Bug 1616416

Summary: Backport Ironic iDRAC RAID10 creation with gt 16 drives
Product: Red Hat OpenStack Reporter: Chris Dearborn <christopher_dearborn>
Component: openstack-ironicAssignee: Chris Dearborn <christopher_dearborn>
Status: CLOSED ERRATA QA Contact: mlammon
Severity: high Docs Contact:
Priority: medium    
Version: 13.0 (Queens)CC: arkady_kanevsky, audra_cooper, bfournie, cdevine, christopher_dearborn, david_paterson, dcadzow, dcain, gael_rehault, jschluet, kurt_hey, mburns, morazi, rajini.karthik, srevivo, sumedh_sathaye
Target Milestone: z3Keywords: FeatureBackport, Triaged, ZStream
Target Release: 13.0 (Queens)   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: openstack-ironic-10.1.6-1.el7ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-11-13 22:14:54 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:
Bug Depends On:    
Bug Blocks: 1458798    

Description Chris Dearborn 2018-08-15 20:13:13 UTC
Description of problem:

Backport fix for:
Ironic iDRAC RAID10 creation fails with greater than 16 drives.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Chris Dearborn 2018-08-15 20:14:46 UTC
I backported the fix here:
https://review.openstack.org/#/c/592185/

Comment 2 Chris Dearborn 2018-08-15 20:19:45 UTC
Upstream bug is: https://storyboard.openstack.org/#!/story/2002771

Comment 8 mlammon 2018-10-30 13:38:16 UTC
No hardware to verify so checked code is in place.

cat /etc/yum.repos.d/latest-installed
13   -p 2018-10-24.1 


[root@undercloud-0 ~]# grep '# Best practice' -A7 /usr/lib/python2.7/site-packages/ironic/drivers/modules/drac/raid.py
    # Best practice is to not pass span_length and span_depth when creating a
    # RAID10.  The iDRAC will dynamically calculate these values using maximum
    # values obtained from the RAID controller.
    logical_disk['span_depth'] = None
    logical_disk['span_length'] = None
    if logical_disk['raid_level'] != '1+0':
        logical_disk['span_depth'] = spans_count
        logical_disk['span_length'] = disks_per_span


Environment:
openstack-ironic-api-10.1.6-1.el7ost.noarch
openstack-ironic-inspector-7.2.1-4.el7ost.noarch
openstack-ironic-common-10.1.6-1.el7ost.noarch
openstack-ironic-staging-drivers-0.9.1-1.el7ost.noarch
openstack-ironic-conductor-10.1.6-1.el7ost.noarch

Comment 11 Chris Dearborn 2018-11-08 20:47:52 UTC
The change above is exactly what's needed.  We have tested it extensively and verified that it does work appropriately.  By not specifying the span_depth and span_length when creating a RAID10, the underlying firmware calculates the correct values and successfully creates the RAID volume.

Let me know if you need further information.

Comment 13 errata-xmlrpc 2018-11-13 22:14:54 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:3605