This is the mail archive of the cluster-cvs@sourceware.org mailing list for the cluster.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RHEL5 - cman: allow custom xen network bridge scripts


Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=e9fec5cf0724fa209b0c0dc39e71a2c5ac72f36d
Commit:        e9fec5cf0724fa209b0c0dc39e71a2c5ac72f36d
Parent:        917db8b990bff1268b93061f4512a37b0d47f38a
Author:        Ryan O'Hara <rohara@redhat.com>
AuthorDate:    Fri Aug 29 10:07:38 2008 -0500
Committer:     Ryan O'Hara <rohara@redhat.com>
CommitterDate: Fri Aug 29 10:07:38 2008 -0500

cman: allow custom xen network bridge scripts

This patch allows users to define custom scripts for Xen network
bridging. Previously, the name of the Xen network bridge was
hard-coded in the cman init script. Users that wish to use custom Xen
network bridge script should define NETWORK_BRIDGE_SCRIPT in
/etc/sysconfig/cman. This script must exist in the /etc/xen/scripts
directory. Users must also update the /etc/xen/xend-config.sxp file
accordingly.
---
 cman/init.d/cman |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/cman/init.d/cman b/cman/init.d/cman
index 4156b98..35b121b 100755
--- a/cman/init.d/cman
+++ b/cman/init.d/cman
@@ -50,6 +50,11 @@
 #     to join the fence domain (equivalent to "yes").
 [ -z "$FENCE_JOIN" ] && FENCE_JOIN="yes"
 
+# NETWORK_BRIDGE_SCRIPT -- script to use for xen network bridging.
+#     This script must exist in the /etc/xen/scripts directory.
+#     The default script is "network-bridge".
+[ -z "$NETWORK_BRIDGE_SCRIPT" ] && NETWORK_BRIDGE_SCRIPT="network-bridge"
+
 [ -z "$LOCK_FILE" ] && LOCK_FILE="/var/lock/subsys/cman"
 
 [ -n "$CLUSTERNAME" ] && cman_join_opts="-c $CLUSTERNAME"
@@ -203,7 +208,7 @@ xend_bridged_net_enabled() {
         return 1
     fi
 
-    egrep "^[[:blank:]]*\([[:blank:]]*network-script[[:blank:]]+(')?[[:blank:]]*network-bridge([[:blank:]]*\)|[[:blank:]]+)" /etc/xen/xend-config.sxp >&/dev/null
+    egrep "^[[:blank:]]*\([[:blank:]]*network-script[[:blank:]]+(')?[[:blank:]]*${NETWORK_BRIDGE_SCRIPT}([[:blank:]]*\)|[[:blank:]]+)" /etc/xen/xend-config.sxp >&/dev/null
     if [ $? -ne 0 ]; then
         # xend isn't configured to use bridged networking.
         return 1
@@ -212,8 +217,8 @@ xend_bridged_net_enabled() {
 }
 
 xend_bridged_net_start() {
-    if [ ! -x /etc/xen/scripts/network-bridge ]; then
-        if [ -f /etc/xen/scripts/network-bridge ]; then
+    if [ ! -x /etc/xen/scripts/${NETWORK_BRIDGE_SCRIPT} ]; then
+        if [ -f /etc/xen/scripts/${NETWORK_BRIDGE_SCRIPT} ]; then
             errmsg='The xend bridged network script cannot be run'
         else
             errmsg='The xend bridged network script is missing'
@@ -223,8 +228,8 @@ xend_bridged_net_start() {
 
     /sbin/modprobe netbk >& /dev/null
     /sbin/modprobe netloop >& /dev/null
-    bridge_parms=`egrep -m 1 "^[[:blank:]]*\([[:blank:]]*network-script[[:blank:]]+(')?[[:blank:]]*network-bridge([[:blank:]]*\)|[[:blank:]]+)" /etc/xen/xend-config.sxp| sed -r "s/^[[:blank:]]*\([[:blank:]]*network-script[[:blank:]]+'?[[:blank:]]*network-bridge[[:blank:]]*//; s/'?[[:blank:]]*\).*//"`
-    errmsg=$(/etc/xen/scripts/network-bridge start $bridge_parms 2>&1) || return 1
+    bridge_parms=`egrep -m 1 "^[[:blank:]]*\([[:blank:]]*network-script[[:blank:]]+(')?[[:blank:]]*${NETWORK_BRIDGE_SCRIPT}([[:blank:]]*\)|[[:blank:]]+)" /etc/xen/xend-config.sxp| sed -r "s/^[[:blank:]]*\([[:blank:]]*network-script[[:blank:]]+'?[[:blank:]]*${NETWORK_BRIDGE_SCRIPT}[[:blank:]]*//; s/'?[[:blank:]]*\).*//"`
+    errmsg=$(/etc/xen/scripts/${NETWORK_BRIDGE_SCRIPT} start $bridge_parms 2>&1) || return 1
     return 0
 }
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]