Hi,

On Thu, Nov 08, 2007 at 03:39:44PM -0500, Anders Brownworth wrote:
> Hi,
> 
> I have a working linux-ha v2 setup managing 2 production IPs with a 
> service (OpenSER) using those IPs. The service is shared amongst two 
> servers (box01 and box02) in an active / standby configuration. OpenSER 
> and the production IPs prefer to run on box01 but will migrate to box02 
> in the event of a box01 failure. All of this works as expected.
> 
> However, when OpenSER is running on the backup box (box02) and the 
> primary (box01) becomes available, the backup box releases the IPs as 
> expected but never shuts OpenSER down. OpenSER is then running on both 
> the primary and the backup box, although of course the backup box never 
> gets any requests because the production IPs are gone. It makes for a 
> confusing environment though when you see the OpenSER processes running 
> on the backup but there seems to be no traffic.
> 
> Am I wrong to expect that a service should be shut down when moving away 
> from a server? Clearly IPaddr2 yanks the production IPs away...

That resource should move in the very same way as the IP
addresses. Anything in the logs? Is your resource agent working
properly?

> In the constraints I score OpenSER to 100 so it prefers to live on 
> box01. I also tie IPAddr2 and OpenSER together at a score of INFINITY so 
> they stay together. I'm assuming this is the correct way to keep IP and 
> service together and have the service prefer box01. Perhaps my 
> implementation isn't stating what I am wanting to do?
> 
> Below is my cib.xml. Any insight is greatly appreciated.

Please find comments below.

Thanks,

Dejan

> -Anders
> 
> 
> 
> <cib admin_epoch="1" have_quorum="true" num_peers="1" 
> cib_feature_revision="1.3" ignore_dtd="false" generated="true" 
> epoch="15" num_updates="367" cib-last-written="Thu Nov  8 19:08:20 2007" 
> ccm_transition="1" dc_uuid="9052abe5-87ee-4400-a008-c5f13205e94b">
>   <configuration>
>     <crm_config>
>       <cluster_property_set id="cluster-property-set">
>         <attributes>
>           <nvpair id="short_resource_names" name="short_resource_names" 
> value="true"/>
>           <nvpair id="pe-input-series-max" name="pe-input-series-max" 
> value="-1"/>
>         </attributes>
>       </cluster_property_set>
>     </crm_config>
>     <nodes>
>       <node id="9052abe5-87ee-4400-a008-c5f13205e94b" uname="box01" 
> type="normal"/>
>       <node id="47658455-4da2-48d4-a8da-419b2f93f039" uname="box02" 
> type="normal"/>
>     </nodes>
>     <resources>
>       <group id="OpenSer_IPaddr2_group">
>         <primitive id="IPaddr2-10.1.53.235" class="ocf" type="IPaddr2" 
> provider="heartbeat">
>           <operations>
>             <op id="ipaddr2-10.1.53.235-monitor" name="monitor" 
> interval="5s" timeout="3s"/>
>           </operations>
>           <instance_attributes id="IPaddr2-10.1.53.235-attributes">
>             <attributes>
>               <nvpair id="ipaddr2-10.1.53.235-ip" name="ip" 
> value="10.1.53.235"/>
>               <nvpair id="ipaddr2-10.1.53.235-broadcast" 
> name="broadcast" value="10.1.53.255"/>
>               <nvpair id="ipaddr2-10.1.53.235-cidr_netmask" 
> name="cidr_netmask" value="24"/>
>             </attributes>
>           </instance_attributes>
>         </primitive>
>         <primitive id="IPaddr2-10.1.53.236" class="ocf" type="IPaddr2" 
> provider="heartbeat">
>           <operations>
>             <op id="ipaddr2-10.1.53.236-monitor" name="monitor" 
> interval="5s" timeout="3s"/>
>           </operations>
>           <instance_attributes id="IPaddr2-10.1.53.236-attributes">
>             <attributes>
>               <nvpair id="ipaddr2-10.1.53.236-ip" name="ip" 
> value="10.1.53.236"/>
>               <nvpair id="ipaddr2-10.1.53.236-broadcast" 
> name="broadcast" value="10.1.53.255"/>
>               <nvpair id="ipaddr2-10.1.53.236-cidr_netmask" 
> name="cidr_netmask" value="24"/>
>             </attributes>
>           </instance_attributes>
>         </primitive>
>         <primitive id="OpenSer" class="ocf" type="OpenSer" 
> provider="bandwidth.com">
>           <operations>
>             <op id="openser-start" name="start" timeout="5s"/>
>             <op id="openser-stop" name="stop" timeout="3s"/>
>             <op id="openser-monitor" name="monitor" interval="10s" 
> timeout="3s">
>               <instance_attributes id="monitor_10s">
>                 <attributes>
>                   <nvpair id="openser-monitor-ip" name="ip" 
> value="127.0.0.1"/>
>                 </attributes>
>               </instance_attributes>
>             </op>
>           </operations>
>         </primitive>
>       </group>
>     </resources>
>     <constraints>
>       <rsc_location id="IPaddr2_resource_location" rsc="IPaddr2">

Use the resource id for rsc and not the resource type. Also,
since your resources are in a group, then reference the group
instead of the IP address.

>         <rule id="IPaddr2_rule" score="100">
>           <expression id="expression_1" attribute="#uname" 
> operation="eq" value="box01"/>
>         </rule>
>       </rsc_location>
>       <rsc_colocation id="same_openser_ip" from="IPaddr2" to="OpenSer" 
> score="INFINITY"/>

This colocation constraint is not necessary, because both
resources are in a group.

>     </constraints>
>   </configuration>
> </cib>
> 
> _______________________________________________
> Linux-HA mailing list
> [email protected]
> http://lists.linux-ha.org/mailman/listinfo/linux-ha
> See also: http://linux-ha.org/ReportingProblems
_______________________________________________
Linux-HA mailing list
[email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha
See also: http://linux-ha.org/ReportingProblems

Reply via email to