# {{ 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