ManageIQ/manageiq-providers-redfish

HPE Proliant Gen10 redfish provider gives 0 server

Closed this issue · 3 comments

Got a bunch of HPE Servers in my park.
Wanted to try CloudForms 4.7.1 / ManageIQ 5.10.1.2 on them.

As HPE OneView is not RedFish native (there is an external tool called OneView RedFish ToolKit), I gave a try to several types of servers.

HPE Gen8 blades (ILO4 2.61)
HPE Gen9 rackmounted (ILO4 2.61)
HPE Gen10 rackmounted (ILO5 1.40)

3 "Gen8 blades" as redfish provider gave me 3 chassis and 3 servers (even if those blades are in the same blade chassis)
1 "Gen9 RM" gave me 1 chassis and 1 server
2 "Gen10 RM" gave me 0 chassis and 0 server

How could I help debug this ?

Do you want data gathered from /redfish/v1/ on those servers ?
Do you have a CLI tool for that that would gather all the required information ?

A few JSON blobs for you ...

{"@odata.context":"/redfish/v1/$metadata#ServiceRoot.ServiceRoot","@odata.id":"/redfish/v1/","@odata.type":"#ServiceRoot.1.0.0.ServiceRoot","AccountService":{"@odata.id":"/redfish/v1/AccountService/"},"Chassis":{"@odata.id":"/redfish/v1/Chassis/"},"EventService":{"@odata.id":"/redfish/v1/EventService/"},"Id":"v1","JsonSchemas":{"@odata.id":"/redfish/v1/Schemas/"},"Managers":{"@odata.id":"/redfish/v1/Managers/"},"Name":"HP RESTful Root Service","Oem":{"Hp":{"@odata.type":"#HpiLOServiceExt.1.0.0.HpiLOServiceExt","Manager":[{"DefaultLanguage":"en","FQDN":"mpdsvrhs01-lc.oad.exch.int","HostName":"mpdsvrhs01-lc","IPManager":{"BiosManaged":true,"FirmwareManaged":true,"ManagerProductName":"HPE OneView","ManagerType":"OneView","ManagerUrl":{"xref":"https://10.189.14.95"},"ManagerVersion":"4.10.01","Name":"Management Console Information","OvManagesiLOIP":false,"SppVersion":"2018.11.0","StorageManaged":true,"Type":"HPQ_iLOManagerDescriptor/1.1.0","iLOManaged":true,"type":"IpManagerBlob"},"Languages":[{"Language":"en","TranslationName":"English","Version":"2.61"}],"ManagerFirmwareVersion":"2.61","ManagerType":"iLO 4"}],"Sessions":{"CertCommonName":"mpdsvrhs01-lc.oad.exch.int","KerberosEnabled":false,"LDAPAuthLicenced":true,"LDAPEnabled":true,"LocalLoginEnabled":true,"LoginFailureDelay":0,"LoginHint":{"Hint":"POST to /Sessions to login using the following JSON object:","HintPOSTData":{"Password":"password","UserName":"username"}},"SecurityOverride":false,"ServerName":"mpdsvrhs01.oad.exch.int"},"Type":"HpiLOServiceExt.1.0.0","links":{"ResourceDirectory":{"href":"/redfish/v1/ResourceDirectory/"}}}},"RedfishVersion":"1.0.0","Registries":{"@odata.id":"/redfish/v1/Registries/"},"ServiceVersion":"1.0.0","SessionService":{"@odata.id":"/redfish/v1/SessionService/"},"Systems":{"@odata.id":"/redfish/v1/Systems/"},"Time":"2019-03-29T12:02:01Z","Type":"ServiceRoot.1.0.0","UUID":"cee86c70-cfe1-545a-b3a4-0bdbfe0fdda2","links":{"AccountService":{"href":"/redfish/v1/AccountService/"},"Chassis":{"href":"/redfish/v1/Chassis/"},"EventService":{"href":"/redfish/v1/EventService/"},"Managers":{"href":"/redfish/v1/Managers/"},"Registries":{"href":"/redfish/v1/Registries/"},"Schemas":{"href":"/redfish/v1/Schemas/"},"SessionService":{"href":"/redfish/v1/SessionService/"},"Sessions":{"href":"/redfish/v1/SessionService/Sessions/"},"Systems":{"href":"/redfish/v1/Systems/"},"self":{"href":"/redfish/v1/"}}}
{"@odata.context":"/redfish/v1/$metadata#ServiceRoot.ServiceRoot","@odata.id":"/redfish/v1/","@odata.type":"#ServiceRoot.1.0.0.ServiceRoot","AccountService":{"@odata.id":"/redfish/v1/AccountService/"},"Chassis":{"@odata.id":"/redfish/v1/Chassis/"},"EventService":{"@odata.id":"/redfish/v1/EventService/"},"Id":"v1","JsonSchemas":{"@odata.id":"/redfish/v1/Schemas/"},"Managers":{"@odata.id":"/redfish/v1/Managers/"},"Name":"HP RESTful Root Service","Oem":{"Hp":{"@odata.type":"#HpiLOServiceExt.1.0.0.HpiLOServiceExt","Manager":[{"DefaultLanguage":"en","FQDN":"qpdtrnod24101a-lc.devqa.exch.int","HostName":"qpdtrnod24101a-lc","IPManager":{"BiosManaged":false,"FirmwareManaged":false,"ManagerProductName":"HPE OneView","ManagerType":"OneView","ManagerUrl":{"xref":"https://10.189.14.95"},"ManagerVersion":"4.10.01","Name":"Management Console Information","OvManagesiLOIP":false,"SppVersion":null,"StorageManaged":false,"Type":"HPQ_iLOManagerDescriptor/1.1.0","iLOManaged":true,"type":"IpManagerBlob"},"Languages":[{"Language":"en","TranslationName":"English","Version":"2.61"}],"ManagerFirmwareVersion":"2.61","ManagerType":"iLO 4"}],"Sessions":{"CertCommonName":"qpdtrnod24101a-lc.devqa.exch.int","KerberosEnabled":false,"LDAPAuthLicenced":true,"LDAPEnabled":true,"LocalLoginEnabled":true,"LoginFailureDelay":0,"LoginHint":{"Hint":"POST to /Sessions to login using the following JSON object:","HintPOSTData":{"Password":"password","UserName":"username"}},"SecurityOverride":false,"ServerName":"qpdtrnod24101a.devqa.exch.int"},"Type":"HpiLOServiceExt.1.0.0","links":{"ResourceDirectory":{"href":"/redfish/v1/ResourceDirectory/"}}}},"RedfishVersion":"1.0.0","Registries":{"@odata.id":"/redfish/v1/Registries/"},"ServiceVersion":"1.0.0","SessionService":{"@odata.id":"/redfish/v1/SessionService/"},"Systems":{"@odata.id":"/redfish/v1/Systems/"},"Time":"2019-03-29T12:02:39Z","Type":"ServiceRoot.1.0.0","UUID":"d7840361-6b74-51c0-bca1-afba49360026","links":{"AccountService":{"href":"/redfish/v1/AccountService/"},"Chassis":{"href":"/redfish/v1/Chassis/"},"EventService":{"href":"/redfish/v1/EventService/"},"Managers":{"href":"/redfish/v1/Managers/"},"Registries":{"href":"/redfish/v1/Registries/"},"Schemas":{"href":"/redfish/v1/Schemas/"},"SessionService":{"href":"/redfish/v1/SessionService/"},"Sessions":{"href":"/redfish/v1/SessionService/Sessions/"},"Systems":{"href":"/redfish/v1/Systems/"},"self":{"href":"/redfish/v1/"}}}
{"@odata.context":"/redfish/v1/$metadata#ServiceRoot.ServiceRoot","@odata.etag":"W/"8E750246"","@odata.id":"/redfish/v1","@odata.type":"#ServiceRoot.v1_5_0.ServiceRoot","Id":"RootService","AccountService":{"@odata.id":"/redfish/v1/AccountService"},"Chassis":{"@odata.id":"/redfish/v1/Chassis"},"EventService":{"@odata.id":"/redfish/v1/EventService"},"JsonSchemas":{"@odata.id":"/redfish/v1/JsonSchemas"},"Links":{"Sessions":{"@odata.id":"/redfish/v1/SessionService/Sessions"}},"Managers":{"@odata.id":"/redfish/v1/Managers"},"Name":"HPE RESTful Root Service","Oem":{"Hpe":{"@odata.context":"/redfish/v1/$metadata#HpeiLOServiceExt.HpeiLOServiceExt","@odata.type":"#HpeiLOServiceExt.v2_2_0.HpeiLOServiceExt","Links":{"ResourceDirectory":{"@odata.id":"/redfish/v1/ResourceDirectory"}},"Manager":[{"DefaultLanguage":"en","FQDN":"qpdrhvnd28001a-lc.devqa.exch.int","HostName":"qpdrhvnd28001a-lc","IPManager":{"BiosManaged":true,"FirmwareManaged":false,"ManagerProductName":"HPE OneView","ManagerType":"OneView","ManagerUrl":{"xref":"https://10.189.14.95"},"ManagerVersion":"4.10.01","Name":"Management Console Information","OvManagesiLOIP":false,"SppVersion":null,"StorageManaged":true,"Type":"HPQ_iLOManagerDescriptor/1.1.0","iLOManaged":true,"type":"IpManagerBlob"},"Languages":[{"Language":"en","TranslationName":"English","Version":"1.40"}],"ManagerFirmwareVersion":"1.40","ManagerType":"iLO 5","Status":{"Health":"OK"}}],"Moniker":{"ADVLIC":"iLO Advanced","BMC":"iLO","BSYS":"BladeSystem","CLASS":"Baseboard Management Controller","FEDGRP":"DEFAULT","IPROV":"Intelligent Provisioning","PRODABR":"iLO","PRODFAM":"Integrated Lights-Out","PRODGEN":"iLO 5","PRODNAM":"Integrated Lights-Out 5","PRODTAG":"HPE iLO 5","STDLIC":"iLO Standard","SUMABR":"SUM","SUMGR":"Smart Update Manager","SYSFAM":"ProLiant","VENDABR":"HPE","VENDNAM":"Hewlett Packard Enterprise","WWW":"www.hpe.com","WWWAHSV":"www.hpe.com/servers/ahsv","WWWBMC":"www.hpe.com/info/ilo","WWWDOC":"www.hpe.com/support/ilo-docs","WWWERS":"www.hpe.com/services/getconnected","WWWGLIS":"reserved for liconf URI","WWWIOL":"www.hpe.com/info/insightonline","WWWLIC":"www.hpe.com/info/ilo","WWWLML":"www.hpe.com/support","WWWPASS":"www.hpe.com/support/hpesc","WWWPRV":"www.hpe.com/info/privacy","WWWQSPEC":"www.hpe.com/info/qs","WWWRESTDOC":"www.hpe.com/support/restfulinterface/docs","WWWSUP":"www.hpe.com/support/ilo5","WWWSWLIC":"www.hpe.com/software/SWLicensing"},"Sessions":{"CertCommonName":"qpdrhvnd28001a-lc.devqa.exch.int","CertificateLoginEnabled":false,"KerberosEnabled":false,"LDAPAuthLicenced":true,"LDAPEnabled":false,"LocalLoginEnabled":true,"LoginFailureDelay":0,"LoginHint":{"Hint":"POST to /Sessions to login using the following JSON object:","HintPOSTData":{"Password":"password","UserName":"username"}},"SecurityOverride":false,"ServerName":"qpdrhvnd28001a.devqa.exch.int"},"System":[{"Status":{"Health":"OK"}}],"Time":"2019-03-29T12:03:02Z"}},"Product":"ProLiant DL380 Gen10","ProtocolFeaturesSupported":{"ExpandQuery":{"ExpandAll":false,"Levels":true,"Links":false,"MaxLevels":1,"NoLinks":true},"FilterQuery":true,"SelectQuery":false},"RedfishVersion":"1.6.0","Registries":{"@odata.id":"/redfish/v1/Registries"},"SessionService":{"@odata.id":"/redfish/v1/SessionService"},"Systems":{"@odata.id":"/redfish/v1/Systems"},"Tasks":{"@odata.id":"/redfish/v1/TaskService"},"UUID":"bc381001-6552-548b-9b06-ba059cbf2d6b","UpdateService":{"@odata.id":"/redfish/v1/UpdateService"},"Vendor":"HPE"}
{"@odata.context":"/redfish/v1/$metadata#ServiceRoot.ServiceRoot","@odata.etag":"W/"75254B43"","@odata.id":"/redfish/v1/","@odata.type":"#ServiceRoot.v1_5_0.ServiceRoot","Id":"RootService","AccountService":{"@odata.id":"/redfish/v1/AccountService/"},"Chassis":{"@odata.id":"/redfish/v1/Chassis/"},"EventService":{"@odata.id":"/redfish/v1/EventService/"},"JsonSchemas":{"@odata.id":"/redfish/v1/JsonSchemas/"},"Links":{"Sessions":{"@odata.id":"/redfish/v1/SessionService/Sessions/"}},"Managers":{"@odata.id":"/redfish/v1/Managers/"},"Name":"HPE RESTful Root Service","Oem":{"Hpe":{"@odata.context":"/redfish/v1/$metadata#HpeiLOServiceExt.HpeiLOServiceExt","@odata.type":"#HpeiLOServiceExt.v2_2_0.HpeiLOServiceExt","Links":{"ResourceDirectory":{"@odata.id":"/redfish/v1/ResourceDirectory/"}},"Manager":[{"DefaultLanguage":"en","FQDN":"mpdcsdbo01a-lc.oad.exch.int","HostName":"mpdcsdbo01a-lc","IPManager":{"BiosManaged":true,"FirmwareManaged":true,"ManagerProductName":"HPE OneView","ManagerType":"OneView","ManagerUrl":{"xref":"https://10.189.14.95"},"ManagerVersion":"4.10.01","Name":"Management Console Information","OvManagesiLOIP":false,"SppVersion":"2018.11.0","StorageManaged":true,"Type":"HPQ_iLOManagerDescriptor/1.1.0","iLOManaged":true,"type":"IpManagerBlob"},"Languages":[{"Language":"en","TranslationName":"English","Version":"1.40"}],"ManagerFirmwareVersion":"1.40","ManagerType":"iLO 5","Status":{"Health":"OK"}}],"Moniker":{"ADVLIC":"iLO Advanced","BMC":"iLO","BSYS":"BladeSystem","CLASS":"Baseboard Management Controller","FEDGRP":"DEFAULT","IPROV":"Intelligent Provisioning","PRODABR":"iLO","PRODFAM":"Integrated Lights-Out","PRODGEN":"iLO 5","PRODNAM":"Integrated Lights-Out 5","PRODTAG":"HPE iLO 5","STDLIC":"iLO Standard","SUMABR":"SUM","SUMGR":"Smart Update Manager","SYSFAM":"ProLiant","VENDABR":"HPE","VENDNAM":"Hewlett Packard Enterprise","WWW":"www.hpe.com","WWWAHSV":"www.hpe.com/servers/ahsv","WWWBMC":"www.hpe.com/info/ilo","WWWDOC":"www.hpe.com/support/ilo-docs","WWWERS":"www.hpe.com/services/getconnected","WWWGLIS":"reserved for liconf URI","WWWIOL":"www.hpe.com/info/insightonline","WWWLIC":"www.hpe.com/info/ilo","WWWLML":"www.hpe.com/support","WWWPASS":"www.hpe.com/support/hpesc","WWWPRV":"www.hpe.com/info/privacy","WWWQSPEC":"www.hpe.com/info/qs","WWWRESTDOC":"www.hpe.com/support/restfulinterface/docs","WWWSUP":"www.hpe.com/support/ilo5","WWWSWLIC":"www.hpe.com/software/SWLicensing"},"Sessions":{"CertCommonName":"mpdcsdbo01a-lc.oad.exch.int","CertificateLoginEnabled":false,"KerberosEnabled":false,"LDAPAuthLicenced":true,"LDAPEnabled":true,"LocalLoginEnabled":true,"LoginFailureDelay":0,"LoginHint":{"Hint":"POST to /Sessions to login using the following JSON object:","HintPOSTData":{"Password":"password","UserName":"username"}},"SecurityOverride":false,"ServerName":"mpdcsdbo01a.oad.exch.int"},"System":[{"Status":{"Health":"OK"}}],"Time":"2019-03-29T13:19:22Z"}},"Product":"ProLiant DL380 Gen10","ProtocolFeaturesSupported":{"ExpandQuery":{"ExpandAll":false,"Levels":true,"Links":false,"MaxLevels":1,"NoLinks":true},"FilterQuery":true,"SelectQuery":false},"RedfishVersion":"1.6.0","Registries":{"@odata.id":"/redfish/v1/Registries/"},"SessionService":{"@odata.id":"/redfish/v1/SessionService/"},"Systems":{"@odata.id":"/redfish/v1/Systems/"},"Tasks":{"@odata.id":"/redfish/v1/TaskService/"},"UUID":"4efecd50-c9e3-592f-9252-db3ec88f8571","UpdateService":{"@odata.id":"/redfish/v1/UpdateService/"},"Vendor":"HPE"}

part of evm.log

[root@mpdrhcfm01v log]# egrep -ri physical_infra_manager.rb evm.log -B6 -A6
[----] I, [2019-03-29T13:04:45.615654 #3398:618f50]  INFO -- : MIQ(ManageIQ::Providers::Redfish::PhysicalInfraManager::EventCatcher::Runner#start_event_monitor) EMS [mpdcsdbo01a-lc.oad.exch.int] as [admin] Starting Event Monitor Thread
[----] I, [2019-03-29T13:04:45.615902 #3398:387285c]  INFO -- : MIQ(ManageIQ::Providers::Redfish::PhysicalInfraManager#with_provider_connection) Connecting through ManageIQ::Providers::Redfish::PhysicalInfraManager: [mpdcsdbo01a]
[----] I, [2019-03-29T13:04:45.724443 #12668:d83380]  INFO -- : MIQ(ManageIQ::Providers::Redhat::InfraManager#with_provider_connection) Connecting through ManageIQ::Providers::Redhat::InfraManager: [BAS QAT RHHI/RHV OptiqCommercials]
[----] I, [2019-03-29T13:04:46.864304 #3407:618f50]  INFO -- : Exception in realtime_block :ems_refresh - Timings: {:collect_inventory_for_targets=>0.24247145652770996, :parse_inventory=>1.8095264434814453, :parse_targeted_inventory=>1.809577465057373, :ems_refresh=>2.052196979522705}
[----] E, [2019-03-29T13:04:46.864631 #3407:618f50] ERROR -- : MIQ(ManageIQ::Providers::Redfish::PhysicalInfraManager::Refresher#refresh) EMS: [mpdcsdbo01a], id: [1000000000008] Refresh failed
[----] E, [2019-03-29T13:04:46.865687 #3407:618f50] ERROR -- : [NoMethodError]: undefined method `dig' for nil:NilClass  Method:[block (2 levels) in <class:LogProxy>]
[----] E, [2019-03-29T13:04:46.865782 #3407:618f50] ERROR -- : /opt/rh/cfme-gemset/bundler/gems/cfme-providers-redfish-1e8b8e94204f/app/models/manageiq/providers/redfish/inventory/parser/physical_infra_manager.rb:16:in `block in physical_servers'
/opt/rh/cfme-gemset/bundler/gems/cfme-providers-redfish-1e8b8e94204f/app/models/manageiq/providers/redfish/inventory/parser/physical_infra_manager.rb:15:in `each'
/opt/rh/cfme-gemset/bundler/gems/cfme-providers-redfish-1e8b8e94204f/app/models/manageiq/providers/redfish/inventory/parser/physical_infra_manager.rb:15:in `physical_servers'
/opt/rh/cfme-gemset/bundler/gems/cfme-providers-redfish-1e8b8e94204f/app/models/manageiq/providers/redfish/inventory/parser/physical_infra_manager.rb:4:in `parse'
/var/www/miq/vmdb/app/models/manageiq/providers/inventory.rb:37:in `block in parse'
/var/www/miq/vmdb/app/models/manageiq/providers/inventory.rb:34:in `each'
/var/www/miq/vmdb/app/models/manageiq/providers/inventory.rb:34:in `parse'
/var/www/miq/vmdb/app/models/manageiq/providers/base_manager/manager_refresher.rb:63:in `block in parse_targeted_inventory'
/opt/rh/cfme-gemset/bundler/gems/cfme-gems-pending-71d6e5aabd0b/lib/gems/pending/util/extensions/miq-benchmark.rb:11:in `realtime_store'
/opt/rh/cfme-gemset/bundler/gems/cfme-gems-pending-71d6e5aabd0b/lib/gems/pending/util/extensions/miq-benchmark.rb:28:in `realtime_block'
--
[----] I, [2019-03-29T13:05:21.126082 #12846:618f50]  INFO -- : MIQ(MiqQueue#delivered) Message id: [1000000048172], State: [ok], Delivered in [0.018096083] seconds
[----] I, [2019-03-29T13:05:21.482745 #3398:618f50]  INFO -- : MIQ(ManageIQ::Providers::Redfish::PhysicalInfraManager::EventCatcher::Runner#start_event_monitor) EMS [mpdcsdbo01a-lc.oad.exch.int] as [admin] Starting Event Monitor Thread
[----] I, [2019-03-29T13:05:21.482926 #3398:809178c]  INFO -- : MIQ(ManageIQ::Providers::Redfish::PhysicalInfraManager#with_provider_connection) Connecting through ManageIQ::Providers::Redfish::PhysicalInfraManager: [mpdcsdbo01a]
[----] I, [2019-03-29T13:05:21.614684 #3554:618f50]  INFO -- : Exception in realtime_block :ems_refresh - Timings: {:collect_inventory_for_targets=>0.2247474193572998, :parse_inventory=>1.5098657608032227, :parse_targeted_inventory=>1.5099098682403564, :ems_refresh=>1.7348265647888184}
[----] E, [2019-03-29T13:05:21.615016 #3554:618f50] ERROR -- : MIQ(ManageIQ::Providers::Redfish::PhysicalInfraManager::Refresher#refresh) EMS: [mpdcsdbo01b], id: [1000000000009] Refresh failed
[----] E, [2019-03-29T13:05:21.616088 #3554:618f50] ERROR -- : [NoMethodError]: undefined method `dig' for nil:NilClass  Method:[block (2 levels) in <class:LogProxy>]
[----] E, [2019-03-29T13:05:21.616215 #3554:618f50] ERROR -- : /opt/rh/cfme-gemset/bundler/gems/cfme-providers-redfish-1e8b8e94204f/app/models/manageiq/providers/redfish/inventory/parser/physical_infra_manager.rb:16:in `block in physical_servers'
/opt/rh/cfme-gemset/bundler/gems/cfme-providers-redfish-1e8b8e94204f/app/models/manageiq/providers/redfish/inventory/parser/physical_infra_manager.rb:15:in `each'
/opt/rh/cfme-gemset/bundler/gems/cfme-providers-redfish-1e8b8e94204f/app/models/manageiq/providers/redfish/inventory/parser/physical_infra_manager.rb:15:in `physical_servers'
/opt/rh/cfme-gemset/bundler/gems/cfme-providers-redfish-1e8b8e94204f/app/models/manageiq/providers/redfish/inventory/parser/physical_infra_manager.rb:4:in `parse'
/var/www/miq/vmdb/app/models/manageiq/providers/inventory.rb:37:in `block in parse'
/var/www/miq/vmdb/app/models/manageiq/providers/inventory.rb:34:in `each'
/var/www/miq/vmdb/app/models/manageiq/providers/inventory.rb:34:in `parse'
/var/www/miq/vmdb/app/models/manageiq/providers/base_manager/manager_refresher.rb:63:in `block in parse_targeted_inventory'
/opt/rh/cfme-gemset/bundler/gems/cfme-gems-pending-71d6e5aabd0b/lib/gems/pending/util/extensions/miq-benchmark.rb:11:in `realtime_store'
/opt/rh/cfme-gemset/bundler/gems/cfme-gems-pending-71d6e5aabd0b/lib/gems/pending/util/extensions/miq-benchmark.rb:28:in `realtime_block'

Some of the json documents you provided are invalid json, which would explain the nil value that caused the error in this case.

For example, @odata.etag value is broken in the following example, taken from one of your json documents:

{
  "@odata.context":"/redfish/v1/$metadata#ServiceRoot.ServiceRoot",
  "@odata.etag":"W/"8E750246"",
  "@odata.id":"/redfish/v1",
  "@odata.type":"#ServiceRoot.v1_5_0.ServiceRoot",
  ...
}

So it seems that at least some of your systems do not speak valid Redfish API. And because the invalid json is returned on the root resource, the whole API is basically unusable. Maybe you should ask your vendor about this?

I am closing this issue since it has nothing to do with the ManageIQ provider. If you have anything else to add, open new issue in the redfish-client-ruby repo.

@miq-bot close_issue