HomeClusterLabs Projects

Log: executor: improve messages after fencing connection loss

Description

Log: executor: improve messages after fencing connection loss

Previously, both stonith_connection_destroy_cb() and
stonith_connection_failed() would log an error for the same fencer connection
loss. Now, log it once, as a warning, since the executor can reconnect (if
there aren't any pending operations, there's no immediate problem, and if there
are, those will be logged as failed separately).

Also, stonith_connection_failed() previously would concatenate a fence device's
active, recurring, and pending operations into one list and finalize each.
If the same operation was both active and recurring, it would get finalized
twice, which wouldn't cause problems but would show redundant logs and an
incorrect count.

To fix that, stonith_connection_failed() has been refactored to finalize
recurring actions first, which will make it no longer considered active if it
was. The function previously removed ops from rsc->recurring_ops, which
obscured the fact that stonith_action_complete() -> cmd_finalize() would not
free it but would add it back to pending ops. Now, don't remove it, to make it
more obvious that recurring ops remain active after a connection loss.

Details

Provenance
kgaillotAuthored on Mar 4 2022, 4:27 PM
Parents
rPd85beecdaa64: Fix: fencing: delegate shouldn't matter when checking equivalent fencing
Branches
Unknown
Tags
Unknown