Bug 172401 - fenced/fence_node does not work with multiple operations per device
fenced/fence_node does not work with multiple operations per device
Status: CLOSED ERRATA
Product: Red Hat Cluster Suite
Classification: Red Hat
Component: fence (Show other bugs)
4
All Linux
medium Severity high
: ---
: ---
Assigned To: Jim Parsons
Cluster QE
:
Depends On:
Blocks: 164914
  Show dependency treegraph
 
Reported: 2005-11-03 16:19 EST by Lon Hohberger
Modified: 2009-04-16 16:10 EDT (History)
4 users (show)

See Also:
Fixed In Version: RHBA-2006-0174
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2006-01-06 15:26:48 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


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

  None (edit)
Description Lon Hohberger 2005-11-03 16:19:07 EST
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 16:19:08 EST
Created attachment 120704 [details]
Fixes behavior
Comment 3 Lon Hohberger 2005-11-03 16:55:58 EST
Fixes in CVS/head, CVS/STABLE, and CVS/RHEL4
Comment 6 Lon Hohberger 2005-11-11 13:22:23 EST
Customer-tested and approved.
Comment 7 Jim Parsons 2005-11-22 08:20:08 EST
Fix committed.
Comment 9 Red Hat Bugzilla 2006-01-06 15:26:48 EST
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.