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:
I backported the fix here: https://review.openstack.org/#/c/592185/
Upstream bug is: https://storyboard.openstack.org/#!/story/2002771
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
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.
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