<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><font face="arial, sans-serif">Dear all,<br><br>There is [a proposal][1] in the metal3-io/baremetal-operator repository to extend the hardware RAID configuration to support ‘physical_disks’ and ‘controller’ fields in the 'target_raid_config' section.<br>The user should be able to specify the disks for RAID configuration, in a vendor-agnostic way. (This requirement comes from the Airship project.) The names of the disks should be indicative of the physical location of the disks within the server. An algorithm to construct disk names is therefore needed, for this purpose.<br><br>One possible algorithm was found in the [inventory module][2] of the [Redfish Tacklebox scripts][3].<br>To construct a disk name, it uses Redfish properties, specifically the ‘Drive’ resource> ‘Physical Location’ object> ‘Part Location’ property> ‘Service Label’ property. ([Link][4] to code) ([Link][5] to Redfish ‘Drive’ resource)<br>If this property is empty, the resource type (String uptil the first dot encountered in the @odata.type field), and the ‘Id’ properties of the Drive resource are used to construct the disk name. ([Link][6] to code)<br>For example, if the 'Drive'.'Physical Location'.'Part Location'.'Service Label' field is ‘Disk.Bay1.Slot0’, this is what the disk name will be. If this field is empty, and the resource name is ‘Drive’ and the resource ‘Id’ is ‘Disk.Bay1.Slot0’, the disk name will be: ‘Drive: Disk.Bay1.Slot0’.<br><br>We would like to understand the values different vendors give in:<br>   - ‘Drive’ resource> ‘Physical Location’ object> ‘Part Location’ property> ‘Service Label’ property<br>   - The resource type for a Drive (@odata.type field)<br>   - The ‘Id’ property of the Drive resource<br>Also, it would be helpful to understand the existing logic used by vendors to construct the disk names, including the (Redfish or other) properties used.<br><br>This is so that a consensus can be reached for an algorithm to construct disk names. Any suggestions are welcome, thank you so much!<br><br>[1]: <span style="color:rgb(0,0,0)"><a href="https://github.com/metal3-io/metal3-docs/pull/148">https://github.com/metal3-io/metal3-docs/pull/148</a></span></font><div><font face="arial, sans-serif">[2]: <span style="color:rgb(0,0,0)"><a href="https://github.com/DMTF/Redfish-Tacklebox/blob/master/redfish_utilities/inventory.py">https://github.com/DMTF/Redfish-Tacklebox/blob/master/redfish_utilities/inventory.py</a></span></font></div><div><font face="arial, sans-serif">[3]: <span style="color:rgb(0,0,0)"><a href="https://github.com/DMTF/Redfish-Tacklebox">https://github.com/DMTF/Redfish-Tacklebox</a></span></font></div><div><font face="arial, sans-serif"><span style="color:rgb(0,0,0)">[4]: </span><span style="color:rgb(0,0,0)"><a href="https://github.com/DMTF/Redfish-Tacklebox/blob/e429f70a79cfe288756618498ce485ab4be37131/redfish_utilities/inventory.py#L192">https://github.com/DMTF/Redfish-Tacklebox/blob/e429f70a79cfe288756618498ce485ab4be37131/redfish_utilities/inventory.py#L192</a></span></font></div><div><font face="arial, sans-serif"><span style="color:rgb(0,0,0)">[5]: </span><span style="color:rgb(0,0,0)"><a href="https://redfish.dmtf.org/schemas/v1/Drive.v1_12_1.json">https://redfish.dmtf.org/schemas/v1/Drive.v1_12_1.json</a></span></font></div><div><font face="arial, sans-serif"><span style="color:rgb(0,0,0)">[6]: </span><span style="color:rgb(0,0,0)"><a href="https://github.com/DMTF/Redfish-Tacklebox/blob/e429f70a79cfe288756618498ce485ab4be37131/redfish_utilities/inventory.py#L199">https://github.com/DMTF/Redfish-Tacklebox/blob/e429f70a79cfe288756618498ce485ab4be37131/redfish_utilities/inventory.py#L199</a></span></font></div><div><font face="arial, sans-serif"><br>Best regards,<br>Mahnoor Asghar<br>Software Design Engineer<br>xFlow Research Inc.<br><a href="mailto:mahnoor.asghar@xflowresearch.com">mahnoor.asghar@xflowresearch.com</a><br><a href="http://www.xflowresearch.com">www.xflowresearch.com</a></font></div></div></div></div></div></div></div></div>