aboutsummaryrefslogtreecommitdiff
path: root/sysutils/sge60/files/sge.sh.in
blob: f5e9395009661dc5eb8982e016e9936b0f0f47ea (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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/bin/sh
# $FreeBSD$

# PROVIDE: sge
# REQUIRE: DAEMON
# BEFORE: LOGIN
# KEYWORD: shutdown

# rc.conf variables:
#
# sge_cell		The SGE_CELL for this machine (default=default).
# sge_qmaster_enable	Start the qmaster and scheduler (default=NO).
# sge_execd_enable	Start the exec daemon (default=NO).

. /etc/rc.subr

export SGE_ROOT=%%PREFIX%%/%%SGE_BASE%%

name="sge"
start_cmd="sge_start"
stop_cmd="sge_stop"

sge_start()
{
	if checkyesno sge_qmaster_enable; then
		${sgemaster_script} start
	fi
	if checkyesno sge_execd_enable; then
		host=`hostname`
		execd_spool_dir=${execd_spool_dir:-`${qconf} -sconf ${host} 2>/dev/null | awk '($1 == "execd_spool_dir") {print $2}'`}
		execd_spool_dir=${execd_spool_dir:-`${qconf} -sconf global 2>/dev/null | awk '($1 == "execd_spool_dir") {print $2}'`}
		if [ -n "${execd_spool_dir}" ]; then
			mkdir -p ${execd_spool_dir}
			mkdir -p ${execd_spool_dir}/${host%%.*}
			mkdir -p ${execd_spool_dir}/${host%%.*}/active_jobs
			mkdir -p ${execd_spool_dir}/${host%%.*}/jobs
			mkdir -p ${execd_spool_dir}/${host%%.*}/job_scripts
			chown -R sgeadmin ${execd_spool_dir}/${host%%.*}
		fi
		${sgeexecd_script} start
	fi
}

sge_stop()
{
	if checkyesno sge_execd_enable; then
		${sgeexecd_script} stop
	fi
	if checkyesno sge_qmaster_enable; then
		${sgemaster_script} stop
	fi
}

load_rc_config $name

sge_qmaster_enable=${sge_qmaster_enable-NO}
sge_execd_enable=${sge_execd_enable-NO}
export SGE_CELL=${sge_cell:-default}
sgemaster_script=${SGE_ROOT}/${SGE_CELL}/common/sgemaster
sgeexecd_script=${SGE_ROOT}/${SGE_CELL}/common/sgeexecd
execd_spool_dir=${sge_execd_spool_dir-}
sge_arch=fbsd-`uname -m`
qconf=${SGE_ROOT}/bin/${sge_arch}/qconf

run_rc_command $*