commit - 521cd3777930ab0202aec40660725d512ff08e04
commit + 2ed3c5f5f74bc7550ccb1fa54dc58846ff1d6050
blob - fbafdd04d342f5fffcbdad82add41f5c6fa3b2e2
blob + 0314a6f9948f9a7f2a141266af7c76c049130591
--- launch.sh
+++ launch.sh
exit 1
fi
if [[ ! -f "${VMS}/${1}.txt" ]]; then
- echo "unable to find ${VMS}/${1}"
- exit 1
+ echo "unable to find ${VMS}/${1}.txt"
+ if [[ -f "${VMS}/${1}.txt.free" ]]; then
+ echo "found ${VMS}/${1}.txt.free"
+ mv ${VMS}/${1}.txt.free ${VMS}/${1}.txt
+ else
+ exit 1
+ fi
+else
+ chown mischa ${VMS}/${1}.txt
+ chmod 600 ${VMS}/${1}.txt
fi
+if [[ "${SERVER}" == server* ]]; then
+ HOST="s${SERVER#server}"
+elif [[ "${SERVER}" == mega* ]]; then
+ HOST="m${SERVER#mega}"
+fi
+
+openrsync -va --del /home/mischa/vms/ mischa@wm1.obsda.ms:vms/${HOST}/
+ssh wm1.obsda.ms "doas ./create-user.pl ${HOST}${1}"
+openrsync -va --del /home/mischa/vms/ mischa@rx.high5.nl:vms/${HOST}/
+
deploy.pl
rcctl restart dhcpd
vmctl reload
#Response file location\?*)
#vmctl stop -f ${1}
#rm -rf /var/vmm/${1}.qcow2
- #pushover.pl -m "${SERVER} ${1} failed deploy" -p 1
+ #pushover.pl -m "${SERVER} ${1} failed deploy" -t "OpenBSD Amsterdam" -p 1
#exit 1
#;;
esac
echo
echo "SUCCES! - deployed ${1}"
notify.pl deployed ${1}
-pushover.pl -m "${SERVER} ${1} deployed"
+pushover.pl -m "${SERVER} ${1} deployed" -t "OpenBSD Amsterdam"
blob - 7a5b0c0d39c87c3ed70b2965448f9d0409791ebb
blob + 8aa69249efccd1c9fc2f4f4064eee37dbcfd18b8
--- relaunch.sh
+++ relaunch.sh
exit 1
fi
if [[ ! -f "${VMS}/${1}.txt" ]]; then
- echo "unable to find ${VMS}/${1}"
- exit 1
+ echo "unable to find ${VMS}/${1}.txt"
+ if [[ -f "${VMS}/${1}.txt.free" ]]; then
+ echo "found ${VMS}/${1}.txt.free"
+ mv ${VMS}/${1}.txt.free ${VMS}/${1}.txt
+ else
+ exit 1
+ fi
+else
+ chown mischa ${VMS}/${1}.txt
+ chmod 600 ${VMS}/${1}.txt
fi
deploy.pl
vmctl reload
sleep 10
-auto-deploy.exp ${1}
-if [ $? != 0 ]; then
- vmctl stop -f ${1}
- rm -rf /var/vmm/${1}.qcow2
- pushover.pl -m "$(hostname -s) ${1} failed deploy" -p 1
- exit 1
-else
- vmctl stop -f ${1}
-fi
+mkfifo -m 600 /tmp/pipe_${1}
+install -g mischa -m 600 -o mischa /dev/null /home/mischa/${1}.log
+echo -n "autoinstall ${1}, log output /home/mischa/${1}.log... "
+
+vmctl start -c ${1} < /tmp/pipe_${1} | while read line; do
+ printf '%s\n' "$line" >&2
+ case $line in
+ *rebooting...*)
+ vmctl stop -f ${1}
+ break
+ ;;
+ #Response file location\?*)
+ #vmctl stop -f ${1}
+ #rm -rf /var/vmm/${1}.qcow2
+ #pushover.pl -m "${SERVER} ${1} failed deploy" -t "OpenBSD Amsterdam" -p 1
+ #exit 1
+ #;;
+ esac
+done > /tmp/pipe_${1} 2> /home/mischa/${1}.log
+
+echo "completed"
+
deploy.pl
rcctl restart dhcpd
vmctl reload
sleep 10
-auto-start.exp ${1}
-if [ $? ]; then
- echo
- echo "SUCCES! - re-deployed ${1}"
- notify.pl redeployed ${1}
- pushover.pl -m "$(hostname -s) ${1} re-deployed" -t "OpenBSD Amsterdam"
-fi
+echo "booting ${1}"
+
+vmctl start -c ${1} < /tmp/pipe_${1} | while read line; do
+ printf '%s\n' "$line" >&2
+ case $line in
+ *tty00*)
+ break
+ ;;
+ esac
+done > /tmp/pipe_${1} 2>> /home/mischa/${1}.log
+
+rm -rf /tmp/pipe_${1}
+
+echo
+echo "SUCCES! - re-deployed ${1}"
+notify.pl redeployed ${1}
+pushover.pl -m "${SERVER} ${1} re-deployed" -t "OpenBSD Amsterdam"
blob - /dev/null
blob + 7a5b0c0d39c87c3ed70b2965448f9d0409791ebb (mode 755)
--- /dev/null
+++ relaunch.sh-old
+#!/bin/sh
+#
+# Copyright (c) 2019-2022 Mischa Peters <mischa @ openbsd.amsterdam>
+#
+# Permission to use, copy, modify, and distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+#
+CONF_FILE="${PWD}/_deploy.conf"
+if [[ -f "${CONF_FILE}" ]]; then
+ . "${CONF_FILE}"
+else
+ echo "unable to find _deploy.conf"
+ exit 1
+fi
+if [[ -z ${1} ]]; then
+ echo "usage: ${0##*/} vmXX"
+ exit 1
+fi
+if [[ ! -f "${VMS}/${1}.txt" ]]; then
+ echo "unable to find ${VMS}/${1}"
+ exit 1
+fi
+
+deploy.pl
+rcctl restart dhcpd
+vmctl reload
+sleep 10
+
+auto-deploy.exp ${1}
+if [ $? != 0 ]; then
+ vmctl stop -f ${1}
+ rm -rf /var/vmm/${1}.qcow2
+ pushover.pl -m "$(hostname -s) ${1} failed deploy" -p 1
+ exit 1
+else
+ vmctl stop -f ${1}
+fi
+
+deploy.pl
+rcctl restart dhcpd
+vmctl reload
+sleep 10
+
+auto-start.exp ${1}
+if [ $? ]; then
+ echo
+ echo "SUCCES! - re-deployed ${1}"
+ notify.pl redeployed ${1}
+ pushover.pl -m "$(hostname -s) ${1} re-deployed" -t "OpenBSD Amsterdam"
+fi