#993522 buildbot-worker: Setting WORKER_OPTIONS to any non-empty value doesn't work

#993522#5
Date:
2021-09-02 14:01:19 UTC
From:
To:
Dear Maintainer,

Setting WORKER_OPTIONS in /etc/default/buildbot-worker to e.g. "--verbose"
doesn't work because its value is used in a wrong place in the init.d
script: it does

        "$WORKER_RUNNER $op ${WORKER_OPTIONS[$mi]} ${WORKER_BASEDIR[$mi]}

when the correct syntax would be

        "$WORKER_RUNNER ${WORKER_OPTIONS[$mi]} $op ${WORKER_BASEDIR[$mi]}

i.e. the options must come _before_ the operation for buildbot-worker, not
after it.

#993522#12
Date:
2021-09-02 14:27:27 UTC
From:
To:
Hi Vadim,

2021-09-02, Vadim Zeitlin:

Actually, this is only true for the --verbose option. Other options must
be passed after $op.

I see that you are using systemd. You should not use the init.d script
but the systemd unit template which is provided with the package. There
are examples in the man page to tweak the unit parameters:

https://manpages.debian.org/bullseye/buildbot-worker/buildbot-worker.7.en.html#systemd

In your case, you should override ExecStart= in a drop-in file.

Also, it looks like this is a duplicate of bug #993521. Should I close
the first one?

#993522#17
Date:
2021-09-02 14:27:27 UTC
From:
To:
Hi Vadim,

2021-09-02, Vadim Zeitlin:

Actually, this is only true for the --verbose option. Other options must
be passed after $op.

I see that you are using systemd. You should not use the init.d script
but the systemd unit template which is provided with the package. There
are examples in the man page to tweak the unit parameters:

https://manpages.debian.org/bullseye/buildbot-worker/buildbot-worker.7.en.html#systemd

In your case, you should override ExecStart= in a drop-in file.

Also, it looks like this is a duplicate of bug #993521. Should I close
the first one?

#993522#22
Date:
2021-09-02 14:39:48 UTC
From:
To:
 Hello and thank you for your reply!

 Yes, indeed, sorry, I haven't realized this. Even the symmetric --quiet
option does need to come after the operation. So this looks like poor
buildbot command line UI and not a problem in the package itself, finally.

 Oh, I see... it's really a comedy of errors and it looks like I did just
about everything wrong because I did try using systemd, but when I saw that
the buildbot-worker.service was masked, I've removed the file
/lib/systemd/system/buildbot-worker.service to unmask it -- instead of
using buildbot-worker@$NAME which is, as I now understand, the right thing
to do. And while this allowed me to run "systemctl start buildbot-worker",
in the meanwhile I had added "--verbose" to the defaults file to help me
debugging the problem and this "--verbose" actually prevented things from
working.

 Yes, sorry about this one too, I've resent the bug report accidentally.
I've tried to correct the problem by merging the 2 reports, but I'm not
sure if I made things better or worse by doing it.

 In any case, it looks like both bug reports should be closed and the only
thing to do might be to update the comment in the defaults file to say that
the "--verbose" option can't be used there.

 Thanks again for your reply and explanations!
VZ