]> git.proxmox.com Git - pve-ha-manager.git/blobdiff - src/PVE/HA/Manager.pm
manage: handle edge case where a node gets stuck in 'fence' state
[pve-ha-manager.git] / src / PVE / HA / Manager.pm
index 11336135706746804aa56066475a2b4c1997903d..317c1566c9c4e758192614db68845511d84729a3 100644 (file)
@@ -474,6 +474,15 @@ sub manage {
            $repeat = 1; # for faster recovery execution
        }
 
+       # Avoid that a node without services in 'fence' state gets stuck in 'fence' state.
+       for my $node (sort keys $ns->{status}->%*) {
+           next if $ns->get_node_state($node) ne 'fence';
+           next if defined($fenced_nodes->{$node});
+
+           $haenv->log('info', "fence of node '$node' without any service left");
+           $fenced_nodes->{$node} = $ns->fence_node($node) || 0;
+       }
+
        last if !$repeat;
     }