Red Hat Bugzilla – Bug 1475616
Undercloud Nodes are only showing the first SCSI disk in the array of disks
Last modified: 2017-11-17 16:33:22 EST
Created attachment 1305143 [details]
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):
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`
Only 1 SCSI disk is shown
Expected to see all SCSI disks
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.
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:
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.
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.