From 09d1ccd0fdcd7762f95b884ee08c320e1ddc3e1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 8 Oct 2024 19:24:33 +0200 Subject: [PATCH] vms/run: make portmap a dict to fix serializer --- pkgs/clan-cli/clan_cli/vms/qemu.py | 6 +++--- pkgs/clan-cli/clan_cli/vms/run.py | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/clan-cli/clan_cli/vms/qemu.py b/pkgs/clan-cli/clan_cli/vms/qemu.py index 4f4c83c41..5a2315f11 100644 --- a/pkgs/clan-cli/clan_cli/vms/qemu.py +++ b/pkgs/clan-cli/clan_cli/vms/qemu.py @@ -92,11 +92,11 @@ def qemu_command( virtiofsd_socket: Path, qmp_socket_file: Path, qga_socket_file: Path, - portmap: list[tuple[int, int]] | None = None, + portmap: dict[int, int] | None = None, interactive: bool = False, ) -> QemuCommand: if portmap is None: - portmap = [] + portmap = {} kernel_cmdline = [ (Path(nixos_config["toplevel"]) / "kernel-params").read_text(), f'init={nixos_config["toplevel"]}/init', @@ -105,7 +105,7 @@ def qemu_command( ] if not vm.waypipe: kernel_cmdline.append("console=tty0") - hostfwd = ",".join(f"hostfwd=tcp::{h}-:{g}" for h, g in portmap) + hostfwd = ",".join(f"hostfwd=tcp::{h}-:{g}" for h, g in portmap.items()) # fmt: off command = [ "qemu-kvm", diff --git a/pkgs/clan-cli/clan_cli/vms/run.py b/pkgs/clan-cli/clan_cli/vms/run.py index 4937f7e3b..dda9a4d14 100644 --- a/pkgs/clan-cli/clan_cli/vms/run.py +++ b/pkgs/clan-cli/clan_cli/vms/run.py @@ -203,13 +203,13 @@ def spawn_vm( cachedir: Path | None = None, socketdir: Path | None = None, nix_options: list[str] | None = None, - portmap: list[tuple[int, int]] | None = None, + portmap: dict[int, int] | None = None, stdout: int | None = None, stderr: int | None = None, stdin: int | None = None, ) -> Iterator[QemuVm]: if portmap is None: - portmap = [] + portmap = {} if nix_options is None: nix_options = [] with ExitStack() as stack: @@ -314,7 +314,7 @@ class RuntimeConfig: cachedir: Path | None = None socketdir: Path | None = None nix_options: list[str] | None = None - portmap: list[tuple[int, int]] | None = None + portmap: dict[int, int] | None = None command: list[str] | None = None no_block: bool = False @@ -373,7 +373,7 @@ def run_command( vm: VmConfig = inspect_vm(machine=machine_obj) - portmap = [p.split(":") for p in args.publish] + portmap = dict(p.split(":") for p in args.publish) runtime_config = RuntimeConfig( nix_options=args.option,