Yes - thanks for that hint :)

The error "bird: Unable to open configuration file /etc/bird/bird.conf" appears in red text while
the smaller more critical reason does not stand out so much.

BIRD_ARGS in /etc/init.d/bird seems not to work (something else is overriding it?)

Both bird and bird6 pick up from /etc/bird/envvars but we need to define separate configuration files for bird and bird6.

My eventual fix for this:-

cp /etc/bird/bird.conf /etc/bird/bird-vlanid1-ipv4.conf
cp /etc/bird/bird.conf /etc/bird/bird-vlanid1-ipv6.conf
rm /etc/bird/bird.conf

cp /etc/bird/envvars /etc/bird/envvars6

echo "BIRD_ARGS=\"-c /etc/bird/bird-vlanid1-ipv4.conf\"" >> envvars
echo "BIRD_ARGS=\"-c /etc/bird/bird-vlanid1-ipv6.conf\"" >> envvars6

systemctl edit bird :

# bird.service
ExecStart=/usr/sbin/bird -f -u $BIRD_RUN_USER -g $BIRD_RUN_GROUP $BIRD_ARGS
ExecStartPre=/usr/sbin/bird -p -f -u $BIRD_RUN_USER -g $BIRD_RUN_GROUP $BIRD_ARGS

systemctl edit bird6 :
# bird6.service
ExecStart=/usr/sbin/bird6 -f -u $BIRD_RUN_USER -g $BIRD_RUN_GROUP $BIRD_ARGS
ExecStartPre=/usr/sbin/bird6 -p -f -u $BIRD_RUN_USER -g $BIRD_RUN_GROUP $BIRD_ARGS

On 2018-03-06 11:26, Toke Høiland-Jørgensen wrote:
   Process: 510 ExecStartPre=/usr/sbin/bird -p (code=exited,

So this says that it's `bird -p` that fails. This is a check of the
configuration file before the actual daemon is started. Since that is
not passed the $BIRD_ARGS (as you can see from the command line
invocation), it fails, which prevents startup of the actual daemon.

You'd have to add the same $BIRD_RUN_USER, $BIRD_RUN_GROUP and
$BIRD_ARGS to the ExecStartPre line I guess; the fact that it is not
there already is a bug in the systemd unit file, I'd say. I guess this
is a packaging bug on the Debian side? In which case you should open a
bug in the Debian system :)


Rob Lister

Reply via email to