iankelling.org
/
git
/
automated-distro-installer
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'upstream'
[automated-distro-installer]
/
fai-revm
diff --git
a/fai-revm
b/fai-revm
index fcb9c073a58e0c74ba2702f490f0d82f4a53670e..3b057957ea9ae71a7465f6addc60f881ea8c4920 100755
(executable)
--- a/
fai-revm
+++ b/
fai-revm
@@
-17,10
+17,9
@@
-cleanup() { :; }
-set -eE -o pipefail
-trap 'cleanup; echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
-script_dir=$(dirname $(readlink -f "$BASH_SOURCE"))
+x="$(readlink -f "$BASH_SOURCE")"; source "${x%/*}/bash-trace"
+
+script_dir="$(readlink -f "$BASH_SOURCE")"
e() { echo "$*"; "$@"; }
e() { echo "$*"; "$@"; }
@@
-34,8
+33,9
@@
then start a virtual machine to test the config
Note, sometimes shutting down the existing demohost vm
fails. Just run again if that happens.
Note, sometimes shutting down the existing demohost vm
fails. Just run again if that happens.
--r Do not reboot.
--n Create new qcow2(s) for vm
+-r Do not boot after install is complete
+-n Create new qcow2(s) for vm. Good for testing partitioning
+ script, to ensure a blank disk.
-h|--help Print help and exit.
Note: Uses GNU getopt options parsing style
-h|--help Print help and exit.
Note: Uses GNU getopt options parsing style
@@
-43,22
+43,20
@@
EOF
exit $1
}
exit $1
}
-
+orig_args=("$@")
new_disk=false
new_disk=false
-reboot=true
temp=$(getopt -l help hnr "$@") || usage 1
eval set -- "$temp"
while true; do
case $1 in
-n) new_disk=true; shift ;;
temp=$(getopt -l help hnr "$@") || usage 1
eval set -- "$temp"
while true; do
case $1 in
-n) new_disk=true; shift ;;
- -r) reboot
=false
; shift ;;
+ -r) reboot
_arg=--noreboot
; shift ;;
-h|--help) usage ;;
--) shift; break ;;
*) echo "$0: Internal error!" ; exit 1 ;;
esac
done
-h|--help) usage ;;
--) shift; break ;;
*) echo "$0: Internal error!" ; exit 1 ;;
esac
done
-
# change this to test different disk counts. 1 and > 1 should be the only
# important things to test.
disk_count=1
# change this to test different disk counts. 1 and > 1 should be the only
# important things to test.
disk_count=1
@@
-70,7
+68,7
@@
if [[ $script_dir == /a/bin/* ]]; then
rm -rf /tmp/faifreeze
mkdir -p /a/tmp
cp -ar /a/bin/fai /tmp/faifreeze
rm -rf /tmp/faifreeze
mkdir -p /a/tmp
cp -ar /a/bin/fai /tmp/faifreeze
- exec /tmp/faifreeze/${BASH_SOURCE##*/} "$
@
"
+ exec /tmp/faifreeze/${BASH_SOURCE##*/} "$
{orig_args[@]}
"
fi
cd $script_dir
fi
cd $script_dir
@@
-79,14
+77,19
@@
is_arch_revm() {
[[ ${0##*/} == arch-revm ]]
}
[[ ${0##*/} == arch-revm ]]
}
-cleanup() { ./pxe-server :; }
+cleanup() {
+ ./pxe-server
+ ./faiserver-disable
+}
+_errcatch_cleanup=cleanup
+
if is_arch_revm; then
if is_arch_revm; then
- ./pxe-server arch
+ ./pxe-server
demohost
arch
sleep 2
# via osinfo-query os. guessing arch is closest to latest fedora.
variant=fedora22
else
sleep 2
# via osinfo-query os. guessing arch is closest to latest fedora.
variant=fedora22
else
- ./pxe-server fai
+ ./pxe-server
demohost
fai
sleep 2
# I don't think these variants actually make a diff for us, but I
# use the appropriate one when trying a new distro just in case.
sleep 2
# I don't think these variants actually make a diff for us, but I
# use the appropriate one when trying a new distro just in case.
@@
-106,7
+109,7
@@
for ((i=1; i <= disk_count; i++)); do
disk_arg+=("--disk path=$f")
if $new_disk || [[ ! -e $f ]]; then
s rm -f $f
disk_arg+=("--disk path=$f")
if $new_disk || [[ ! -e $f ]]; then
s rm -f $f
- e s qemu-img create -o preallocation=metadata -f qcow2 $f
2
0G
+ e s qemu-img create -o preallocation=metadata -f qcow2 $f
5
0G
fi
done
fi
done
@@
-120,7
+123,7
@@
fi
#
# uniq is to stop gtk-warning spam
e s virt-install --os-variant $variant -n $name --pxe -r 2048 --vcpus 1 \
#
# uniq is to stop gtk-warning spam
e s virt-install --os-variant $variant -n $name --pxe -r 2048 --vcpus 1 \
- ${disk_arg[*]} -w bridge=br0,mac=52:54:00:9c:ef:ad \
+ ${disk_arg[*]} -w bridge=br0,mac=52:54:00:9c:ef:ad
$reboot_arg
\
--graphics spice,listen=0.0.0.0 $console_arg |& grep -v '^ *$' | uniq &
if [[ $SSH_CLIENT ]]; then
--graphics spice,listen=0.0.0.0 $console_arg |& grep -v '^ *$' | uniq &
if [[ $SSH_CLIENT ]]; then
@@
-128,11
+131,11
@@
if [[ $SSH_CLIENT ]]; then
fi
sleep 30
fi
sleep 30
-while ! timeout -s 9 10 ssh root@$name /bin/true; do
+while ! timeout -s 9 10 ssh
-oBatchMode=yes
root@$name /bin/true; do
e sleep 5
done
e sleep 5
done
-cleanup() { :; }
-e pxe-server
:
+unset _errcatch_cleanup
+e pxe-server
if is_arch_revm; then
./arch-init-remote $name
fi
if is_arch_revm; then
./arch-init-remote $name
fi