Bug 831722

Summary: corosync and pacemaker start should have a delay in between
Product: Red Hat Enterprise Linux 7 Reporter: Jaroslav Kortus <jkortus>
Component: pacemakerAssignee: Andrew Beekhof <abeekhof>
Status: CLOSED CURRENTRELEASE QA Contact: Cluster QE <mspqa-list>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0CC: abeekhof
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: pacemaker-1.1.8-3.el7 Doc Type: Bug Fix
Doc Text:
Cause: The logic for reattempting the initial connection to the cluster was incorrect. Consequence: Pacemaker gave up immediately if the initial connection attempt failed. Fix: Correctly interpret the connection result Result: Pacemaker waits for corosync to become fully active.
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-06-16 06:36:19 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jaroslav Kortus 2012-06-13 16:06:21 UTC
Description of problem:
Sometimes it happens that pcs start spawns both corosync and pacemaker, but pacemaker demands corosync connection before it is actually ready.

This leads to error messages and pacemaker not starting (which is not reported back, which is probably systemd scripts nature ;)).

The error message is this:
r7-node01 pacemakerd[3135]: Could not initialize Cluster Configuration Database API instance, error 2

Version-Release number of selected component (if applicable):


How reproducible:
sometimes

Steps to Reproduce:
1. pcs start
2. check if pacemaker is up (and no error messages are present as above)
3. 
  
Actual results:
pacemaker not starting, which is silently ignored

Expected results:
The least we can do is to implement delay between corosync start and pacemaker start, hoping for the best outcome.

Better option would be to implement checks of successful start. Maybe it's just systemd improvement that needs to be made, I'm open for suggestions :).

Additional info:

Comment 1 Andrew Beekhof 2012-06-15 01:00:45 UTC
I got to the bottom of this one a few days ago.  Our retry logic was borked.

Andrew Beekhof (10 days ago) 7276f67: High: mcp: Correctly retry the connection to corosync on failure 

https://github.com/beekhof/pacemaker/commit/7276f67

I'll include this in a pacemaker build next week.


Actually, having said that, there are rare occasions when corosync simply fails to start ("service corosync start" fails and corosync is automatically stopped).

Not much pcs or pacemaker can do in that situation though.

Comment 2 Chris Feist 2012-09-17 23:09:53 UTC
Re-assigning to abeekhof for verification since it sounds like this was fixed a few months back in pacemaker.