mirror of
https://github.com/xcat2/xcat-core.git
synced 2025-06-13 01:40:26 +00:00
capture rflash -d some debug info into rflash log
This commit is contained in:
@ -72,6 +72,7 @@ $::RPOWER_CHECK_INTERVAL = 2;
|
||||
$::RPOWER_CHECK_ON_INTERVAL = 12;
|
||||
$::RPOWER_ON_MAX_RETRY = 5;
|
||||
$::RPOWER_MAX_RETRY = 30;
|
||||
$::RPOWER_CHECK_ON_TIME = 1;
|
||||
|
||||
$::BMC_MAX_RETRY = 20;
|
||||
$::BMC_CHECK_INTERVAL = 15;
|
||||
@ -2410,6 +2411,11 @@ sub deal_with_response {
|
||||
|
||||
delete $handle_id_node{$handle_id};
|
||||
|
||||
if ($::UPLOAD_ACTIVATE_STREAM) {
|
||||
my $rflash_log_file = xCAT::Utils->full_path($node.".log", $::XCAT_LOG_RFLASH_DIR);
|
||||
open (RFLASH_LOG_FILE_HANDLE, ">> $rflash_log_file");
|
||||
}
|
||||
|
||||
if ($xcatdebugmode) {
|
||||
my $debug_info = lc ($node_info{$node}{cur_status}) . " " . $response->status_line;
|
||||
process_debug_info($node, $debug_info);
|
||||
@ -2448,6 +2454,8 @@ sub deal_with_response {
|
||||
my $infomsg = "BMC $::POWER_STATE_REBOOT";
|
||||
xCAT::SvrUtils::sendmsg($infomsg, $callback, $node);
|
||||
if ($::UPLOAD_ACTIVATE_STREAM) {
|
||||
print RFLASH_LOG_FILE_HANDLE "BMC $::POWER_STATE_REBOOT\n";
|
||||
close (RFLASH_LOG_FILE_HANDLE);
|
||||
retry_after($node, "RPOWER_BMC_CHECK_REQUEST", 15);
|
||||
return;
|
||||
}else{
|
||||
@ -2629,8 +2637,10 @@ sub rpower_response {
|
||||
my %new_status = ();
|
||||
|
||||
my $response_info = decode_json $response->content;
|
||||
|
||||
|
||||
if ($::UPLOAD_ACTIVATE_STREAM) {
|
||||
my $rflash_log_file = xCAT::Utils->full_path($node.".log", $::XCAT_LOG_RFLASH_DIR);
|
||||
open (RFLASH_LOG_FILE_HANDLE, ">> $rflash_log_file");
|
||||
}
|
||||
if ($node_info{$node}{cur_status} eq "RPOWER_ON_RESPONSE") {
|
||||
if ($response_info->{'message'} eq $::RESPONSE_OK) {
|
||||
if ($status_info{RPOWER_ON_RESPONSE}{argv}) {
|
||||
@ -2639,6 +2649,9 @@ sub rpower_response {
|
||||
} else {
|
||||
$node_info{$node}{power_state_rest} = 1;
|
||||
xCAT::SvrUtils::sendmsg("$::POWER_STATE_RESET", $callback, $node);
|
||||
if ($::UPLOAD_ACTIVATE_STREAM) {
|
||||
print RFLASH_LOG_FILE_HANDLE "Power on host in reset : RPOWER_ON_RESPONSE $::POWER_STATE_RESET\n";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (defined($::OPENBMC_PWR) and ($::OPENBMC_PWR eq "YES")) {
|
||||
@ -2657,6 +2670,12 @@ sub rpower_response {
|
||||
if ($node_info{$node}{cur_status} eq "RPOWER_SOFTOFF_RESPONSE") {
|
||||
$power_state = "$::POWER_STATE_POWERING_OFF";
|
||||
}
|
||||
if ($::UPLOAD_ACTIVATE_STREAM) {
|
||||
print RFLASH_LOG_FILE_HANDLE "Power reset host ...\n";
|
||||
print RFLASH_LOG_FILE_HANDLE "Power off host in reset: RPOWER_OFF_RESPONSE power_state $power_state\n";
|
||||
print RFLASH_LOG_FILE_HANDLE "Wait for 13 seconds ...\n";
|
||||
sleep(13);
|
||||
}
|
||||
xCAT::SvrUtils::sendmsg("$power_state", $callback, $node) if (!$next_status{ $node_info{$node}{cur_status} });
|
||||
$new_status{$::STATUS_POWERING_OFF} = [$node];
|
||||
}
|
||||
@ -2667,6 +2686,7 @@ sub rpower_response {
|
||||
if (defined $status_info{RPOWER_RESET_RESPONSE}{argv} and $status_info{RPOWER_RESET_RESPONSE}{argv} =~ /bmcreboot$/) {
|
||||
xCAT::SvrUtils::sendmsg("BMC $::POWER_STATE_REBOOT", $callback, $node);
|
||||
if ($::UPLOAD_ACTIVATE_STREAM) {
|
||||
print RFLASH_LOG_FILE_HANDLE "BMC $::POWER_STATE_REBOOT\n";
|
||||
retry_after($node, "RPOWER_BMC_CHECK_REQUEST", 15);
|
||||
return;
|
||||
}
|
||||
@ -2680,6 +2700,11 @@ sub rpower_response {
|
||||
my $all_status;
|
||||
#get host $all_status for RPOWER_CHECK_ON_RESPONSE
|
||||
if ($node_info{$node}{cur_status} eq "RPOWER_STATUS_RESPONSE" or $node_info{$node}{cur_status} eq "RPOWER_CHECK_RESPONSE" or $node_info{$node}{cur_status} eq "RPOWER_BMC_STATUS_RESPONSE" or $node_info{$node}{cur_status} eq "RPOWER_CHECK_ON_RESPONSE") {
|
||||
if ($::UPLOAD_ACTIVATE_STREAM and $node_info{$node}{cur_status} eq "RPOWER_CHECK_ON_RESPONSE" and $::RPOWER_CHECK_ON_TIME == 1 ) {
|
||||
print RFLASH_LOG_FILE_HANDLE "After power on in reset, wait for 13 seconds ...\n";
|
||||
sleep(13);
|
||||
$::RPOWER_CHECK_ON_TIME = 0;
|
||||
}
|
||||
my $bmc_state = "";
|
||||
my $bmc_transition_state = "";
|
||||
my $chassis_state = "";
|
||||
@ -2710,6 +2735,15 @@ sub rpower_response {
|
||||
print "$node: DEBUG State CurrentHostState=$host_state\n";
|
||||
print "$node: DEBUG State RequestedHostTransition=$host_transition_state\n";
|
||||
}
|
||||
if ($::UPLOAD_ACTIVATE_STREAM and $node_info{$node}{cur_status} eq "RPOWER_CHECK_RESPONSE") {
|
||||
print RFLASH_LOG_FILE_HANDLE "check power state: RPOWER_CHECK_RESPONSE\n";
|
||||
print RFLASH_LOG_FILE_HANDLE "DEBUG State CurrentBMCState=$bmc_state\n";
|
||||
print RFLASH_LOG_FILE_HANDLE "DEBUG State RequestedBMCTransition=$bmc_transition_state\n";
|
||||
print RFLASH_LOG_FILE_HANDLE "DEBUG State CurrentPowerState=$chassis_state\n";
|
||||
print RFLASH_LOG_FILE_HANDLE "DEBUG State RequestedPowerTransition=$chassis_transition_state\n";
|
||||
print RFLASH_LOG_FILE_HANDLE "DEBUG State CurrentHostState=$host_state\n";
|
||||
print RFLASH_LOG_FILE_HANDLE "DEBUG State RequestedHostTransition=$host_transition_state\n";
|
||||
}
|
||||
if (defined $status_info{RPOWER_STATUS_RESPONSE}{argv} and $status_info{RPOWER_STATUS_RESPONSE}{argv} =~ /bmcstate$/) {
|
||||
my $bmc_short_state = (split(/\./, $bmc_state))[-1];
|
||||
xCAT::SvrUtils::sendmsg("BMC $bmc_short_state", $callback, $node);
|
||||
@ -2734,6 +2768,9 @@ sub rpower_response {
|
||||
}
|
||||
}
|
||||
xCAT::SvrUtils::sendmsg("BMC $bmc_short_state", $callback, $node);
|
||||
if ($::UPLOAD_ACTIVATE_STREAM) {
|
||||
print RFLASH_LOG_FILE_HANDLE "BMC $bmc_short_state\n";
|
||||
}
|
||||
|
||||
} else {
|
||||
if ($chassis_state =~ /Off$/) {
|
||||
@ -2789,6 +2826,9 @@ sub rpower_response {
|
||||
|
||||
if ($next_status{ $node_info{$node}{cur_status} }) {
|
||||
if ($node_info{$node}{cur_status} eq "RPOWER_CHECK_RESPONSE") {
|
||||
if ($::UPLOAD_ACTIVATE_STREAM) {
|
||||
print RFLASH_LOG_FILE_HANDLE "RPOWER_CHECK_RESPONSE,all_status $all_status\n";
|
||||
}
|
||||
if ($all_status eq "$::POWER_STATE_OFF") {
|
||||
$node_info{$node}{cur_status} = $next_status{ $node_info{$node}{cur_status} }{OFF};
|
||||
} else {
|
||||
@ -2823,6 +2863,7 @@ sub rpower_response {
|
||||
#in order to make sure host is reboot successfully
|
||||
#if rpower reset host and host state is always off, retry to set RPOWER_CHECK_ON_REQUEST to run rpower on the host
|
||||
#1. if host power state is on, do nothing, and return
|
||||
print RFLASH_LOG_FILE_HANDLE "Check power state in RPOWER_CHECK_ON_RESPONSE:all_status $all_status.\n";
|
||||
if ($all_status eq "$::POWER_STATE_ON") {
|
||||
$node_info{$node}{cur_status} = "";
|
||||
$wait_node_num--;
|
||||
@ -2837,6 +2878,7 @@ sub rpower_response {
|
||||
$node_info{$node}{wait_on_start} = time();
|
||||
}
|
||||
#retry to set RPOWER_CHECK_ON_REQUEST after wait for $::RPOWER_CHECK_ON_INTERVAL
|
||||
print RFLASH_LOG_FILE_HANDLE "retry to set RPOWER_CHECK_ON_REQUEST after wait for $::RPOWER_CHECK_ON_INTERVAL\n";
|
||||
retry_after($node, $next_status{ $node_info{$node}{cur_status} }{OFF}, $::RPOWER_CHECK_ON_INTERVAL);
|
||||
return;
|
||||
} else {
|
||||
@ -2855,7 +2897,9 @@ sub rpower_response {
|
||||
} else {
|
||||
$wait_node_num--;
|
||||
}
|
||||
|
||||
if ($::UPLOAD_ACTIVATE_STREAM) {
|
||||
close (RFLASH_LOG_FILE_HANDLE);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@ -4577,7 +4621,6 @@ sub rflash_response {
|
||||
xCAT::SvrUtils::sendmsg("$activating_progress_msg", $callback, $node);
|
||||
}
|
||||
print RFLASH_LOG_FILE_HANDLE "$activating_progress_msg\n";
|
||||
close (RFLASH_LOG_FILE_HANDLE);
|
||||
# Activation still going, sleep for a bit, then print the progress value
|
||||
# Set next state to come back here to chect the activation status again.
|
||||
retry_after($node, "RFLASH_UPDATE_CHECK_STATE_REQUEST", 15);
|
||||
|
Reference in New Issue
Block a user