openstack-ansible-os_octavia/templates/octavia-systemd-init.j2
Michael Johnson b1d02c6ba9 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
2018-03-20 16:54:17 -07: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