openstack-ansible-os_cinder/templates/cinder-systemd-init.j2
Andy McCrae 009fff5471 Fix reloads for uWSGI
uWSGI won't reload properly unless we use one of the built in options
for uWSGI reloads:

touch-reload
pidfile reload using uwsgi binary

This opts to use the pid file option, which uses the built in uWSGI
--reload option along with the "pidfile" option specified in the conf
file to reload the service.

Change-Id: I9dbdd75f4ac555378e6999243718d2b986071dde
2017-08-15 17:34:53 +01:00

38 lines
1.3 KiB
Django/Jinja

# {{ ansible_managed }}
[Unit]
Description=cinder openstack service
After=syslog.target
After=network.target
[Service]
Type=simple
User={{ cinder_system_user_name }}
Group={{ cinder_system_group_name }}
{% if item.program_override is defined %}
ExecStart={{ item.program_override }} {{ item.program_config_options|default('') }} {{ item.log_string | default('--log-file=') }}/var/log/cinder/{{ item.service_name }}.log
{% else %}
ExecStart={{ cinder_bin }}/{{ item.service_name }} {{ item.program_config_options|default('') }} --log-file=/var/log/cinder/{{ item.service_name }}.log
{% endif %}
{% if item.service_name != "cinder-api" or item.wsgi_app %}
ExecReload={{ (item.wsgi_app is defined and item.wsgi_app) | ternary(cinder_bin + '/uwsgi --reload /var/run/' + item.service_name + '/' + item.service_name +'.pid','/bin/kill -HUP $MAINPID') }}
{% endif %}
# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=120
Restart=on-failure
RestartSec=2
# This creates a specific slice which all services will operate from
# The accounting options give us the ability to see resource usage through
# the `systemd-cgtop` command.
Slice=cinder.slice
CPUAccounting=true
BlockIOAccounting=true
MemoryAccounting=false
TasksAccounting=true
[Install]
WantedBy=multi-user.target