[systemd-devel] Question regarding ConditionPathExists= and systemctl status

Holger Freyther holger at freyther.de
Mon Aug 6 03:16:42 PDT 2012


Hi,

I have launched "systemd --user", created a bts.service file, added
'ConditionPathExists=' in the Unit section of my service. Then I
launched my service with 'systemctl --user start ...' and  as the
path does not exist, the condition_test fails and the service is not
started.

Next I tried to figure out if I my users would be able to understand
why the service was not started. This appears to be not possible.

The first part is that the Unit only holds condition_result and does
not store which test failed. E.g. if a Unit has multiple tests it
is not possible to know which test has failed. The debug output will
simply state that one condition has failed. The second issue is that
after the Unit has been garbage collected(???) the condition_result
is gone and will not be restored. My users would have to query the
status fast enough to maybe see the condition failure in the status.

Do you consider these issues worth fixing? Is this due running 
systemd as a user?

holger



More information about the systemd-devel mailing list