[Pacemaker] IPaddr2 Netmask Bug Fix Issue

Darren.Mansell at opengi.co.uk Darren.Mansell at opengi.co.uk
Fri Mar 25 11:47:33 EDT 2011

Hello all.


Between SLE 11 HAE and SLE 11 SP1 HAE (pacemaker 1.0.3 - pacemaker
1.1.2) the following bit has changed in the IPaddr2 RA:



local iface=`$IP2UTIL -o -f inet addr show | grep "\ $BASEIP/" \

                | cut -d ' ' -f2 | grep -v '^ipsec[0-9][0-9]*$'`



local iface=`$IP2UTIL -o -f inet addr show | grep "\ $BASEIP/$NETMASK" \

                | cut -d ' ' -f2 | grep -v '^ipsec[0-9][0-9]*$'`


I notice the addition of the $NETMASK variable. I'm not sure why it's
been added but it's broken how we do load balancing.


We configure a virtual IP on the non-arping lo interface of both servers
and then configure the IPaddr2 resource with lvs_support=true. This RA
will remove the duplicate IP from the lo interface when it becomes
active. Grouping the VIP with ldirectord/LVS we can have the
load-balancer and VIP on one node, balancing traffic to the other node
with failover where both resources failover together.


To do this we need to configure the VIP on lo as a 32 bit netmask but
the VIP on the eth0 interface needs to have a 24 bit netmask. This has
worked fine up until now and we base all of our clusters on this method.
Now what happens is that the find_interface() routine in IPaddr2 doesn't
remove the IP from lo when starting the VIP resource as it can't find it
due to the netmask not matching.


Obviously I can edit the RA myself but I wanted to check the reason for
this. Apologies if it's in changelogs somewhere (please direct me to
these if so).



Darren Mansell

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.clusterlabs.org/pipermail/pacemaker/attachments/20110325/0fb88665/attachment-0002.html>

More information about the Pacemaker mailing list