There's an issue in this code where we query ntpq for the offset too quickly after starting the ntp daemon. This causes the offset to always be 0 and we continue. We have seen situations where ntpd starts before the first check and becomes > 1000. Then it takes 15 minutes before the 2nd attempt and delays the hardware discovery process
When changing the port when indicating NCSI
package, the comparison was inadequate. Improve
things by at least checking the shared/dedicated portion.
Note that it is not comparing the package id, which means
things are imperfect, though they are better than before.
However, it's not too shabby because the NIC being active
is the important part, the NCSI package change happening
later is ok, since the net config is still being put on
the correct IMM Nic.
- update some log messages
- do not run the mc reset cold for openPower systems
- create the 'mc info' output in a file in /tmp to reduce the number of ipmitool calls
- 300 is too large for chassis identify, change to 275
it would actually make sense to reverse the logic, and keep
ipmi.bmcport="0" for dedicated mode, and ipmi.bmcport="1" (or "2", "3",
"4") for shared with LOM1 (or LOM2, LOM3, LOM4) modes
- Move the TIMEOUT to be a global at the to of the script
- Ensure we are resetting the TRIES=0 right before using it (clean up some code format)
- Clean up the code for detecting the LAN channel, print out the detected channel
- Create a snooze function for OpenPower to sleep longer after network commands are issued
the firmware that causes the BMC to stop replying to ping a few seconds
after the changes are made. To work around this issue, sleep 30 before
doing the cold reset. Once the firmware is fixed, this reset is NOT
needed
Currently the getadapter implementation store the nics information
in multiple files. This implementaion will store the records in the
database and add the following changes:
1. Add taskstate table to record the getadapter request.
2. Add route_request hook in xcatd to avoid of too much process.
3. Add adapterinfo column to keep the adapter information.
4. Use fifo pipe to send/recv the adapter message and wake up the waiting process.
5. Use alarm signal to handle the timeout event.