Sometimes a FRU MAC address area may have
unitialized data for irrelevant portion.
Mask by filtering out scenarios where
mfg OUI changes for a single NIC, which
is never the case.
Currently abort failure(0x81) occur during the initiate stage as
the firmware state is not stable enough after cold reset. As the
delay time is not a constant value, this change add a interface in
site table for user to set this value.
Close-issue: #471
Firmware or ipmitool-xcat may not stable enough. BMC can handle
the ipmi request from ipmitool, but can not be upgraded succesfully,
add a sleep function as a work around.
Fix-issue: #442
Original implementation use thread to deal with the rflash
procedure for multiple nodes, but thread is not suggested
by perl. This patch aims to replace the thread with process.
Now that system x can be one of three mfg ids, support all
of them. This means there's some potential conflict with Lenovo
thinkservers, but that can be addressed later.
Lenovo Thinkservers provide logically addressed FRUs that
aren't typed as logical FRU. Change so that the
addressing rather than the type drives our behavior to
read or skip.
Thinkservers explicitly have a locator record for FRU 0.
Ignore such a locator record.
If a board info area is not followed by a product or
multirecord area, give the board area parsing code access
to the end of the area in case board info data runs
beyond the end of the claimed area.
When remote xCAT client is used, often the client will not have
the same name resolution in place as the management node. For
wvid, mitigate this by passing the IP address to the client.
If name resolution worked before, this should be no downside.
If routing also doesn't work, well the user is no worse off than
before at the moment.
There were mistakes in the parsing of multirecord IPMI fru area.
Most critically, the index never advanced. Additionally, ensure
that the index always increases and check against the length of the structure
so that a malformed area would not send our parser into an infinite loop.