
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
38 lines
1.3 KiB
Django/Jinja
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
|