summaryrefslogtreecommitdiffstats
path: root/core/modules/run-virt/data/opt/openslx/scripts/includes/vmchooser_runvirt_functions.inc
blob: 1f09b3d20eb886bbf77772897a41dadba7d08360 (plain) (blame)
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
#######################################################
# Include: Set functions needed by vmchooser-run_virt #
#######################################################

# function to write to stdout and logfile
writelog() {
	local DATE=$(date +%Y-%m-%d-%H-%M-%S)
	# write to stdout?
	if [ "x$1" = "x--quiet" ]; then
		shift
	else
		echo -e "$DATE: $@"
	fi
	# log into file
	echo -e "$DATE: $@" >> "${LOGFILE}"
}

# Clean exit will be called at the end of vmchooser-run_virt
cleanexit() {
	sleep 1
	# Ummount dnbd3-fuse
	if [ -n "$dnbd3_fuse_mount_point" ] && [ -e "$dnbd3_fuse_mount_point/img" ]; then
		for timeout in 1 1 1 FAIL; do
			fusermount -u "$dnbd3_fuse_mount_point" && break
			writelog "dnbd3 still busy...."
			[ "$timeout" = "FAIL" ] && break
			sleep "$timeout"
		done
	fi
	# Kill LPD
	[ -n "${PID_LPD}" ] && kill "${PID_LPD}"

	# If we're not in debug mode, remove all temporary files
	if [ -n "${TMPDIR}" -a -z "$SLX_DEBUG" ]; then
		rm -rf -- "${TMPDIR}"
	fi

	[ $# -gt 0 ] && exit "$1"
	exit 129 # No exit code was given :/
}

rv_clean_string() {
	if [ "$#" -ge 1 ]; then
		echo "$@" | tr '[A-Z]' '[a-z]' | tr -d -c '[a-z0-9\-]'
	else
		tr '[A-Z]' '[a-z]' | tr -d -c '[a-z0-9\-]'
	fi
}