Allow to define pre-start and post-stop tasks
WHile you can leverage config_overrides for that, it might become tricky if you need to define more then 1 pre/post exec tasks. Change-Id: I3d8b36f5e9f4be89eaff848d8ba88a38ce5285e4
This commit is contained in:
parent
4bc059e9d9
commit
62bd24859e
@ -102,8 +102,10 @@ systemd_environment: {}
|
|||||||
# can contain the following options:
|
# 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_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".
|
# `service_type` -- (optional) Set the service type, default is "simple".
|
||||||
|
# `execstartpres` -- (optional) Set the program that wil lexecute before service startup.
|
||||||
# `execstarts` -- (required) Set the program to start, when the service is simple the list has a max length of 1.
|
# `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.
|
# `execstops` -- (optional) Set the program to stop, when the service is simple the list has a max length of 1.
|
||||||
|
# `execstopposts` -- (optional) Set the program that wil lexecute after service stop.
|
||||||
# `after_targets` -- (optional) Start the service after this list of dependency units.
|
# `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.
|
# `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.
|
# `config_overrides` -- (optional) This allows any section or key=value pair to be set within the systemd unit file.
|
||||||
@ -198,6 +200,8 @@ systemd_environment: {}
|
|||||||
# execstops
|
# execstops
|
||||||
# - /usr/bin/stopcmd1
|
# - /usr/bin/stopcmd1
|
||||||
# - /usr/bin/stopcmd2
|
# - /usr/bin/stopcmd2
|
||||||
|
# execstopposts:
|
||||||
|
# - /usr/local/bin/hook
|
||||||
# sockets:
|
# sockets:
|
||||||
# - socket_name: SocketServiceZ
|
# - socket_name: SocketServiceZ
|
||||||
# after_targets:
|
# after_targets:
|
||||||
|
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
Now you can define ``execstartpres`` and ``execstopposts`` keys for the
|
||||||
|
`systemd_services` structure. They will allow to define pre-start and
|
||||||
|
post-stop service executables and must be defined as lists.
|
@ -32,6 +32,10 @@ Environment="{{ key }}={{ value }}"
|
|||||||
EnvironmentFile={{ item.environment_file | default(systemd_environment_file) }}
|
EnvironmentFile={{ item.environment_file | default(systemd_environment_file) }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
{% for execstartpre in item.execstartpres | default([]) %}
|
||||||
|
ExecStartPre={{ execstartpre }}
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
{% set _execstarts = item.execstarts %}
|
{% set _execstarts = item.execstarts %}
|
||||||
{% if _execstarts is string %}
|
{% if _execstarts is string %}
|
||||||
{% set _execstarts = [_execstarts] %}
|
{% set _execstarts = [_execstarts] %}
|
||||||
@ -56,6 +60,10 @@ ExecReload={{ execreload }}
|
|||||||
ExecStop={{ execstop }}
|
ExecStop={{ execstop }}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
|
{% for execstoppost in item.execstopposts | default([]) %}
|
||||||
|
ExecStopPost={{ execstoppost }}
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
# Give a reasonable amount of time for the server to start up/shut down
|
# Give a reasonable amount of time for the server to start up/shut down
|
||||||
TimeoutSec={{ systemd_TimeoutSec }}
|
TimeoutSec={{ systemd_TimeoutSec }}
|
||||||
{% if service_type != 'oneshot' %}
|
{% if service_type != 'oneshot' %}
|
||||||
|
Loading…
Reference in New Issue
Block a user