Bug 1886973

Summary: Local storage operator doesn't include correctly populate LocalVolumeDiscoveryResult in console
Product: OpenShift Container Platform Reporter: Jeremy Poulin <jpoulin>
Component: StorageAssignee: Christian Huffman <chuffman>
Storage sub component: Local Storage Operator QA Contact: Chao Yang <chaoyang>
Status: CLOSED ERRATA Docs Contact:
Severity: medium    
Priority: unspecified CC: afrahman, aos-bugs, chaoyang, chuffman, jsafrane, nthomas, ygaponen
Version: 4.6Keywords: Reopened
Target Milestone: ---   
Target Release: 4.7.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Cause: The LocalVolumeDiscoveryResult object appeared in the management console, implying that these could be manually defined. Consequence: This internal object was displayed and providing confusing information. Fix: The LocalVolumeDiscoveryResult type has been flagged as an internal object, preventing it from being displayed. To view local disks, users should navigate to Compute -> Nodes -> Select Nodes -> Disks instead. Result: The LocalVolumeDiscoveryResult is no longer displayed in the management console as expected.
Story Points: ---
Clone Of:
: 1904577 (view as bug list) Environment:
Last Closed: 2021-02-24 15:24:43 UTC 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:
Bug Depends On: 1887008    
Bug Blocks: 1904577    
Attachments:
Description Flags
Screencap of LocalStorageVolumeDiscoveryResult
none
Diskmaker pod log none

Description Jeremy Poulin 2020-10-09 20:57:03 UTC
Created attachment 1720349 [details]
Screencap of LocalStorageVolumeDiscoveryResult

Description of problem:
I've set up a KVM based cluster with an addition 20Gb raw block and 20Gb ext-4 volume added added to the cluster. From there I've kicked off a discovery.

Interestingly, the logs of the discovery pod *do* see the devices, and an oc describe lists them out properly:

$ oc describe LocalVolumeDiscoveryResult/discovery-result-jpoulin-ocp-rdl8k-worker-0-z8jh8
 
    Device ID:  /dev/disk/by-id/virtio-1
    Fstype:     
    Model:      
    Path:       /dev/vdc
    Property:   Rotational
    Serial:     
    Size:       21474836480
    Status:
      State:    Available
    Type:       disk
    Vendor:     0x1af4
    Device ID:  /dev/disk/by-id/virtio-2
    Fstype:     
    Model:      
    Path:       /dev/vdd
    Property:   Rotational
    Serial:     
    Size:       21474836480
    Status:
      State:              Available
    Type:                 disk
    Vendor:               0x1af4
  Discovered Time Stamp:  2020-10-09T20:25:35Z

However, the devices are missing from the console report:
See attacked img.


Version-Release number of selected component (if applicable):
local-storage-operator.4.6.0-202010061132.p0

Comment 1 Jeremy Poulin 2020-10-09 21:01:44 UTC
Created attachment 1720351 [details]
Diskmaker pod log

Comment 2 Jeremy Poulin 2020-10-09 21:03:10 UTC
Full output of the relevant oc describe:
---
Name:         discovery-result-jpoulin-ocp-rdl8k-worker-0-z8jh8
Namespace:    openshift-local-storage
Labels:       discovery-result-node=jpoulin-ocp-rdl8k-worker-0-z8jh8
Annotations:  <none>
API Version:  local.storage.openshift.io/v1alpha1
Kind:         LocalVolumeDiscoveryResult
Metadata:
  Creation Timestamp:  2020-10-09T20:25:28Z
  Generation:          1
  Managed Fields:
    API Version:  local.storage.openshift.io/v1alpha1
    Fields Type:  FieldsV1
    fieldsV1:
      f:metadata:
        f:labels:
          .:
          f:discovery-result-node:
        f:ownerReferences:
          .:
          k:{"uid":"d2ac4b4f-db18-4075-af0c-2c4980fd7695"}:
            .:
            f:apiVersion:
            f:kind:
            f:name:
            f:uid:
      f:spec:
        .:
        f:nodeName:
      f:status:
        .:
        f:discoveredDevices:
        f:discoveredTimeStamp:
    Manager:    diskmaker
    Operation:  Update
    Time:       2020-10-09T20:25:28Z
  Owner References:
    API Version:     local.storage.openshift.io/v1alpha1
    Kind:            LocalVolumeDiscovery
    Name:            auto-discover-devices
    UID:             d2ac4b4f-db18-4075-af0c-2c4980fd7695
  Resource Version:  2131352
  Self Link:         /apis/local.storage.openshift.io/v1alpha1/namespaces/openshift-local-storage/localvolumediscoveryresults/discovery-result-jpoulin-ocp-rdl8k-worker-0-z8jh8
  UID:               5878d533-aec2-452c-a6e7-c2d2a51eb2a4
Spec:
  Node Name:  jpoulin-ocp-rdl8k-worker-0-z8jh8
Status:
  Discovered Devices:
    Device ID:  
    Fstype:     
    Model:      
    Path:       /dev/vda1
    Property:   Rotational
    Serial:     
    Size:       4194304
    Status:
      State:    Available
    Type:       part
    Vendor:     
    Device ID:  
    Fstype:     ext4
    Model:      
    Path:       /dev/vda2
    Property:   Rotational
    Serial:     
    Size:       402653184
    Status:
      State:    NotAvailable
    Type:       part
    Vendor:     
    Device ID:  
    Fstype:     crypto_LUKS
    Model:      
    Path:       /dev/vda4
    Property:   Rotational
    Serial:     
    Size:       31804341760
    Status:
      State:    NotAvailable
    Type:       part
    Vendor:     
    Device ID:  /dev/disk/by-id/virtio-1
    Fstype:     
    Model:      
    Path:       /dev/vdc
    Property:   Rotational
    Serial:     
    Size:       21474836480
    Status:
      State:    Available
    Type:       disk
    Vendor:     0x1af4
    Device ID:  /dev/disk/by-id/virtio-2
    Fstype:     
    Model:      
    Path:       /dev/vdd
    Property:   Rotational
    Serial:     
    Size:       21474836480
    Status:
      State:              Available
    Type:                 disk
    Vendor:               0x1af4
  Discovered Time Stamp:  2020-10-09T20:25:35Z
Events:                   <none>

Comment 6 Jan Safranek 2020-10-13 14:48:25 UTC
It looks like /dev/vdc / vdd is in LocalVolumeDiscoveryResult, just the console does not show it.

Comment 7 ygaponen 2020-10-13 18:16:44 UTC
Same behaviour I can observe for x86 libvirt cluster. In the console I can see DiscoveredDevices: Unsupported, however LocalVolumeDiscoveryResult has information about disks.

# oc describe localvolumediscoveryresult -n openshift-local-storage   discovery-result-test1-qt7qq-worker-0-hchz9
Name:         discovery-result-test1-qt7qq-worker-0-hchz9
Namespace:    openshift-local-storage
Labels:       discovery-result-node=test1-qt7qq-worker-0-hchz9
Annotations:  <none>
API Version:  local.storage.openshift.io/v1alpha1
Kind:         LocalVolumeDiscoveryResult
Metadata:
  Creation Timestamp:  2020-10-13T17:57:07Z
  Generation:          1
  Managed Fields:
    API Version:  local.storage.openshift.io/v1alpha1
    Fields Type:  FieldsV1
    fieldsV1:
      f:metadata:
        f:labels:
          .:
          f:discovery-result-node:
        f:ownerReferences:
          .:
          k:{"uid":"5ba79722-2945-461f-a20a-3ee667cbd181"}:
            .:
            f:apiVersion:
            f:kind:
            f:name:
            f:uid:
      f:spec:
        .:
        f:nodeName:
      f:status:
        .:
        f:discoveredDevices:
        f:discoveredTimeStamp:
    Manager:    diskmaker
    Operation:  Update
    Time:       2020-10-13T17:57:09Z
  Owner References:
    API Version:     local.storage.openshift.io/v1alpha1
    Kind:            LocalVolumeDiscovery
    Name:            auto-discover-devices
    UID:             5ba79722-2945-461f-a20a-3ee667cbd181
  Resource Version:  193042
  Self Link:         /apis/local.storage.openshift.io/v1alpha1/namespaces/openshift-local-storage/localvolumediscoveryresults/discovery-result-test1-qt7qq-worker-0-hchz9
  UID:               f3b9ead6-bc90-47b9-b12c-e3b8c013f83a
Spec:
  Node Name:  test1-qt7qq-worker-0-hchz9
Status:
  Discovered Devices:
    Device ID:
    Fstype:     ext4
    Model:
    Path:       /dev/vda1
    Property:   Rotational
    Serial:
    Size:       402653184
    Status:
      State:    NotAvailable
    Type:       part
    Vendor:
    Device ID:
    Fstype:     vfat
    Model:
    Path:       /dev/vda2
    Property:   Rotational
    Serial:
    Size:       133169152
    Status:
      State:    NotAvailable
    Type:       part
    Vendor:
    Device ID:
    Fstype:
    Model:
    Path:       /dev/vda3
    Property:   Rotational
    Serial:
    Size:       1048576
    Status:
      State:    NotAvailable
    Type:       part
    Vendor:
    Device ID:
    Fstype:     crypto_LUKS
    Model:
    Path:       /dev/vda4
    Property:   Rotational
    Serial:
    Size:       31674318336
    Status:
      State:              NotAvailable
    Type:                 part
    Vendor:
  Discovered Time Stamp:  2020-10-13T17:57:09Z
Events:                   <none>


Cluster version 4.6.0-0.nightly-2020-10-03-051134
local-storage-operator.4.6.0-202010061132.p0

Comment 8 ygaponen 2020-10-13 18:30:57 UTC
Same Unsupported value I can see for x86 and s390x libvirt clusters at the LocalVolumeDiscovery Details page for NodeSelector.

Comment 10 Jeremy Poulin 2020-10-14 15:35:05 UTC
I really don't think this should be closed with *at least* a fix for how the user interface is presented to the customer.

Why would I look for updates in the side nave Compute -> Nodes -> Select Nodes -> Disks when there are explicit UI fields available in the LocalVolumeDiscoveryResult objects that were created as a result of kicking off the LocalVolumeDiscovery instance?

It's extremely counter-intuitive to deploy an instance of this via the console and expect to see the results in the sibling API, only to find that the information is being tracked in an entirely different location.

Instead of "Not Supported", could we show the customer a link to the Disks page mentioned above?
Otherwise, is it possible to hide the LocalVolumeDiscoveryResult API from the UI entirely. It seems like it's not providing any useful information and drawing the user's attention away from where the information is actually available.

Comment 15 Christian Huffman 2020-10-27 17:13:03 UTC
*** Bug 1887008 has been marked as a duplicate of this bug. ***

Comment 17 Chao Yang 2020-11-04 05:51:57 UTC
No localvolumediscoveryresult API in console now.

Comment 20 errata-xmlrpc 2021-02-24 15:24:43 UTC
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 (Moderate: OpenShift Container Platform 4.7.0 security, bug fix, and enhancement update), 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/RHSA-2020:5633

Comment 21 Christian Huffman 2021-04-14 12:24:36 UTC
*** Bug 1947868 has been marked as a duplicate of this bug. ***