openstack-ansible-os_zaqar/templates/zaqar-upstart-init.j2

47 lines
1.5 KiB
Django/Jinja

# {{ ansible_managed }}
# vim:set ft=upstart ts=2 et:
description "{{ zaqar_api_program_name }}"
author "Steve Lewis <steve.lewis@rackspace.com>"
start on runlevel [2345]
stop on runlevel [016]
respawn
respawn limit 10 5
# Set the RUNBIN environment variable
env RUNBIN="{{ zaqar_bin }}/{{ zaqar_api_program_name }}"
# Change directory to service users home
chdir "{{ zaqar_system_user_home }}"
# Pre start actions
pre-start script
mkdir -p "/var/run/{{ zaqar_api_program_name }}"
chown {{ zaqar_system_user_name }}:{{ zaqar_system_group_name }} "/var/run/{{ zaqar_api_program_name }}"
mkdir -p "/var/lock/{{ zaqar_api_program_name }}"
chown {{ zaqar_system_user_name }}:{{ zaqar_system_group_name }} "/var/lock/{{ zaqar_api_program_name }}"
{% if zaqar_venv_enabled | bool -%}
. {{ zaqar_venv_bin }}/activate
{%- endif %}
end script
# Post stop actions
post-stop script
rm "/var/run/{{ zaqar_api_program_name }}/{{ zaqar_api_program_name }}.pid"
end script
# Run the start up job
exec start-stop-daemon --start \
--chuid {{ zaqar_system_user_name }} \
--make-pidfile \
--pidfile /var/run/{{ zaqar_api_program_name }}/{{ zaqar_api_program_name }}.pid \
--exec "{{ zaqar_service_override|default('$RUNBIN') }}" \
-- {{ zaqar_service_config_options|default('') }} \
--log-file=/var/log/zaqar/{{ zaqar_api_program_name }}.log