Bug 1317918

Summary: [RFE] Software (mdadm) RAID configuration support in Ironic for Overcloud nodes
Product: Red Hat OpenStack Reporter: Mike Orazi <morazi>
Component: openstack-ironicAssignee: Julia Kreger <jkreger>
Status: ON_QA --- QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 10.0 (Newton)CC: achernet, asimonel, astupnik, bfournie, derli, dsedgmen, dtantsur, harsh.kotak, imelofer, jkreger, jschluet, lmartins, mburns, moddi, morazi, racedoro, rbartal, sbaker, sclewis, sputhenp, srevivo, sthennak, xmorano
Target Milestone: betaKeywords: FutureFeature, TechPreview, TestOnly, Triaged
Target Release: ---Flags: sthennak: needinfo-
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: docs-accepted
Fixed In Version: openstack-ironic-16.2.1-0.20210326151023.8e34aa5.el8ost Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: 1313374 Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 1313374, 1373474    
Bug Blocks: 1851916    

Description Mike Orazi 2016-03-15 14:00:04 UTC
Soft RAID configuration is not yet supported by Ironic. In the mitaka release we started introducing a generic interface for creating RAID devices across different vendors [0]. The spec is focused on Hardware RAID but it potentially can be extended for Software RAID (probably on the newton release).

Comment 1 Dmitry Tantsur 2016-03-16 13:27:15 UTC
I don't think we can merge it in Liberty for real, and Mitaka is very unlikely as well. Also note that it requires wiring RAID in TripleO, which we don't have as of Mitaka.

Comment 4 Dmitry Tantsur 2016-11-10 11:48:45 UTC
*** Bug 1281457 has been marked as a duplicate of this bug. ***

Comment 7 Dmitry Tantsur 2017-01-16 17:53:41 UTC
This is not in active development (not by Lucas for sure), so I drop it to New, and leave myself assigned.

Comment 8 Ramon Acedo 2017-03-08 14:18:24 UTC
This is not planned for Pike

Comment 10 Bob Fournier 2018-08-15 15:50:24 UTC
Potentially patch will be proposed upstream. When that occurs we will target this for an OSP release.

Comment 12 August Simonelli 2018-10-21 23:05:38 UTC
Any word if this patch has landed upstream and if support may be coming to Ironic and/or Red Hat OpenStack Platform.

Comment 13 Dmitry Tantsur 2018-10-22 11:14:55 UTC
Nothing in the near future.

There is some work ongoing to make ironic more friendly to firmware RAID (hybrid case of hardware and software RAID), but no progress as well. Real software RAID is on the radar, but it requires some architectural work first (https://bugzilla.redhat.com/show_bug.cgi?id=1373474).

I'll let Ramon further comment on this.

Comment 14 Alex Stupnikov 2019-05-20 07:45:55 UTC
Hello.

I would like to ask to Triage this bug, as we have customers that are periodically ask about this feature.

Kind Regards, Alex.

Comment 15 Dmitry Tantsur 2019-08-06 14:12:32 UTC
Available upstream: https://docs.openstack.org/ironic/latest/admin/raid.html#software-raid

Comment 18 David Sedgmen 2020-01-16 23:16:52 UTC
Hi 

Is it possible to get a backport of this upstream feature to OSP 16?

Thank you 

David

Comment 19 Dmitry Tantsur 2020-01-17 15:02:59 UTC
The code in fact IS in OSP 16, but not tested or supported and with a few limitations that got addressed later. I'll let Ramon comment more on this.

What is your use case, David? What exactly would you like to be able to?

Comment 21 Dmitry Tantsur 2020-01-28 12:04:10 UTC
Updating the title in an attempt to make it clearer that this RFE is **NOT** about hardware-assisted software RAID. The latter is vendor-specific and probably won't be supported by ironic directly, unless somebody from the vendor side puts some effort in it. This RFE is about purely software RAID.

Comment 36 Nilesh 2022-02-04 08:52:02 UTC
I am able to deploy it on RHOSP16.2.1GA

* Import the node

```
openstack overcloud node import /home/stack/instackenv2.json
```

* Introspect the node.

```
openstack overcloud node introspect --provide 5a6342b6-4386-4633-b558-ba4900789879
```

* Set sw-raid agent on the node.

```
openstack baremetal node set --raid-interface agent  5a6342b6-4386-4633-b558-ba4900789879
```

* move the node into manage, for further configuration.

```
openstack baremetal node manage  5a6342b6-4386-4633-b558-ba4900789879
```

* Set the target configuration [sw raid]

```
openstack baremetal node set   --target-raid-config /home/stack/sw-raid/target.yaml  5a6342b6-4386-4633-b558-ba4900789879
```

* cat  /home/stack/sw-raid/target.yaml

```
{
   "logical_disks": [
     {
       "size_gb": "MAX",
       "raid_level": "1",
       "controller": "software",
       "is_root_volume": true,
       "disk_type": "hdd"
     }
   ]
}
```

* Clean the node before deployment, [During this step the nodes will turn on and will start cleaning o the disk]

```
openstack baremetal node clean  --clean-steps /home/stack/sw-raid/cleanstate.yaml 5a6342b6-4386-4633-b558-ba4900789879
```

* Move node from manage to available. [provide]

```
openstack baremetal node provide 5a6342b6-4386-4633-b558-ba4900789879
```

* Set the flavor as well,

```
openstack flavor set \
--property "capabilities:raid_level"="1"  \
baremetal
```




```
[root@overcloud-swnovacompute-0 ~]# mdadm --detail /dev/md127
/dev/md127:
           Version : 1.2
     Creation Time : Wed Feb  2 09:35:23 2022
        Raid Level : raid1
        Array Size : 62878720 (59.97 GiB 64.39 GB)
     Used Dev Size : 62878720 (59.97 GiB 64.39 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Thu Feb  3 17:03:32 2022
             State : clean
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : resync

              Name : localhost.localdomain:0
              UUID : 078b1d94:543da54c:df879980:a0c81fa8
            Events : 257

    Number   Major   Minor   RaidDevice State
       0     252        1        0      active sync   /dev/vda1
       1     252       17        1      active sync   /dev/vdb1
[root@overcloud-swnovacompute-0 ~]#
```

Comment 38 OSP Team 2022-09-22 10:39:47 UTC
According to our records, this should be resolved by openstack-ironic-17.0.5-0.20220705231707.dd2bfab.el9ost.  This build is available now.