return;
}
- if ($ns->node_is_offline_delayed($sd->{node})) {
+ if ($ns->node_is_offline_delayed($sd->{node}) && !$ns->get_node_state($sd->{node}) ne 'maintenance') {
&$change_service_state($self, $sid, 'fence');
return;
}
if ($state eq 'online') {
if ($lrm_mode eq 'maintenance') {
- #$haenv->log('info', "update node state maintance");
$set_node_state->($self, $node, 'maintenance');
}
# &$set_node_state($self, $node, 'online');
# node is not inside quorate partition, possibly not active
- if ($state eq 'online' || $state eq 'maintenance') {
+ if ($state eq 'online') {
&$set_node_state($self, $node, 'unknown');
+ } elsif ($state eq 'maintenance') {
+ my $lrm_mode = $lrm_modes->{$node} // 'unkown';
+ if ($lrm_mode ne 'maintenance') {
+ $set_node_state->($self, $node, 'unknown');
+ }
} elsif ($state eq 'unknown') {
# node isn't in the member list anymore, deleted from the cluster?
info 145 node3/crm: server received shutdown request
info 165 node3/crm: exit (loop end)
info 165 shutdown: execute power node3 off
-info 180 node1/crm: node 'node3': state changed from 'maintenance' => 'unknown'
info 720 hardware: exit simulation - done
info 161 shutdown: execute power node1 off
info 161 node2/crm: got lock 'ha_manager_lock'
info 161 node2/crm: status change slave => master
-info 161 node2/crm: node 'node1': state changed from 'maintenance' => 'unknown'
info 720 hardware: exit simulation - done