Removed the backdoor, because it does not work anymore and it has also become obsolete (Disnix uses something else now)

svn path=/nixos/trunk/; revision=25601
This commit is contained in:
Sander van der Burg 2011-01-17 16:15:59 +00:00
parent c7a5960101
commit 96b769c979
5 changed files with 5 additions and 52 deletions

View File

@ -17,7 +17,6 @@
<refsynopsisdiv>
<cmdsynopsis>
<command>nixos-build-vms</command>
<arg><option>--use-backdoor</option></arg>
<arg><option>--show-trace</option></arg>
<arg><option>--no-out-link</option></arg>
<arg><option>--help</option></arg>
@ -34,11 +33,6 @@ this command. By default, a <filename>result</filename> symlink is produced that
points to the generated virtual network.
</para>
<para>This command also provides the <option>--use-backdoor</option> option,
which spawns UNIX domain sockets in the current working directory by using the
<command>socat</command> command. This allows
users to remotely script a generated virtual machine.</para>
<para>A network Nix expression has the following structure:
<screen>
@ -87,15 +81,6 @@ for the same architecture as the host system.
<variablelist>
<varlistentry>
<term><option>--use-backdoor</option></term>
<listitem>
<para>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.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--show-trace</option></term>
<listitem>

View File

@ -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; };
};

View File

@ -3,7 +3,6 @@
, services ? "/etc/nixos/services"
, system ? builtins.currentSystem
, networkExpr
, useBackdoor ? false
}:
let nodes = import networkExpr;

View File

@ -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

View File

@ -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 \