From mboxrd@z Thu Jan 1 00:00:00 1970 From: rmccabe@sourceware.org Date: 10 May 2007 14:45:15 -0000 Subject: [Cluster-devel] cluster/cman/init.d cman Message-ID: <20070510144515.23576.qmail@sourceware.org> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit CVSROOT: /cvs/cluster Module name: cluster Branch: RHEL5 Changes by: rmccabe at sourceware.org 2007-05-10 14:45:14 Modified files: cman/init.d : cman Log message: Don't workaround xend bridged networking on non-xen kernels. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/init.d/cman.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.26.2.3&r2=1.26.2.4 --- cluster/cman/init.d/cman 2006/12/08 22:01:16 1.26.2.3 +++ cluster/cman/init.d/cman 2007/05/10 14:45:14 1.26.2.4 @@ -132,6 +132,50 @@ return 0 } +xend_bridged_net_enabled() { + # Not a xen kernel + test -d /proc/xen || return 1 + + current_runlevel=$(/sbin/runlevel 2>/dev/null | awk '{ print $2 }' 2>/dev/null) + if [ -z "$current_runlevel" ]; then + errmsg='Unable to determine the current runlevel' + return 1 + fi + + /sbin/chkconfig --levels "$current_runlevel" xend 2>/dev/null + if [ $? -ne 0 ]; then + # xend doesn't start at this runlevel. + return 1 + fi + + if [ ! -f /etc/xen/xend-config.sxp ]; then + # xend isn't configured to use bridged networking. + return 1 + fi + + egrep "^[[:blank:]]*\([[:blank:]]*network-script[[:blank:]]+network-bridge([[:blank:]]*\)|[[:blank:]]+)" /etc/xen/xend-config.sxp >/dev/null 2>/dev/null + if [ $? -ne 0 ]; then + # xend isn't configured to use bridged networking. + return 1 + fi + return 0 +} + +xend_bridged_net_start() { + if [ ! -x /etc/xen/scripts/network-bridge ]; then + if [ -f /etc/xen/scripts/network-bridge ]; then + errmsg='The xend bridged network script cannot be run' + else + errmsg='The xend bridged network script is missing' + fi + return 1 + fi + + /sbin/modprobe netbk >& /dev/null + /sbin/modprobe netloop >& /dev/null + errmsg=$(/etc/xen/scripts/network-bridge start 2>&1) || return 1 + return 0 +} fence_xvmd_enabled() { @@ -163,6 +207,20 @@ start() { echo "Starting cluster: " + + xend_bridged_net_enabled + if [ $? -eq 0 ] + then + echo -n " Enabling workaround for Xend bridged networking... " + xend_bridged_net_start + if [ $? -eq 0 ] + then + echo "done" + else + echo "failed: $errmsg" + return 1 + fi + fi echo -n " Loading modules... " ulimit -c unlimited load_modules