HomeClusterLabs Projects

Feature: scheduler: implement multiple-active=stop_unexpected

Description

Feature: scheduler: implement multiple-active=stop_unexpected

The default multiple-active policy of restarting the resource on all nodes
requires no special handling, because at least one of the locations will have
an unexpected rc, causing the resource to be marked as failed and restarted,
and StopRsc() creates stops on all nodes running the resource.

The new stop_unexpected behavior relies on most of the same handling, but
the action creation functions need to skip the node where the resource had the
expected result. For that, we set the new rsc->expected_node when unpacking a
successful result, to be checked by those functions.

Note that this still schedules a start for the resource, which is a pseudo-op
for the resource itself, but (properly) causes any dependent resources to be
restarted.

Fixes T23

Details

Provenance
kgaillotAuthored on Apr 7 2022, 11:20 AM
Parents
rP871e2201d925: Refactor: scheduler: add expected node to primitive variant data
Branches
Unknown
Tags
Unknown
Tasks
Restricted Maniphest Task