Various fixes for ualloc switches:
* Stop using the ALWAYSUP state machine for switches, this causes ISUP to always get sent, which in certain cases, results in stated rebooting the switch! Added new ONIE state machine, which handles the way switches actually boot into ONIE first and then does the bootinfo/grub dance, or does a reload or does admin mode. * Do not send PXEBOOTING from ONIE; this was a mistake, it throws us into the PXEKERNEL state machine, which sometimes results is stated rebooting the switch! We still use PXEWAIT (it is sent by bootinfod), since that is the "waiting" state that is wired into a lot of Emulab, it just happens to now be a state in the ONIE state machine, so its legal. * Fix a bug in libossetup, that was fooling libossetup_switch into thinking the wrong thing. * Add some timeouts to the libosload_mlnx code, sshd sometime refuses to answer after a failed login. Strange. * Fix a fork() problem in the switch reload code; gotta call exit, not return! This was wreaking subtle (okay not so subtle) havoc in libossetup.
Showing with 83 additions and 10 deletions