Comment 13 for bug 1396481

Revision history for this message
Vladimir Kuklin (vkuklin) wrote :

The problem is due to race condition with happening while controllers are being deployed in parallel.

Apply_changes method in corosync.rb module for pacemaker providers utilitizes pacemaker shadows, thus it becomes sensitive to manipulation of the same part of the CIB simultaneously. In 5.1.1 and 6.0 we added location used by ping service to identify the best location for public virtual IP. In this case deployment may result in simultaneous modification of location section of CIB both by pacemaker cs_location and service providers. In order to fix it, we need to fix method that we use to apply patches to CIB along with cs_location resource idempotency. Changes above introduce a workaround that makes cs_location resource 'one-shot' resource, i.e. it will not be recreated if there is a location resource with the same name. It satisfies our requirements for now, but the bug should be then fixed as a part of overall refactoring of HA deployment.