Red Hat Bugzilla – Bug 729932
systemd returns [OK] when program is not configured
Last modified: 2011-10-03 10:30:34 EDT
Description of problem:
When we start a service (which uses SysV init script) using the old style (service test start), systemd prints [OK] or [FAILED] according the returned code.
If the init script returns 6 (program is not configured), systemd prints [OK] instead of [FAILED]. This can confuse a user, because he sees [OK], but no service is actually started. Asking systemd for a service's status after then works fine.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. create a very simple SysV init file in /etc/init.d/test:
# Source function library.
2. run "systemctl daemon-reload"
3. run "service test start"
4. see output
Starting test (via systemctl): [ OK ]
Starting test (via systemctl): Job failed. See system logs and 'systemctl status' for details.
Info about init script return codes: http://fedoraproject.org/wiki/Packaging:SysVInitScript#Exit_Codes_for_non-Status_Actions
When we change exit code in init script to 1, 2, 3 or 4, it works as expected.
I think one of the following changes will fix this issue:
1) to print [FAILED] even if code 5 or 6 is returned
2) not print any message at all, like it is done when we use "systemctl start test.service"
LSB exit codes 5 and 6 have been intentionally treated as success since the fix for bug 619931.
(In reply to comment #1)
> LSB exit codes 5 and 6 have been intentionally treated as success since the fix
> for bug 619931.
Personally, I don't like this solution, but I definitely can live with that. Since nobody else has a problem with that, I'm closing this.