NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
17.45k stars 13.65k forks source link

jool fails to reload, can't reload #251954

Closed mweinelt closed 1 year ago

mweinelt commented 1 year ago

Describe the bug

While pushing a new closure with a new systemd version, the actiation script tried to reload the jool.service, because it has X-ReloadIfChanged=true set.

reloading the following units: dbus.service, jool-nat64.service, nftables.service, reload-systemd-vconsole-setup.service
Failed to reload jool-nat64.service: Job type reload is not applicable for unit jool-nat64.service.

Steps To Reproduce

Steps to reproduce the behavior:

  1. Make a change to the jool systemd unit
  2. Deploy

Expected behavior

If the service does not support reload, I don't think I want it to restart either, given that production traffic will be disrupted.

Notify maintainers

@rnhmjoj

Metadata

Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

 - system: `"x86_64-linux"`
 - host os: `Linux 6.1.46, NixOS, 23.11 (Tapir), 23.11pre-git`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.17.0`
 - channels(root): `"nixos-22.05.851.dab6df51387"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`
rnhmjoj commented 1 year ago

Right, it should be removed entirely. In general reloading is problematic, becase:

  1. on a Jool update you would have to reload the kernel module (to avoid incompatibilities between kernel-userspace)
  2. reloading the kernel module interferes with instances not managed by NixOS