Bug 1475616 - Undercloud Nodes are only showing the first SCSI disk in the array of disks
Undercloud Nodes are only showing the first SCSI disk in the array of disks
Status: ASSIGNED
Product: Red Hat CloudForms Management Engine
Classification: Red Hat
Component: Providers (Show other bugs)
5.8.0
All All
medium Severity medium
: GA
: cfme-future
Assigned To: Richard Su
Ola Pavlenko
openstack:ems:refresh
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2017-07-26 21:52 EDT by Kevin Morey
Modified: 2017-11-17 16:33 EST (History)
8 users (show)

See Also:
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: Openstack


Attachments (Terms of Use)

  None (edit)
Description Kevin Morey 2017-07-26 21:52:43 EDT
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 03:10:36 EDT
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 13:39:31 EDT
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 11:03:44 EDT
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.

Note You need to log in before you can comment on or make changes to this bug.