openstack-ansible-os_cinder/templates/cinder-upstart-init.j2
Jesse Pretorius 4888d5a5d1 Updating service group mapping implementation
This patch updates the work done in https://review.openstack.org/377055
to match up to the implementation in https://review.openstack.org/378613
which aims to bring the implementation in line with the os_neutron
role.

- The variable ;cinder_service_names; is renamed to 'cinder_services'.
- Common variables shared by each service's template files have
  been updated to use the service namespaced variables.
- Unused handlers have been removed.
- Unused variables have been removed.
- The handler to reload the services now only tries to restart the
  service if the host is in the group for the service according to the
  service group mapping. This allows us to ensure that handler
  failures are no longer ignored and that no execution time is wasted
  trying to restart services which do not exist on the host.
- Currently the reload of upstart/systemd scripts may not happen if
  only one script changes as the task uses a loop with only one result
  register. This patch implements handlers to reload upstart/systemd
  scripts to ensure that this happens when any one of the scripts
  change.

Change-Id: Icca1f3ef930962c1179687b1a7ef4dcce5ca47f2
2016-09-29 07:52:02 +01:00

43 lines
1.4 KiB
Django/Jinja

# {{ ansible_managed }}
description "{{ item.value.service_name }}"
author "Kevin Carter <kevin.carter@rackspace.com>"
start on runlevel [2345]
stop on runlevel [016]
respawn
respawn limit 10 5
# Set the RUNBIN environment variable
env RUNBIN="{{ cinder_bin }}/{{ item.value.service_name }}"
# Change directory to service users home
chdir "{{ cinder_system_home_folder }}"
# Pre start actions
pre-start script
mkdir -p "/var/run/{{ item.value.service_name }}"
chown {{ cinder_system_user_name }}:{{ cinder_system_group_name }} "/var/run/{{ item.value.service_name }}"
mkdir -p "/var/lock/{{ item.value.service_name }}"
chown {{ cinder_system_user_name }}:{{ cinder_system_group_name }} "/var/lock/{{ item.value.service_name }}"
. {{ cinder_bin }}/activate
end script
# Post stop actions
post-stop script
rm "/var/run/{{ item.value.service_name }}/{{ item.value.service_name }}.pid"
end script
# Run the start up job
exec start-stop-daemon --start \
--chuid {{ cinder_system_user_name }} \
--make-pidfile \
--pidfile /var/run/{{ item.value.service_name }}/{{ item.value.service_name }}.pid \
--exec "{{ program_override|default('$RUNBIN') }}" \
-- {{ program_config_options|default('') }} \
--log-file=/var/log/cinder/{{ item.value.service_name }}.log