[opensuse] sistemad - is there a way to verify the substituted commandline (ExecStart for instance) ?

I'm having a bit of trouble getting this service to work: EnvironmentFile=/etc/sysconfig/rbldnsd ExecStart=/usr/local/bin/rbldnsd $RBLDNSD_ARGS $RBLDNSD_ZONES The environment file contains the following: RBLDNSD_ARGS="-u named:named -r /var/lib/rbldnsd -b localhost/34000 -n -q -f -c 10s " RBLDNSD_ZONES="countries.nerd:ip4set:countries.nerd.dk/zz.countries.nerd.dk.rbldnsd" After I've tried to start it: # systemctl status rbldnsd rbldnsd.service - rbldnsd Loaded: loaded (/usr/local/lib/systemd/system/rbldnsd.service; disabled) Active: failed (Result: exit-code) since Sat, 2015-04-11 18:27:26 CEST; 1s ago Process: 22993 ExecStart=/usr/local/bin/rbldnsd $RBLDNSD_ARGS $RBLDNSD_ZONES (code=exited, status=1/FAILURE) CGroup: name=systemd:/system/rbldnsd.service Apr 11 18:27:26 berlin systemd[1]: Starting rbldnsd... Apr 11 18:27:26 berlin systemd[1]: Started rbldnsd. Apr 11 18:27:26 berlin rbldnsd[22993]: rbldnsd: listening on 127.0.0.1/34000 Apr 11 18:27:26 berlin rbldnsd[22993]: rbldnsd: invalid zone spec `' Apr 11 18:27:26 berlin systemd[1]: rbldnsd.service: main process exited, code=exited, status=1/FAILURE Apr 11 18:27:26 berlin systemd[1]: Unit rbldnsd.service entered failed state Clearly RBLDNSD_ARGS worked, but somehow it looks like RBLDNSD_ZONES wasn't substituted? I was hoping to enable more verbose output from "systemctl start" for instance. -- Per Jessen, Zürich (14.1°C) http://www.hostsuisse.com/ - dedicated server rental in Switzerland. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

Per Jessen wrote:
I'm having a bit of trouble getting this service to work:
EnvironmentFile=/etc/sysconfig/rbldnsd ExecStart=/usr/local/bin/rbldnsd $RBLDNSD_ARGS $RBLDNSD_ZONES
The environment file contains the following:
RBLDNSD_ARGS="-u named:named -r /var/lib/rbldnsd -b localhost/34000 -n -q -f -c 10s " RBLDNSD_ZONES="countries.nerd:ip4set:countries.nerd.dk/zz.countries.nerd.dk.rbldnsd"
After I've tried to start it:
# systemctl status rbldnsd rbldnsd.service - rbldnsd Loaded: loaded (/usr/local/lib/systemd/system/rbldnsd.service; disabled) Active: failed (Result: exit-code) since Sat, 2015-04-11 18:27:26 CEST; 1s ago Process: 22993 ExecStart=/usr/local/bin/rbldnsd $RBLDNSD_ARGS $RBLDNSD_ZONES (code=exited, status=1/FAILURE) CGroup: name=systemd:/system/rbldnsd.service
If I skip substitution, and just use: ExecStart=/usr/local/bin/rbldnsd -u named:named -r /var/lib/rbldnsd -b localhost/34000 -n -q -f -c 10s countries.nerd:ip4set:countries.nerd.dk/zz.countries.nerd.dk.rbldns it works fine. I'm clearly getting the substitution screwed up - can anyone spot the problem? -- Per Jessen, Zürich (14.4°C) http://www.dns24.ch/ - your free DNS host, made in Switzerland. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

В Sat, 11 Apr 2015 18:40:24 +0200 Per Jessen <per@computer.org> пишет:
Per Jessen wrote:
I'm having a bit of trouble getting this service to work:
EnvironmentFile=/etc/sysconfig/rbldnsd ExecStart=/usr/local/bin/rbldnsd $RBLDNSD_ARGS $RBLDNSD_ZONES
The environment file contains the following:
RBLDNSD_ARGS="-u named:named -r /var/lib/rbldnsd -b localhost/34000 -n -q -f -c 10s " RBLDNSD_ZONES="countries.nerd:ip4set:countries.nerd.dk/zz.countries.nerd.dk.rbldnsd"
After I've tried to start it:
# systemctl status rbldnsd rbldnsd.service - rbldnsd Loaded: loaded (/usr/local/lib/systemd/system/rbldnsd.service; disabled) Active: failed (Result: exit-code) since Sat, 2015-04-11 18:27:26 CEST; 1s ago Process: 22993 ExecStart=/usr/local/bin/rbldnsd $RBLDNSD_ARGS $RBLDNSD_ZONES (code=exited, status=1/FAILURE) CGroup: name=systemd:/system/rbldnsd.service
If I skip substitution, and just use:
ExecStart=/usr/local/bin/rbldnsd -u named:named -r /var/lib/rbldnsd -b localhost/34000 -n -q -f -c 10s countries.nerd:ip4set:countries.nerd.dk/zz.countries.nerd.dk.rbldns
it works fine. I'm clearly getting the substitution screwed up - can anyone spot the problem?
I would try removing trailing space in RBLDNSD_ARGS. Do you also see the same problem if you set variables in unit definition directly? -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

Andrei Borzenkov wrote:
В Sat, 11 Apr 2015 18:40:24 +0200 Per Jessen <per@computer.org> пишет:
Per Jessen wrote:
I'm having a bit of trouble getting this service to work:
EnvironmentFile=/etc/sysconfig/rbldnsd ExecStart=/usr/local/bin/rbldnsd $RBLDNSD_ARGS $RBLDNSD_ZONES
The environment file contains the following:
RBLDNSD_ARGS="-u named:named -r /var/lib/rbldnsd -b localhost/34000 -n -q -f -c 10s " RBLDNSD_ZONES="countries.nerd:ip4set:countries.nerd.dk/zz.countries.nerd.dk.rbldnsd"
After I've tried to start it:
# systemctl status rbldnsd rbldnsd.service - rbldnsd Loaded: loaded (/usr/local/lib/systemd/system/rbldnsd.service; disabled) Active: failed (Result: exit-code) since Sat, 2015-04-11 18:27:26 CEST; 1s ago Process: 22993 ExecStart=/usr/local/bin/rbldnsd $RBLDNSD_ARGS $RBLDNSD_ZONES (code=exited, status=1/FAILURE) CGroup: name=systemd:/system/rbldnsd.service
If I skip substitution, and just use:
ExecStart=/usr/local/bin/rbldnsd -u named:named -r /var/lib/rbldnsd -b localhost/34000 -n -q -f -c 10s countries.nerd:ip4set:countries.nerd.dk/zz.countries.nerd.dk.rbldns
it works fine. I'm clearly getting the substitution screwed up - can anyone spot the problem?
I would try removing trailing space in RBLDNSD_ARGS.
Thanks, well spotted! Not that a trailing space ought be a problem.
Do you also see the same problem if you set variables in unit definition directly?
Yes, I tried it with this: Environment="RBLDNSD_ARGS=-u named:named -r /var/lib/rbldnsd -b localhost/34000 -n -q -f -c 10s " Environment="RBLDNSD_ZONES=countries.nerd:ip4set:countries.nerd.dk/zz.countries.nerd.dk.rbldnsd" this failed in the same way. Darn, those trailing spaces ..... I know this one is going to come back to haunt me. Still, see $SUBJ - there must be a way for me to see the result of the substitution? -- Per Jessen, Zürich (12.7°C) http://www.dns24.ch/ - your free DNS host, made in Switzerland. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

В Sun, 12 Apr 2015 10:43:16 +0200 Per Jessen <per@computer.org> пишет:
Andrei Borzenkov wrote:
В Sat, 11 Apr 2015 18:40:24 +0200 Per Jessen <per@computer.org> пишет:
Per Jessen wrote:
I'm having a bit of trouble getting this service to work:
EnvironmentFile=/etc/sysconfig/rbldnsd ExecStart=/usr/local/bin/rbldnsd $RBLDNSD_ARGS $RBLDNSD_ZONES
The environment file contains the following:
RBLDNSD_ARGS="-u named:named -r /var/lib/rbldnsd -b localhost/34000 -n -q -f -c 10s " RBLDNSD_ZONES="countries.nerd:ip4set:countries.nerd.dk/zz.countries.nerd.dk.rbldnsd"
After I've tried to start it:
# systemctl status rbldnsd rbldnsd.service - rbldnsd Loaded: loaded (/usr/local/lib/systemd/system/rbldnsd.service; disabled) Active: failed (Result: exit-code) since Sat, 2015-04-11 18:27:26 CEST; 1s ago Process: 22993 ExecStart=/usr/local/bin/rbldnsd $RBLDNSD_ARGS $RBLDNSD_ZONES (code=exited, status=1/FAILURE) CGroup: name=systemd:/system/rbldnsd.service
If I skip substitution, and just use:
ExecStart=/usr/local/bin/rbldnsd -u named:named -r /var/lib/rbldnsd -b localhost/34000 -n -q -f -c 10s countries.nerd:ip4set:countries.nerd.dk/zz.countries.nerd.dk.rbldns
it works fine. I'm clearly getting the substitution screwed up - can anyone spot the problem?
I would try removing trailing space in RBLDNSD_ARGS.
Thanks, well spotted! Not that a trailing space ought be a problem.
So - did removing trailing space help or not?
Do you also see the same problem if you set variables in unit definition directly?
Yes, I tried it with this:
Environment="RBLDNSD_ARGS=-u named:named -r /var/lib/rbldnsd -b localhost/34000 -n -q -f -c 10s " Environment="RBLDNSD_ZONES=countries.nerd:ip4set:countries.nerd.dk/zz.countries.nerd.dk.rbldnsd"
this failed in the same way. Darn, those trailing spaces ..... I know this one is going to come back to haunt me.
Still, see $SUBJ - there must be a way for me to see the result of the substitution?
Substitution happens very late, I think in child when systemd forks to execute command. So I am not sure this information is even available in a PID1. Probably, only in debug logs. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

Andrei Borzenkov wrote:
В Sun, 12 Apr 2015 10:43:16 +0200 Per Jessen <per@computer.org> пишет:
Andrei Borzenkov wrote:
В Sat, 11 Apr 2015 18:40:24 +0200 Per Jessen <per@computer.org> пишет:
Per Jessen wrote:
I'm having a bit of trouble getting this service to work:
EnvironmentFile=/etc/sysconfig/rbldnsd ExecStart=/usr/local/bin/rbldnsd $RBLDNSD_ARGS $RBLDNSD_ZONES
The environment file contains the following:
RBLDNSD_ARGS="-u named:named -r /var/lib/rbldnsd -b localhost/34000 -n -q -f -c 10s "
RBLDNSD_ZONES="countries.nerd:ip4set:countries.nerd.dk/zz.countries.nerd.dk.rbldnsd"
After I've tried to start it:
# systemctl status rbldnsd rbldnsd.service - rbldnsd Loaded: loaded (/usr/local/lib/systemd/system/rbldnsd.service; disabled) Active: failed (Result: exit-code) since Sat, 2015-04-11 18:27:26 CEST; 1s ago Process: 22993 ExecStart=/usr/local/bin/rbldnsd $RBLDNSD_ARGS $RBLDNSD_ZONES (code=exited, status=1/FAILURE) CGroup: name=systemd:/system/rbldnsd.service
If I skip substitution, and just use:
ExecStart=/usr/local/bin/rbldnsd -u named:named -r /var/lib/rbldnsd -b localhost/34000 -n -q -f -c 10s
countries.nerd:ip4set:countries.nerd.dk/zz.countries.nerd.dk.rbldns
it works fine. I'm clearly getting the substitution screwed up - can anyone spot the problem?
I would try removing trailing space in RBLDNSD_ARGS.
Thanks, well spotted! Not that a trailing space ought be a problem.
So - did removing trailing space help or not?
Sorry, yes, removing the trailing space solved the problem. Makes you wonder about the parser used.
Still, see $SUBJ - there must be a way for me to see the result of the substitution?
Substitution happens very late, I think in child when systemd forks to execute command. So I am not sure this information is even available in a PID1. Probably, only in debug logs.
Ah, that's a pity. thanks Per -- Per Jessen, Zürich (11.5°C) http://www.dns24.ch/ - your free DNS host, made in Switzerland. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

В Tue, 14 Apr 2015 09:22:28 +0200 Per Jessen <per@computer.org> пишет:
So - did removing trailing space help or not?
Sorry, yes, removing the trailing space solved the problem. Makes you wonder about the parser used.
If you can reproduce it in factory it makes sense to, open bug report. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

Andrei Borzenkov wrote:
В Tue, 14 Apr 2015 09:22:28 +0200 Per Jessen <per@computer.org> пишет:
So - did removing trailing space help or not?
Sorry, yes, removing the trailing space solved the problem. Makes you wonder about the parser used.
If you can reproduce it in factory it makes sense to, open bug report.
In 13.2 it works fine, with or without a trailing space. -- Per Jessen, Zürich (11.4°C) http://www.hostsuisse.com/ - dedicated server rental in Switzerland. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
participants (2)
-
Andrei Borzenkov
-
Per Jessen