[Linux-HA] Pinging different hosts from different nodes

Dejan Muhamedagic dejanmm at fastmail.fm
Fri Nov 23 05:56:56 MST 2007


Hi,

On Fri, Nov 23, 2007 at 01:51:26PM +0100, Urban Peter wrote:
>  
> 
> -----Original Message-----
> From: linux-ha-bounces at lists.linux-ha.org
> [mailto:linux-ha-bounces at lists.linux-ha.org] On Behalf Of Michael
> Schwartzkopff
> Sent: Freitag, 23. November 2007 11:37
> To: General Linux-HA mailing list
> Subject: Re: [Linux-HA] Pinging different hosts from different nodes
> 
> Am Freitag, 23. November 2007 09:03 schrieb Andrew Beekhof:
> (...)
> > IIRC the host_list parameter is optional... it was only intended to be 
> > used if one didnt want all the configured ping nodes to be considered.
> > so, assuming node A only has "ping node1" in ha.cf and node B only has 
> > "ping node2", then it should be possible to just do:
> >
> > <clone id="pingd">
> >   <primitive id="pingd-child" provider="heartbeat" class="ocf"
> > type="pingd">
> >     <operations>
> >       <op id="pingd-child-monitor" name="monitor" interval="20s"
> > timeout="40s" prereq="nothing"/>
> >       <op id="pingd-child-start" name="start" prereq="nothing"/>
> >     </operations>
> >     <instance_attributes id="pingd_inst_attr">
> >       <attributes>
> >          <nvpair id="pingd-dampen" name="dampen" value="5s"/>
> >          <nvpair id="pingd-multiplier" name="multiplier" value="100"/>
> >       </attributes>
> >     </instance_attributes>
> >   </primitive>
> > </clone>
> >
> 
> I would prefer to have ha.cf identical on both nodes and have a two different
> resources and two location constrains in my CIB. this would be more symmeric
> ;-)
> 
> 
> 
> --
> Dr. Michael Schwartzkopff
> 
> Hi,
> thanks so much for the prompt responses. Unfortunately I'm quite confused by
> now. I was trying to use the information from you, but there still are some
> "black holes" in my mind about HA. 
> I'm still not sure why the following does not work: 
> 
> 	<clone id="pingd">
>         	<instance_attributes id="pingd" >
>         		<attributes>	
>         			<nvpair id="pingd-globally_unique"
> name="globally_unique" value="0" />
>                 		<nvpair id="pingd-clone_node_max"
> name="clone_node_max" value="1"/>
> 			</attributes>
> 		</instance_attributes>
> 		<primitive id="pingd-child" provider="heartbeat" class="ocf"
> type="pingd">
>                 	<operations>
>                   		<op id="pingd-child-monitor" name="monitor"
> interval="20ms" timeout="40ms" prereq="nothing"/>
>                   		<op id="pingd-child-start" name="start"
> prereq="nothing"/>
> 	                </operations>
>                  	<instance_attributes id="pingd_inst_attr">
>                         	<attributes>
>                             		<nvpair id="pingd-dampen"
> name="dampen" value="5s"/>
>                             		<nvpair id="pingd-multiplier"
> name="multiplier" value="100"/>
>                         	</attributes>
> 	           	 </instance_attributes>
>        		</primitive>
> 	</clone>
> 
>      </resources>
>      <constraints>
>        <rsc_colocation id="colocation_ip_in_out" from="ip_resource_outside"
> to="ip_resource_inside" score="INFINITY"/>
>        <rsc_location id="prefer_2b" rsc="ip_resource_outside">
>          <rule id="rule_prefer_2b" score="100">
>            <expression attribute="#uname" operation="eq" value="CN-2-PC-B"
> id="9c3bc605-b595-42e0-9444-dfad8547cd3e"/>
>    	 </rule>
> 	</rsc_location>
> 	<rsc_location id="choose_connected" rsc="pingd-child">

What is "pingd-child"? Do you have such a resource?

> 		<rule id="rule_choose_connected" score_attribute="pingd">
> 			<expression id="expr_rule_choose_connected"
> attribute="pingd" operation="defined"/>
> 		</rule>	
> 				
>        	</rsc_location>
>      </constraints>
> 
> Everything is working, except the rules for pingd. When a pingnode is brought
> down the resources stay there where they where.(I was watching the trafic,
> the pings go out.)  

You should check the status section of the running CIB for values
of the pingd attribute:

cibadmin -Q | grep pingd

If they are the same for all nodes, then nothing will happen. If
not, then constraints are wrong.

Thanks,

Dejan

> 
> Yours:
> 
> Peter Urban
> 
> Ps. sorry for posting so much code!
> 
> 
> _______________________________________________
> Linux-HA mailing list
> Linux-HA at lists.linux-ha.org
> http://lists.linux-ha.org/mailman/listinfo/linux-ha
> See also: http://linux-ha.org/ReportingProblems

-- 
Dejan


More information about the Linux-HA mailing list