From 95cb1858c7da75f88955e00b0aa8b3887fcc0425 Mon Sep 17 00:00:00 2001 From: James Date: Wed, 24 Aug 2011 17:17:28 -0400 Subject: [PATCH] CC-2726: create custom restart script for the Monit to use - using Monit restart instead of start in full insatll script - create new "monit-restart" function in pypo init.d --- install_full/ubuntu/airtime-full-install | 2 +- python_apps/monit/airtime-monit.cfg | 4 ++-- python_apps/pypo/airtime-playout-init-d | 27 ++++++++++++++++++++++-- python_apps/pypo/install/pypo-install.py | 2 ++ 4 files changed, 30 insertions(+), 5 deletions(-) diff --git a/install_full/ubuntu/airtime-full-install b/install_full/ubuntu/airtime-full-install index ce959286d..a4e991d17 100755 --- a/install_full/ubuntu/airtime-full-install +++ b/install_full/ubuntu/airtime-full-install @@ -78,7 +78,7 @@ if [ $RETVAL -ne 0 ] ; then sudo echo "include /etc/monit/conf.d/*" >> /etc/monit/monitrc fi -sudo service monit start +sudo service monit restart # Run Airtime Install echo "----------------------------------------------------" diff --git a/python_apps/monit/airtime-monit.cfg b/python_apps/monit/airtime-monit.cfg index f09db151d..ba4f0878d 100644 --- a/python_apps/monit/airtime-monit.cfg +++ b/python_apps/monit/airtime-monit.cfg @@ -8,11 +8,11 @@ check process airtime-playout with pidfile "/var/run/airtime-playout.pid" - start program = "/etc/init.d/airtime-playout restart" with timeout 5 seconds + start program = "/etc/init.d/airtime-playout monit-restart" with timeout 5 seconds stop program = "/etc/init.d/airtime-playout stop" check process airtime-liquidsoap with pidfile "/var/run/airtime-liquidsoap.pid" - start program = "/etc/init.d/airtime-playout restart" with timeout 5 seconds + start program = "/etc/init.d/airtime-playout monit-restart" with timeout 5 seconds stop program = "/etc/init.d/airtime-playout stop" check process airtime-media-monitor with pidfile "/var/run/airtime-media-monitor.pid" diff --git a/python_apps/pypo/airtime-playout-init-d b/python_apps/pypo/airtime-playout-init-d index f6a9f499c..cb65bb6e1 100755 --- a/python_apps/pypo/airtime-playout-init-d +++ b/python_apps/pypo/airtime-playout-init-d @@ -21,20 +21,22 @@ PIDFILE1=/var/run/airtime-liquidsoap.pid liquidsoap_start () { monit monitor airtime-liquidsoap >/dev/null 2>&1 + start-stop-daemon --start --background --quiet --chuid $USERID:$GROUPID \ --nicelevel -15 --make-pidfile --pidfile $PIDFILE1 --startas $DAEMON1 } liquidsoap_stop () { # Send TERM after 5 seconds, wait at most 30 seconds. - monit unmonitor airtime-liquidsoap >/dev/null 2>&1 start-stop-daemon --stop --oknodo --retry TERM/5/0/30 --quiet --pidfile $PIDFILE1 rm -f $PIDFILE1 + + monit unmonitor airtime-liquidsoap >/dev/null 2>&1 } start () { - monit monitor airtime-playout >/dev/null 2>&1 start-stop-daemon --start --background --quiet --chuid $USERID:$GROUPID --make-pidfile --pidfile $PIDFILE0 --startas $DAEMON0 + monit monitor airtime-playout >/dev/null 2>&1 liquidsoap_start } @@ -49,6 +51,21 @@ stop () { liquidsoap_stop } +monit_restart() { + + start-stop-daemon --stop --oknodo --retry TERM/5/0/30 --quiet --pidfile $PIDFILE0 + rm -f $PIDFILE0 + + start-stop-daemon --stop --oknodo --retry TERM/5/0/30 --quiet --pidfile $PIDFILE1 + rm -f $PIDFILE1 + + start-stop-daemon --start --background --quiet --chuid $USERID:$GROUPID --make-pidfile --pidfile $PIDFILE0 --startas $DAEMON0 + + start-stop-daemon --start --background --quiet --chuid $USERID:$GROUPID \ + --nicelevel -15 --make-pidfile --pidfile $PIDFILE1 --startas $DAEMON1 + +} + case "${1:-''}" in 'start') # start commands here @@ -69,6 +86,12 @@ case "${1:-''}" in start echo "Done." ;; + 'monit-restart') + # restart commands here + echo -n "Monit Restarting $NAME: " + monit_restart + echo "Done." + ;; 'status') # status commands here /usr/bin/airtime-check-system diff --git a/python_apps/pypo/install/pypo-install.py b/python_apps/pypo/install/pypo-install.py index 272c4376b..b42a64c9d 100755 --- a/python_apps/pypo/install/pypo-install.py +++ b/python_apps/pypo/install/pypo-install.py @@ -139,6 +139,8 @@ try: buffer += temp buffer += "\n" fh.write(buffer) + fh.write("output_icecast_vorbis_metadata = false\n"); + fh.write("log_file = \"/var/log/airtime/pypo-liquidsoap/