New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
zfs-test: Allow overriding kernel packages #67203
Conversation
@GrahamcOfBorg eval |
@@ -1,5 +1,5 @@ | |||
{ system ? builtins.currentSystem, | |||
config ? {}, | |||
config ? { boot.kernelPackages = pkgs.linuxPackages_latest; }, | |||
pkgs ? import ../.. { inherit system config; } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this should be a separate argument. The config
here doesn't have anything to do with a NixOS configuration. Something like
{ system ? builtins.currentSystem
, config ? {}
, pkgs ? import ../.. { inherit system config; }
, kernelPackages ? pkgs.linuxPackages_latest }: null
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The purpose of doing this was precisely to let users (e.g. me) pass a NixOS configuration in. You can do that with a fair number of other tests, and it's basically the main reason to run tests locally.
Ideally I'd like to make it work for all of them, with the same interface, letting me add a --run-tests option to nixos-rebuild.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see any test using the nixpkgs config as a NixOS config? They all pass it to import <nixpkgs> { inherit config; }
, where a NixOS config makes no sense at all.
If you want it to support passing in arbitrary NixOS configs you need to do something like this:
{ nixosConfiguration ? {}
, ...
}:
let
kernelPackages = (import ../../nixos {
configuration = nixosConfiguration;
}).config.boot.kernelPackages;
in ...
Thank you for your contributions.
|
I was never able to make Cinnamon work, so I'm not actually running NixOS on my desktop anymore, alas. Regardless, I believe this PR was based on false assumptions. |
Motivation for this change
This lets end-users override the kernel package used in the test with the one their system is (going to) run, hence confirming that it'll still be able to boot. Since the most common cause of ZFS boot failures is Linux kernel incompatibilities, testing against a different kernel than is booted has only limited usefulness.
Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nix-review --run "nix-review wip"
./result/bin/
)nix path-info -S
before and after)Notify maintainers
cc @Ekleog