From 2b03d3a1cf8b756b553d9e09a0b530f38404fcbc Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Thu, 18 Mar 2021 14:21:58 +0100 Subject: [PATCH] nixos/bird: check config during reload `birdc configure` seems to not return a nonzero exit code if the reload failed. Context: https://bird.network.cz/pipermail/bird-users/2018-January/011858.html Co-Authored-By: Puck Meerburg --- nixos/modules/services/networking/bird.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/bird.nix b/nixos/modules/services/networking/bird.nix index 52ea3a40920..6d7e7760d94 100644 --- a/nixos/modules/services/networking/bird.nix +++ b/nixos/modules/services/networking/bird.nix @@ -58,7 +58,7 @@ let Type = "forking"; Restart = "on-failure"; ExecStart = "${pkg}/bin/${birdBin} -c /etc/bird/${variant}.conf -u ${variant} -g ${variant}"; - ExecReload = "${pkg}/bin/${birdc} configure"; + ExecReload = "/bin/sh -c '${pkg}/bin/${birdBin} -c /etc/bird/${variant}.conf -p && ${pkg}/bin/${birdc} configure'"; ExecStop = "${pkg}/bin/${birdc} down"; CapabilityBoundingSet = [ "CAP_CHOWN" "CAP_FOWNER" "CAP_DAC_OVERRIDE" "CAP_SETUID" "CAP_SETGID" # see bird/sysdep/linux/syspriv.h