Bug 172401 - fenced/fence_node does not work with multiple operations per device
Summary: fenced/fence_node does not work with multiple operations per device
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Cluster Suite
Classification: Retired
Component: fence
Version: 4
Hardware: All
OS: Linux
medium
high
Target Milestone: ---
Assignee: Jim Parsons
QA Contact: Cluster QE
URL:
Whiteboard:
Depends On:
Blocks: 164914
TreeView+ depends on / blocked
 
Reported: 2005-11-03 21:19 UTC by Lon Hohberger
Modified: 2009-04-16 20:10 UTC (History)
4 users (show)

Fixed In Version: RHBA-2006-0174
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-01-06 20:26:48 UTC
Embargoed:


Attachments (Terms of Use)
Fixes behavior (2.29 KB, patch)
2005-11-03 21:19 UTC, Lon Hohberger
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2006:0174 0 normal SHIPPED_LIVE fence bug fix update 2006-01-06 05:00:00 UTC

Description Lon Hohberger 2005-11-03 21:19:07 UTC
Description of problem:

agent.c is doing a fetch of all parameters for a given device name in a fence
level for a specific node.  So, what was happening is that the following would
happen for say, off, off, on, on for the same APC device "foo":

option=off
port=8
switch=0
option=off
port=7
switch=0
option=on
port=8
switch=0
option=on
port=7
switch=0
agent=fence_apc
ipaddr=foo
login=apc
passwd=apc

The net result of running this operation is that only "port 7, on" actually
happens.  Thus, fencing succeeds even though nothing has occurred to actually
fence the node, even though the configuration is correct.

The patch here fixes fenced and fence_node to call (in this case) fence_apc 4
times by using the index instead of the device name to determine parameters:

option=off
port=8
switch=0
agent=fence_apc
ipaddr=foo
login=apc
passwd=apc
<done>

option=off
port=7
switch=0
agent=fence_apc
ipaddr=foo
login=apc
passwd=apc
<done>

option=on
port=8
switch=0
agent=fence_apc
ipaddr=foo
login=apc
passwd=apc
<done>

option=on
port=7
switch=0
agent=fence_apc
ipaddr=foo
login=apc
passwd=apc
<done>

This affects every configuration where off/on pairs are used.  As I said, I
don't think *any* of our agents do the "multi-operation" bit, and it would be
significantly more work to make them work this way than it is to just use this
patch ;)

Version-Release number of selected component (if applicable): 1.32.1-1,
CVS/STABLE, CVS/HEAD, CVS/RHEL4, CVS/RHEL4U2

How reproducible: 100%

Steps to Reproduce: See above
  
Actual results: One operation performed (in the above case, "port 7 on")

Expected results: Four operations performed (port 8 off, port 7 off, port 8 on,
port 7 on).

Comment 1 Lon Hohberger 2005-11-03 21:19:08 UTC
Created attachment 120704 [details]
Fixes behavior

Comment 3 Lon Hohberger 2005-11-03 21:55:58 UTC
Fixes in CVS/head, CVS/STABLE, and CVS/RHEL4

Comment 6 Lon Hohberger 2005-11-11 18:22:23 UTC
Customer-tested and approved.

Comment 7 Jim Parsons 2005-11-22 13:20:08 UTC
Fix committed.

Comment 9 Red Hat Bugzilla 2006-01-06 20:26:48 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2006-0174.html



Note You need to log in before you can comment on or make changes to this bug.