]> git.proxmox.com Git - pve-ha-manager.git/commitdiff
do not mark maintenaned nodes as unkown
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Sat, 30 Nov 2019 18:31:50 +0000 (19:31 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Sat, 30 Nov 2019 18:31:50 +0000 (19:31 +0100)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
src/PVE/HA/Manager.pm
src/PVE/HA/NodeStatus.pm
src/test/test-shutdown-policy4/log.expect
src/test/test-shutdown-policy5/log.expect

index 9e46f19d6ff55ef1c2721bd5a8790a1a450c528d..d1d70b8a4b26921e4742174cdf0929c1367b6081 100644 (file)
@@ -607,7 +607,7 @@ sub next_state_stopped {
        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;
     }
index 9d58fa4d7ccb1ea1190dab47caf6a756a79493b0..55a3a103f73c384da2d820b74795c2f974b5c95a 100644 (file)
@@ -139,7 +139,6 @@ sub update {
 
        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');
@@ -164,8 +163,13 @@ sub update {
 
        # 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?
index 2e31059ab1a4146bfb142c3efebcaf4b4c5e80b0..54868de76fc9ae651ebf0d1b576ef84d869bca55 100644 (file)
@@ -51,5 +51,4 @@ info    146     shutdown: execute crm node3 stop
 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
index 15f67c2e50840daca6140b522a8dc51b265d006a..021598ffd3b8dc03e52e69838059f5a7935435ff 100644 (file)
@@ -54,5 +54,4 @@ info    161    node1/crm: exit (loop end)
 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