get_embedded_health only returns 4 NIC addresses
When using get_embedded_health, only 4 NICs even if more than 4 are present. I have 2 PCI nics and the embedded NIC on a DL380 and I see 2 PCI addresses and 2 embedded addresses. I do not see all 6 NICs
Hi
ILO only shows the onboard nics and not the pci ones.
Sean
On 2 Apr 2017 23:06, "dlweeks" [email protected] wrote:
When using get_embedded_health, only 4 NICs even if more than 4 are present. I have 2 PCI nics and the embedded NIC on a DL380 and I see 2 PCI addresses and 2 embedded addresses. I do not see all 6 NICs
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/seveas/python-hpilo/issues/134, or mute the thread https://github.com/notifications/unsubscribe-auth/AVE4zWJJ_uaFAVtpshQ_jqRHrP_dKrjTks5rsBvZgaJpZM4Mw808 .
Are the missing nics present in the XML output? If not, there's not much we can do here. If they are present, please share the XML output.
Hmm, in debug, I see them all and only see 4 addresses and they are not in sequence. The embedded 4 on DL380 are in sequence.
Best regards, Don
On Apr 18, 2017 4:39 AM, "seanmccanns" [email protected] wrote:
Hi
ILO only shows the onboard nics and not the pci ones.
Sean
On 2 Apr 2017 23:06, "dlweeks" [email protected] wrote:
When using get_embedded_health, only 4 NICs even if more than 4 are present. I have 2 PCI nics and the embedded NIC on a DL380 and I see 2 PCI addresses and 2 embedded addresses. I do not see all 6 NICs
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/seveas/python-hpilo/issues/134, or mute the thread <https://github.com/notifications/unsubscribe-auth/AVE4zWJJ_uaFAVtpshQ_ jqRHrP_dKrjTks5rsBvZgaJpZM4Mw808> .
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/seveas/python-hpilo/issues/134#issuecomment-294749603, or mute the thread https://github.com/notifications/unsubscribe-auth/AQcFDE0VXmnbtZu6U7XJDZ1QnlL9_ar0ks5rxITigaJpZM4Mw808 .
Yes they are. In debug, I see them.
On Apr 19, 2017 5:20 AM, "Dennis Kaarsemaker" [email protected] wrote:
Are the missing nics present in the XML output? If not, there's not much we can do here. If they are present, please share the XML output.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/seveas/python-hpilo/issues/134#issuecomment-295204175, or mute the thread https://github.com/notifications/unsubscribe-auth/AQcFDFOB72LJAVZn8gEajEHMfWavEICwks5rxd_SgaJpZM4Mw808 .
Has this been fixed?
It has not. Could you share the debug output?
Backing this issue, I too see only 4 NICS. It's a mix of onboard nics and pcie nics.
I do see the nics in the debug output:
<NIC_INFORMATION>
<NIC>
<NETWORK_PORT VALUE = "Port 1"/>
<PORT_DESCRIPTION VALUE = "iLO 4"/>
<LOCATION VALUE = "Embedded"/>
<MAC_ADDRESS VALUE = "SECRET_MAC"/>
<IP_ADDRESS VALUE = "SECRET_IP"/>
<STATUS VALUE = "OK"/>
</NIC>
<NIC>
<NETWORK_PORT VALUE = "Port 2"/>
<PORT_DESCRIPTION VALUE = "iLO 4"/>
<LOCATION VALUE = "Embedded"/>
<MAC_ADDRESS VALUE = "SECRET_MAC"/>
<IP_ADDRESS VALUE = "Unknown"/>
<STATUS VALUE = "Disabled"/>
</NIC>
<NIC>
<NETWORK_PORT VALUE = "Port 1"/>
<PORT_DESCRIPTION VALUE = "HPE Ethernet 1Gb 4-port 331i Adapter - NIC"/>
<LOCATION VALUE = "Embedded"/>
<MAC_ADDRESS VALUE = "SECRET_MAC"/>
<IP_ADDRESS VALUE = "N/A"/>
<STATUS VALUE = "Unknown"/>
</NIC>
<NIC>
<NETWORK_PORT VALUE = "Port 2"/>
<PORT_DESCRIPTION VALUE = "HPE Ethernet 1Gb 4-port 331i Adapter - NIC"/>
<LOCATION VALUE = "Embedded"/>
<MAC_ADDRESS VALUE = "SECRET_MAC"/>
<IP_ADDRESS VALUE = "N/A"/>
<STATUS VALUE = "Unknown"/>
</NIC>
<NIC>
<NETWORK_PORT VALUE = "Port 3"/>
<PORT_DESCRIPTION VALUE = "HPE Ethernet 1Gb 4-port 331i Adapter - NIC"/>
<LOCATION VALUE = "Embedded"/>
<MAC_ADDRESS VALUE = "SECRET_MAC"/>
<IP_ADDRESS VALUE = "N/A"/>
<STATUS VALUE = "Unknown"/>
</NIC>
<NIC>
<NETWORK_PORT VALUE = "Port 4"/>
<PORT_DESCRIPTION VALUE = "HPE Ethernet 1Gb 4-port 331i Adapter - NIC"/>
<LOCATION VALUE = "Embedded"/>
<MAC_ADDRESS VALUE = "SECRET_MAC"/>
<IP_ADDRESS VALUE = "N/A"/>
<STATUS VALUE = "Unknown"/>
</NIC>
<NIC>
<NETWORK_PORT VALUE = "Port 1"/>
<PORT_DESCRIPTION VALUE = "HPE Eth 25Gb 2p 640FLR-SFP28 Adptr"/>
<LOCATION VALUE = "Embedded"/>
<MAC_ADDRESS VALUE = "SECRET_MAC"/>
<IP_ADDRESS VALUE = "N/A"/>
<STATUS VALUE = "OK"/>
</NIC>
<NIC>
<NETWORK_PORT VALUE = "Port 2"/>
<PORT_DESCRIPTION VALUE = "HPE Eth 25Gb 2p 640FLR-SFP28 Adptr"/>
<LOCATION VALUE = "Embedded"/>
<MAC_ADDRESS VALUE = "SECRET_MAC"/>
<IP_ADDRESS VALUE = "N/A"/>
<STATUS VALUE = "OK"/>
</NIC>
Thanks for the debug output! This happens because the code assumes that network_port values are unique, which they clearly are not. I'll probably have to changed the returned data into a list instead of a dict, which is annoying for backwards compatibility but arguably more correct.
This should be fixed in 45a2971, could you try it?
Hello I test the fix 45a2971 and is is not working. You get only the information of port 4 for each location. I modify the hpilo.py to get is working like this : def _parse_get_embedded_health_data_nic_information(self, element): ret = {} for elt in element: data = self._element_children_to_dict(elt) #ret['%s %s' % (elt.tag, data['network_port'])] = data ret['%s %s' % (elt.tag, data['mac_address'])] = data return {'nic_information': ret} #return {'nic_information': [self._element_children_to_dict(elt) for elt in element]} # Can you notice the misspelling?Yes, this is an actual bug in the HP firmware, seen in at least ilo3 1.70 _parse_get_embedded_health_data_nic_infomation = _parse_get_embedded_health_data_nic_information
Dominique