openstack-ansible-os_octavia/templates/octavia-systemd-init.j2
Michael Johnson b86823c0c3 Update systemd service for longer TimeoutStopSec
This patch updates the default systemd service definition for the Octavia
processes. It increases the TimeoutStopSec to 300 seconds to allow more time
for the in-flight flows (failover, etc.) to finish and gracefully shutdown.
If the cloud has performance issues, flows may run beyond their normal
sub-minute runtime.

Change-Id: I5708c05db2c9f13491f5af0cd0b8c5632c537608
(cherry picked from commit b1d02c6ba9)
2018-03-23 18:09:18 +00:00

40 lines
1.3 KiB
Django/Jinja

# {{ ansible_managed }}
[Unit]
Description=octavia openstack service
After=syslog.target
After=network.target
[Service]
Type=simple
User={{ octavia_system_user_name }}
Group={{ octavia_system_group_name }}
{% if item.value.program_override is defined %}
ExecStart={{ item.value.program_override }} {{ item.value.program_config_options|default('') }} {{ item.value.log_string | default('--log-file=') }}/var/log/octavia/{{ item.value.service_name }}.log
{% else %}
ExecStart={{ octavia_bin }}/{{ item.value.service_name }} {{ item.value.program_config_options|default('') }} --log-file=/var/log/octavia/{{ item.value.service_name }}.log
{% endif %}
# Give a reasonable amount of time for the server to start up/shut down
TimeoutStartSec=120
# Give extra time for shutdown to allow flows to finish (failover, etc.)
# This timer expiring early can lead to load balancers stuck in PENDING_*
# states as the flows were interrupted before completing.
# This setting depends on the performance of your cloud.
TimeoutStopSec=300
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=octavia.slice
CPUAccounting=true
BlockIOAccounting=true
MemoryAccounting=false
TasksAccounting=true
[Install]
WantedBy=multi-user.target