-
Notifications
You must be signed in to change notification settings - Fork 8
/
add-upstart-ems
88 lines (82 loc) · 2.32 KB
/
add-upstart-ems
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
#!/bin/sh
install_ems_on_ubuntu () {
echo "#!/bin/sh
DIR=/opt/openbaton/ems
PROG="/usr/bin/python"
ARG="/usr/local/bin/openbaton-ems"
DAEMON_USER=root
PIDFILE=/var/run/ems.pid
. /lib/lsb/init-functions
do_start() {
log_daemon_msg \"Starting EMS\"
start-stop-daemon --start --background --pidfile \$PIDFILE --make-pidfile --user \$DAEMON_USER --chuid \$DAEMON_USER --exec \"\$PROG\" -- \$ARG
}
do_stop() {
log_daemon_msg \"Stopping EMS\"
start-stop-daemon --stop --pidfile \$PIDFILE
}
do_restart() {
log_daemon_msg \"Restarting EMS\"
do_stop
do_start
}
case \"\$1\" in
"start" )
do_start ;;
"stop" )
do_stop ;;
"restart" )
do_restart;;
* )
usage;;
esac
" > /etc/init.d/openbaton-ems
chmod +x /etc/init.d/openbaton-ems
update-rc.d openbaton-ems defaults
}
install_ems_on_centos () {
echo "# Open Baton EMS init script for the 'Systemd' System and Service Manager
# Copyright (c) 2016 Open Baton (http://www.openbaton.org)
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
[Unit]
Description=Open Baton Element Management System (EMS) Systemd Unit
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/bin/python /usr/bin/openbaton-ems
[Install]
WantedBy=runlevel2.target runlevel4.target multi-user.target" > /usr/lib/systemd/system/openbaton-ems.service
systemctl daemon-reload
systemctl enable openbaton-ems
}
if [ $(cat /etc/os-release | grep -i "debian\|ubuntu" | wc -l) -gt 0 ]; then
os=ubuntu
elif [ $(cat /etc/os-release | grep -i "centos" | wc -l) -gt 0 ]; then
os=centos
else
os=undefined
fi
case ${os} in
ubuntu)
install_ems_on_ubuntu
;;
centos)
install_ems_on_centos
;;
*)
echo "OS not recognized"
exit 1
;;
esac