Hi,

I found the weird behavior of combination of Requisite and After. Having
following two units

# cat x.service
[Unit]
Description=unit %n
Requisite=y.service

[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=-/bin/echo "unit %n started"
ExecStop=-/bin/echo "unit %n stopped"
StandardOutput=syslog

#cat y.service
[Unit]
Description=unit %n
After=x.service

[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=-/bin/echo "unit %n started"
ExecStop=-/bin/echo "unit %n stopped"
StandardOutput=syslog

I'm able to start x.service, even if y.service is not active. But I'd
expect the dependency fail here, because you cannot start the Requisite
unit after.

# systemctl show --property=ActiveState y.service
ActiveState=inactive
# systemctl start x.service
# systemctl show --property=ActiveState x.service
ActiveState=active
# systemctl show --property=ActiveState y.service
ActiveState=inactive

When I remove the After=x.service, or use Before= (which has not effect
in this case) from y.service, everythings works well, x.service refuse
to start if y.service is not active.

I use systemd-27.

Regards
Michal Vyskocil

Attachment: pgp9t9uA70M6t.pgp
Description: PGP signature

_______________________________________________
systemd-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to