[RFE] DRAC RAID configuration

Bug #1572529 reported by Imre Farkas
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ironic
Fix Released
Wishlist
Imre Farkas

Bug Description

DRAC supports out-of-band RAID configuration which hasn't been implemented yet in the driver using the generic RAID interface.

Revision history for this message
Dmitry Tantsur (divius) wrote :

Hi! Does DRAC RAID still require inspection step? If no, this does not require a spec. If yes, it may worth discussing, maybe we'll need a spec in this case.

Changed in ironic:
status: New → Confirmed
importance: Undecided → Wishlist
Revision history for this message
Imre Farkas (ifarkas) wrote :

Hi Dmitry, what do you mean by still requiring an inspection step. It never required AFAIK, or am I missing something?

Revision history for this message
Imre Farkas (ifarkas) wrote :

I think I know what you meant. There's need to be an introspection step between creating the root device and the rest of the devices in order to gather the root device hint.

Since the RAID interface exposes a method like create_configuration(self, create_root_volume, create_nonroot_volumes), isn't it up to the user to create the root volume and then run introspection and then create the rest of the volumes? Or should we make it automatic by enforcing introspection? But then what's the point in supporting the creation of volumes separately by the API? What do you think? Is that what you were asking?

Revision history for this message
Dmitry Tantsur (divius) wrote :

I'm not opinionated here, I'm just trying to understand what's in scope of the RFE to decide whether we need to have a spec. If the only thing that has to be done here is a call to BMC, then I think we're fine with RFE only.

Revision history for this message
Imre Farkas (ifarkas) wrote :

So it's a bit more than just calling the BMC but all that stuff is defined in the generic RAID spec[1]. I am not adding anything more here.

[1] http://specs.openstack.org/openstack/ironic-specs/specs/5.0/ironic-generic-raid-interface.html

Changed in ironic:
status: Confirmed → In Progress
Revision history for this message
Jim Rollenhagen (jim-rollenhagen) wrote :

This seems fine to me.

tags: added: rfe-approved
removed: rfe
Dmitry Tantsur (divius)
tags: added: drac
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to ironic (master)

Reviewed: https://review.openstack.org/176319
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=f358c7d85dd65d7a198cb740f4d254038957ad74
Submitter: Jenkins
Branch: master

commit f358c7d85dd65d7a198cb740f4d254038957ad74
Author: Imre Farkas <email address hidden>
Date: Wed Apr 22 13:12:16 2015 +0200

    DRAC RAID configuration

    Implements out-of-band RAID management in the DRAC driver using generic
    RAID interface.

    Closes-Bug: #1572529

    Change-Id: Ie357dfb68e663880d9806853f8f4a1954c50a877

Changed in ironic:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to ironic (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/493421

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to ironic (stable/pike)

Related fix proposed to branch: stable/pike
Review: https://review.openstack.org/494736

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to ironic (master)

Reviewed: https://review.openstack.org/493421
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=86e3a100a3a6fcfcf9d498886e1d7784f07ecd73
Submitter: Jenkins
Branch: master

commit 86e3a100a3a6fcfcf9d498886e1d7784f07ecd73
Author: Richard Pioso <email address hidden>
Date: Sun Aug 13 21:10:06 2017 -0400

    Fix DRAC classic driver double manage/provide

    This change fixes an issue that caused a node using a Dell EMC
    integrated Dell Remote Access Controller (iDRAC) classic driver,
    'pxe_drac' or 'pxe_drac_inspector', to be placed in the 'clean failed'
    state after a double manage/provide cycle, instead of the 'available'
    state.

    The deploy interface implementation used by iDRAC classic drivers has
    been class ironic.drivers.modules.drac.deploy.DracDeploy, which is
    derived from class ironic.drivers.modules.iscsi_deploy.ISCSIDeploy. The
    only difference between them is that DracDeploy overrides the
    prepare_cleaning() method to prevent the booting of the Ironic Python
    Agent (IPA) ramdisk when only out-of-band RAID clean steps are
    requested. However, it caused the issue and did not have its intended
    effect, because Ironic Conductor boots the ramdisk regardless. The
    Ironic Conductor should be modified to preclude the booting of the IPA
    ramdisk fix, rather than leaving it to individual drivers.

    The iDRAC classic drivers' deploy interface implementation has been
    changed to ISCSIDeploy. Since class DracDeploy is no longer needed, its
    source code and automated tests have been removed.

    Change-Id: Ib2c9b7f9f780aaf5f6345825b1f6c9ddb4f9c41f
    Closes-Bug: #1676387
    Related-Bug: #1572529
    Related-Bug: #1705741

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to ironic (stable/pike)

Reviewed: https://review.openstack.org/494736
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=8d63821bdd6df30d0a015cf427b42432e7a2603c
Submitter: Jenkins
Branch: stable/pike

commit 8d63821bdd6df30d0a015cf427b42432e7a2603c
Author: Richard Pioso <email address hidden>
Date: Sun Aug 13 21:10:06 2017 -0400

    Fix DRAC classic driver double manage/provide

    This change fixes an issue that caused a node using a Dell EMC
    integrated Dell Remote Access Controller (iDRAC) classic driver,
    'pxe_drac' or 'pxe_drac_inspector', to be placed in the 'clean failed'
    state after a double manage/provide cycle, instead of the 'available'
    state.

    The deploy interface implementation used by iDRAC classic drivers has
    been class ironic.drivers.modules.drac.deploy.DracDeploy, which is
    derived from class ironic.drivers.modules.iscsi_deploy.ISCSIDeploy. The
    only difference between them is that DracDeploy overrides the
    prepare_cleaning() method to prevent the booting of the Ironic Python
    Agent (IPA) ramdisk when only out-of-band RAID clean steps are
    requested. However, it caused the issue and did not have its intended
    effect, because Ironic Conductor boots the ramdisk regardless. The
    Ironic Conductor should be modified to preclude the booting of the IPA
    ramdisk fix, rather than leaving it to individual drivers.

    The iDRAC classic drivers' deploy interface implementation has been
    changed to ISCSIDeploy. Since class DracDeploy is no longer needed, its
    source code and automated tests have been removed.

    Change-Id: Ib2c9b7f9f780aaf5f6345825b1f6c9ddb4f9c41f
    Closes-Bug: #1676387
    Related-Bug: #1572529
    Related-Bug: #1705741
    (cherry picked from commit f049eae3fc6aadab69d9d9faf9de89bb1f7e4f38)

tags: added: in-stable-pike
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to ironic (stable/ocata)

Related fix proposed to branch: stable/ocata
Review: https://review.openstack.org/498412

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to ironic (stable/ocata)

Reviewed: https://review.openstack.org/498412
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=f68f92a917bd50ea21bd000287b8dd8d829b7a01
Submitter: Jenkins
Branch: stable/ocata

commit f68f92a917bd50ea21bd000287b8dd8d829b7a01
Author: Richard Pioso <email address hidden>
Date: Sun Aug 13 21:10:06 2017 -0400

    Fix DRAC classic driver double manage/provide

    This change fixes an issue that caused a node using a Dell EMC
    integrated Dell Remote Access Controller (iDRAC) classic driver,
    'pxe_drac' or 'pxe_drac_inspector', to be placed in the 'clean failed'
    state after a double manage/provide cycle, instead of the 'available'
    state.

    The deploy interface implementation used by iDRAC classic drivers has
    been class ironic.drivers.modules.drac.deploy.DracDeploy, which is
    derived from class ironic.drivers.modules.iscsi_deploy.ISCSIDeploy. The
    only difference between them is that DracDeploy overrides the
    prepare_cleaning() method to prevent the booting of the Ironic Python
    Agent (IPA) ramdisk when only out-of-band RAID clean steps are
    requested. However, it caused the issue and did not have its intended
    effect, because Ironic Conductor boots the ramdisk regardless. The
    Ironic Conductor should be modified to preclude the booting of the IPA
    ramdisk fix, rather than leaving it to individual drivers.

    The iDRAC classic drivers' deploy interface implementation has been
    changed to ISCSIDeploy. Since class DracDeploy is no longer needed, its
    source code and automated tests have been removed.

    Change-Id: Ib2c9b7f9f780aaf5f6345825b1f6c9ddb4f9c41f
    Closes-Bug: #1676387
    Related-Bug: #1572529
    Related-Bug: #1705741
    (cherry picked from commit 86e3a100a3a6fcfcf9d498886e1d7784f07ecd73)

tags: added: in-stable-ocata
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.