Commit Diff


commit - 521cd3777930ab0202aec40660725d512ff08e04
commit + 2ed3c5f5f74bc7550ccb1fa54dc58846ff1d6050
blob - fbafdd04d342f5fffcbdad82add41f5c6fa3b2e2
blob + 0314a6f9948f9a7f2a141266af7c76c049130591
--- launch.sh
+++ launch.sh
@@ -26,10 +26,28 @@ if [[ -z ${1} ]]; then
 	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
@@ -50,7 +68,7 @@ vmctl start -c ${1} < /tmp/pipe_${1} | while read line
 	#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
@@ -79,4 +97,4 @@ rm -rf /tmp/pipe_${1}
 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
@@ -26,8 +26,16 @@ if [[ -z ${1} ]]; then
 	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
@@ -35,25 +43,48 @@ 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
+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
@@ -0,0 +1,59 @@
+#!/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