2f10f75425
Currently when multiple services share a host, the restart order is random. This is due to an unordered dict being used to facilitate the mapping of services to their groups, names and other options. Based on [1], this patch implements changes to the role to ensure that services on the same host are restarted in the correct order when the software/config changes. [1] https://docs.openstack.org/developer/neutron/devref/upgrade.html Change-Id: I368b51ef37763f4163ead591d6743c4d56962ef9
35 lines
974 B
Django/Jinja
35 lines
974 B
Django/Jinja
# {{ ansible_managed }}
|
|
|
|
[Unit]
|
|
Description=neutron openstack service
|
|
After=syslog.target
|
|
After=network.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
User={{ item.system_user | default(neutron_system_user_name) }}
|
|
Group={{ item.system_group | default(neutron_system_group_name) }}
|
|
|
|
{% if item.program_override is defined %}
|
|
ExecStart={{ item.program_override }} {{ item.config_options | default('') }}
|
|
{% else %}
|
|
ExecStart={{ neutron_bin }}/{{ item.program_binary | default(item.service_name) }} {{ item.config_options | default('') }}
|
|
{% 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=neutron.slice
|
|
CPUAccounting=true
|
|
BlockIOAccounting=true
|
|
MemoryAccounting=false
|
|
TasksAccounting=true
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|