# Globals. #
# #
################################################################################
set amm_id "" ;# Spawn ID for AMM ssh connection.
set save_amm "" ;# Save pointer of original amm value.
set save_target "" ;# Save pointer for current AMM state.
set save_userid "" ;# Save pointer of original userid value.
set save_password "" ;# Save pointer of original password value.
array set g_imm_fw_levels { } ;# Array of IMM firmware levels.
array set g_uefi_fw_levels { } ;# Array of uEFI firmware levels.
################################################################################
# #
# Unexpected EOF handler. #
# #
################################################################################
proc eof_handler{}{
global save_amm save_userid save_password
ft_log "Unexpected EOF talking to AMM."
#
# Clean up any zombies.
#
catch {close -i $amm_id}
wait -nowait
#
# The AMM closed the connection on us -- try to resume.
#
set amm_id ""
set rv [ amm_login $save_amm $save_userid $save_password ]
set rv [ amm_restore_save_target ]
}
################################################################################
# #
# Save off the current target value. #
# #
################################################################################
proc amm_save_target { string } {
global save_target
set save_target $string
}
################################################################################
# #
# Restore the AMM to its saved target value. #
# #
################################################################################
proc amm_restore_save_target{}{
global amm_id save_target
send -i $amm_id "env -T $save_target\r"
expect -i $amm_id -exact "OK" {
return 0
}
ft_error "Unable to restore AMM target after disconnect."
}
################################################################################
# #
# Handy function to collect all flash failure logs for a given blade. #
# #
################################################################################
proc collect_flash_failure_logs { blade } {
global g_target_blade g_test_results_dir
#
Chapter 4. Configuring the blade server 87