Attempt to fix the 'yunohost-api' being down after yunohost upgrades ... Apparently this is due to the port being still busy, which is puzzling, but also because it tries to restart but hit the StartLimitBurst (defaults is 5 times in 10 s). Increasing RestartSec to 5 may fix the issue (at some point the port gets free and service starts)

This commit is contained in:
Alexandre Aubin 2021-05-11 00:21:12 +02:00
parent 2b0df6c35a
commit 52e307040e
3 changed files with 2 additions and 187 deletions

View file

@ -1,132 +0,0 @@
#! /bin/sh
### BEGIN INIT INFO
# Provides: yunohost-api
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Manage YunoHost API Server
# Description: Manage YunoHost API Server
### END INIT INFO
set -e
DESC="YunoHost API Server"
NAME="yunohost-api"
DAEMON=/usr/bin/$NAME
DAEMON_OPTS=""
PATH=/sbin:/usr/sbin:/bin:/usr/bin
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
LOGFILE=/var/log/$NAME.log
# Include yunohost-api defaults if available
if [ -r /etc/default/yunohost-api ]; then
. /etc/default/yunohost-api
fi
# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0
# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh
# Define LSB log_* functions.
# Depend on lsb-base (>= 3.2-14) to ensure that this file is present
# and status_of_proc is working.
. /lib/lsb/init-functions
#
# 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 --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
|| return 1
start-stop-daemon --start --background --make-pidfile --quiet --no-close \
--pidfile $PIDFILE --exec $DAEMON -- \
$DAEMON_OPTS >>$LOGFILE 2>&1 \
|| return 2
}
#
# 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 --oknodo --pidfile $PIDFILE
RETVAL="$?"
sleep 1
return "$RETVAL"
}
#
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {
# Send a SIGHUP to reload the daemon.
start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
return 0
}
case "$1" in
start)
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
do_start
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
stop)
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
do_stop
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
status)
status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
;;
reload)
log_daemon_msg "Reloading $DESC" "$NAME"
do_reload
log_end_msg $?
;;
restart|force-reload)
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|status|restart|reload}" >&2
exit 3
;;
esac
:

View file

@ -7,9 +7,9 @@ Type=simple
Environment=DAEMON_OPTS= Environment=DAEMON_OPTS=
EnvironmentFile=-/etc/default/yunohost-api EnvironmentFile=-/etc/default/yunohost-api
ExecStart=/usr/bin/yunohost-api $DAEMON_OPTS ExecStart=/usr/bin/yunohost-api $DAEMON_OPTS
ExecReload=/bin/kill -HUP $MAINPID
Restart=always Restart=always
RestartSec=1 RestartSec=5
TimeoutStopSec=30
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target

View file

@ -1,53 +0,0 @@
#! /bin/bash
### BEGIN INIT INFO
# Provides: yunohost-firewall
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start/stop YunoHost firewall
# Description: Start/stop YunoHost firewall
### END INIT INFO
DAEMON=/usr/bin/yunohost
DAEMON_OPTS=""
test -x $DAEMON || exit 0
. /lib/lsb/init-functions
logger "YunoHost firewall: Start script executed"
case "$1" in
start)
logger "YunoHost firewall: Starting"
log_daemon_msg "Starting firewall: YunoHost"
/usr/bin/yunohost firewall reload
log_end_msg $?
;;
stop)
logger "YunoHost firewall: Stopping"
log_daemon_msg "Stopping firewall: YunoHost"
/usr/bin/yunohost firewall stop
log_end_msg $?
;;
restart|force-reload)
logger "YunoHost firewall: Restarting"
log_daemon_msg "Restarting firewall: YunoHost"
/usr/bin/yunohost firewall reload
log_end_msg $?
;;
status)
logger "YunoHost API: Running"
log_daemon_msg "YunoHost API: Running"
iptables -L | grep "Chain INPUT (policy DROP)" > /dev/null 2>&1
log_end_msg $?
;;
*)
logger "YunoHost API: Invalid usage"
echo "Usage: /etc/init.d/yunohost-api {start|stop|restart|force-reload|status}" >&2
exit 1
;;
esac
exit 0