forked from opensvc/opensvc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathom
executable file
·118 lines (112 loc) · 1.75 KB
/
om
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#!/bin/sh
# variables users can override in the defaults file
OSVC_ROOT_PATH="/usr/share/opensvc"
OSVC_PYTHON="python"
OSVC_PYTHON_ARGS=""
if [ -r "/etc/defaults/opensvc" ]
then
# FreeBSD, Darwin
. "/etc/defaults/opensvc"
elif [ -r "/etc/default/opensvc" ]
then
# Debian-like, Tru64, SunOS and HP-UX
. "/etc/default/opensvc"
elif [ -r "/etc/sysconfig/opensvc" ]
then
# Red Hat-like
. "/etc/sysconfig/opensvc"
elif [ -r "/etc/conf.d/opensvc" ]
then
# Alpine, Gentoo
. "/etc/conf.d/opensvc"
elif [ -r "/etc/rc.config.d/opensvc" ]
then
# AIX
. "/etc/rc.config.d/opensvc"
fi
INTER="$OSVC_PYTHON $OSVC_PYTHON_ARGS"
BASENAME=`basename $0`
case $BASENAME in
om)
;;
opensvc)
#
# Use me as the shebang for python modules to be garantied the
# same python requirements than the agent are met (ie 2.6+).
#
# Example: #!/usr/bin/env opensvc
#
exec "$OSVC_PYTHON" "$@"
;;
nodemgr)
case $1 in
daemon)
shift
KIND=daemon
;;
dns)
KIND=daemon
;;
net|network)
shift
KIND=network
;;
pool)
shift
KIND=pool
;;
*)
KIND=node
;;
esac
;;
svcmgr)
KIND=svc
;;
volmgr)
KIND=vol
;;
usrmgr)
KIND=usr
;;
secmgr)
KIND=sec
;;
cfgmgr)
KIND=cfg
;;
ccfgmgr)
KIND=ccfg
;;
svcmon)
KIND=mon
;;
esac
main() {
if test -z "$OSVC_CONTEXT"
then
case "`id`" in
uid=0\(*)
;;
*)
SUDO=`which sudo 2>/dev/null`
;;
esac
fi
test -z "$SUDO" && SUDO=env || SUDO="$SUDO OSVC_NAMESPACE=$OSVC_NAMESPACE"
if test -n "$KIND"
then
$SUDO PYTHONPATH="$OSVC_ROOT_PATH:$PYTHONPATH" $INTER $OSVC_PYTHON_ARGS -m opensvc $KIND "$@"
return $?
fi
case $1 in
ns)
echo "The 'om' alias must be sourced to handle ns actions" >&2
exit 1
;;
*)
$SUDO PYTHONPATH="$OSVC_ROOT_PATH:$PYTHONPATH" $INTER $OSVC_PYTHON_ARGS -m opensvc "$@"
;;
esac
}
main "$@"