That's gotten me a little closer. I'm a bit of a newb when it comes to Pacemaker, on that note, I put the first group of your post (and changed the options to match the network I'm working on, I put this first configuration on the line with the existing group that I have setup.
That group has stuff like apache, smb, dhcp and some custom software that this existing group is managing. Should I create a new group? Or just keep it in the existing group? The second configuration entry for constraints is already populated with the contraints for the existing group. Should this configuration be pasted within the existing constraint (<constraint> </constraint>)? Also, if all my assumptions are correct, then I ran a verify test and got this output: /tmp/saved-cib.xml:159: element clone: Relax-NG validity error : Element group has extra content: clone /tmp/saved-cib.xml:41: element group: Relax-NG validity error : Element resources has extra content: group /tmp/saved-cib.xml:2: element configuration: Relax-NG validity error : Invalid sequence in interleave /tmp/saved-cib.xml:2: element configuration: Relax-NG validity error : Element configuration failed to validate content /tmp/saved-cib.xml:1: element cib: Relax-NG validity error : Element cib failed to validate content crm_verify[4016]: 2012/10/17_12:16:10 ERROR: main: CIB did not pass DTD/schema validation Errors found during check: config not valid Thank you for everything! Alan On Wed, Oct 17, 2012 at 8:36 AM, Jake Smith <jsm...@argotec.com> wrote: > > ----- Original Message ----- > > > From: "Richard \"Alan\" McAlexander" <alanmac1...@gmail.com> > > To: "The Pacemaker cluster resource manager" > > <pacemaker@oss.clusterlabs.org> > > Sent: Tuesday, October 16, 2012 7:23:37 PM > > Subject: Re: [Pacemaker] Unable to add ping resource to pacemaker > > 1.0.12 > > > Hi Jake, > > Below is my config. Thank you! > > > <meta_attributes id="group_its-meta_attributes"/> > > <primitive id="res_ping_1" class="ocf" provider="pacemaker" > > type="ping"> > > <instance_attributes id="res_ping_1-instance_attributes"> > > <nvpair id="nvpair-res_ping_1-multiplier" name="multiplier" > > value="1000"/> > > <nvpair id="nvpair-res_ping_1-host_list" name="host_list" > > value="10.254.138.1"/> > > </instance_attributes> > > <operations id="res_ping_1-operations"> > > <op interval="0" id="op-res_ping_1-start" name="start" timeout="60"/> > > <op interval="0" id="op-res_ping_1-stop" name="stop" timeout="20"/> > > <op id="op-res_ping_1-monitor" name="monitor" interval="10" > > timeout="60" start-delay="0"/> > > <op interval="0" id="op-res_ping_1-reload" name="reload" > > timeout="80"/> > > </operations> > > <meta_attributes id="res_ping_1-meta_attributes"> > > <nvpair id="res_ping_1-meta_attributes-target-role" > > name="target-role" value="started"/> > > <nvpair id="res_ping_1-meta_attributes-migration-threshold" > > name="migration-threshold" value="3"/> > > <nvpair id="res_ping_1-meta_attributes-allow-migrate" > > name="allow-migrate" value="true"/> > > <nvpair id="res_ping_1-meta_attributes-resource-stickiness" > > name="resource-stickiness" value="-INFINITY"/> > > </meta_attributes> > > </primitive> > > > <rsc_location id="loc_res_ping_1_seaaimsprd1" rsc="res_ping_1" > > node="seaaimsprd1" score="500"/> > > <rsc_location id="loc_res_ping_1_seaaimsprd2" rsc="res_ping_1" > > node="seaaimsprd2" score="500"/> > > So I have two things for you. > > You need to clone the ping resource so that it runs on all nodes. You're > location statements would just cancel each other out and the cluster would > decide where to put the single res_ping_1 resource. > For example I do this: > > <resources> > <clone id="cl_ping"> > <meta_attributes id="cl_ping_gateways-meta_attributes"> > <nvpair id="cl_ping_gateways-meta_attributes-clone-node-max" > name="clone-node-max" value="1"/> > <nvpair id="cl_ping_gateways-meta_attributes-interleave" > name="interleave" value="true"/> > <nvpair id="cl_ping_gateways-meta_attributes-target-role" > name="target-role" value="Started"/> > </meta_attributes> > <primitive class="ocf" id="p_ping_gateways" provider="pacemaker" > type="ping"> > <instance_attributes id="p_ping_gateways-instance_attributes"> > <nvpair id="p_ping_gateways-instance_attributes-host_list" > name="host_list" value="xxxxxxx"/> > <nvpair id="p_ping_gateways-instance_attributes-multiplier" > name="multiplier" value="100"/> > <nvpair id="p_ping_gateways-instance_attributes-dampen" > name="dampen" value="33s"/> > </instance_attributes> > <operations> > <op id="p_ping_gateways-start-0" interval="0" name="start" > timeout="60s"/> > <op id="p_ping_gateways-stop-0" interval="0" name="stop" > timeout="20s"/> > <op id="p_ping_gateways-monitor-10s" interval="10s" > name="monitor" timeout="60s"/> > </operations> > </primitive> > </clone> > </resources> > > Then you will have a clone instance of ping on each node. > > Then you need to create location constraints for other resources in > relation to the pingd value. > For example: > > <constraints> > <rsc_location id="l_ntp_ip_with_ping" rsc="p_ip_ntp"> > <rule boolean-op="or" id="l_ntp_ip_with_ping-rule" > score="-INFINITY"> > <expression attribute="pingd" id="l_ntp_ip_with_ping-expression" > operation="not_defined"/> > <expression attribute="pingd" > id="l_ntp_ip_with_ping-expression-0" operation="lte" value="0"/> > </rule> > </rsc_location> > </constraints> > > This contraint requires that resource "p_ip_ntp" must never run on a node > where the value of pingd is undefined or less than 0. > > Here's the crm code for the above: > primitive p_ping_gateways ocf:pacemaker:ping \ > params host_list="xxxxx" multiplier="100" dampen="33s" \ > op start interval="0" timeout="60s" \ > op stop interval="0" timeout="20s" \ > op monitor interval="10s" timeout="60s" > > clone cl_ping p_ping_gateways \ > meta clone-node-max="1" interleave="true" target-role="Started" > > location l_ntp_ip_with_ping p_ip_ntp \ > rule $id="l_ntp_ip_with_ping-rule" -inf: not_defined pingd or > pingd lte 0 > > > HTH > > Jake > > > > > On Mon, Oct 15, 2012 at 9:46 PM, Jake Smith < jsm...@argotec.com > > > wrote: > > > > Sorry for the top post. > > > > > > Hard to say much without pacemaker config but did you configure > > > location constraints for your resources based upon pingd value? > > > > > > Post your pacemaker config or pastebin link to it and we'll be able > > > to help more. > > > > > > Hth > > > > > > Jake > > > > > From: Richard Alan McAlexander > > > > > Sent: Mon, 15/10/2012 06:39 PM > > > > > To: pacemaker@oss.clusterlabs.org > > > > > Subject: [Pacemaker] Unable to add ping resource to pacemaker > > > 1.0.12 > > > > > > _______________________________________________ > > > > > Pacemaker mailing list: Pacemaker@oss.clusterlabs.org > > > > > http://oss.clusterlabs.org/mailman/listinfo/pacemaker > > > > > > Project Home: http://www.clusterlabs.org > > > > > Getting started: > > > http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf > > > > > Bugs: http://bugs.clusterlabs.org > > > > > _______________________________________________ > > Pacemaker mailing list: Pacemaker@oss.clusterlabs.org > > http://oss.clusterlabs.org/mailman/listinfo/pacemaker > > > Project Home: http://www.clusterlabs.org > > Getting started: > > http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf > > Bugs: http://bugs.clusterlabs.org > > _______________________________________________ > Pacemaker mailing list: Pacemaker@oss.clusterlabs.org > http://oss.clusterlabs.org/mailman/listinfo/pacemaker > > Project Home: http://www.clusterlabs.org > Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf > Bugs: http://bugs.clusterlabs.org >
_______________________________________________ Pacemaker mailing list: Pacemaker@oss.clusterlabs.org http://oss.clusterlabs.org/mailman/listinfo/pacemaker Project Home: http://www.clusterlabs.org Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf Bugs: http://bugs.clusterlabs.org