summaryrefslogtreecommitdiffstats
path: root/relaunch.sh
blob: df8d272a272e653ff4dde5888a8131295bcbecdd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#!/bin/sh
#
# Copyright (c) 2019-2021 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"
fi