HomeClusterLabs Projects

Fix: controller: Resource reordering doesn't cause transition abort

Description

Fix: controller: Resource reordering doesn't cause transition abort

The te_update_diff_v2() function ignores all move operations. This is
correct for most CIB sections. However, a move in the resources section
affects placement order and can require resources to change nodes. In
that case, since the diff handler does not cause a transition abort, the
moves will not be initiated until the next natural transition (up to the
value of cluster-recheck-interval).

This commit modifies te_update_diff_v2() so that it no longer ignores
moves within the resources section.

This fixes a regression triggered by 41d0a1a and set up by 45e5e82.
However, the underlying bug had already been present. Prior to 41d0a1a,
the CIB replacement notification handler caused a transition abort, when
the resources section was replaced, which hid this bug.

Closes T549

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

Details

Provenance
nrwahl2Authored on Sep 10 2022, 6:39 AM
Parents
rP5c11880a0b16: Refactor: controller: Use pcmk__str_none in te_update_diff_v2()
Branches
Unknown
Tags
Unknown
Tasks
Restricted Maniphest Task