nixos: fix qemu_test being used in normal VMs
This is an attempt to fixup PR #49403.
This commit is contained in:
parent
d95b8c33b4
commit
bc2188b083
@ -18,9 +18,6 @@ rec {
|
||||
|
||||
inherit pkgs;
|
||||
|
||||
qemu = pkgs.qemu_test;
|
||||
|
||||
|
||||
# Build a virtual network from an attribute set `{ machine1 =
|
||||
# config1; ... machineN = configN; }', where `machineX' is the
|
||||
# hostname and `configX' is a NixOS system configuration. Each
|
||||
@ -39,7 +36,6 @@ rec {
|
||||
[ ../modules/virtualisation/qemu-vm.nix
|
||||
../modules/testing/test-instrumentation.nix # !!! should only get added for automated test runs
|
||||
{ key = "no-manual"; documentation.nixos.enable = false; }
|
||||
{ key = "qemu"; system.build.qemu = qemu; }
|
||||
{ key = "nodes"; _module.args.nodes = nodes; }
|
||||
] ++ optional minimal ../modules/testing/minimal-kernel.nix;
|
||||
};
|
||||
|
@ -51,7 +51,10 @@ with import ../../lib/qemu-flags.nix { inherit pkgs; };
|
||||
# we avoid defining consoles if not possible.
|
||||
# TODO: refactor such that test-instrumentation can import qemu-vm
|
||||
# or declare virtualisation.qemu.console option in a module that's always imported
|
||||
virtualisation = lib.optionalAttrs (options ? virtualisation.qemu.consoles) { qemu.consoles = [ qemuSerialDevice ]; };
|
||||
virtualisation.qemu = {
|
||||
consoles = lib.optional (options ? virtualisation.qemu.consoles) qemuSerialDevice;
|
||||
package = pkgs.qemu_test;
|
||||
};
|
||||
|
||||
boot.initrd.preDeviceCommands =
|
||||
''
|
||||
|
@ -14,10 +14,11 @@ with import ../../lib/qemu-flags.nix { inherit pkgs; };
|
||||
|
||||
let
|
||||
|
||||
qemu = config.system.build.qemu or pkgs.qemu_test;
|
||||
|
||||
cfg = config.virtualisation;
|
||||
|
||||
qemu = cfg.qemu.package;
|
||||
|
||||
consoles = lib.concatMapStringsSep " " (c: "console=${c}") cfg.qemu.consoles;
|
||||
|
||||
driveOpts = { ... }: {
|
||||
@ -401,6 +402,14 @@ in
|
||||
};
|
||||
|
||||
virtualisation.qemu = {
|
||||
package =
|
||||
mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.qemu;
|
||||
example = "pkgs.qemu_test";
|
||||
description = "QEMU package to use.";
|
||||
};
|
||||
|
||||
options =
|
||||
mkOption {
|
||||
type = types.listOf types.unspecified;
|
||||
|
Loading…
Reference in New Issue
Block a user