Bug 949491

Summary: [RFE]: Implement a pause detector
Product: Red Hat Enterprise Linux 6 Reporter: Jan Friesse <jfriesse>
Component: corosyncAssignee: Jan Friesse <jfriesse>
Status: CLOSED ERRATA QA Contact: Cluster QE <mspqa-list>
Severity: low Docs Contact:
Priority: low    
Version: 6.4CC: cluster-maint, jkortus, lnovich, sbradley, sdake
Target Milestone: rcKeywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: corosync-1.4.1-16.el6 Doc Type: Enhancement
Doc Text:
Feature: Corosync should be able to detect if it was not scheduled for long time, ether because the process itself was not scheduled, or VM was not scheduled. Reason: Corosync displays "Token was lost" if not scheduled for long time. Sadly, same message can be result of real Token lost on network. It is potentially useful to be able to distinguish between these two types of Token lost. Result (if any): When corosync was not scheduled for long time, message is logged.
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-11-21 04:33:56 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:
Attachments:
Description Flags
Proposed patch none

Description Jan Friesse 2013-04-08 09:42:08 UTC
Created attachment 732591 [details]
Proposed patch

Description of problem:
When corosync is running in VM, it can happen, that VM (and thus corosync) is not scheduled for long time (longer then token timeout). Because in such environments, it's very hard to find out, if token was lost because of network overload or because of guest OS didn't scheduled corosync process or because host OS didn't scheduled VM, it would be nice improvement to implement pause detector in corosync. Corosync then displays warning message, when it was not scheduled for long enough time (0.8 * token_timeout). This will give us idea, if problem was network or scheduling and together with guest load monitoring should give as idea if problem was in guest or host.

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

How reproducible:
100%

Steps to Reproduce:
1. Pause corosync
2. Unpause corosync
  
Actual results:
Token is lost, but it's not clear why.

Expected results:
Message "Corosync main process was not scheduled for X ms (threshold is Y ms). Consider token timeout increase." should be displayed.

Additional info:

Comment 8 Jaroslav Kortus 2013-09-11 16:16:58 UTC
Verified with scheduler-pause-detector.sh 

FAIL on corosync-1.4.1-15.el6.x86_64 (RHEL6.4)
PASS on corosync-1.4.1-17.el6.x86_64 (RHEL6.5)
Sep 11 18:15:31 virt-014 corosync[5927]:   [MAIN  ] Corosync main process was not scheduled for 11066.0088 ms (threshold is 8000.0000 ms). Consider token timeout increase

Comment 10 errata-xmlrpc 2013-11-21 04:33:56 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2013-1531.html