diff --git a/doc/manual/man-nixos-build-vms.xml b/doc/manual/man-nixos-build-vms.xml index 1650f33064f..328d8d4f2ed 100644 --- a/doc/manual/man-nixos-build-vms.xml +++ b/doc/manual/man-nixos-build-vms.xml @@ -17,7 +17,6 @@ nixos-build-vms - @@ -34,11 +33,6 @@ this command. By default, a result symlink is produced that points to the generated virtual network. -This command also provides the option, -which spawns UNIX domain sockets in the current working directory by using the -socat command. This allows -users to remotely script a generated virtual machine. - A network Nix expression has the following structure: @@ -87,15 +81,6 @@ for the same architecture as the host system. - - - - Indicates that the backdoor must be enabled so that the VMs can be - accessed through a UNIX domain socket. The UNIX domain sockets are - created in the current working directory. - - - diff --git a/lib/build-vms.nix b/lib/build-vms.nix index 618194fd1db..32d0a4811eb 100644 --- a/lib/build-vms.nix +++ b/lib/build-vms.nix @@ -1,4 +1,4 @@ -{ nixpkgs, services, system, useBackdoor ? false }: +{ nixpkgs, services, system }: let pkgs = import nixpkgs { config = {}; inherit system; }; in @@ -26,7 +26,7 @@ rec { modules = configurations ++ [ ../modules/virtualisation/qemu-vm.nix ../modules/testing/test-instrumentation.nix # !!! should only get added for automated test runs - { key = "no-manual"; services.nixosManual.enable = false; virtualisation.useBackdoor = useBackdoor; } + { key = "no-manual"; services.nixosManual.enable = false; } ]; extraArgs = { inherit nodes; }; }; diff --git a/modules/installer/tools/nixos-build-vms/build-vms.nix b/modules/installer/tools/nixos-build-vms/build-vms.nix index 3d49cecb2ed..df4152b30d6 100644 --- a/modules/installer/tools/nixos-build-vms/build-vms.nix +++ b/modules/installer/tools/nixos-build-vms/build-vms.nix @@ -3,7 +3,6 @@ , services ? "/etc/nixos/services" , system ? builtins.currentSystem , networkExpr -, useBackdoor ? false }: let nodes = import networkExpr; diff --git a/modules/installer/tools/nixos-build-vms/nixos-build-vms.sh b/modules/installer/tools/nixos-build-vms/nixos-build-vms.sh index 681ec0387c8..70c1ecaf5ac 100644 --- a/modules/installer/tools/nixos-build-vms/nixos-build-vms.sh +++ b/modules/installer/tools/nixos-build-vms/nixos-build-vms.sh @@ -7,7 +7,6 @@ showUsage() echo "Usage: $0 network_expr" echo "Options:" echo - echo "--use-backdoor Indicates that the backdoor must be enabled so that the VMs can be accessed through a UNIX domain socket" echo "--no-out-link Do not create a 'result' symlink" echo "--show-trace Shows the output trace" echo "-h,--help Shows the usage of this command" @@ -15,7 +14,7 @@ showUsage() # Parse valid argument options -PARAMS=`getopt -n $0 -o h -l use-backdoor,no-out-link,show-trace,help -- "$@"` +PARAMS=`getopt -n $0 -o h -l no-out-link,show-trace,help -- "$@"` if [ $? != 0 ] then @@ -30,9 +29,6 @@ eval set -- "$PARAMS" while [ "$1" != "--" ] do case "$1" in - --use-backdoor) - useBackdoorArg="--arg useBackdoor true" - ;; --no-out-link) noOutLinkArg="--no-out-link" ;; @@ -67,4 +63,4 @@ fi # Build a network of VMs -nix-build $NIXOS/modules/installer/tools/nixos-build-vms/build-vms.nix --argstr networkExpr $networkExpr --argstr nixos $NIXOS --argstr nixpkgs $NIXPKGS_ALL $useBackdoorArg $noOutLinkArg $showTraceArg +nix-build $NIXOS/modules/installer/tools/nixos-build-vms/build-vms.nix --argstr networkExpr $networkExpr --argstr nixos $NIXOS --argstr nixpkgs $NIXPKGS_ALL $noOutLinkArg $showTraceArg diff --git a/modules/virtualisation/qemu-vm.nix b/modules/virtualisation/qemu-vm.nix index 0490d530f9e..c26b27c7b8f 100644 --- a/modules/virtualisation/qemu-vm.nix +++ b/modules/virtualisation/qemu-vm.nix @@ -111,17 +111,6 @@ let description = "Options passed to QEMU."; }; - virtualisation.useBackdoor = - mkOption { - default = false; - description = - '' - If enabled, the virtual machine makes a connection through TCP port 23 - to a daemon running on the host system acting as a proxy. - This option makes it possible to connect to a VM through a socket file. - ''; - }; - virtualisation.useBootLoader = mkOption { default = false; @@ -156,11 +145,6 @@ let ${toString config.virtualisation.diskSize}M || exit 1 fi - ${pkgs.lib.optionalString cfg.useBackdoor '' - # Remember the current working directory - WORKDIR=$(pwd) - ''} - # Start Samba (which wants to put its socket and config files in TMPDIR). if [ -z "$TMPDIR" -o -z "$USE_TMPDIR" ]; then TMPDIR=$(mktemp -d nix-vm-smbd.XXXXXXXXXX --tmpdir) @@ -169,24 +153,13 @@ let ${pkgs.vmTools.startSamba} - ${pkgs.lib.optionalString cfg.useBackdoor '' - # Create a shell socket file to which the VM can connect and create in the - # current working directory a socket file which can be used to remotely access - # the VM through the shell interface - - ${pkgs.socat}/bin/socat UNIX-LISTEN:./shell UNIX-LISTEN:$WORKDIR/${vmName}.socket,fork & - - while [ ! -e ./shell ]; do sleep 0.1; done # Wait until the socket file is there - ''} - # Start QEMU. exec ${pkgs.qemu_kvm}/bin/qemu-system-x86_64 \ -name ${vmName} \ -m ${toString config.virtualisation.memorySize} \ -net nic,vlan=0,model=virtio \ -chardev socket,id=samba,path=./samba \ - -net user,vlan=0,guestfwd=tcp:10.0.2.4:445-chardev:samba${if cfg.useBackdoor then ",guestfwd=tcp:10.0.2.6:23-chardev:shell" else ""}''${QEMU_NET_OPTS:+,$QEMU_NET_OPTS} \ - ${if cfg.useBackdoor then "-chardev socket,id=shell,path=./shell" else ""} \ + -net user,vlan=0,guestfwd=tcp:10.0.2.4:445-chardev:samba''${QEMU_NET_OPTS:+,$QEMU_NET_OPTS} \ ${if cfg.useBootLoader then '' -drive index=0,file=$NIX_DISK_IMAGE,if=virtio,cache=writeback,werror=report \ -drive index=1,file=${bootDisk}/disk.img,if=virtio,boot=on \