mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-11-03 21:02:34 +00:00 
			
		
		
		
	Changes due to review
This commit is contained in:
		@@ -29,6 +29,14 @@ use xCAT::SvrUtils;
 | 
			
		||||
use xCAT::GlobalDef;
 | 
			
		||||
use xCAT_monitoring::monitorctrl;
 | 
			
		||||
 | 
			
		||||
# String constants for rpower states
 | 
			
		||||
$::POWER_STATE_OFF="off";
 | 
			
		||||
$::POWER_STATE_ON="on";
 | 
			
		||||
$::POWER_STATE_POWERING_OFF="powering-off";
 | 
			
		||||
$::POWER_STATE_POWERING_ON="powering-on";
 | 
			
		||||
$::POWER_STATE_QUIESCED="quiesced";
 | 
			
		||||
$::POWER_STATE_RESET="reset";
 | 
			
		||||
 | 
			
		||||
sub unsupported {
 | 
			
		||||
    my $callback = shift;
 | 
			
		||||
    if (defined($::OPENBMC_DEVEL) && ($::OPENBMC_DEVEL eq "YES")) {
 | 
			
		||||
@@ -825,21 +833,21 @@ sub rpower_response {
 | 
			
		||||
 | 
			
		||||
    if ($node_info{$node}{cur_status} eq "RPOWER_ON_RESPONSE") {
 | 
			
		||||
        if ($response_info->{'message'} eq $::RESPONSE_OK) {
 | 
			
		||||
            xCAT::SvrUtils::sendmsg("on", $callback, $node);
 | 
			
		||||
            xCAT::SvrUtils::sendmsg("$::POWER_STATE_ON", $callback, $node);
 | 
			
		||||
            $new_status{$::STATUS_POWERING_ON} = [$node];
 | 
			
		||||
        }
 | 
			
		||||
    } 
 | 
			
		||||
 | 
			
		||||
    if ($node_info{$node}{cur_status} eq "RPOWER_OFF_RESPONSE") {
 | 
			
		||||
        if ($response_info->{'message'} eq $::RESPONSE_OK) {
 | 
			
		||||
            xCAT::SvrUtils::sendmsg("off", $callback, $node);
 | 
			
		||||
            xCAT::SvrUtils::sendmsg("$::POWER_STATE_OFF", $callback, $node);
 | 
			
		||||
            $new_status{$::STATUS_POWERING_OFF} = [$node];
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if ($node_info{$node}{cur_status} eq "RPOWER_RESET_RESPONSE") {
 | 
			
		||||
        if ($response_info->{'message'} eq $::RESPONSE_OK) {
 | 
			
		||||
            xCAT::SvrUtils::sendmsg("reset", $callback, $node);
 | 
			
		||||
            xCAT::SvrUtils::sendmsg("$::POWER_STATE_RESET", $callback, $node);
 | 
			
		||||
            $new_status{$::STATUS_POWERING_ON} = [$node];
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
@@ -850,22 +858,26 @@ sub rpower_response {
 | 
			
		||||
        if ($response_info->{'data'}->{CurrentHostState} =~ /Off$/) {
 | 
			
		||||
            # State is off, but check if it is transitioning
 | 
			
		||||
            if ($response_info->{'data'}->{RequestedHostTransition} =~ /On$/) {
 | 
			
		||||
                xCAT::SvrUtils::sendmsg("powering-on", $callback, $node);
 | 
			
		||||
                xCAT::SvrUtils::sendmsg("$::POWER_STATE_POWERING_ON", $callback, $node);
 | 
			
		||||
            }
 | 
			
		||||
            else {
 | 
			
		||||
                xCAT::SvrUtils::sendmsg("off", $callback, $node);
 | 
			
		||||
                xCAT::SvrUtils::sendmsg("$::POWER_STATE_OFF", $callback, $node);
 | 
			
		||||
            }
 | 
			
		||||
        } elsif ($response_info->{'data'}->{CurrentHostState} =~ /Quiesced$/) {
 | 
			
		||||
            xCAT::SvrUtils::sendmsg("quiesced", $callback, $node);
 | 
			
		||||
        } else {
 | 
			
		||||
            xCAT::SvrUtils::sendmsg("$::POWER_STATE_QUIESCED", $callback, $node);
 | 
			
		||||
        } elsif ($response_info->{'data'}->{CurrentHostState} =~ /Running$/) {
 | 
			
		||||
            # State is on, but check if it is transitioning
 | 
			
		||||
            if ($response_info->{'data'}->{RequestedHostTransition} =~ /Off$/) {
 | 
			
		||||
                xCAT::SvrUtils::sendmsg("powering-off", $callback, $node);
 | 
			
		||||
                xCAT::SvrUtils::sendmsg("$::POWER_STATE_POWERING_OFF", $callback, $node);
 | 
			
		||||
            }
 | 
			
		||||
            else {
 | 
			
		||||
                xCAT::SvrUtils::sendmsg("on", $callback, $node);
 | 
			
		||||
                xCAT::SvrUtils::sendmsg("$::POWER_STATE_ON", $callback, $node);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        else {
 | 
			
		||||
                my $unexpected_state = $response_info->{'data'}->{CurrentHostState};
 | 
			
		||||
                xCAT::SvrUtils::sendmsg("Unexpected state - $unexpected_state", $callback, $node);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if ($next_status{ $node_info{$node}{cur_status} }) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user