<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;
        font-weight:normal;
        font-style:italic;
        text-decoration:none none;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><i><span style="color:#1F497D">I’m basically re-posting this request again, since I’ve gotten no response over the last two weeks.  If someone can take pity on a newbie, I’d sure appreciate it.<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span style="color:#1F497D"><o:p> </o:p></span></i></p>
<p class="MsoNormal"><i><span style="color:#1F497D">In the interim, I’ve done some experiments, trying to use
<b>fence-ipmilan</b> in lieu of the <b>mgpstonith</b> fence agent described in the previous e-mail.  Without going into a lot of details, the results have been unsatisfactory, so I’ve renewed my efforts to get the in-house
<b>mgpstonith</b> fence agent to work.<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span style="color:#1F497D"><o:p> </o:p></span></i></p>
<p class="MsoNormal"><i><span style="color:#1F497D">I’m still not sure about the specific question of where the
<b>mgpstonith</b> executable needs to reside.  By moving it from <b>/usr/lib64/stonith/plugins/external</b> to
<b>/usr/lib64/stonith/plugins</b>, and <b>/usr/sbin</b>,  I was able to eliminate the “Unknown fence agent” error.   That said, the following commands produce the subsequent log error messages:<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span style="color:#1F497D"><o:p> </o:p></span></i></p>
<p class="MsoNormal"><span style="font-family:"Courier New";color:#1F497D">        crm configure primitive mgraid-stonith stonith:mgpstonith \<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New";color:#1F497D">            params hostlist="mgraid-canister" \<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New";color:#1F497D">            meta requires=”quorum” \<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New";color:#1F497D">            op monitor interval="0" timeout="20s" 
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">This produces the following messages to stderr:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New";color:#1F497D">ERROR: stonith:mgpstonith: got no meta-data, does this RA exist?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New";color:#1F497D">ERROR: stonith:mgpstonith: got no meta-data, does this RA exist?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New";color:#1F497D">ERROR: stonith:mgpstonith: no such resource agent<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><i><span style="color:#1F497D">What would be most helpful at this point is a full description of the Fence Agent API. 
<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span style="color:#1F497D"><o:p> </o:p></span></i></p>
<p class="MsoNormal"><i><span style="color:#1F497D">Regards,<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span style="color:#1F497D">  Michael Powell<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span style="color:#1F497D"><o:p> </o:p></span></i></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Michael Powell <br>
<b>Sent:</b> Friday, May 31, 2019 3:33 PM<br>
<b>To:</b> users@clusterlabs.org<br>
<b>Subject:</b> Fence agent definition under Centos7.6<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Although I am personally a novice wrt cluster operation, several years ago my company developed a product that used Pacemaker.  I’ve been charged with porting that product to a platform running Centos 7.6.  The old product ran Pacemaker
 1.1.13 and heartbeat.  For the most part, the transition to Pacemaker 1.1.19 and Corosync has gone pretty well, but there’s one aspect that I’m struggling with: fence-agents.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The old product used a fence agent developed in house to implement STONITH.  While it was no trouble to compile and install the code, named
<b>mgpstonith</b>, I see lots of messages like the following in the system log –<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">stonith-ng[31120]:    error: Unknown fence agent: external/mgpstonith                                                
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">stonith-ng[31120]:    error: Agent external/mgpstonith not found or does not support meta-data: Invalid argument (22)
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">stonith-ng[31120]:    error: Could not retrieve metadata for fencing agent external/mgpstonith                       
<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I’ve put debug messages in <b>mgpstonith</b>, and as they do not appear in the system log, I’ve inferred that it is in fact never executed.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Initially, I installed <b>mgpstonith</b> on <b>/lib64/stonith/plugins/external</b>, which is where it was located on the old product.  I’ve copied it to other locations, e.g.
<b>/usr/sbin</b>, with no better luck.  I’ve searched the web and while I’ve found lots of information about using the available fence agents, I’ve not turned up any information on how to create one “from scratch”.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Specifically, I need to know where to put <b>mgpstonith</b> on the target system(s).  Generally, I’d appreciate a pointer to any documentation/specification relevant to writing code for a fence agent.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
<p class="MsoNormal">  Michael<o:p></o:p></p>
</div>
</body>
</html>