cluster: RHEL55 - resource-agents: Make ip.sh deal with ip address collision

Lon Hohberger lon at fedoraproject.org
Fri Nov 13 20:14:21 UTC 2009


Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=3ae5f5cea15c8198141308d0fc8443853c45faf4
Commit:        3ae5f5cea15c8198141308d0fc8443853c45faf4
Parent:        59e7e7853e276381cf1ab1654f0907647c90a105
Author:        Ferenc Antal <antalf at ulx.hu>
AuthorDate:    Fri Nov 13 15:09:51 2009 -0500
Committer:     Lon Hohberger <lhh at redhat.com>
CommitterDate: Fri Nov 13 15:13:24 2009 -0500

resource-agents: Make ip.sh deal with ip address collision

Resolves: rhbz#526647

Part 1/2

Signed-off-by: Lon Hohberger <lhh at redhat.com>
---
 rgmanager/src/resources/ip.sh |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/rgmanager/src/resources/ip.sh b/rgmanager/src/resources/ip.sh
index e9779a2..9511884 100755
--- a/rgmanager/src/resources/ip.sh
+++ b/rgmanager/src/resources/ip.sh
@@ -585,6 +585,13 @@ ipv6()
 			ocf_log info "Removing IPv6 address $addr from $dev"
                 fi
 		
+		if [ "$1" = "add" ]; then
+			ocf_log notice "Pinging addr ${addr%%/*} from dev $dev"
+			if ping_check inet6 ${addr%%/*} $dev; then
+				ocf_log err "IPv6 address collision ${addr%%/*}"
+				return 1
+			fi
+		fi
 		/sbin/ip -f inet6 addr $1 dev $dev $addr
 		[ $? -ne 0 ] && return 1
 		
@@ -657,6 +664,13 @@ ipv4()
 			ocf_log info "Removing IPv4 address $addr from $dev"
 		fi
 		
+		if [ "$1" = "add" ]; then
+			ocf_log notice "Pinging addr ${addr%%/*} from dev $dev"
+			if ping_check inet ${addr%%/*} $dev; then
+				ocf_log err "IPv4 address collision ${addr%%/*}"
+				return 1
+			fi
+		fi
 		/sbin/ip -f inet addr $1 dev $dev $addr
 		[ $? -ne 0 ] && return 1
 		


More information about the cluster-commits mailing list