![Logan V](/assets/img/avatar_default.png)
Depending on the network-online.target rather than network.target will result in more reliable service startups since network.target does not indicate that the network stack has fully started, only that networking has been initialized. When starting network-related services like neturon, where a bridge or veth interface may be expected to exist already, relying on network.target can cause broken service startup during system reboots since the interfaces depended on may not exist yet once network.target is reached. By relying on network-online.target instead, units will start more reliably during system reboots or network restarts. The systemd docs at https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/#conceptsinsystemd provide more information about why we should use the network-online instead of the network target. Change-Id: I7fca0af11bf7a0fed18294c97b81ef1dfa074e34
223 lines
9.8 KiB
YAML
223 lines
9.8 KiB
YAML
---
|
|
# Copyright 2017, Rackspace US, Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
systemd_user_name: root
|
|
systemd_group_name: root
|
|
systemd_slice_name: system
|
|
|
|
# Restart services when a change occurs
|
|
systemd_service_restart_changed: yes
|
|
|
|
# This is the prefix used for all temp files of a given type.
|
|
systemd_tempd_prefix: tempd
|
|
|
|
# Give a reasonable amount of time for the server to start up/shut down
|
|
systemd_TimeoutSec: 120
|
|
systemd_Restart: on-failure
|
|
systemd_RestartSec: 2
|
|
|
|
# Accounting options
|
|
systemd_CPUAccounting: true
|
|
systemd_BlockIOAccounting: true
|
|
systemd_MemoryAccounting: true
|
|
systemd_TasksAccounting: true
|
|
|
|
# Sandboxing options
|
|
systemd_PrivateTmp: false
|
|
systemd_PrivateDevices: false
|
|
systemd_PrivateUsers: false
|
|
|
|
# Systemd provides for the ability to start a given service in a network
|
|
# namespace. When `systemd_PrivateNetwork` is `true` a service will be
|
|
# started within a namepsace created using the name of the service unit.
|
|
systemd_PrivateNetwork: false
|
|
# When `systemd_PrivateNetwork` is enabled, it may be desirable to add a
|
|
# specific link into the service namespace using the MACVLAN interface.
|
|
# The option `systemd_PrivateNetworkIsolated`, when set to `false`, will
|
|
# create a MACVLAN interface which binds to the host interface defined
|
|
# by the option `systemd_PrivateNetworkInterface`; uses the gateway
|
|
# interface by default. The MODE used by the MACVLAN interface can be
|
|
# changed using the option `systemd_PrivateNetworkMode`.
|
|
systemd_PrivateNetworkIsolated: true
|
|
systemd_PrivateNetworkInterface: "{{ ansible_default_ipv4['interface'] }}"
|
|
systemd_PrivateNetworkMode: bridge
|
|
# When `systemd_PrivateNetworkIsolated` is disabled, an interface is
|
|
# created on the host and within the service namespace. If this interface
|
|
# needs an IP address DHCP can be enabled which will, by default, send
|
|
# DHCP requests through the interface defined by the option
|
|
# `systemd_PrivateNetworkInterface`.
|
|
systemd_PrivateNetworkDHCP: false
|
|
# DHCP can be localized to only the physical host using option
|
|
# `systemd_PrivateNetworkLocalDHCP`. Setting this option to `true`, will
|
|
# create a networkd configuration for DHCPServer using the MACVLAN interface
|
|
# defined by `systemd_PrivateNetworkInterface`. The gateway set within the
|
|
# service namespace will be set using `systemd_PrivateNetworkLocalDHCPGateway`.
|
|
systemd_PrivateNetworkLocalDHCP: false
|
|
systemd_PrivateNetworkLocalDHCPGateway: "10.0.5.1/24"
|
|
|
|
# Start service after a given target. This is here because we want to define common
|
|
# after targets used on most services. This can be overridden or agumented using
|
|
# the "systemd_services" dictionary option "after_targets".
|
|
systemd_after_targets:
|
|
- syslog.target
|
|
- network-online.target
|
|
|
|
# List of documentation information that will be presented in the unit. This
|
|
# option is a list of documentation items which can be local or online.
|
|
# Usage: https://www.freedesktop.org/software/systemd/man/systemd.unit.html#Documentation=
|
|
systemd_unit_docs: []
|
|
|
|
# Set the service enabled state. Valid options are: [yes, no]
|
|
systemd_service_enabled: yes
|
|
|
|
# Set global service overrides used within the service unit file.
|
|
systemd_service_config_overrides: {}
|
|
|
|
# Systemd service type. Options include simple, forking, oneshot, etc.
|
|
# https://www.freedesktop.org/software/systemd/man/systemd.service.html#Type=
|
|
systemd_default_service_type: simple
|
|
|
|
# Global lock path used for system services.
|
|
# This is an optional variable and will have no effect if undefined.
|
|
# This option can also be defined for specific service entries under "systemd_services".
|
|
# systemd_lock_path: "/var/lock/service1"
|
|
|
|
# Global Environment variables for system services.
|
|
# This option will provide the operator a way to set additional environment options
|
|
# used within the execution of a given service. Environment variables can be passed
|
|
# into the service using ADHOC options or through a given environment file. If both
|
|
# options are specified, and a collision occurs options will be set in the order in
|
|
# which they are read (top to bottom) with a given file being processed last.
|
|
#
|
|
# If the `systemd_environment_file` is defined a file will be read into the systemd service
|
|
# unit, the contents of the file will be added to the execution environment of the service.
|
|
#
|
|
# The `systemd_environment_file` option is a string. The full path to a given file must be used.
|
|
# systemd_environment_file: "/etc/default/default-file"
|
|
#
|
|
# The `systemd_environmen`t option is a hash. each item in the hash is expected to be a sting
|
|
# Example
|
|
# systemd_environment:
|
|
# VAR1: "word1 word2"
|
|
# VAR2: "word3"
|
|
# VAR3: "$word 5 6"
|
|
systemd_environment: {}
|
|
|
|
# Set the systemd "partof" directive. This ties a service unit to another.
|
|
# Documentation for PartOf can be found here
|
|
# https://www.freedesktop.org/software/systemd/man/systemd.unit.html#PartOf=
|
|
# systemd_partof: unit-name.service
|
|
|
|
# The systemd services dictionary is a set of services that will be created. The dictionary
|
|
# can contain the following options:
|
|
# `service_name` -- (required) used to define the name of the service. This is typically the name of the executable.
|
|
# `service_type` -- (optional) Set the service type, default is "simple".
|
|
# `execstarts` -- (required) Set the program to start, when the service is simple the list has a max length of 1.
|
|
# `execstops` -- (optional) Set the program to stop, when the service is simple the list has a max length of 1.
|
|
# `after_targets` -- (optional) Start the service after this list of dependency units.
|
|
# `partof` -- (optional) Set the systemd "partof" directive. This ties a service unit to another.
|
|
# `config_overrides` -- (optional) This allows any section or key=value pair to be set within the systemd unit file.
|
|
# `program_sandboxing` -- (optional) Case sensitive Key=Value pairs for service Sandboxing
|
|
# `program_accounting` -- (optional) Case sensitive Key=Value pairs for service Accounting
|
|
# `enabled` -- (optional) Set the enabled state of the service.
|
|
# `state` -- (optional) Set the running state of the service.
|
|
# `environment` -- (optional) set additional environment settings, this option is a hash of strings.
|
|
# `environment_file` -- (optional) set additional environment settings through a given file. this option is a string.
|
|
# `dynamic_user` -- (optional) Dynamically set a UNIX user and group when the unit is started; only works if systemd >= 235.
|
|
# `state_directory` -- (optional) Relative path the state directory; only works if systemd >= 235.
|
|
|
|
# Under the service dictionary the "timer" key can be added which will enable a given service
|
|
# as a timer (Legacy cron job).
|
|
# `options` -- (optional) This allows any section or key=value pair to be set within the systemd timer file.
|
|
# `cron_minute` -- (optional) This allows for "on calendar configuration" (AKA CRON) for the minute segment.
|
|
# `cron_hour` -- (optional) This allows for "on calendar configuration" (AKA CRON) for the hour segment.
|
|
# `cron_day` -- (optional) This allows for "on calendar configuration" (AKA CRON) for the day segment.
|
|
# `cron_weekday` -- (optional) This allows for "on calendar configuration" (AKA CRON) for the weekday segment.
|
|
# `cron_month` -- (optional) This allows for "on calendar configuration" (AKA CRON) for the month segment.
|
|
|
|
# Examples:
|
|
# systemd_services:
|
|
# - service_name: ServiceU
|
|
# config_overrides: {} # This is used to add in arbitratry unit file options
|
|
# execstarts:
|
|
# - ServiceU
|
|
# environment_file: "/etc/default/default-file"
|
|
#
|
|
# - service_name: ServiceV
|
|
# config_overrides: {} # This is used to add in arbitratry unit file options
|
|
# execstarts:
|
|
# - ServiceV
|
|
# environment:
|
|
# VAR1: "word1 word2"
|
|
# VAR2: "word3"
|
|
# VAR3: "$word 5 6"
|
|
#
|
|
# - service_name: ServiceW
|
|
# config_overrides: {} # This is used to add in arbitratry unit file options
|
|
# execstarts:
|
|
# - ServiceW
|
|
#
|
|
# - service_name: ServiceX
|
|
# config_overrides: {} # This is used to add in arbitratry unit file options
|
|
# execstarts:
|
|
# - ServiceX
|
|
# program_sandboxing:
|
|
# PrivateTmp: true
|
|
# program_accounting:
|
|
# CPUAccounting: true
|
|
#
|
|
# - service_name: ServiceY
|
|
# config_overrides: {} # This is used to add in arbitratry unit file options
|
|
# execstarts:
|
|
# - '/usr/bin/ServiceY'
|
|
# execstarts:
|
|
# - '/usr/bin/stopcmd'
|
|
# restart_changed: no
|
|
#
|
|
# - service_name: ServiceZ
|
|
# config_overrides: {} # This is used to add in arbitratry unit file options
|
|
# enabled: no
|
|
# state: stopped
|
|
# service_type: oneshot
|
|
# execstarts:
|
|
# - /usr/bin/startcmd1
|
|
# - /usr/bin/startcmd2
|
|
# execstops
|
|
# - /usr/bin/stopcmd1
|
|
# - /usr/bin/stopcmd2
|
|
#
|
|
# - service_name: TimerServiceW
|
|
# config_overrides: {} # This is used to add in arbitratry unit file options
|
|
# execstarts:
|
|
# - '/usr/bin/ServiceY'
|
|
# restart_changed: no
|
|
# timer:
|
|
# state: "started"
|
|
# options:
|
|
# OnBootSec: 30min
|
|
# OnUnitActiveSec: 1h
|
|
# Persistent: true
|
|
#
|
|
# - service_name: TimerServiceX
|
|
# config_overrides: {} # This is used to add in arbitratry unit file options
|
|
# execstarts:
|
|
# - '/usr/bin/ServiceY'
|
|
# restart_changed: no
|
|
# timer:
|
|
# state: "started"
|
|
# cron_minute: 30
|
|
# cron_hour: 1
|
|
systemd_services: []
|