Merge pull request #79 from jordant/linux
Init script changes for bird6/akanda-metadata-proxy and akanda-router-api-server
This commit is contained in:
commit
765f32809d
|
@ -97,9 +97,17 @@ rm /tmp/akanda.sh
|
|||
|
||||
echo "[*] Add init scripts...."
|
||||
cp $APPLIANCE_SCRIPT_DIR/etc/init.d/ssh /etc/init.d/ssh
|
||||
cp $APPLIANCE_SCRIPT_DIR/etc/init.d/bird6 /etc/init.d/bird6
|
||||
cp $APPLIANCE_SCRIPT_DIR/etc/init.d/metadata /etc/init.d/metadata
|
||||
cp $APPLIANCE_SCRIPT_DIR/etc/init.d/akanda-router-api-server /etc/init.d/akanda-router-api-server
|
||||
chmod 555 /etc/init.d/ssh
|
||||
chmod 555 /etc/init.d/bird6
|
||||
chmod 555 /etc/init.d/metadata
|
||||
chmod 555 /etc/init.d/akanda-router-api-server
|
||||
|
||||
echo "[*] Update rc.d"
|
||||
update-rc.d akanda-router-api-server start
|
||||
|
||||
|
||||
echo "[*] Add some stuff to sysctl.conf"
|
||||
cat > /etc/sysctl.conf <<EOF
|
||||
|
@ -108,9 +116,6 @@ net.ipv6.conf.all.forwarding=1
|
|||
net.ipv6.conf.eth0.accept_dad=0
|
||||
EOF
|
||||
|
||||
echo "[*] Add rc.local file...."
|
||||
cp $APPLIANCE_SCRIPT_DIR/etc/rc.local /etc/rc.local
|
||||
|
||||
echo "[*] Disable fsck on boot"
|
||||
touch /fastboot
|
||||
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
#! /bin/sh
|
||||
|
||||
PATH=/bin:/usr/bin:/sbin:/usr/sbin
|
||||
DAEMON="/usr/local/bin/gunicorn"
|
||||
NAME="akanda-router-api-server"
|
||||
OPTIONS="-c /etc/akanda_gunicorn_config akanda.router.api.server:app"
|
||||
PIDFILE=/var/run/gunicorn.pid
|
||||
|
||||
test -x $DAEMON || exit 0
|
||||
|
||||
. /lib/lsb/init-functions
|
||||
|
||||
akanda_configure_gunicorn() {
|
||||
/usr/local/bin/akanda-configure-gunicorn
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
akanda_configure_gunicorn
|
||||
log_daemon_msg "Starting akanda-router-api-server" $NAME
|
||||
start_daemon -p $PIDFILE $DAEMON $OPTIONS
|
||||
log_end_msg $?
|
||||
;;
|
||||
stop)
|
||||
log_daemon_msg "Stopping akanda-router-api-server" $NAME
|
||||
killproc -p $PIDFILE $DAEMON
|
||||
log_end_msg $?
|
||||
;;
|
||||
force-reload|restart)
|
||||
$0 stop
|
||||
$0 start
|
||||
;;
|
||||
status)
|
||||
status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $?
|
||||
;;
|
||||
*)
|
||||
echo "Usage: /etc/init.d/akanda-router-api-server {start|stop|restart|force-reload|status}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
|
@ -0,0 +1,139 @@
|
|||
#! /bin/sh
|
||||
### BEGIN INIT INFO
|
||||
# Provides: bird6
|
||||
# Required-Start: $remote_fs $syslog
|
||||
# Required-Stop: $remote_fs $syslog
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
### END INIT INFO
|
||||
|
||||
# Author: Ondřej Surý <ondrej@sury.org>
|
||||
#
|
||||
|
||||
# PATH should only include /usr/* if it runs after the mountnfs.sh script
|
||||
PATH=/sbin:/usr/sbin:/bin:/usr/bin
|
||||
DESC="BIRD Internet Routing Daemon (IPv6)"
|
||||
NAME=bird6
|
||||
DAEMON=/usr/sbin/$NAME
|
||||
BIRD_ARGS=""
|
||||
SCRIPTNAME=/etc/init.d/$NAME
|
||||
|
||||
# Exit if the package is not installed
|
||||
[ -x "$DAEMON" ] || exit 0
|
||||
|
||||
# read the RUN variables
|
||||
. /etc/bird/envvars
|
||||
|
||||
# Define LSB log_* functions.
|
||||
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
|
||||
. /lib/lsb/init-functions
|
||||
|
||||
# Create /run/bird with correct permissions
|
||||
/usr/lib/bird/prepare-environment
|
||||
|
||||
#
|
||||
# Function that starts the daemon/service
|
||||
#
|
||||
do_start()
|
||||
{
|
||||
# Return
|
||||
# 0 if daemon has been started
|
||||
# 1 if daemon was already running
|
||||
# 2 if daemon could not be started
|
||||
start-stop-daemon --start --quiet --name $NAME --exec $DAEMON --test > /dev/null \
|
||||
|| return 1
|
||||
start-stop-daemon --start --quiet --name $NAME --exec $DAEMON -- \
|
||||
-u $BIRD_RUN_USER -g $BIRD_RUN_GROUP $BIRD_ARGS \
|
||||
|| return 2
|
||||
# Add code here, if necessary, that waits for the process to be ready
|
||||
# to handle requests from services started subsequently which depend
|
||||
# on this one. As a last resort, sleep for some time.
|
||||
}
|
||||
|
||||
#
|
||||
# Function that stops the daemon/service
|
||||
#
|
||||
do_stop()
|
||||
{
|
||||
# Return
|
||||
# 0 if daemon has been stopped
|
||||
# 1 if daemon was already stopped
|
||||
# 2 if daemon could not be stopped
|
||||
# other if a failure occurred
|
||||
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --name $NAME --exec $DAEMON
|
||||
RETVAL="$?"
|
||||
[ "$RETVAL" = 2 ] && return 2
|
||||
# Wait for children to finish too if this is a daemon that forks
|
||||
# and if the daemon is only ever run from this initscript.
|
||||
start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --name $NAME --exec $DAEMON
|
||||
[ "$?" = 2 ] && return 2
|
||||
return "$RETVAL"
|
||||
}
|
||||
|
||||
#
|
||||
# Function that sends a SIGHUP to the daemon/service
|
||||
#
|
||||
do_reload() {
|
||||
#
|
||||
# If the daemon can reload its configuration without
|
||||
# restarting (for example, when it is sent a SIGHUP),
|
||||
# then implement that here.
|
||||
#
|
||||
start-stop-daemon --stop --signal 1 --quiet --name $NAME --exec $DAEMON
|
||||
return 0
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
log_daemon_msg "Starting $DESC" "$NAME"
|
||||
do_start
|
||||
case "$?" in
|
||||
0|1) log_end_msg 0 ;;
|
||||
2) log_end_msg 1 ;;
|
||||
esac
|
||||
;;
|
||||
stop)
|
||||
log_daemon_msg "Stopping $DESC" "$NAME"
|
||||
do_stop
|
||||
case "$?" in
|
||||
0|1) log_end_msg 0 ;;
|
||||
2) log_end_msg 1 ;;
|
||||
esac
|
||||
;;
|
||||
status)
|
||||
status_of_proc $DAEMON $NAME && exit 0 || exit $?
|
||||
;;
|
||||
reload|force-reload)
|
||||
#
|
||||
# If do_reload() is not implemented then leave this commented out
|
||||
# and leave 'force-reload' as an alias for 'restart'.
|
||||
#
|
||||
log_daemon_msg "Reloading $DESC" "$NAME"
|
||||
do_reload
|
||||
log_end_msg $?
|
||||
;;
|
||||
restart)
|
||||
log_daemon_msg "Restarting $DESC" "$NAME"
|
||||
do_stop
|
||||
case "$?" in
|
||||
0|1)
|
||||
do_start
|
||||
case "$?" in
|
||||
0) log_end_msg 0 ;;
|
||||
1) log_end_msg 1 ;; # Old process is still running
|
||||
*) log_end_msg 1 ;; # Failed to start
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
# Failed to stop
|
||||
log_end_msg 1
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
|
||||
exit 3
|
||||
;;
|
||||
esac
|
||||
|
||||
:
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
PATH=/bin:/usr/bin:/sbin:/usr/sbin
|
||||
DAEMON="/usr/local/bin/akanda-metadata-proxy"
|
||||
NAME="akanda-metadata-proxy"
|
||||
OPTIONS="/etc/metadata.conf"
|
||||
PIDFILE=/var/run/metadata.pid
|
||||
|
||||
|
@ -11,12 +12,12 @@ test -x $DAEMON || exit 0
|
|||
|
||||
case "$1" in
|
||||
start)
|
||||
log_daemon_msg "Starting akanda-metadata-proxy" "akanda-metadata-proxy"
|
||||
log_daemon_msg "Starting $NAME" $NAME
|
||||
start_daemon -p $PIDFILE $DAEMON $OPTIONS
|
||||
log_end_msg $?
|
||||
;;
|
||||
stop)
|
||||
log_daemon_msg "Stopping akanda-metadata-proxy" "akanda-metadata-proxy"
|
||||
log_daemon_msg "Stopping $NAME" $NAME
|
||||
killproc -p $PIDFILE $DAEMON
|
||||
log_end_msg $?
|
||||
;;
|
||||
|
@ -25,7 +26,7 @@ case "$1" in
|
|||
$0 start
|
||||
;;
|
||||
status)
|
||||
status_of_proc -p $PIDFILE $DAEMON akanda-metadata-proxy && exit 0 || exit $?
|
||||
status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $?
|
||||
;;
|
||||
*)
|
||||
echo "Usage: /etc/init.d/akanda-metadata-proxy {start|stop|restart|force-reload|status}"
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
echo "Configuring http for management interface..."
|
||||
/usr/local/bin/akanda-configure-gunicorn
|
||||
|
||||
echo "Starting akanda.router.api.server"
|
||||
/usr/local/bin/gunicorn -c /etc/akanda_gunicorn_config akanda.router.api.server:app
|
Loading…
Reference in New Issue