nixos/frr: adapt to frr-9
- fix #274286 - remove `-f configfile` from ExecStart - use /etc/frr/${service}d.conf - enable mgmtd when staticd is enabled - don't frr-reload.py mgmtd - remove obsolete lib.mdDoc
This commit is contained in:
parent
bfb7a88267
commit
4df955130e
@ -23,10 +23,9 @@ let
|
||||
"pbr"
|
||||
"bfd"
|
||||
"fabric"
|
||||
"mgmt"
|
||||
];
|
||||
|
||||
allServices = services ++ [ "zebra" ];
|
||||
allServices = services ++ [ "zebra" "mgmt" ];
|
||||
|
||||
isEnabled = service: cfg.${service}.enable;
|
||||
|
||||
@ -137,6 +136,20 @@ in
|
||||
'';
|
||||
};
|
||||
};
|
||||
mgmt = (serviceOptions "mgmt") // {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = isEnabled "static";
|
||||
defaultText = lib.literalExpression "config.services.frr.static.enable";
|
||||
description = ''
|
||||
Whether to enable the Configuration management daemon.
|
||||
|
||||
The Configuration management daemon is automatically
|
||||
enabled if needed, at the moment this is when staticd
|
||||
is enabled.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
{ options.services.frr = (genAttrs services serviceOptions); }
|
||||
@ -164,7 +177,7 @@ in
|
||||
|
||||
environment.etc = let
|
||||
mkEtcLink = service: {
|
||||
name = "frr/${service}.conf";
|
||||
name = "frr/${daemonName service}.conf";
|
||||
value.source = configFile service;
|
||||
};
|
||||
in
|
||||
@ -196,18 +209,18 @@ in
|
||||
unitConfig.Documentation = if service == "zebra" then "man:zebra(8)"
|
||||
else "man:${daemon}(8) man:zebra(8)";
|
||||
|
||||
restartTriggers = [
|
||||
restartTriggers = mkIf (service != "mgmt") [
|
||||
(configFile service)
|
||||
];
|
||||
reloadIfChanged = true;
|
||||
reloadIfChanged = (service != "mgmt");
|
||||
|
||||
serviceConfig = {
|
||||
PIDFile = "frr/${daemon}.pid";
|
||||
ExecStart = "${pkgs.frr}/libexec/frr/${daemon} -f /etc/frr/${service}.conf"
|
||||
ExecStart = "${pkgs.frr}/libexec/frr/${daemon}"
|
||||
+ optionalString (scfg.vtyListenAddress != "") " -A ${scfg.vtyListenAddress}"
|
||||
+ optionalString (scfg.vtyListenPort != null) " -P ${toString scfg.vtyListenPort}"
|
||||
+ " " + (concatStringsSep " " scfg.extraOptions);
|
||||
ExecReload = "${pkgs.python3.interpreter} ${pkgs.frr}/libexec/frr/frr-reload.py --reload --daemon ${daemonName service} --bindir ${pkgs.frr}/bin --rundir /run/frr /etc/frr/${service}.conf";
|
||||
ExecReload = mkIf (service != "mgmt") "${pkgs.python3.interpreter} ${pkgs.frr}/libexec/frr/frr-reload.py --reload --daemon ${daemon} --bindir ${pkgs.frr}/bin --rundir /run/frr /etc/frr/${daemon}.conf";
|
||||
Restart = "on-abnormal";
|
||||
};
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user