HomeClusterLabs Projects

Fix: controller: Don't reprobe remotes when target is only cluster node

Description

Fix: controller: Don't reprobe remotes when target is only cluster node

Currently, daemons/controld/controld_execd.c:force_reprobe() reprobes
all remote nodes that were ever probed on the reprobed cluster node
(that is, all remote nodes that are in the cluster node's lrm state
table). This was originally intended for cleanup all (see 077cde20),
but it also happens when reprobing a single cluster node.

To fix this, we start by determining whether the operation is targeting
all nodes (indicated by XML_LRM_ATTR_TARGET == NULL). Then we pass the
result as a boolean to handle_reprobe_op() and on to force_reprobe(). In
force_reprobe(), if we find a remote connection resource in the history,
we reprobe the corresponding remote node only if we're targeting all
nodes.

Ref T219

Signed-off-by: Reid Wahl <nrwahl@protonmail.com>

Details

Provenance
nrwahl2Authored on Nov 25 2022, 8:24 PM
Parents
rPefd2018646cf: Merge pull request #2961 from clumens/cluster-sync-multi
Branches
Unknown
Tags
Unknown
Tasks
Restricted Maniphest Task