From 163fed297ed65a24241f190d8e954ce1877f9020 Mon Sep 17 00:00:00 2001 From: Minijackson Date: Mon, 22 Jan 2024 16:17:57 +0100 Subject: netbox: 3.6.9 -> 3.7.1 Or another way to see it: netbox_3_7: init at 3.7.1 Make NetBox 3.7 the default version if stateVersion >= 24.05, switch upgrade test to test upgrade from 3.6 to 3.7, remove clearcache command for >=3.7.0, make reindex command mandatory --- nixos/modules/services/web-apps/netbox.nix | 15 +++++++++------ nixos/tests/all-tests.nix | 1 + nixos/tests/web-apps/netbox-upgrade.nix | 4 ++-- 3 files changed, 12 insertions(+), 8 deletions(-) (limited to 'nixos') diff --git a/nixos/modules/services/web-apps/netbox.nix b/nixos/modules/services/web-apps/netbox.nix index 72ec578146a76..b0921f461d221 100644 --- a/nixos/modules/services/web-apps/netbox.nix +++ b/nixos/modules/services/web-apps/netbox.nix @@ -75,7 +75,9 @@ in { package = lib.mkOption { type = lib.types.package; default = - if lib.versionAtLeast config.system.stateVersion "23.11" + if lib.versionAtLeast config.system.stateVersion "24.05" + then pkgs.netbox_3_7 + else if lib.versionAtLeast config.system.stateVersion "23.11" then pkgs.netbox_3_6 else if lib.versionAtLeast config.system.stateVersion "23.05" then pkgs.netbox_3_5 @@ -306,12 +308,13 @@ in { ${pkg}/bin/netbox trace_paths --no-input ${pkg}/bin/netbox collectstatic --no-input ${pkg}/bin/netbox remove_stale_contenttypes --no-input - # TODO: remove the condition when we remove netbox_3_3 - ${lib.optionalString - (lib.versionAtLeast cfg.package.version "3.5.0") - "${pkg}/bin/netbox reindex --lazy"} + ${pkg}/bin/netbox reindex --lazy ${pkg}/bin/netbox clearsessions - ${pkg}/bin/netbox clearcache + ${lib.optionalString + # The clearcache command was removed in 3.7.0: + # https://github.com/netbox-community/netbox/issues/14458 + (lib.versionOlder cfg.package.version "3.7.0") + "${pkg}/bin/netbox clearcache"} echo "${cfg.package.version}" > "$versionFile" ''; diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 4b6696e4fdbf3..60067eb70cd47 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -574,6 +574,7 @@ in { networking.scripted = handleTest ./networking.nix { networkd = false; }; netbox_3_5 = handleTest ./web-apps/netbox.nix { netbox = pkgs.netbox_3_5; }; netbox_3_6 = handleTest ./web-apps/netbox.nix { netbox = pkgs.netbox_3_6; }; + netbox_3_7 = handleTest ./web-apps/netbox.nix { netbox = pkgs.netbox_3_7; }; netbox-upgrade = handleTest ./web-apps/netbox-upgrade.nix {}; # TODO: put in networking.nix after the test becomes more complete networkingProxy = handleTest ./networking-proxy.nix {}; diff --git a/nixos/tests/web-apps/netbox-upgrade.nix b/nixos/tests/web-apps/netbox-upgrade.nix index b5403eb678bcb..4c554e7ae613b 100644 --- a/nixos/tests/web-apps/netbox-upgrade.nix +++ b/nixos/tests/web-apps/netbox-upgrade.nix @@ -1,6 +1,6 @@ import ../make-test-python.nix ({ lib, pkgs, ... }: let - oldNetbox = pkgs.netbox_3_5; - newNetbox = pkgs.netbox_3_6; + oldNetbox = pkgs.netbox_3_6; + newNetbox = pkgs.netbox_3_7; in { name = "netbox-upgrade"; -- cgit 1.4.1 From 5d2370f800bbcb7bf61ab1e71023634cf8ffe48e Mon Sep 17 00:00:00 2001 From: Minijackson Date: Mon, 22 Jan 2024 16:29:46 +0100 Subject: netbox_3_5: remove --- nixos/modules/services/web-apps/netbox.nix | 4 +++- nixos/tests/all-tests.nix | 1 - pkgs/servers/web-apps/netbox/default.nix | 16 ---------------- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 2 +- 5 files changed, 5 insertions(+), 19 deletions(-) (limited to 'nixos') diff --git a/nixos/modules/services/web-apps/netbox.nix b/nixos/modules/services/web-apps/netbox.nix index b0921f461d221..d034f3234a2bd 100644 --- a/nixos/modules/services/web-apps/netbox.nix +++ b/nixos/modules/services/web-apps/netbox.nix @@ -83,7 +83,9 @@ in { then pkgs.netbox_3_5 else pkgs.netbox_3_3; defaultText = lib.literalExpression '' - if lib.versionAtLeast config.system.stateVersion "23.11" + if lib.versionAtLeast config.system.stateVersion "24.05" + then pkgs.netbox_3_7 + else if lib.versionAtLeast config.system.stateVersion "23.11" then pkgs.netbox_3_6 else if lib.versionAtLeast config.system.stateVersion "23.05" then pkgs.netbox_3_5 diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 60067eb70cd47..1453a3875f6e7 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -572,7 +572,6 @@ in { netdata = handleTest ./netdata.nix {}; networking.networkd = handleTest ./networking.nix { networkd = true; }; networking.scripted = handleTest ./networking.nix { networkd = false; }; - netbox_3_5 = handleTest ./web-apps/netbox.nix { netbox = pkgs.netbox_3_5; }; netbox_3_6 = handleTest ./web-apps/netbox.nix { netbox = pkgs.netbox_3_6; }; netbox_3_7 = handleTest ./web-apps/netbox.nix { netbox = pkgs.netbox_3_7; }; netbox-upgrade = handleTest ./web-apps/netbox-upgrade.nix {}; diff --git a/pkgs/servers/web-apps/netbox/default.nix b/pkgs/servers/web-apps/netbox/default.nix index 3b3a83b461319..15e0a67de654f 100644 --- a/pkgs/servers/web-apps/netbox/default.nix +++ b/pkgs/servers/web-apps/netbox/default.nix @@ -5,22 +5,6 @@ in lib.fix (self: { netbox = self.netbox_3_7; - netbox_3_5 = callPackage generic { - version = "3.5.9"; - hash = "sha256-CJbcuCyTuihDXrObSGyJi2XF+zgWAwcJzjxtkX8pmKs="; - extraPatches = [ - # Allow setting the STATIC_ROOT from within the configuration and setting a custom redis URL - ./config.patch - ]; - tests = { - netbox = nixosTests.netbox_3_5; - inherit (nixosTests) netbox-upgrade; - }; - - maintainers = with lib.maintainers; [ minijackson n0emis raitobezarius ]; - eol = true; - }; - netbox_3_6 = callPackage generic { version = "3.6.9"; hash = "sha256-R/hcBKrylW3GnEy10DkrLVr8YJtsSCvCP9H9LhafO9I="; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index ed5f2afd2372e..65566cbc0a921 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -683,6 +683,7 @@ mapAliases ({ net_snmp = throw "'net_snmp' has been renamed to/replaced by 'net-snmp'"; # Converted to throw 2023-09-10 netbox_3_3 = throw "netbox 3.3 series has been removed as it was EOL"; # Added 2023-09-02 + netbox_3_5 = throw "netbox 3.5 series has been removed as it was EOL"; # Added 2024-01-22 nextcloud25 = throw '' Nextcloud v25 has been removed from `nixpkgs` as the support for is dropped by upstream in 2023-10. Please upgrade to at least Nextcloud v26 by declaring diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a5a69964d642c..56edc78a360bd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11133,7 +11133,7 @@ with pkgs; netbootxyz-efi = callPackage ../tools/misc/netbootxyz-efi { }; inherit (callPackage ../servers/web-apps/netbox { }) - netbox netbox_3_5 netbox_3_6 netbox_3_7; + netbox netbox_3_6 netbox_3_7; netbox2netshot = callPackage ../tools/admin/netbox2netshot { }; -- cgit 1.4.1 From da3587e8eac8c6f840737832de7c07e3c9238e07 Mon Sep 17 00:00:00 2001 From: Minijackson Date: Mon, 22 Jan 2024 16:36:55 +0100 Subject: nixos/rl-2405: document NetBox breaking change --- nixos/doc/manual/release-notes/rl-2405.section.md | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'nixos') diff --git a/nixos/doc/manual/release-notes/rl-2405.section.md b/nixos/doc/manual/release-notes/rl-2405.section.md index 790b54fdd4ccf..00fbe68ee623a 100644 --- a/nixos/doc/manual/release-notes/rl-2405.section.md +++ b/nixos/doc/manual/release-notes/rl-2405.section.md @@ -143,6 +143,13 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m `CONFIG_FILE_NAME` includes `bpf_pinning`, `ematch_map`, `group`, `nl_protos`, `rt_dsfield`, `rt_protos`, `rt_realms`, `rt_scopes`, and `rt_tables`. +- `netbox` was updated to v3.7. `services.netbox.package` still defaults + to v3.6 if `stateVersion` is earlier than 24.05. Refer to upstream's breaking + changes [for + v3.7.0](https://github.com/netbox-community/netbox/releases/tag/v3.7.0) and + upgrade NetBox by changing `services.netbox.package`. Database migrations + will be run automatically. + - The executable file names for `firefox-devedition`, `firefox-beta`, `firefox-esr` now matches their package names, which is consistent with the `firefox-*-bin` packages. The desktop entries are also updated so that you can have multiple editions of firefox in your app launcher. - switch-to-configuration does not directly call systemd-tmpfiles anymore. -- cgit 1.4.1