Bug 720218

Summary: Fence agents not supporting 'start' and 'stop' generate errors.
Product: Red Hat Enterprise Linux 6 Reporter: Madison Kelly <mkelly>
Component: pacemakerAssignee: Andrew Beekhof <abeekhof>
Status: CLOSED ERRATA QA Contact: Cluster QE <mspqa-list>
Severity: low Docs Contact:
Priority: low    
Version: 6.1CC: cluster-maint, ddumas, jkortus
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: pacemaker-1.1.7-2.el6 Doc Type: Bug Fix
Doc Text:
Cause: Overzealous validation by the cluster shell. Consequence: The shell complained when updating configurations that included fencing devices. Fix: Massage the retrieved fencing agent metadata to advertise 'start' and 'stop' as supported actions (as these actions are handled by the stonith daemon).
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-20 13:48:32 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:
Bug Depends On:    
Bug Blocks: 756082    

Description Madison Kelly 2011-07-11 02:35:02 UTC
Description of problem:

The fence_apc (and other?) fence agents from Red Hat do not support the 'stop' and 'start' actions. This causes the crm to complain when configuring the effected fence devices.

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

pacemaker-1.1.5-5.el6.x86_64

How reproducible:

100%

Steps to Reproduce:
1. Try to configure a fence device like fence_apc (see "Additional info").
2.
3.
  
Actual results:

Warnings.

Expected results:

No warnings.

Additional info:

An example:

====
crm(status)# configure 
crm(status)configure# primitive apc-fencing stonith:fence_apc \
>     params \
>     priority=1 \
>     pcmk_host_map="an-node01.alteeve.com:1,an-node02.alteeve.com:2" \
>     pcmk_host_list="an-node01.alteeve.com an-node02.alteeve.com" \
>     pcmk_host_check="static-list" \
>     ipaddr="192.168.1.6" \
>     action="reboot" \
>     login="apc" \
>     passwd="secret" \
>     port=TBA
WARNING: apc-fencing: action start not advertised in meta-data, it may not be supported by the RA
WARNING: apc-fencing: action stop not advertised in meta-data, it may not be supported by the RA
crm(status)configure# verify 
WARNING: apc-fencing: action start not advertised in meta-data, it may not be supported by the RA
WARNING: apc-fencing: action stop not advertised in meta-data, it may not be supported by the RA
crm(status)configure# commit
WARNING: apc-fencing: action start not advertised in meta-data, it may not be supported by the RA
WARNING: apc-fencing: action stop not advertised in meta-data, it may not be supported by the RA
====

Comment 4 Andrew Beekhof 2012-02-29 00:25:28 UTC
A related patch has been committed upstream: https://github.com/beekhof/pacemaker/commit/cd71bcc

Comment 9 Andrew Beekhof 2012-02-29 23:04:56 UTC
Note the two additional actions (with suggested timeouts):

    <action name="stop" timeout="20s"/>
    <action name="start" timeout="20s"/>


# fencing/stonith_admin -M -a fence_xvm
<resource-agent name="fence_xvm" shortdesc="Fence agent for virtual machines">
  <longdesc>fence_xvm is an I/O Fencing agent which can be used withvirtual machines.</longdesc>
  <parameters>
    <parameter name="debug">
      <getopt mixed="-d"/>
      <content type="boolean"/>
      <shortdesc lang="en">Specify (stdin) or increment (command line) debug level</shortdesc>
    </parameter>
    <parameter name="ip_family">
      <getopt mixed="-i"/>
      <content type="string" default="auto"/>
      <shortdesc lang="en">IP Family ([auto], ipv4, ipv6)</shortdesc>
    </parameter>
    <parameter name="multicast_address">
      <getopt mixed="-a"/>
      <content type="string"/>
      <shortdesc lang="en">Multicast address (default=225.0.0.12 / ff05::3:1)</shortdesc>
    </parameter>
    <parameter name="ipport">
      <getopt mixed="-p"/>
      <content type="string" default="1229"/>
      <shortdesc lang="en">Multicast or VMChannel IP port (default=1229)</shortdesc>
    </parameter>
    <parameter name="retrans">
      <getopt mixed="-r"/>
      <content type="string" default="20"/>
      <shortdesc lang="en">Multicast retransmit time (in 1/10sec; default=20)</shortdesc>
    </parameter>
    <parameter name="auth">
      <getopt mixed="-C"/>
      <content type="string" default="sha256"/>
      <shortdesc lang="en">Authentication (none, sha1, [sha256], sha512)</shortdesc>
    </parameter>
    <parameter name="hash">
      <getopt mixed="-c"/>
      <content type="string" default="sha256"/>
      <shortdesc lang="en">Packet hash strength (none, sha1, [sha256], sha512)</shortdesc>
    </parameter>
    <parameter name="key_file">
      <getopt mixed="-k"/>
      <content type="string" default="/etc/cluster/fence_xvm.key"/>
      <shortdesc lang="en">Shared key file (default=/etc/cluster/fence_xvm.key)</shortdesc>
    </parameter>
    <parameter name="port" required="0">
      <getopt mixed="-H"/>
      <content type="string"/>
      <shortdesc lang="en">Virtual Machine (domain name) to fence</shortdesc>
    </parameter>
    <parameter name="use_uuid">
      <getopt mixed="-u"/>
      <content type="string" default="0"/>
      <shortdesc lang="en">Treat [domain] as UUID instead of domain name. This is provided for compatibility with older fence_xvmd installations.</shortdesc>
    </parameter>
    <parameter name="action">
      <getopt mixed="-o"/>
      <content type="string" default="reboot"/>
      <shortdesc lang="en">Fencing action (null, off, on, [reboot], status, list, monitor, metadata)</shortdesc>
    </parameter>
    <parameter name="timeout">
      <getopt mixed="-t"/>
      <content type="string" default="30"/>
      <shortdesc lang="en">Fencing timeout (in seconds; default=30)</shortdesc>
    </parameter>
    <parameter name="domain">
      <!-- DEPRECATED; FOR COMPATIBILITY ONLY -->
      <content type="string"/>
      <shortdesc lang="en">Virtual Machine (domain name) to fence (deprecated; use port)</shortdesc>
    </parameter>
  </parameters>
  <actions>
    <action name="null"/>
    <action name="on"/>
    <action name="off"/>
    <action name="reboot"/>
    <action name="metadata"/>
    <action name="status"/>
    <action name="monitor"/>
    <action name="list"/>
    <action name="stop" timeout="20s"/>
    <action name="start" timeout="20s"/>
  </actions>
</resource-agent>

Comment 14 Andrew Beekhof 2012-05-08 11:27:44 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Cause: Overzealous validation by the cluster shell.
Consequence: The shell complained when updating configurations that included fencing devices.
Fix: Massage the retrieved fencing agent metadata to advertise 'start' and 'stop' as supported actions (as these actions are handled by the stonith daemon).

Comment 16 errata-xmlrpc 2012-06-20 13:48:32 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-2012-0846.html