Bug 2182351

Summary: [RFE] Expose mpath device type in localvolumeset creation
Product: [Red Hat Storage] Red Hat OpenShift Data Foundation Reporter: Javier Coscia <jcoscia>
Component: management-consoleAssignee: Sanjal Katiyar <skatiyar>
Status: NEW --- QA Contact: Prasad Desala <tdesala>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 4.11CC: etamir, kramdoss, odf-bz-bot, skatiyar
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 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:
Embargoed:

Description Javier Coscia 2023-03-28 10:55:22 UTC
Description of problem (please be detailed as possible and provide log
snippests):

- When creating the Local Volume Set for StorageSystem CR in ODF, the DeviceType Options are Disk and Part.
- mpath device type is missing from the list

Version of all relevant components (if applicable):

- OCP 4.11
- ODF 4.11


Does this issue impact your ability to continue to work with the product
(please explain in detail what is the user impact)?

- No

Is there any workaround available to the best of your knowledge?

- There's a workaround where you configure the LocalVolumeSet CR manually and include mpath as devicetype.
- This allows you to build the StorageClass to be used as existing during the creation of the storageSystem CR in ODF.


Rate from 1 - 5 the complexity of the scenario you performed that caused this
bug (1 - very simple, 5 - very complex)?

- 1

Can this issue reproducible?

- Yes

Can this issue reproduce from the UI?

- Yes

If this is a regression, please provide more details to justify this:


Steps to Reproduce:
1. Provision an OCP cluster.
2. Storage nodes provisioned with extra disks with multipath enabled
3. Install LocalStorageOperator
4. Deploy ODF storageSystem through the UI.


Actual results:

There's no possibility to add mpath devicetype in the web UI while configuring the storageSystem CR for ODF

Expected results:

ODF Wizard should expose / allow mpath device for the LocalVolumeSet to be created successfully.

Additional info:

LocalVolumeSet PR: https://github.com/openshift/local-storage-operator/pull/356
LocalVolumeDiscovery Jira: https://issues.redhat.com/browse/OCPBUGS-10884

Comment 2 Sanjal Katiyar 2023-03-28 14:23:21 UTC
Hi,
Since this BZ is opened on the UI side, we first need to ensure whether it is supported from the backend or not.
UI creates "LocalVolumeDiscovery" CR during the StorageSystem deployment steps and based on the output of "LocalVolumeDiscoveryResult" CR (status.discoveredDevices[n].type) it figures out the available devices of particular supported types (currently "disk" and "part").

1. So, my very first question will be, does "LocalVolumeDiscovery"/ and "LocalVolumeDiscoveryResult" CRs themselves support device types "mpath" ??
2. Second doubt is about the "workaround" mentioned in the description. After applying this manual process, was created StorageCluster got healthy and we got 3 OSDs as expected (here I am trying to make sure that rook supports "mpath" devices as well) ??

Thanks.

Comment 3 Sanjal Katiyar 2023-03-28 14:24:47 UTC
(In reply to Sanjal Katiyar from comment #2)
> Hi,
> Since this BZ is opened on the UI side, we first need to ensure whether it
> is supported from the backend or not.
> UI creates "LocalVolumeDiscovery" CR during the StorageSystem deployment
> steps and based on the output of "LocalVolumeDiscoveryResult" CR
> (status.discoveredDevices[n].type) it figures out the available devices of
> particular supported types (currently "disk" and "part").
> 
> 1. So, my very first question will be, does "LocalVolumeDiscovery"/ and
> "LocalVolumeDiscoveryResult" CRs themselves support device types "mpath" ??
> 2. Second doubt is about the "workaround" mentioned in the description.
> After applying this manual process, was created StorageCluster got healthy
> and we got 3 OSDs as expected (here I am trying to make sure that rook
> supports "mpath" devices as well) ??
> 
> Thanks.

Please feel free to add someone from the LSO team, in case we are not sure of point 1. mentioned above !

Comment 4 Javier Coscia 2023-03-28 15:09:24 UTC
Hi Sanjal,

Thanks for looking at this request.

(In reply to Sanjal Katiyar from comment #2)
> Hi,
> Since this BZ is opened on the UI side, we first need to ensure whether it
> is supported from the backend or not.
> UI creates "LocalVolumeDiscovery" CR during the StorageSystem deployment
> steps and based on the output of "LocalVolumeDiscoveryResult" CR
> (status.discoveredDevices[n].type) it figures out the available devices of
> particular supported types (currently "disk" and "part").

Thanks for clarifying this part, I thought that, after the LocalVolumeDiscovery CR, 
you could define the device types for LocalVolumeSet to be created and that this 
setting was independent of LocalVolumeDiscovery, but I understand that the deviceType,
while creating the storageSystem CR, comes from the LocalVolumeDiscoveryResults only.

> 
> 1. So, my very first question will be, does "LocalVolumeDiscovery"/ and
> "LocalVolumeDiscoveryResult" CRs themselves support device types "mpath" ??

Not yet, I've filled https://issues.redhat.com/browse/OCPBUGS-10884 for this.

> 2. Second doubt is about the "workaround" mentioned in the description.
> After applying this manual process, was created StorageCluster got healthy
> and we got 3 OSDs as expected (here I am trying to make sure that rook
> supports "mpath" devices as well) ??

It is correct.
I can ask for an ODF must-gather to collect more information about this point if you need

Comment 5 Sanjal Katiyar 2023-03-28 15:21:51 UTC
Hi @etamir,
Wdyt about this BZ, is it something we should explore from ODF UI and LSO side in future releases or we don't want to support "mpath" device types from the ODF's side and want customers (if any) to use workaround or any other CLI method ??