On 24.08.2011 16:01, Lennart Poettering wrote:
On Tue, 02.08.11 17:06, Marius Tolzmann (tolzm...@molgen.mpg.de) wrote:

is there a way to execute a program and take its exit status to
evaluate the condition? like ConditionExec or whatever.

is this already possible without getting a "failed" service?

Hmm, so I think we should make sure that systemd unit files don't become
a programming language. i.e. there needs to be a limit on what we want
to allow to be expressed in unit files. I am tempted to say that checks
like this are probably beyond that limit, and fall into the domain where
shell scripts should be used. I.e. write a tiny shell script that is
executed in ExecStartPre invokes your tool, checks the return code and
then fails if needed.

Hi... thanks for the reply..

i really don't want to implement complex checks within unit files.. but currently systemd lacks a clean possibility to implement complex checks outside of unit files.

I first tried the StartExecPre= approach.. but it turns out to be somehow destructive in combination with Restart=always.. and you end with a failed service.

Currently we have a unit that starts a script which starts other units via systemctl.. it works.. but this too is not really nice, because you can still directly start those unit files by mistake and they won't complain about any external conditions..

since i can't figure out a nice way to evaluate complex conditions i asked for some help here and proposed something like ConditionExec=/some/prog to be able to implement some small c-program to do complex condition checking outside of systemd... We just need a way to integrate the result without loosing some cool systemd features.. 8)

may be this could be implemented in future releases or is this a real no-go?

regards, marius..
_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to