[Ovirt-devel] [PATCH] allow create-wui-appliance to use local repo tree along with ISO
Perry N. Myers
pmyers at redhat.com
Thu May 22 18:57:37 UTC 2008
This patch modifies create-wui-appliance.sh so that both a local ISO or an
install tree can be used to install the WUI appliance. The advantage of
using a local tree is that a kickstart file can be specified so that
manually entering the kickstart location during the boot process is not
necessary.
Signed-off-by: Perry Myers <pmyers at redhat.com>
diff --git a/wui-appliance/create-wui-appliance.sh b/wui-appliance/create-wui-appliance.sh
index 8f27277..e30f47c 100755
--- a/wui-appliance/create-wui-appliance.sh
+++ b/wui-appliance/create-wui-appliance.sh
@@ -22,8 +22,10 @@ BRIDGENAME=failme
usage() {
case $# in 1) warn "$1"; try_h; exit 1;; esac
cat <<EOF
-Usage: $ME -i install_iso [-d image_dir] [-a x86_64|i686]
- -i: location of installation ISO (required)
+Usage: $ME -i install_iso | -t install_tree [-d image_dir] [-a x86_64|i686]
+ -i: location of installation ISO (required if -t not present)
+ -t: location of installation tree (required if -i not present)
+ -k: URL of kickstart file for use with installation tree
-d: directory to place virtual disk (default: $IMGDIR_DEFAULT)
-a: architecture for the virtual machine (default: $ARCH_DEFAULT)
-v: Install in developer mode (see http://ovirt.org for details)
@@ -34,24 +36,39 @@ EOF
err=0 help=0
devel=0 bundled=0
-while getopts :a:d:i:hvb c; do
+while getopts :a:d:i:t:k:hvb c; do
case $c in
i) ISO=$OPTARG;;
+ t) TREE=$OPTARG;;
+ k) KICKSTART=$OPTARG;;
d) IMGDIR=$OPTARG;;
a) ARCH=$OPTARG;;
h) help=1;;
v) devel=1;;
b) bundled=1;;
- '?') err=1; warn "invalid option: \`-$OPTARG'";;
- :) err=1; warn "missing argument to \`-$OPTARG' option";;
+ '?') err=1; warn "invalid option: \`-$OPTARG'";;
+ :) err=1; warn "missing argument to \`-$OPTARG' option";;
*) err=1; warn "internal error: \`-$OPTARG' not handled";;
esac
done
test $err = 1 && { try_h; exit 1; }
test $help = 1 && { usage; exit 0; }
-test -z "$ISO" && usage "no ISO file specified"
-test -r "$ISO" || usage "missing or unreadable ISO file: \`$ISO'"
+test -n "$ISO" -a -n "$TREE" && usage "Can only specify one of -i and -t"
+test -z "$ISO" -a -z "$TREE" && usage "Must specify one of -i and -t"
+
+if [ -n "$ISO" ]; then
+ test -n "$KICKSTART" && usage "-k not valid in conjunction with -i"
+ test -r "$ISO" || usage "missing or unreadable ISO file: \`$ISO'"
+ cdrom_arg="-c $ISO"
+elif [ -n "$TREE" ]; then
+ location_arg="-l $TREE"
+fi
+
+if [ -n "$KICKSTART" ]; then
+ extra_flag=-x
+ extra_arg="ksdevice=eth0 ks=$KICKSTART"
+fi
test $devel = 1 -a $bundled = 1 && usage "Can only specify one of -v and -b"
test $devel = 0 -a $bundled = 0 && usage "Must specify one of -v or -b"
@@ -169,6 +186,8 @@ IMGNAME=$NAME.img
mkdir -p $IMGDIR
virsh destroy $NAME > /dev/null 2>&1
virsh undefine $NAME > /dev/null 2>&1
+
virt-install -n $NAME -r $RAM -f "$IMGDIR/$IMGNAME" -s $IMGSIZE --vnc \
- --accelerate -v -c "$ISO" --os-type=linux --arch=$ARCH \
- -w network:default -w network:$BRIDGENAME
+ --accelerate -v --os-type=linux --arch=$ARCH \
+ -w network:default -w network:$BRIDGENAME \
+ $location_arg $cdrom_arg $extra_flag "$extra_arg"
More information about the ovirt-devel
mailing list