stonith resource creation is racy when deploying on multiple nodes
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
puppet-pacemaker |
Fix Released
|
Undecided
|
Michele Baldessari | ||
tripleo |
Fix Released
|
High
|
Unassigned |
Bug Description
The way we currently create stonith resource is inherently racy due to the direct calls to the 'pcs' command in the puppet-pacemaker stonith manifests. Explanation as follows:
- Stonith resources get created on multiple nodes at step 5
- If node A is in the middle of creating its own stonith resource and B starts the same process at the right time it will potentially overwrite the CIB that A created.
- The only safe way to do this is already implemented for all other resources in the pcs() ruby function
So the following might happen:
Sep 15 09:43:51 localhost os-collect-config: "Notice: /Stage[
Sep 15 09:43:51 localhost os-collect-config: "Notice: /Stage[
Which would give us one stonith resource less than what is needed.
To fix this we need to avoid calling pcs directly for the resource creation and for the constraint creation
summary: |
- stonith resource creation is racy + stonith resource creation is racy when deploying on multiple nodes |
Changed in tripleo: | |
milestone: | queens-1 → queens-2 |
Changed in tripleo: | |
status: | Triaged → Fix Released |
Fix proposed to branch: master /review. openstack. org/504931
Review: https:/