distribution: Use After=network.target instead of multi-user

There is no need for osbuild-composer to wait until the whole multi-user
target is completed. It can be started earlier as it doesn't have any
dependencies in the target.

This can be a problem if there is a unit in the target that is not starting
and still is unrelated to osbuild-composer. There was a bug like this
with Plymouth where the service didn't finish and it was hanging. That
prevented osbuild-composer from starting and the user was left with
working SSH connection and shell, but composer-cli and systemctl start
osbuild-composer.service were both unresponsive.

Replace After=multi-user.target with After=network.target to start
osbuild-composer earlier.
This commit is contained in:
Martin Sehnoutka 2021-09-24 12:31:14 +02:00 committed by msehnout
parent d7d4e02c8c
commit e310d4e4f0
3 changed files with 3 additions and 3 deletions

View file

@ -1,6 +1,6 @@
[Unit]
Description=OSBuild Composer
After=multi-user.target
After=network.target
# Weldr API needs a local worker by default.
# Run `systemctl mask osbuild-worker@1.service`

View file

@ -1,6 +1,6 @@
[Unit]
Description=OSBuild Composer Remote Worker (%i)
After=multi-user.target
After=network.target
[Service]
Type=simple

View file

@ -1,7 +1,7 @@
[Unit]
Description=OSBuild Composer Worker (%i)
Requires=osbuild-local-worker.socket
After=multi-user.target osbuild-local-worker.socket
After=network.target osbuild-local-worker.socket
[Service]
Type=simple