HomeClusterLabs Projects

Fix: controller: pre-load agent metadata asynchronously

This commit no longer exists in the repository. It may have been part of a branch which was deleted.

Description

Fix: controller: pre-load agent metadata asynchronously

The controller needs resource agent metadata to record digests with pending and
completed resource actions.

Previously, metadata was collected synchronously when needed. This caused
several problems, two of which are fixed here for most actions: synchronous
execution blocks the controller from doing anything else (and if the agent's
metadata action tries to contact the controller, that blocks everything until
the action times out), and the metadata action ate into the real action's
timeout.

Now, if we're likely to need metadata for an action, attempt to get it
asynchronously before executing that action, so the metadata is available in
cache when needed.

This is not a complete solution, as there are other code paths that might
require metadata and still lead to synchronous execution, but it handles the
most important cases.

Fixes T554

Details

Provenance
kgaillotAuthored on Sep 15 2022, 2:33 PM
Tasks
Restricted Maniphest Task

Commit No Longer Exists

This commit no longer exists in the repository.