nixos/qemu-vm: fix infinite recursion
The virtualisation.directBoot.initrd option was added for netboot images, but the assertion to check directBoot enabled if it was used caused an infinite recursion if it was. Minimal reproduction: import nixos/tests/make-test-python.nix ({ pkgs, ... }: { name = ""; nodes = { machine = { config, ...}: { imports = [ nixos/modules/installer/netboot/netboot-minimal.nix ]; virtualisation.directBoot = { enable = true; initrd = "${config.system.build.netbootRamdisk}/${config.system.boot.loader.initrdFile}"; }; }; }; testScript = ""; }) {} The fix is to swap the two conditions, so that cfg.directBoot.enable is checked first, and the initrd comparision will be short circuited. This wasn't noticed during review because in earlier versions of the virtualisation.directBoot patch, the assertion was accidentally in the conditional above, so wasn't evaluated unless port forwarding was in use.
This commit is contained in:
parent
a29cae7046
commit
8ab2f09522
1 changed files with 1 additions and 1 deletions
|
@ -997,7 +997,7 @@ in
|
|||
virtualisation.memorySize is above 2047, but qemu is only able to allocate 2047MB RAM on 32bit max.
|
||||
'';
|
||||
}
|
||||
{ assertion = cfg.directBoot.initrd != options.virtualisation.directBoot.initrd.default -> cfg.directBoot.enable;
|
||||
{ assertion = cfg.directBoot.enable || cfg.directBoot.initrd == options.virtualisation.directBoot.initrd.default;
|
||||
message =
|
||||
''
|
||||
You changed the default of `virtualisation.directBoot.initrd` but you are not
|
||||
|
|
Loading…
Reference in a new issue