There is a need to add information about the order of start of services defined in a snap. The ordering information should map to After=...
Before=...
entries in autogenerated systemd *.service
files.
The proposed syntax change in snap YAML is like this:
`name: wat
version: 42
apps:
foo:
daemon: forking
start-after:
- bar
- zed
bar:
daemon: forking
start-before: [foo]
baz:
daemon: forking
start-after: [foo]
zed:
We will validate if the services listed in start-after/start-before
actually exist. Also, we’ll do some very simple dependency checks eg. foo
has start-after: [bar]
and bar
has start-after: [foo]
will cause an error. I do not think we should go as far as to verify the whole chain of transitive dependencies.
Given the example above, the generated *.service
files will look like this:
# /etc/systemd/system/wat.foo.service
[Unit]
Description=Service for snap application wat.foo
...
After=.... wat.bar.service wat.zed.service