Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

CA-46110 Tab completion on xe-switch-network-backend

  • Loading branch information...
commit b1b82866e6585e63b12f9d55ab377932fd6a0510 1 parent 4ac481e
Harrie Pieters authored
View
3  scripts/OMakefile
@@ -125,6 +125,9 @@ install:
mkdir -p $(DESTDIR)$(HOOKSDIR)/host-post-declare-dead
$(IPROG) 10resetvdis $(DESTDIR)$(HOOKSDIR)/host-post-declare-dead
$(IPROG) pci-info $(DESTDIR)$(LIBEXECDIR)
+ mkdir -p $(DESTDIR)/etc/bash_completion.d
+ $(IPROG) xe-switch-network-backend-bash-completion $(DESTDIR)/etc/bash_completion.d/xe-switch-network-backend
+ $(IPROG) xe-switch-network-backend $(DESTDIR)$(BINDIR)
sdk-install: install
mkdir -p $(SDK)
View
72 scripts/xe-switch-network-backend
@@ -0,0 +1,72 @@
+#!/bin/sh
+#########################################################################
+# Script to switch between Linux Bridge network stack and OpenvSwitch
+#
+# Usage:
+# xe-switch-network-backend <option>
+#
+# where <option> is either:
+# bridge - Linux standard Bridge network stack
+# openvswitch - OpenvSwitch stack
+#
+#########################################################################
+
+set -e
+
+if [ $# -ne 1 ] ; then
+ echo "Need bridge or openvswitch..."
+ exit 1
+fi
+
+source /etc/xensource-inventory
+
+new=$1
+case $new in
+ bridge) ;;
+ vswitch|openvswitch) ;;
+ *)
+ echo "Mode must be \"bridge\" or \"vswitch\""
+ exit 1
+esac
+
+if [ X"$new" = Xvswitch ] ; then
+ new="openvswitch"
+fi
+
+curr=$(cat /etc/xensource/network.conf)
+if [ X"$curr" = Xvswitch ] ; then
+ new="openvswitch"
+fi
+
+
+echo "Cleaning up old ifcfg files"
+for i in /etc/sysconfig/network-scripts/ifcfg-* ; do
+ if [ "$i" = "/etc/sysconfig/network-scripts/ifcfg-lo" ] ; then
+ continue
+ fi
+ echo " Remove... $(basename $i)"
+ rm $i
+done
+
+
+BLACKLIST=/etc/modprobe.d/blacklist-bridge
+if [ "$new" = "openvswitch" ] ; then
+ # Add blacklist of bridge module so it can't be loaded.
+ echo "install bridge /bin/true" > $BLACKLIST
+elif [ -e $BLACKLIST ] ; then
+ # Remove blacklist of bridge.
+ rm $BLACKLIST
+fi
+
+if [ "$new" = "openvswitch" ] ; then
+ echo "Enabling openvswitch daemon"
+ chkconfig --add openvswitch
+else
+ echo "Disabling openvswitch daemon"
+ chkconfig --del openvswitch
+fi
+
+echo "Configure system for $new networking"
+echo $new > /etc/xensource/network.conf
+
+echo "You *MUST* now reboot your system" 1>&2
View
16 scripts/xe-switch-network-backend-bash-completion
@@ -0,0 +1,16 @@
+#xe-switch-network-backend tab completion
+
+_xe-switch-network-backend()
+{
+ local cur prev opts
+ COMPREPLY=()
+ cur="${COMP_WORDS[COMP_CWORD]}"
+ prev="${COMP_WORDS[COMP_CWORD-1]}"
+ opts="bridge openvswitch"
+
+ if [[ ${cur} == * ]] ; then
+ COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
+ return 0
+ fi
+}
+complete -F _xe-switch-network-backend xe-switch-network-backend
View
2  xapi.spec.in
@@ -219,6 +219,8 @@ rm -rf $RPM_BUILD_ROOT
@OPTDIR@/bin/xe-set-iscsi-iqn
@OPTDIR@/bin/xe-toolstack-restart
@OPTDIR@/bin/xe-xentrace
+@OPTDIR@/bin/xe-switch-network-backend
+/etc/bash_completion.d/xe-switch-network-backend
@OPTDIR@/bin/xsh
/etc/xensource/bugtool/xapi.xml
/etc/xensource/bugtool/xapi/stuff.xml
Please sign in to comment.
Something went wrong with that request. Please try again.