Bugzilla – Bug 1175822
systemd isolate forgets about SYSTEMD_WANTS from udev rules
Last modified: 2020-09-07 10:06:49 UTC
+++ This bug was initially created as a clone of Bug #1173749 +++
spice-vdagent.service works fine when booting into graphical.target, but fails when booting into multi-user.target and switching to graphical.target with "systemctl isolate graphical.target" or "init 5".
There is /usr/lib/udev/rules.d/70-spice-vdagentd.rules, which enables the socket once the virtio port appears. Apparently this is not part of the state which is kept across isolate.
Is there anything that can be done to make udev triggered units stay across isolate?
Maybe spice-vdagentd.socket needs IgnoreOnIsolate=true?
Seems to be the same as https://github.com/systemd/systemd/issues/16905
(In reply to Fabian Vogt from comment #1)
> Seems to be the same as https://github.com/systemd/systemd/issues/16905
Nope, it's not - after the isolate, the units are still there and spice-vdagentd.socket still has the correct WantedBy on the device.
(In reply to Fabian Vogt from comment #0)
> Is there anything that can be done to make udev triggered units stay across
> Maybe spice-vdagentd.socket needs IgnoreOnIsolate=true?
That would be the first option that comes to my mind.
Otherwise simply don't try to be too smart and start the socket unit unconditionally.
That said, this is rather a design issue that should be discussed with upstreams, so I'm closing this bug.