#!/bin/bash
#
# ansible-tower
#
# chkconfig: - 20 80
# description: support init to manage tower and its related services

### BEGIN INIT INFO
# Required-Start: $local_fs $remote_fs $network $named
# Required-Stop: $local_fs $remote_fs $network
# Should-Start: distcache
# Should-Stop: 
# Default-Start: 
# Default-Stop: 
# Short-Description: support init to manage tower and its related services
# Description: Ansible Tower provides an easy-to-use UI and dashboard, role-based access control and more for your Ansible initiative
### END INIT INFO

if [ -e /etc/debian_version ]
then 
    SERVICES=(postgresql rabbitmq-server apache2 supervisor)
else
    SERVICES=(postgresql rabbitmq-server httpd supervisord)
fi

service_action() {
    for svc in ${SERVICES[@]}; do
	service ${svc} $1
	this_return=$?
	if [ $this_return -gt $worst_return ]; then
	    worst_return=$this_return
	fi
    done
}

worst_return=0
case "$1" in
    start)
	echo "Starting Tower"
	service_action start
	;;
    stop)
	echo "Stopping Tower"
	service_action stop
	;;
    restart)
	echo "Restarting Tower"
	service_action stop
	service_action start
	;;
    status)
	echo "Showing Tower Status"
	service_action status
	;;
    *)
	echo "Usage: $0 {start|stop|restart|status}"
esac
exit $worst_return
