}
function start_initscripts() {
- case $DISTRO in
- "Debian" )
- while test $# -ge 1
- do
- $SUDO update-rc.d $1
+ while test $# -ge 1
+ do
+ if test ! -f $1
+ then
shift 1
- done
- ;;
- * )
- echo "I don't know how to start initscripts on $DISTRO"
- ;;
- esac
+ continue
+ fi
+ case $DISTRO in
+ "Debian" )
+ $SUDO update-rc.d $1 defaults
+ ;;
+ "Fedora" )
+ $SUDO chkconfig --add $1
+ ;;
+ * )
+ echo "I don't know how to start initscripts on $DISTRO"
+ return 1
+ ;;
+ esac
+ shift 1
+ done
}
}
function grub_configure() {
- echo "Nothing to configure for Grub"
+ echo "Grub: nothing to configure"
}
}
function libvirt_configure() {
- if test "$DISTRO" != "Debian"
- then
- echo "I don't know how to configure Libvirt on $DISTRO"
- return 1
- fi
- start_initscripts libvirtd
+ start_initscripts libvirtd libvirt-guests virtlockd
}
rm $TMPFILE
}
-function xen_configure() {
- if test "$DISTRO" != "Debian"
+function xen_create_bridge_Fedora() {
+ BRIDGE="xenbr0"
+
+ if test "`grep $BRIDGE /etc/sysconfig/network-scripts/*`"
+ then
+ return 0
+ fi
+
+ IFACE=`grep 'BOOTPROTO="dhcp"' /etc/sysconfig/network-scripts/* | head -1 | cut -d : -f 1`
+ if test -z "$IFACE"
then
- echo "I don't know how to configure Xen on $DISTRO"
return 1
fi
+
+ $SUDO chkconfig NetworkManager off
+ $SUDO chkconfig network on
+ $SUDO service NetworkManager stop
+
+ TMPFILE=`mktemp`
+ cat $IFACE | grep -v dhcp | grep -v DHCLIENT > $TMPFILE
+ echo "BRIDGE=$BRIDGE" >> $TMPFILE
+ $SUDO mv -f $TMPFILE $IFACE
+
+ $SUDO cp ifcfg-xenbr0 /etc/sysconfig/network-scripts
+
+ $SUDO iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT
+ $SUDO service iptables save
+ $SUDO service iptables restart
+
+ $SUDO service network start
+}
+
+function xen_configure() {
xen_create_bridge_$DISTRO
start_initscripts xencommons xendomains xen-watchdog
}