python-hpilo icon indicating copy to clipboard operation
python-hpilo copied to clipboard

get_embedded_health only returns 4 NIC addresses

Open dlweeks opened this issue 8 years ago • 10 comments

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

dlweeks avatar Apr 02 '17 22:04 dlweeks

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 .

seanmccanns avatar Apr 18 '17 09:04 seanmccanns

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.

seveas avatar Apr 19 '17 10:04 seveas

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 .

dlweeks avatar Apr 21 '17 00:04 dlweeks

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 .

dlweeks avatar Apr 21 '17 00:04 dlweeks

Has this been fixed?

dlweeks avatar Sep 18 '17 18:09 dlweeks

It has not. Could you share the debug output?

seveas avatar Sep 19 '17 17:09 seveas

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>

kinvaris avatar Feb 26 '18 10:02 kinvaris

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.

seveas avatar Feb 26 '18 11:02 seveas

This should be fixed in 45a2971, could you try it?

seveas avatar Feb 26 '18 11:02 seveas

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

DominiqueFritsch avatar Sep 05 '18 14:09 DominiqueFritsch