Bug 190661

Summary: fenced handles an empty fence-level as a successful fence
Product: [Retired] Red Hat Cluster Suite Reporter: Navid Sheikhol-Eslami <navid>
Component: fenceAssignee: David Teigland <teigland>
Status: CLOSED ERRATA QA Contact: Cluster QE <mspqa-list>
Severity: medium Docs Contact:
Priority: medium    
Version: 4CC: cluster-maint
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: RHBA-2006-0520 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-05-25 21:05:48 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Navid Sheikhol-Eslami 2006-05-04 10:58:09 UTC
Description of problem:

in the latest fence package (fence-1.32.18), an empty fence-level will be
treated as a successful execution of fencing rather than being skipped.

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

fence-1.32.18

How reproducible:

in a CS4 cluster, create a node and simply define an empty fence-level (without
any fence device attached to it). in /etc/cluster/cluster.conf the node
definition should look like this:

                <clusternode name="node1" votes="1">
                        <fence>
                                <method name="1"/>
                        </fence>
                </clusternode>

If "node1" dies, it will be successfully fenced and services will migrate.

Steps to Reproduce:
1.
2.
3.
  
Actual results:

an empty fence-level is reported as a successful fencing, even if no fencing
actually happens.

Expected results:

an empty fence-level should be skipped and not treated as a success. in the
aforementioned example, fencing should have failed.

Additional info:

re-initializing the "error" variable to -1 should correct this behaviour.

--- fence-1.32.18/fenced/agent.c.orig   2006-05-04 12:01:57.000000000 +0100
+++ fence-1.32.18/fenced/agent.c        2006-04-28 08:44:24.000000000 +0100
@@ -287,6 +287,7 @@
                if (error)
                        continue;

+               error = -1;
                num_devices = count_devices(cd, victim, method);

                for (d = 0; d < num_devices; d++) {

Comment 1 David Teigland 2006-05-09 19:37:44 UTC
fixed, thanks for the patch!


Comment 4 Red Hat Bugzilla 2006-05-25 21:05: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-0520.html