mirror of
https://github.com/ansible/awx.git
synced 2024-11-01 08:21:15 +03:00
eb42214d90
* Move the ansible-tower service script to a normal bin utility * Modify the playbook to not call the old meta init script but to use the specific services that are needed
85 lines
2.1 KiB
Bash
Executable File
85 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Default configured services
|
|
if [ -e /etc/debian_version ]; then
|
|
TOWER_CONFIG="/etc/default/ansible-tower"
|
|
else
|
|
TOWER_CONFIG="/etc/sysconfig/ansible-tower"
|
|
fi
|
|
|
|
# Load default configuration
|
|
[ -e "${TOWER_CONFIG}" ] && . "${TOWER_CONFIG}"
|
|
|
|
service_action() {
|
|
SERVICES=$TOWER_SERVICES
|
|
|
|
# Should MongoDB be managed by this script?
|
|
# We only manage MongoDB if the license uses it.
|
|
tower-manage uses_mongo > /dev/null 2> /dev/null
|
|
if [ $? == 0 ]; then
|
|
SERVICES="$SERVICES mongod"
|
|
fi
|
|
|
|
for svc in ${SERVICES}; do
|
|
service ${svc} $1
|
|
this_return=$?
|
|
if [ $this_return -gt $worst_return ]; then
|
|
worst_return=$this_return
|
|
fi
|
|
# Allow supervisor time to cleanup child pids (ubuntu only)
|
|
if [[ ${svc} == supervisor* && ${1} == stop && -e /etc/debian_version ]]; then
|
|
S_PID=$(pidof -x supervisord)
|
|
echo "Waiting to allow supervisor time to cleanup ... pid ${S_PID}"
|
|
if [ "${S_PID}" ]; then
|
|
i=0
|
|
while kill -0 "${S_PID}" 2> /dev/null; do
|
|
if [ $i = '60' ]; then
|
|
break;
|
|
else
|
|
if [ $i == '0' ]; then
|
|
echo -n " ... waiting"
|
|
else
|
|
echo -n "."
|
|
fi
|
|
i=$(($i+1))
|
|
sleep 1
|
|
fi
|
|
done
|
|
fi
|
|
fi
|
|
done
|
|
}
|
|
|
|
usage() {
|
|
echo "Ansible Tower service helper utility"
|
|
echo "Usage: $0 {start|stop|restart|status}"
|
|
}
|
|
|
|
worst_return=0
|
|
case "$1" in
|
|
help | -help | --help | -h)
|
|
usage
|
|
;;
|
|
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
|
|
;;
|
|
*)
|
|
usage
|
|
worst_return=1
|
|
esac
|
|
exit $worst_return
|