Bug 1475616

Summary: Undercloud Nodes are only showing the first SCSI disk in the array of disks
Product: Red Hat CloudForms Management Engine Reporter: Kevin Morey <kmorey>
Component: ProvidersAssignee: Scott Seago <sseago>
Status: CLOSED ERRATA QA Contact: Omri Hochman <ohochman>
Severity: medium Docs Contact:
Priority: medium    
Version: 5.8.0CC: david.costakos, gblomqui, iovadia, jfrey, jhardy, kmorey, mshriver, obarenbo, rwsu, simaishi, sseago
Target Milestone: GA   
Target Release: 5.11.0   
Hardware: All   
OS: All   
Whiteboard: openstack:ems:refresh
Fixed In Version: 5.11.0.1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-12-12 13:33:21 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: Openstack Target Upstream Version:
Embargoed:

Description Kevin Morey 2017-07-27 01:52:43 UTC
Created attachment 1305143 [details]
screenshots

Description of problem:
Undercloud Nodes are only showing the first SCSI disk in the array of disks. For some reason when we are doing an ems_refresh on the Undercloud we only ever detect the first set of disks. This information is necessary/useful to get deeper reporting for the Undercloud nodes.

Version-Release number of selected component (if applicable):
5.8

How reproducible:
100%

Steps to Reproduce:
1. Add Undercloud as a provider with a Node that has more than 1 SCSI disk
2. Navigate to the Node Summary page and click on `devices`


Actual results:
Only 1 SCSI disk is shown

Expected results:
Expected to see all SCSI disks

Additional info:
See screenshots

Comment 3 Richard Su 2017-08-01 07:10:36 UTC
The disks that are displayed in ManageIQ is dependant on what is stored in Swift by Ironic as the "extra" property of the node. 

Kevin, can you provide us with the extra property (attributes) data in Swift that Ironic stored? We normally don't have an array of disks in our dev environment so it is hard for me to see what that looks like.

As for ManageIQ, the code that processes the extra attributes is here: https://github.com/ManageIQ/manageiq-providers-openstack/blob/master/app/models/manageiq/providers/openstack/infra_manager/refresh_parser.rb#L239

In the process_host_hardware_disks method, there is a note about not handling RAID disks properly. It is not clear if that is related to your issue. Once we see your extra attributes data, we can discern if it is.

Comment 5 Richard Su 2017-08-01 17:39:31 UTC
You'll need to access the CLI through the ironic user. You can find the credentials in /etc/ironic-inspector/inspector.conf under [swift].

On the undercloud node, make a copy of the stackrc file for your undercloud and then set the following using the values from inspector.conf:
export OS_USERNAME=ironic
export OS_PASSWORD=cba53c1bed33c953c0fcad1ff83916133fcbef09
export OS_TENANT=service

Password is probably the only value that might be different in your environment.

Then run "swift list" and it should show a container called ironic-inspector.

Inside this container should be files named inspector_data-<ironic node uuid>

You can find the uuid for the node you are interested in by running "ironic node-list".

Then download the desired file using:

swift download ironic-inspector inspector_data-<ironic node uuid>

Hope that helps.

Comment 10 Richard Su 2017-08-14 15:03:44 UTC
Hi Kevin,

I ran your sample inspector_data files through my local refresh parser and I also end up seeing one disk. The refresh parser does parse both disks in attachment 1308399 [details], but the last one is the only one that is displayed. We will need to examine more closely how the data is being saved or displayed.

Comment 12 Scott Seago 2018-11-05 13:58:10 UTC
PR fix here: https://github.com/ManageIQ/manageiq-providers-openstack/pull/388

Comment 13 CFME Bot 2018-11-05 22:12:19 UTC
New commit detected on ManageIQ/manageiq-providers-openstack/master:

https://github.com/ManageIQ/manageiq-providers-openstack/commit/11e25257d496f0fd57626e475c5909e1acab449a
commit 11e25257d496f0fd57626e475c5909e1acab449a
Author:     Scott Seago <sseago>
AuthorDate: Sat Nov  3 22:55:38 2018 -0400
Commit:     Scott Seago <sseago>
CommitDate: Sat Nov  3 22:55:38 2018 -0400

    bug 1475616: Save all disks from infra host on refresh

    fixes https://bugzilla.redhat.com/show_bug.cgi?id=1475616

    This commit fixes the refresh parser for disks attached to infra
    nodes so that all disks associated with the node will be saved
    rather than only the last one.

 app/models/manageiq/providers/openstack/infra_manager/refresh_parser.rb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comment 14 Ido Ovadia 2019-07-23 09:24:11 UTC
Verified:
=========
CFME 5.11.0.14

Comment 16 errata-xmlrpc 2019-12-12 13:33:21 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, 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/RHBA-2019:4199