From 67db6e7aa35b9aad2bb9d76aeacc2ad7f8f1edf9 Mon Sep 17 00:00:00 2001
From: Roger Luethi <rl@patchworkscience.org>
Date: Thu, 27 Nov 2014 13:42:29 +0100
Subject: [PATCH] labs: fix Windows batch file creation

This changeset reverts "labs: temporary wbatch fix" and replaces it with
a proper fix, allowing the creation of correct Windows batch files on
build hosts without VirtualBox.

Change-Id: Iad005ce9f0dcecb910fc09b2c43385dd42992eda
---
 labs/lib/osbash/virtualbox.functions   |   12 +-
 labs/wbatch/create_base.bat            | 1620 ------------------------
 labs/wbatch/create_compute_node.bat    |  293 -----
 labs/wbatch/create_controller_node.bat |  385 ------
 labs/wbatch/create_hostnet.bat         |  162 ---
 labs/wbatch/create_network_node.bat    |  279 ----
 tox.ini                                |    4 +-
 7 files changed, 9 insertions(+), 2746 deletions(-)
 delete mode 100644 labs/wbatch/create_base.bat
 delete mode 100644 labs/wbatch/create_compute_node.bat
 delete mode 100644 labs/wbatch/create_controller_node.bat
 delete mode 100644 labs/wbatch/create_hostnet.bat
 delete mode 100644 labs/wbatch/create_network_node.bat

diff --git a/labs/lib/osbash/virtualbox.functions b/labs/lib/osbash/virtualbox.functions
index 9d906bbb..abad5534 100644
--- a/labs/lib/osbash/virtualbox.functions
+++ b/labs/lib/osbash/virtualbox.functions
@@ -129,11 +129,13 @@ function create_hostonlyif {
 function create_network {
     local ip=$1
 
-    # XXX We need host-only interface names as identifiers for wbatch; by
-    #     always executing VBoxManage calls to ip_to_hostonlyif and
-    #     create_hostonlyif we avoid the need to invent fake interface names
+    # If we are here only for wbatch, ignore actual network interfaces; just
+    # return a unique identifier (so it can be replaced with the interface
+    # name used by Windows).
+    ${OSBASH:+:} mktemp -u XXXXXXXX
+    ${OSBASH:+:} return 0
 
-    local if_name="$(OSBASH=exec_cmd ip_to_hostonlyif "$ip")"
+    local if_name="$(ip_to_hostonlyif "$ip")"
     if [ -n "$if_name" ]; then
         if hostonlyif_in_use "$if_name"; then
             echo >&2 "Host-only interface $if_name ($ip) is in use." \
@@ -141,7 +143,7 @@ function create_network {
         fi
     else
         echo >&2 "Creating host-only interface"
-        if_name=$(OSBASH=exec_cmd  create_hostonlyif)
+        if_name=$(create_hostonlyif)
     fi
 
     echo >&2 "Configuring host-only network $ip ($if_name)"
diff --git a/labs/wbatch/create_base.bat b/labs/wbatch/create_base.bat
deleted file mode 100644
index c29b01c5..00000000
--- a/labs/wbatch/create_base.bat
+++ /dev/null
@@ -1,1620 +0,0 @@
-@ECHO OFF
-
-REM This is an automatically generated Windows batch file. It creates the
-REM base disk for an OpenStack training-labs setup.
-
-SETLOCAL ENABLEDELAYEDEXPANSION
-
-ECHO.
-ECHO OpenStack labs for VirtualBox on Windows
-ECHO Generated by osbash
-ECHO.
-ECHO Create base disk
-ECHO.
-
-REM vim: set ai ts=4 sw=4 et ft=dosbatch:
-
-REM VBoxManage is not in PATH, but this is a good guess
-IF EXIST %ProgramFiles%\Oracle\VirtualBox\VBoxManage.exe (
-    SET PATH=%PATH%;%ProgramFiles%\Oracle\VirtualBox
-    ECHO.
-    ECHO %time% Found %ProgramFiles%\Oracle\VirtualBox\VBoxManage.exe
-    ECHO.
-    GOTO :vbm_found
-)
-
-ECHO.
-ECHO %time% Searching %SystemDrive% for VBoxManage, this may take a while
-ECHO.
-FOR /r %SystemDrive% %%a IN (*) DO (
-    IF "%%~nxa"=="VBoxManage.exe" (
-        SET PATH=%PATH%;%%~dpa
-        ECHO %time% Found %%~dpnxa
-        GOTO :vbm_found
-    )
-)
-
-ECHO.
-ECHO %time% Cannot find VBoxManage.exe (part of VirtualBox) on %SystemDrive%.
-ECHO %time% Program stops.
-ECHO.
-GOTO :terminate
-
-:vbm_found
-
-REM vim: set ai ts=4 sw=4 et ft=dosbatch:
-
-SET BATDIR=%~dp0
-PUSHD %BATDIR%..
-SET TOPDIR=%cd%
-POPD
-
-SET AUTODIR=%TOPDIR%\autostart
-SET IMGDIR=%TOPDIR%\img
-SET LOGDIR=%TOPDIR%\log
-SET STATUSDIR=%TOPDIR%\log\status
-SET SHAREDIR=%TOPDIR%
-
-ECHO %time% Creating directories (if needed)
-IF NOT EXIST %AUTODIR% mkdir %AUTODIR%
-IF NOT EXIST %IMGDIR% mkdir %IMGDIR%
-IF NOT EXIST %LOGDIR% mkdir %LOGDIR%
-IF NOT EXIST %SHAREDIR% mkdir %SHAREDIR%
-
-REM vim: set ai ts=4 sw=4 et ft=dosbatch:
-
-ECHO %time% Cleaning up autostart and log directories
-DEL /S /Q %AUTODIR%
-DEL /S /Q %LOGDIR%
-
-ECHO %time% Looking for %IMGDIR%\ubuntu-14.04.1-server-amd64.iso
-IF EXIST %IMGDIR%\ubuntu-14.04.1-server-amd64.iso goto got_install_iso
-ECHO.
-ECHO ubuntu-14.04.1-server-amd64.iso not found in %IMGDIR%.
-ECHO.
-ECHO To proceed, I need the install ISO from
-ECHO http://releases.ubuntu.com/14.04/ubuntu-14.04.1-server-amd64.iso
-ECHO.
-goto :terminate
-
-:got_install_iso
-ECHO.
-ECHO %time% Found %IMGDIR%\ubuntu-14.04.1-server-amd64.iso
-ECHO.
-ECHO %time% Initialization done. Hit any key to continue.
-ECHO.
-PAUSE
-
-REM vim: set ai ts=4 sw=4 et ft=dosbatch:
-
-IF EXIST %IMGDIR%\tmp-disk.vdi DEL %IMGDIR%\tmp-disk.vdi
-CALL :vm_exists base
-ECHO VBoxManage createvm --name base --register --ostype Ubuntu_64 --groups /oslabs
-VBoxManage createvm --name base --register --ostype Ubuntu_64 --groups /oslabs
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm base --rtcuseutc on
-VBoxManage modifyvm base --rtcuseutc on
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm base --biosbootmenu disabled
-VBoxManage modifyvm base --biosbootmenu disabled
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm base --largepages on
-VBoxManage modifyvm base --largepages on
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm base --boot1 disk
-VBoxManage modifyvm base --boot1 disk
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage storagectl base --name SATA --add sata --portcount 1
-VBoxManage storagectl base --name SATA --add sata --portcount 1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage storagectl base --name SATA --hostiocache on
-VBoxManage storagectl base --name SATA --hostiocache on
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage storagectl base --name IDE --add ide
-VBoxManage storagectl base --name IDE --add ide
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm base --memory 512
-VBoxManage modifyvm base --memory 512
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage storageattach base --storagectl IDE --port 0 --device 0 --type dvddrive --medium %IMGDIR%\ubuntu-14.04.1-server-amd64.iso
-VBoxManage storageattach base --storagectl IDE --port 0 --device 0 --type dvddrive --medium %IMGDIR%\ubuntu-14.04.1-server-amd64.iso
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage storageattach base --storagectl IDE --port 1 --device 0 --type dvddrive --medium emptydrive
-VBoxManage storageattach base --storagectl IDE --port 1 --device 0 --type dvddrive --medium emptydrive
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage storageattach base --storagectl IDE --port 1 --device 0 --type dvddrive --medium additions
-VBoxManage storageattach base --storagectl IDE --port 1 --device 0 --type dvddrive --medium additions
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage createhd --format VDI --filename %IMGDIR%\tmp-disk.vdi --size 8000
-VBoxManage createhd --format VDI --filename %IMGDIR%\tmp-disk.vdi --size 8000
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage storageattach base --storagectl SATA --port 0 --device 0 --type hdd --medium %IMGDIR%\tmp-disk.vdi
-VBoxManage storageattach base --storagectl SATA --port 0 --device 0 --type hdd --medium %IMGDIR%\tmp-disk.vdi
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage sharedfolder add base --name bootstrap --hostpath %SHAREDIR% --automount
-VBoxManage sharedfolder add base --name bootstrap --hostpath %SHAREDIR% --automount
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage sharedfolder add base --name osbash --hostpath %SHAREDIR%
-VBoxManage sharedfolder add base --name osbash --hostpath %SHAREDIR%
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm base --boot1 dvd
-VBoxManage modifyvm base --boot1 dvd
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-COPY %TOPDIR%\scripts\osbash\activate_autostart.sh %AUTODIR%\00_activate_autostart.sh
-COPY %TOPDIR%\scripts\osbash\base_fixups.sh %AUTODIR%\01_base_fixups.sh
-COPY %TOPDIR%\scripts\apt_init.sh %AUTODIR%\02_apt_init.sh
-COPY %TOPDIR%\scripts\apt_upgrade.sh %AUTODIR%\03_apt_upgrade.sh
-COPY %TOPDIR%\scripts\apt_pre-download.sh %AUTODIR%\04_apt_pre-download.sh
-COPY %TOPDIR%\scripts\osbash\enable_vagrant_ssh_keys.sh %AUTODIR%\05_enable_vagrant_ssh_keys.sh
-COPY %TOPDIR%\scripts\zero_empty.sh %AUTODIR%\06_zero_empty.sh
-COPY %TOPDIR%\scripts\shutdown.sh %AUTODIR%\07_shutdown.sh
-ECHO VBoxManage startvm base --type headless
-VBoxManage startvm base --type headless
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-TIMEOUT /T 5 /NOBREAK
-ECHO VBoxManage controlvm base keyboardputscancode 01 81
-VBoxManage controlvm base keyboardputscancode 01 81
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 01 81
-VBoxManage controlvm base keyboardputscancode 01 81
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1c 9c
-VBoxManage controlvm base keyboardputscancode 1c 9c
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-TIMEOUT /T 1 /NOBREAK
-ECHO VBoxManage controlvm base keyboardputscancode 35 b5
-VBoxManage controlvm base keyboardputscancode 35 b5
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 17 97
-VBoxManage controlvm base keyboardputscancode 17 97
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 31 b1
-VBoxManage controlvm base keyboardputscancode 31 b1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1f 9f
-VBoxManage controlvm base keyboardputscancode 1f 9f
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 14 94
-VBoxManage controlvm base keyboardputscancode 14 94
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1e 9e
-VBoxManage controlvm base keyboardputscancode 1e 9e
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 26 a6
-VBoxManage controlvm base keyboardputscancode 26 a6
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 26 a6
-VBoxManage controlvm base keyboardputscancode 26 a6
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 35 b5
-VBoxManage controlvm base keyboardputscancode 35 b5
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 2f af
-VBoxManage controlvm base keyboardputscancode 2f af
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 32 b2
-VBoxManage controlvm base keyboardputscancode 32 b2
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 26 a6
-VBoxManage controlvm base keyboardputscancode 26 a6
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 17 97
-VBoxManage controlvm base keyboardputscancode 17 97
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 31 b1
-VBoxManage controlvm base keyboardputscancode 31 b1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 16 96
-VBoxManage controlvm base keyboardputscancode 16 96
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 2c ac
-VBoxManage controlvm base keyboardputscancode 2c ac
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 39 b9
-VBoxManage controlvm base keyboardputscancode 39 b9
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 31 b1
-VBoxManage controlvm base keyboardputscancode 31 b1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 18 98
-VBoxManage controlvm base keyboardputscancode 18 98
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1e 9e
-VBoxManage controlvm base keyboardputscancode 1e 9e
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 19 99
-VBoxManage controlvm base keyboardputscancode 19 99
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 17 97
-VBoxManage controlvm base keyboardputscancode 17 97
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 2e ae
-VBoxManage controlvm base keyboardputscancode 2e ae
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 39 b9
-VBoxManage controlvm base keyboardputscancode 39 b9
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 19 99
-VBoxManage controlvm base keyboardputscancode 19 99
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 13 93
-VBoxManage controlvm base keyboardputscancode 13 93
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1f 9f
-VBoxManage controlvm base keyboardputscancode 1f 9f
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 20 a0
-VBoxManage controlvm base keyboardputscancode 20 a0
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 35 b5
-VBoxManage controlvm base keyboardputscancode 35 b5
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 16 96
-VBoxManage controlvm base keyboardputscancode 16 96
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 13 93
-VBoxManage controlvm base keyboardputscancode 13 93
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 26 a6
-VBoxManage controlvm base keyboardputscancode 26 a6
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 0d 8d
-VBoxManage controlvm base keyboardputscancode 0d 8d
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 23 a3
-VBoxManage controlvm base keyboardputscancode 23 a3
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 14 94
-VBoxManage controlvm base keyboardputscancode 14 94
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 14 94
-VBoxManage controlvm base keyboardputscancode 14 94
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 19 99
-VBoxManage controlvm base keyboardputscancode 19 99
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 2a 27 a7 aa
-VBoxManage controlvm base keyboardputscancode 2a 27 a7 aa
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 35 b5
-VBoxManage controlvm base keyboardputscancode 35 b5
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 35 b5
-VBoxManage controlvm base keyboardputscancode 35 b5
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 22 a2
-VBoxManage controlvm base keyboardputscancode 22 a2
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 17 97
-VBoxManage controlvm base keyboardputscancode 17 97
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 14 94
-VBoxManage controlvm base keyboardputscancode 14 94
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 34 b4
-VBoxManage controlvm base keyboardputscancode 34 b4
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 18 98
-VBoxManage controlvm base keyboardputscancode 18 98
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 19 99
-VBoxManage controlvm base keyboardputscancode 19 99
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 31 b1
-VBoxManage controlvm base keyboardputscancode 31 b1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1f 9f
-VBoxManage controlvm base keyboardputscancode 1f 9f
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 14 94
-VBoxManage controlvm base keyboardputscancode 14 94
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1e 9e
-VBoxManage controlvm base keyboardputscancode 1e 9e
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 2e ae
-VBoxManage controlvm base keyboardputscancode 2e ae
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 25 a5
-VBoxManage controlvm base keyboardputscancode 25 a5
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 34 b4
-VBoxManage controlvm base keyboardputscancode 34 b4
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 18 98
-VBoxManage controlvm base keyboardputscancode 18 98
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 13 93
-VBoxManage controlvm base keyboardputscancode 13 93
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 22 a2
-VBoxManage controlvm base keyboardputscancode 22 a2
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 35 b5
-VBoxManage controlvm base keyboardputscancode 35 b5
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 2e ae
-VBoxManage controlvm base keyboardputscancode 2e ae
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 22 a2
-VBoxManage controlvm base keyboardputscancode 22 a2
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 17 97
-VBoxManage controlvm base keyboardputscancode 17 97
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 14 94
-VBoxManage controlvm base keyboardputscancode 14 94
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 35 b5
-VBoxManage controlvm base keyboardputscancode 35 b5
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 18 98
-VBoxManage controlvm base keyboardputscancode 18 98
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 19 99
-VBoxManage controlvm base keyboardputscancode 19 99
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 31 b1
-VBoxManage controlvm base keyboardputscancode 31 b1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1f 9f
-VBoxManage controlvm base keyboardputscancode 1f 9f
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 14 94
-VBoxManage controlvm base keyboardputscancode 14 94
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1e 9e
-VBoxManage controlvm base keyboardputscancode 1e 9e
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 2e ae
-VBoxManage controlvm base keyboardputscancode 2e ae
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 25 a5
-VBoxManage controlvm base keyboardputscancode 25 a5
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 35 b5
-VBoxManage controlvm base keyboardputscancode 35 b5
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 14 94
-VBoxManage controlvm base keyboardputscancode 14 94
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 13 93
-VBoxManage controlvm base keyboardputscancode 13 93
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1e 9e
-VBoxManage controlvm base keyboardputscancode 1e 9e
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 17 97
-VBoxManage controlvm base keyboardputscancode 17 97
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 31 b1
-VBoxManage controlvm base keyboardputscancode 31 b1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 17 97
-VBoxManage controlvm base keyboardputscancode 17 97
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 31 b1
-VBoxManage controlvm base keyboardputscancode 31 b1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 22 a2
-VBoxManage controlvm base keyboardputscancode 22 a2
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 0c 8c
-VBoxManage controlvm base keyboardputscancode 0c 8c
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 22 a2
-VBoxManage controlvm base keyboardputscancode 22 a2
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 16 96
-VBoxManage controlvm base keyboardputscancode 16 96
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 17 97
-VBoxManage controlvm base keyboardputscancode 17 97
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 20 a0
-VBoxManage controlvm base keyboardputscancode 20 a0
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1f 9f
-VBoxManage controlvm base keyboardputscancode 1f 9f
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 35 b5
-VBoxManage controlvm base keyboardputscancode 35 b5
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 19 99
-VBoxManage controlvm base keyboardputscancode 19 99
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 26 a6
-VBoxManage controlvm base keyboardputscancode 26 a6
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1e 9e
-VBoxManage controlvm base keyboardputscancode 1e 9e
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 17 97
-VBoxManage controlvm base keyboardputscancode 17 97
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 31 b1
-VBoxManage controlvm base keyboardputscancode 31 b1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 35 b5
-VBoxManage controlvm base keyboardputscancode 35 b5
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 26 a6
-VBoxManage controlvm base keyboardputscancode 26 a6
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1e 9e
-VBoxManage controlvm base keyboardputscancode 1e 9e
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 30 b0
-VBoxManage controlvm base keyboardputscancode 30 b0
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1f 9f
-VBoxManage controlvm base keyboardputscancode 1f 9f
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 35 b5
-VBoxManage controlvm base keyboardputscancode 35 b5
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 26 a6
-VBoxManage controlvm base keyboardputscancode 26 a6
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 17 97
-VBoxManage controlvm base keyboardputscancode 17 97
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 30 b0
-VBoxManage controlvm base keyboardputscancode 30 b0
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 35 b5
-VBoxManage controlvm base keyboardputscancode 35 b5
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 18 98
-VBoxManage controlvm base keyboardputscancode 18 98
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1f 9f
-VBoxManage controlvm base keyboardputscancode 1f 9f
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 30 b0
-VBoxManage controlvm base keyboardputscancode 30 b0
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1e 9e
-VBoxManage controlvm base keyboardputscancode 1e 9e
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1f 9f
-VBoxManage controlvm base keyboardputscancode 1f 9f
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 23 a3
-VBoxManage controlvm base keyboardputscancode 23 a3
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 35 b5
-VBoxManage controlvm base keyboardputscancode 35 b5
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 31 b1
-VBoxManage controlvm base keyboardputscancode 31 b1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 14 94
-VBoxManage controlvm base keyboardputscancode 14 94
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 30 b0
-VBoxManage controlvm base keyboardputscancode 30 b0
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 18 98
-VBoxManage controlvm base keyboardputscancode 18 98
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 18 98
-VBoxManage controlvm base keyboardputscancode 18 98
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 14 94
-VBoxManage controlvm base keyboardputscancode 14 94
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 35 b5
-VBoxManage controlvm base keyboardputscancode 35 b5
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 19 99
-VBoxManage controlvm base keyboardputscancode 19 99
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 13 93
-VBoxManage controlvm base keyboardputscancode 13 93
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1f 9f
-VBoxManage controlvm base keyboardputscancode 1f 9f
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 20 a0
-VBoxManage controlvm base keyboardputscancode 20 a0
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 0c 8c
-VBoxManage controlvm base keyboardputscancode 0c 8c
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 2f af
-VBoxManage controlvm base keyboardputscancode 2f af
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 30 b0
-VBoxManage controlvm base keyboardputscancode 30 b0
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1e 9e
-VBoxManage controlvm base keyboardputscancode 1e 9e
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 20 a0
-VBoxManage controlvm base keyboardputscancode 20 a0
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 20 a0
-VBoxManage controlvm base keyboardputscancode 20 a0
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 34 b4
-VBoxManage controlvm base keyboardputscancode 34 b4
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 2e ae
-VBoxManage controlvm base keyboardputscancode 2e ae
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 21 a1
-VBoxManage controlvm base keyboardputscancode 21 a1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 22 a2
-VBoxManage controlvm base keyboardputscancode 22 a2
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 39 b9
-VBoxManage controlvm base keyboardputscancode 39 b9
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 20 a0
-VBoxManage controlvm base keyboardputscancode 20 a0
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 30 b0
-VBoxManage controlvm base keyboardputscancode 30 b0
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 17 97
-VBoxManage controlvm base keyboardputscancode 17 97
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1e 9e
-VBoxManage controlvm base keyboardputscancode 1e 9e
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 31 b1
-VBoxManage controlvm base keyboardputscancode 31 b1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 0c 8c
-VBoxManage controlvm base keyboardputscancode 0c 8c
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 17 97
-VBoxManage controlvm base keyboardputscancode 17 97
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 31 b1
-VBoxManage controlvm base keyboardputscancode 31 b1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1f 9f
-VBoxManage controlvm base keyboardputscancode 1f 9f
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 14 94
-VBoxManage controlvm base keyboardputscancode 14 94
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1e 9e
-VBoxManage controlvm base keyboardputscancode 1e 9e
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 26 a6
-VBoxManage controlvm base keyboardputscancode 26 a6
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 26 a6
-VBoxManage controlvm base keyboardputscancode 26 a6
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 13 93
-VBoxManage controlvm base keyboardputscancode 13 93
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 0d 8d
-VBoxManage controlvm base keyboardputscancode 0d 8d
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 31 b1
-VBoxManage controlvm base keyboardputscancode 31 b1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 2a 0c 8c aa
-VBoxManage controlvm base keyboardputscancode 2a 0c 8c aa
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 2a 16 96 aa
-VBoxManage controlvm base keyboardputscancode 2a 16 96 aa
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 2a 1f 9f aa
-VBoxManage controlvm base keyboardputscancode 2a 1f 9f aa
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 39 b9
-VBoxManage controlvm base keyboardputscancode 39 b9
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1e 9e
-VBoxManage controlvm base keyboardputscancode 1e 9e
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 16 96
-VBoxManage controlvm base keyboardputscancode 16 96
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 14 94
-VBoxManage controlvm base keyboardputscancode 14 94
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 18 98
-VBoxManage controlvm base keyboardputscancode 18 98
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 0d 8d
-VBoxManage controlvm base keyboardputscancode 0d 8d
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 14 94
-VBoxManage controlvm base keyboardputscancode 14 94
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 13 93
-VBoxManage controlvm base keyboardputscancode 13 93
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 16 96
-VBoxManage controlvm base keyboardputscancode 16 96
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 39 b9
-VBoxManage controlvm base keyboardputscancode 39 b9
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 26 a6
-VBoxManage controlvm base keyboardputscancode 26 a6
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 18 98
-VBoxManage controlvm base keyboardputscancode 18 98
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 2e ae
-VBoxManage controlvm base keyboardputscancode 2e ae
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1e 9e
-VBoxManage controlvm base keyboardputscancode 1e 9e
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 26 a6
-VBoxManage controlvm base keyboardputscancode 26 a6
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 0d 8d
-VBoxManage controlvm base keyboardputscancode 0d 8d
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 31 b1
-VBoxManage controlvm base keyboardputscancode 31 b1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 2a 0c 8c aa
-VBoxManage controlvm base keyboardputscancode 2a 0c 8c aa
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 2a 16 96 aa
-VBoxManage controlvm base keyboardputscancode 2a 16 96 aa
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 2a 1f 9f aa
-VBoxManage controlvm base keyboardputscancode 2a 1f 9f aa
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 39 b9
-VBoxManage controlvm base keyboardputscancode 39 b9
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 23 a3
-VBoxManage controlvm base keyboardputscancode 23 a3
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 18 98
-VBoxManage controlvm base keyboardputscancode 18 98
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1f 9f
-VBoxManage controlvm base keyboardputscancode 1f 9f
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 14 94
-VBoxManage controlvm base keyboardputscancode 14 94
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 31 b1
-VBoxManage controlvm base keyboardputscancode 31 b1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1e 9e
-VBoxManage controlvm base keyboardputscancode 1e 9e
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 32 b2
-VBoxManage controlvm base keyboardputscancode 32 b2
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 0d 8d
-VBoxManage controlvm base keyboardputscancode 0d 8d
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 18 98
-VBoxManage controlvm base keyboardputscancode 18 98
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1f 9f
-VBoxManage controlvm base keyboardputscancode 1f 9f
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 30 b0
-VBoxManage controlvm base keyboardputscancode 30 b0
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1e 9e
-VBoxManage controlvm base keyboardputscancode 1e 9e
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1f 9f
-VBoxManage controlvm base keyboardputscancode 1f 9f
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 23 a3
-VBoxManage controlvm base keyboardputscancode 23 a3
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 39 b9
-VBoxManage controlvm base keyboardputscancode 39 b9
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 21 a1
-VBoxManage controlvm base keyboardputscancode 21 a1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 30 b0
-VBoxManage controlvm base keyboardputscancode 30 b0
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 0d 8d
-VBoxManage controlvm base keyboardputscancode 0d 8d
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 21 a1
-VBoxManage controlvm base keyboardputscancode 21 a1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1e 9e
-VBoxManage controlvm base keyboardputscancode 1e 9e
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 26 a6
-VBoxManage controlvm base keyboardputscancode 26 a6
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1f 9f
-VBoxManage controlvm base keyboardputscancode 1f 9f
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 39 b9
-VBoxManage controlvm base keyboardputscancode 39 b9
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 20 a0
-VBoxManage controlvm base keyboardputscancode 20 a0
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 30 b0
-VBoxManage controlvm base keyboardputscancode 30 b0
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 2e ae
-VBoxManage controlvm base keyboardputscancode 2e ae
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 18 98
-VBoxManage controlvm base keyboardputscancode 18 98
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 31 b1
-VBoxManage controlvm base keyboardputscancode 31 b1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 21 a1
-VBoxManage controlvm base keyboardputscancode 21 a1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 35 b5
-VBoxManage controlvm base keyboardputscancode 35 b5
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 21 a1
-VBoxManage controlvm base keyboardputscancode 21 a1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 13 93
-VBoxManage controlvm base keyboardputscancode 13 93
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 18 98
-VBoxManage controlvm base keyboardputscancode 18 98
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 31 b1
-VBoxManage controlvm base keyboardputscancode 31 b1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 14 94
-VBoxManage controlvm base keyboardputscancode 14 94
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 31 b1
-VBoxManage controlvm base keyboardputscancode 31 b1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 20 a0
-VBoxManage controlvm base keyboardputscancode 20 a0
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 0d 8d
-VBoxManage controlvm base keyboardputscancode 0d 8d
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 31 b1
-VBoxManage controlvm base keyboardputscancode 31 b1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 18 98
-VBoxManage controlvm base keyboardputscancode 18 98
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 31 b1
-VBoxManage controlvm base keyboardputscancode 31 b1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 17 97
-VBoxManage controlvm base keyboardputscancode 17 97
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 31 b1
-VBoxManage controlvm base keyboardputscancode 31 b1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 14 94
-VBoxManage controlvm base keyboardputscancode 14 94
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 13 93
-VBoxManage controlvm base keyboardputscancode 13 93
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1e 9e
-VBoxManage controlvm base keyboardputscancode 1e 9e
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 2e ae
-VBoxManage controlvm base keyboardputscancode 2e ae
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 14 94
-VBoxManage controlvm base keyboardputscancode 14 94
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 17 97
-VBoxManage controlvm base keyboardputscancode 17 97
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 2f af
-VBoxManage controlvm base keyboardputscancode 2f af
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 39 b9
-VBoxManage controlvm base keyboardputscancode 39 b9
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 25 a5
-VBoxManage controlvm base keyboardputscancode 25 a5
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 15 95
-VBoxManage controlvm base keyboardputscancode 15 95
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 30 b0
-VBoxManage controlvm base keyboardputscancode 30 b0
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 18 98
-VBoxManage controlvm base keyboardputscancode 18 98
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1e 9e
-VBoxManage controlvm base keyboardputscancode 1e 9e
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 13 93
-VBoxManage controlvm base keyboardputscancode 13 93
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 20 a0
-VBoxManage controlvm base keyboardputscancode 20 a0
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 0c 8c
-VBoxManage controlvm base keyboardputscancode 0c 8c
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 2e ae
-VBoxManage controlvm base keyboardputscancode 2e ae
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 18 98
-VBoxManage controlvm base keyboardputscancode 18 98
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 31 b1
-VBoxManage controlvm base keyboardputscancode 31 b1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 21 a1
-VBoxManage controlvm base keyboardputscancode 21 a1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 17 97
-VBoxManage controlvm base keyboardputscancode 17 97
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 22 a2
-VBoxManage controlvm base keyboardputscancode 22 a2
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 16 96
-VBoxManage controlvm base keyboardputscancode 16 96
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 13 93
-VBoxManage controlvm base keyboardputscancode 13 93
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1e 9e
-VBoxManage controlvm base keyboardputscancode 1e 9e
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 14 94
-VBoxManage controlvm base keyboardputscancode 14 94
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 17 97
-VBoxManage controlvm base keyboardputscancode 17 97
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 18 98
-VBoxManage controlvm base keyboardputscancode 18 98
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 31 b1
-VBoxManage controlvm base keyboardputscancode 31 b1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 35 b5
-VBoxManage controlvm base keyboardputscancode 35 b5
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 32 b2
-VBoxManage controlvm base keyboardputscancode 32 b2
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 18 98
-VBoxManage controlvm base keyboardputscancode 18 98
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 20 a0
-VBoxManage controlvm base keyboardputscancode 20 a0
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 26 a6
-VBoxManage controlvm base keyboardputscancode 26 a6
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 2e ae
-VBoxManage controlvm base keyboardputscancode 2e ae
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 18 98
-VBoxManage controlvm base keyboardputscancode 18 98
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 20 a0
-VBoxManage controlvm base keyboardputscancode 20 a0
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 0d 8d
-VBoxManage controlvm base keyboardputscancode 0d 8d
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 2a 1f 9f aa
-VBoxManage controlvm base keyboardputscancode 2a 1f 9f aa
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 2a 25 a5 aa
-VBoxManage controlvm base keyboardputscancode 2a 25 a5 aa
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 2a 17 97 aa
-VBoxManage controlvm base keyboardputscancode 2a 17 97 aa
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 2a 19 99 aa
-VBoxManage controlvm base keyboardputscancode 2a 19 99 aa
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 39 b9
-VBoxManage controlvm base keyboardputscancode 39 b9
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 17 97
-VBoxManage controlvm base keyboardputscancode 17 97
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 31 b1
-VBoxManage controlvm base keyboardputscancode 31 b1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 17 97
-VBoxManage controlvm base keyboardputscancode 17 97
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 14 94
-VBoxManage controlvm base keyboardputscancode 14 94
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 13 93
-VBoxManage controlvm base keyboardputscancode 13 93
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 20 a0
-VBoxManage controlvm base keyboardputscancode 20 a0
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 0d 8d
-VBoxManage controlvm base keyboardputscancode 0d 8d
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 35 b5
-VBoxManage controlvm base keyboardputscancode 35 b5
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 17 97
-VBoxManage controlvm base keyboardputscancode 17 97
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 31 b1
-VBoxManage controlvm base keyboardputscancode 31 b1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1f 9f
-VBoxManage controlvm base keyboardputscancode 1f 9f
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 14 94
-VBoxManage controlvm base keyboardputscancode 14 94
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1e 9e
-VBoxManage controlvm base keyboardputscancode 1e 9e
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 26 a6
-VBoxManage controlvm base keyboardputscancode 26 a6
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 26 a6
-VBoxManage controlvm base keyboardputscancode 26 a6
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 35 b5
-VBoxManage controlvm base keyboardputscancode 35 b5
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 17 97
-VBoxManage controlvm base keyboardputscancode 17 97
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 31 b1
-VBoxManage controlvm base keyboardputscancode 31 b1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 17 97
-VBoxManage controlvm base keyboardputscancode 17 97
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 14 94
-VBoxManage controlvm base keyboardputscancode 14 94
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 13 93
-VBoxManage controlvm base keyboardputscancode 13 93
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 20 a0
-VBoxManage controlvm base keyboardputscancode 20 a0
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 34 b4
-VBoxManage controlvm base keyboardputscancode 34 b4
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 22 a2
-VBoxManage controlvm base keyboardputscancode 22 a2
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 2c ac
-VBoxManage controlvm base keyboardputscancode 2c ac
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 39 b9
-VBoxManage controlvm base keyboardputscancode 39 b9
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 2e ae
-VBoxManage controlvm base keyboardputscancode 2e ae
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 18 98
-VBoxManage controlvm base keyboardputscancode 18 98
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 31 b1
-VBoxManage controlvm base keyboardputscancode 31 b1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1f 9f
-VBoxManage controlvm base keyboardputscancode 1f 9f
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 18 98
-VBoxManage controlvm base keyboardputscancode 18 98
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 26 a6
-VBoxManage controlvm base keyboardputscancode 26 a6
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 0c 8c
-VBoxManage controlvm base keyboardputscancode 0c 8c
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1f 9f
-VBoxManage controlvm base keyboardputscancode 1f 9f
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 14 94
-VBoxManage controlvm base keyboardputscancode 14 94
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 16 96
-VBoxManage controlvm base keyboardputscancode 16 96
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 19 99
-VBoxManage controlvm base keyboardputscancode 19 99
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 35 b5
-VBoxManage controlvm base keyboardputscancode 35 b5
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1e 9e
-VBoxManage controlvm base keyboardputscancode 1e 9e
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1f 9f
-VBoxManage controlvm base keyboardputscancode 1f 9f
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 25 a5
-VBoxManage controlvm base keyboardputscancode 25 a5
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 2a 0c 8c aa
-VBoxManage controlvm base keyboardputscancode 2a 0c 8c aa
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 20 a0
-VBoxManage controlvm base keyboardputscancode 20 a0
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 14 94
-VBoxManage controlvm base keyboardputscancode 14 94
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 2e ae
-VBoxManage controlvm base keyboardputscancode 2e ae
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 14 94
-VBoxManage controlvm base keyboardputscancode 14 94
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 0d 8d
-VBoxManage controlvm base keyboardputscancode 0d 8d
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 21 a1
-VBoxManage controlvm base keyboardputscancode 21 a1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1e 9e
-VBoxManage controlvm base keyboardputscancode 1e 9e
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 26 a6
-VBoxManage controlvm base keyboardputscancode 26 a6
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1f 9f
-VBoxManage controlvm base keyboardputscancode 1f 9f
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 12 92
-VBoxManage controlvm base keyboardputscancode 12 92
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage controlvm base keyboardputscancode 1c 9c
-VBoxManage controlvm base keyboardputscancode 1c 9c
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO %time% Waiting for autostart files to execute.
-CALL :wait_auto
-ECHO %time% All autostart files executed.
-ECHO %time% Waiting for VM base to power off.
-CALL :wait_poweroff base
-ECHO %time% VM base powered off.
-ECHO VBoxManage storageattach base --storagectl SATA --port 0 --device 0 --type hdd --medium none
-VBoxManage storageattach base --storagectl SATA --port 0 --device 0 --type hdd --medium none
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-TIMEOUT /T 1 /NOBREAK
-ECHO VBoxManage unregistervm base --delete
-VBoxManage unregistervm base --delete
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyhd %IMGDIR%\tmp-disk.vdi --compact
-VBoxManage modifyhd %IMGDIR%\tmp-disk.vdi --compact
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage closemedium disk %IMGDIR%\tmp-disk.vdi
-VBoxManage closemedium disk %IMGDIR%\tmp-disk.vdi
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-MOVE /y %IMGDIR%\tmp-disk.vdi %IMGDIR%\base-vbadd-ubuntu-14.04-server-amd64.vdi
-ECHO.
-ECHO %time% Batch script seems to have succeeded.
-ECHO.
-
-GOTO :terminate
-
-REM Note: vbm_error falls through to terminate
-:vbm_error
-ECHO.
-ECHO %time% VBoxManage returned with an error. Aborting.
-ECHO.
-
-:terminate
-ENDLOCAL
-PAUSE
-EXIT
-GOTO :eof
-
-REM ============================================================================
-REM
-REM End of program, function definitions follow
-REM
-REM ============================================================================
-:wait_auto
-IF EXIST %STATUSDIR%\done (
-    DEL %STATUSDIR%\done
-    GOTO :eof
-)
-IF EXIST %STATUSDIR%\error (
-    ECHO.
-    ECHO %time% ERROR Script returned error:
-    ECHO.
-    TYPE %STATUSDIR%\error
-    ECHO.
-    ECHO %time% Aborting.
-    ECHO.
-    DEL %STATUSDIR%\error
-    GOTO :terminate
-)
-TIMEOUT /T 5 /NOBREAK
-GOTO :wait_auto
-REM - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-:wait_poweroff
-VBoxManage showvminfo %~1 --machinereadable|findstr poweroff
-IF %errorlevel% EQU 0 GOTO :eof
-TIMEOUT /T 2 /NOBREAK
-GOTO :wait_poweroff
-REM - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-:vm_exists
-VBoxManage list vms|findstr %~1
-IF %errorlevel% NEQ 0 GOTO :eof
-ECHO.
-ECHO %time% VM %~1 already exists. Aborting.
-ECHO.
-GOTO :terminate
-REM - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-REM vim: set ai ts=4 sw=4 et ft=dosbatch:
-
diff --git a/labs/wbatch/create_compute_node.bat b/labs/wbatch/create_compute_node.bat
deleted file mode 100644
index 8a3c27d4..00000000
--- a/labs/wbatch/create_compute_node.bat
+++ /dev/null
@@ -1,293 +0,0 @@
-@ECHO OFF
-
-REM This is an automatically generated Windows batch file. It creates the
-REM compute VM for an OpenStack training-labs setup.
-
-SETLOCAL ENABLEDELAYEDEXPANSION
-
-ECHO.
-ECHO OpenStack labs for VirtualBox on Windows
-ECHO Generated by osbash
-ECHO.
-ECHO Create compute VM
-ECHO.
-
-REM vim: set ai ts=4 sw=4 et ft=dosbatch:
-
-REM VBoxManage is not in PATH, but this is a good guess
-IF EXIST %ProgramFiles%\Oracle\VirtualBox\VBoxManage.exe (
-    SET PATH=%PATH%;%ProgramFiles%\Oracle\VirtualBox
-    ECHO.
-    ECHO %time% Found %ProgramFiles%\Oracle\VirtualBox\VBoxManage.exe
-    ECHO.
-    GOTO :vbm_found
-)
-
-ECHO.
-ECHO %time% Searching %SystemDrive% for VBoxManage, this may take a while
-ECHO.
-FOR /r %SystemDrive% %%a IN (*) DO (
-    IF "%%~nxa"=="VBoxManage.exe" (
-        SET PATH=%PATH%;%%~dpa
-        ECHO %time% Found %%~dpnxa
-        GOTO :vbm_found
-    )
-)
-
-ECHO.
-ECHO %time% Cannot find VBoxManage.exe (part of VirtualBox) on %SystemDrive%.
-ECHO %time% Program stops.
-ECHO.
-GOTO :terminate
-
-:vbm_found
-
-REM vim: set ai ts=4 sw=4 et ft=dosbatch:
-
-SET BATDIR=%~dp0
-PUSHD %BATDIR%..
-SET TOPDIR=%cd%
-POPD
-
-SET AUTODIR=%TOPDIR%\autostart
-SET IMGDIR=%TOPDIR%\img
-SET LOGDIR=%TOPDIR%\log
-SET STATUSDIR=%TOPDIR%\log\status
-SET SHAREDIR=%TOPDIR%
-
-ECHO %time% Creating directories (if needed)
-IF NOT EXIST %AUTODIR% mkdir %AUTODIR%
-IF NOT EXIST %IMGDIR% mkdir %IMGDIR%
-IF NOT EXIST %LOGDIR% mkdir %LOGDIR%
-IF NOT EXIST %SHAREDIR% mkdir %SHAREDIR%
-
-REM vim: set ai ts=4 sw=4 et ft=dosbatch:
-
-ECHO %time% Cleaning up autostart and log directories
-DEL /S /Q %AUTODIR%
-DEL /S /Q %LOGDIR%
-
-ECHO %time% Looking for %IMGDIR%\base-vbadd-ubuntu-14.04-server-amd64.vdi
-IF EXIST %IMGDIR%\base-vbadd-ubuntu-14.04-server-amd64.vdi goto got_base_disk
-ECHO.
-ECHO base-vbadd-ubuntu-14.04-server-amd64.vdi not found in %IMGDIR%.
-ECHO.
-ECHO You need to build a base disk before you can create node VMs.
-ECHO.
-goto :terminate
-
-:got_base_disk
-ECHO.
-ECHO %time% Found %IMGDIR%\base-vbadd-ubuntu-14.04-server-amd64.vdi
-ECHO.
-ECHO %time% Initialization done. Hit any key to continue.
-ECHO.
-PAUSE
-
-REM vim: set ai ts=4 sw=4 et ft=dosbatch:
-
-CALL :vm_exists compute
-ECHO VBoxManage createvm --name compute --register --ostype Ubuntu_64 --groups /oslabs
-VBoxManage createvm --name compute --register --ostype Ubuntu_64 --groups /oslabs
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm compute --rtcuseutc on
-VBoxManage modifyvm compute --rtcuseutc on
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm compute --biosbootmenu disabled
-VBoxManage modifyvm compute --biosbootmenu disabled
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm compute --largepages on
-VBoxManage modifyvm compute --largepages on
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm compute --boot1 disk
-VBoxManage modifyvm compute --boot1 disk
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage storagectl compute --name SATA --add sata --portcount 1
-VBoxManage storagectl compute --name SATA --add sata --portcount 1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage storagectl compute --name SATA --hostiocache on
-VBoxManage storagectl compute --name SATA --hostiocache on
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage storagectl compute --name IDE --add ide
-VBoxManage storagectl compute --name IDE --add ide
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm compute --memory 1024
-VBoxManage modifyvm compute --memory 1024
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm compute --cpus 2
-VBoxManage modifyvm compute --cpus 2
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm compute --nictype1 virtio --nic1 nat
-VBoxManage modifyvm compute --nictype1 virtio --nic1 nat
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm compute --nictype2 virtio --nic2 hostonly --hostonlyadapter2 "VirtualBox Host-Only Ethernet Adapter" --nicpromisc2 allow-all
-VBoxManage modifyvm compute --nictype2 virtio --nic2 hostonly --hostonlyadapter2 "VirtualBox Host-Only Ethernet Adapter" --nicpromisc2 allow-all
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm compute --nictype3 virtio --nic3 hostonly --hostonlyadapter3 "VirtualBox Host-Only Ethernet Adapter #2" --nicpromisc3 allow-all
-VBoxManage modifyvm compute --nictype3 virtio --nic3 hostonly --hostonlyadapter3 "VirtualBox Host-Only Ethernet Adapter #2" --nicpromisc3 allow-all
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm compute --natpf1 ssh,tcp,127.0.0.1,2232,,22
-VBoxManage modifyvm compute --natpf1 ssh,tcp,127.0.0.1,2232,,22
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage sharedfolder add compute --name osbash --hostpath %SHAREDIR%
-VBoxManage sharedfolder add compute --name osbash --hostpath %SHAREDIR%
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyhd --type multiattach %IMGDIR%\base-vbadd-ubuntu-14.04-server-amd64.vdi
-VBoxManage modifyhd --type multiattach %IMGDIR%\base-vbadd-ubuntu-14.04-server-amd64.vdi
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage storageattach compute --storagectl SATA --port 0 --device 0 --type hdd --medium %IMGDIR%\base-vbadd-ubuntu-14.04-server-amd64.vdi
-VBoxManage storageattach compute --storagectl SATA --port 0 --device 0 --type hdd --medium %IMGDIR%\base-vbadd-ubuntu-14.04-server-amd64.vdi
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-COPY %TOPDIR%\scripts\osbash\init_xxx_node.sh %AUTODIR%\00_init_compute_node.sh
-COPY %TOPDIR%\scripts\etc_hosts.sh %AUTODIR%\01_etc_hosts.sh
-COPY %TOPDIR%\scripts\osbash\enable_vagrant_ssh_keys.sh %AUTODIR%\02_enable_vagrant_ssh_keys.sh
-COPY %TOPDIR%\scripts\osbash\shutdown.sh %AUTODIR%\03_shutdown.sh
-ECHO VBoxManage startvm compute --type headless
-VBoxManage startvm compute --type headless
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO %time% Waiting for autostart files to execute.
-CALL :wait_auto
-ECHO %time% All autostart files executed.
-ECHO %time% Waiting for VM compute to power off.
-CALL :wait_poweroff compute
-ECHO %time% VM compute powered off.
-ECHO VBoxManage snapshot compute take network_configured
-VBoxManage snapshot compute take network_configured
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-TIMEOUT /T 1 /NOBREAK
-COPY %TOPDIR%\scripts\setup_nova_compute.sh %AUTODIR%\00_setup_nova_compute.sh
-COPY %TOPDIR%\scripts\osbash\shutdown.sh %AUTODIR%\01_shutdown.sh
-ECHO VBoxManage startvm compute --type headless
-VBoxManage startvm compute --type headless
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO %time% Waiting for autostart files to execute.
-CALL :wait_auto
-ECHO %time% All autostart files executed.
-ECHO %time% Waiting for VM compute to power off.
-CALL :wait_poweroff compute
-ECHO %time% VM compute powered off.
-ECHO VBoxManage snapshot compute take nova-compute_installed
-VBoxManage snapshot compute take nova-compute_installed
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-TIMEOUT /T 1 /NOBREAK
-COPY %TOPDIR%\scripts\setup_neutron_compute.sh %AUTODIR%\00_setup_neutron_compute.sh
-COPY %TOPDIR%\scripts\setup_cinder_volumes.sh %AUTODIR%\01_setup_cinder_volumes.sh
-COPY %TOPDIR%\scripts\osbash\shutdown.sh %AUTODIR%\02_shutdown.sh
-ECHO VBoxManage startvm compute --type headless
-VBoxManage startvm compute --type headless
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO %time% Waiting for autostart files to execute.
-CALL :wait_auto
-ECHO %time% All autostart files executed.
-ECHO %time% Waiting for VM compute to power off.
-CALL :wait_poweroff compute
-ECHO %time% VM compute powered off.
-ECHO VBoxManage snapshot compute take compute_node_installed
-VBoxManage snapshot compute take compute_node_installed
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-TIMEOUT /T 1 /NOBREAK
-COPY %TOPDIR%\scripts\shutdown_controller.sh %AUTODIR%\00_shutdown_controller.sh
-ECHO VBoxManage startvm compute --type headless
-VBoxManage startvm compute --type headless
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO %time% Waiting for autostart files to execute.
-CALL :wait_auto
-ECHO %time% All autostart files executed.
-ECHO %time% Waiting for VM controller to power off.
-CALL :wait_poweroff controller
-ECHO %time% VM controller powered off.
-ECHO VBoxManage snapshot controller take compute_node_installed
-VBoxManage snapshot controller take compute_node_installed
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-TIMEOUT /T 1 /NOBREAK
-ECHO VBoxManage startvm controller --type headless
-VBoxManage startvm controller --type headless
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO %time% Waiting for autostart files to execute.
-CALL :wait_auto
-ECHO %time% All autostart files executed.
-ECHO.
-ECHO %time% Batch script seems to have succeeded.
-ECHO.
-
-GOTO :terminate
-
-REM Note: vbm_error falls through to terminate
-:vbm_error
-ECHO.
-ECHO %time% VBoxManage returned with an error. Aborting.
-ECHO.
-
-:terminate
-ENDLOCAL
-PAUSE
-EXIT
-GOTO :eof
-
-REM ============================================================================
-REM
-REM End of program, function definitions follow
-REM
-REM ============================================================================
-:wait_auto
-IF EXIST %STATUSDIR%\done (
-    DEL %STATUSDIR%\done
-    GOTO :eof
-)
-IF EXIST %STATUSDIR%\error (
-    ECHO.
-    ECHO %time% ERROR Script returned error:
-    ECHO.
-    TYPE %STATUSDIR%\error
-    ECHO.
-    ECHO %time% Aborting.
-    ECHO.
-    DEL %STATUSDIR%\error
-    GOTO :terminate
-)
-TIMEOUT /T 5 /NOBREAK
-GOTO :wait_auto
-REM - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-:wait_poweroff
-VBoxManage showvminfo %~1 --machinereadable|findstr poweroff
-IF %errorlevel% EQU 0 GOTO :eof
-TIMEOUT /T 2 /NOBREAK
-GOTO :wait_poweroff
-REM - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-:vm_exists
-VBoxManage list vms|findstr %~1
-IF %errorlevel% NEQ 0 GOTO :eof
-ECHO.
-ECHO %time% VM %~1 already exists. Aborting.
-ECHO.
-GOTO :terminate
-REM - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-REM vim: set ai ts=4 sw=4 et ft=dosbatch:
-
diff --git a/labs/wbatch/create_controller_node.bat b/labs/wbatch/create_controller_node.bat
deleted file mode 100644
index 91424603..00000000
--- a/labs/wbatch/create_controller_node.bat
+++ /dev/null
@@ -1,385 +0,0 @@
-@ECHO OFF
-
-REM This is an automatically generated Windows batch file. It creates the
-REM controller VM for an OpenStack training-labs setup.
-
-SETLOCAL ENABLEDELAYEDEXPANSION
-
-ECHO.
-ECHO OpenStack labs for VirtualBox on Windows
-ECHO Generated by osbash
-ECHO.
-ECHO Create controller VM
-ECHO.
-
-REM vim: set ai ts=4 sw=4 et ft=dosbatch:
-
-REM VBoxManage is not in PATH, but this is a good guess
-IF EXIST %ProgramFiles%\Oracle\VirtualBox\VBoxManage.exe (
-    SET PATH=%PATH%;%ProgramFiles%\Oracle\VirtualBox
-    ECHO.
-    ECHO %time% Found %ProgramFiles%\Oracle\VirtualBox\VBoxManage.exe
-    ECHO.
-    GOTO :vbm_found
-)
-
-ECHO.
-ECHO %time% Searching %SystemDrive% for VBoxManage, this may take a while
-ECHO.
-FOR /r %SystemDrive% %%a IN (*) DO (
-    IF "%%~nxa"=="VBoxManage.exe" (
-        SET PATH=%PATH%;%%~dpa
-        ECHO %time% Found %%~dpnxa
-        GOTO :vbm_found
-    )
-)
-
-ECHO.
-ECHO %time% Cannot find VBoxManage.exe (part of VirtualBox) on %SystemDrive%.
-ECHO %time% Program stops.
-ECHO.
-GOTO :terminate
-
-:vbm_found
-
-REM vim: set ai ts=4 sw=4 et ft=dosbatch:
-
-SET BATDIR=%~dp0
-PUSHD %BATDIR%..
-SET TOPDIR=%cd%
-POPD
-
-SET AUTODIR=%TOPDIR%\autostart
-SET IMGDIR=%TOPDIR%\img
-SET LOGDIR=%TOPDIR%\log
-SET STATUSDIR=%TOPDIR%\log\status
-SET SHAREDIR=%TOPDIR%
-
-ECHO %time% Creating directories (if needed)
-IF NOT EXIST %AUTODIR% mkdir %AUTODIR%
-IF NOT EXIST %IMGDIR% mkdir %IMGDIR%
-IF NOT EXIST %LOGDIR% mkdir %LOGDIR%
-IF NOT EXIST %SHAREDIR% mkdir %SHAREDIR%
-
-REM vim: set ai ts=4 sw=4 et ft=dosbatch:
-
-ECHO %time% Cleaning up autostart and log directories
-DEL /S /Q %AUTODIR%
-DEL /S /Q %LOGDIR%
-
-ECHO %time% Looking for %IMGDIR%\base-vbadd-ubuntu-14.04-server-amd64.vdi
-IF EXIST %IMGDIR%\base-vbadd-ubuntu-14.04-server-amd64.vdi goto got_base_disk
-ECHO.
-ECHO base-vbadd-ubuntu-14.04-server-amd64.vdi not found in %IMGDIR%.
-ECHO.
-ECHO You need to build a base disk before you can create node VMs.
-ECHO.
-goto :terminate
-
-:got_base_disk
-ECHO.
-ECHO %time% Found %IMGDIR%\base-vbadd-ubuntu-14.04-server-amd64.vdi
-ECHO.
-ECHO %time% Initialization done. Hit any key to continue.
-ECHO.
-PAUSE
-
-REM vim: set ai ts=4 sw=4 et ft=dosbatch:
-
-CALL :vm_exists controller
-ECHO VBoxManage createvm --name controller --register --ostype Ubuntu_64 --groups /oslabs
-VBoxManage createvm --name controller --register --ostype Ubuntu_64 --groups /oslabs
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm controller --rtcuseutc on
-VBoxManage modifyvm controller --rtcuseutc on
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm controller --biosbootmenu disabled
-VBoxManage modifyvm controller --biosbootmenu disabled
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm controller --largepages on
-VBoxManage modifyvm controller --largepages on
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm controller --boot1 disk
-VBoxManage modifyvm controller --boot1 disk
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage storagectl controller --name SATA --add sata --portcount 1
-VBoxManage storagectl controller --name SATA --add sata --portcount 1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage storagectl controller --name SATA --hostiocache on
-VBoxManage storagectl controller --name SATA --hostiocache on
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage storagectl controller --name IDE --add ide
-VBoxManage storagectl controller --name IDE --add ide
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm controller --memory 1024
-VBoxManage modifyvm controller --memory 1024
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm controller --cpus 1
-VBoxManage modifyvm controller --cpus 1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm controller --nictype1 virtio --nic1 nat
-VBoxManage modifyvm controller --nictype1 virtio --nic1 nat
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm controller --nictype2 virtio --nic2 hostonly --hostonlyadapter2 "VirtualBox Host-Only Ethernet Adapter" --nicpromisc2 allow-all
-VBoxManage modifyvm controller --nictype2 virtio --nic2 hostonly --hostonlyadapter2 "VirtualBox Host-Only Ethernet Adapter" --nicpromisc2 allow-all
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm controller --nictype3 virtio --nic3 hostonly --hostonlyadapter3 "VirtualBox Host-Only Ethernet Adapter #3" --nicpromisc3 allow-all
-VBoxManage modifyvm controller --nictype3 virtio --nic3 hostonly --hostonlyadapter3 "VirtualBox Host-Only Ethernet Adapter #3" --nicpromisc3 allow-all
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm controller --natpf1 ssh,tcp,127.0.0.1,2230,,22
-VBoxManage modifyvm controller --natpf1 ssh,tcp,127.0.0.1,2230,,22
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm controller --natpf1 http,tcp,127.0.0.1,8888,,80
-VBoxManage modifyvm controller --natpf1 http,tcp,127.0.0.1,8888,,80
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage sharedfolder add controller --name osbash --hostpath %SHAREDIR%
-VBoxManage sharedfolder add controller --name osbash --hostpath %SHAREDIR%
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyhd --type multiattach %IMGDIR%\base-vbadd-ubuntu-14.04-server-amd64.vdi
-VBoxManage modifyhd --type multiattach %IMGDIR%\base-vbadd-ubuntu-14.04-server-amd64.vdi
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage storageattach controller --storagectl SATA --port 0 --device 0 --type hdd --medium %IMGDIR%\base-vbadd-ubuntu-14.04-server-amd64.vdi
-VBoxManage storageattach controller --storagectl SATA --port 0 --device 0 --type hdd --medium %IMGDIR%\base-vbadd-ubuntu-14.04-server-amd64.vdi
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-COPY %TOPDIR%\scripts\osbash\init_xxx_node.sh %AUTODIR%\00_init_controller_node.sh
-COPY %TOPDIR%\scripts\etc_hosts.sh %AUTODIR%\01_etc_hosts.sh
-COPY %TOPDIR%\scripts\osbash\enable_vagrant_ssh_keys.sh %AUTODIR%\02_enable_vagrant_ssh_keys.sh
-COPY %TOPDIR%\scripts\osbash\shutdown.sh %AUTODIR%\03_shutdown.sh
-ECHO VBoxManage startvm controller --type headless
-VBoxManage startvm controller --type headless
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO %time% Waiting for autostart files to execute.
-CALL :wait_auto
-ECHO %time% All autostart files executed.
-ECHO %time% Waiting for VM controller to power off.
-CALL :wait_poweroff controller
-ECHO %time% VM controller powered off.
-ECHO VBoxManage snapshot controller take network_configured
-VBoxManage snapshot controller take network_configured
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-TIMEOUT /T 1 /NOBREAK
-COPY %TOPDIR%\scripts\apt_install_mysql.sh %AUTODIR%\00_apt_install_mysql.sh
-COPY %TOPDIR%\scripts\install_rabbitmq.sh %AUTODIR%\01_install_rabbitmq.sh
-COPY %TOPDIR%\scripts\osbash\shutdown.sh %AUTODIR%\02_shutdown.sh
-ECHO VBoxManage startvm controller --type headless
-VBoxManage startvm controller --type headless
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO %time% Waiting for autostart files to execute.
-CALL :wait_auto
-ECHO %time% All autostart files executed.
-ECHO %time% Waiting for VM controller to power off.
-CALL :wait_poweroff controller
-ECHO %time% VM controller powered off.
-ECHO VBoxManage snapshot controller take pre-openstack_installed
-VBoxManage snapshot controller take pre-openstack_installed
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-TIMEOUT /T 1 /NOBREAK
-COPY %TOPDIR%\scripts\setup_keystone.sh %AUTODIR%\00_setup_keystone.sh
-COPY %TOPDIR%\scripts\osbash\shutdown.sh %AUTODIR%\01_shutdown.sh
-ECHO VBoxManage startvm controller --type headless
-VBoxManage startvm controller --type headless
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO %time% Waiting for autostart files to execute.
-CALL :wait_auto
-ECHO %time% All autostart files executed.
-ECHO %time% Waiting for VM controller to power off.
-CALL :wait_poweroff controller
-ECHO %time% VM controller powered off.
-ECHO VBoxManage snapshot controller take keystone_installed
-VBoxManage snapshot controller take keystone_installed
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-TIMEOUT /T 1 /NOBREAK
-COPY %TOPDIR%\scripts\setup_glance.sh %AUTODIR%\00_setup_glance.sh
-COPY %TOPDIR%\scripts\osbash\shutdown.sh %AUTODIR%\01_shutdown.sh
-ECHO VBoxManage startvm controller --type headless
-VBoxManage startvm controller --type headless
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO %time% Waiting for autostart files to execute.
-CALL :wait_auto
-ECHO %time% All autostart files executed.
-ECHO %time% Waiting for VM controller to power off.
-CALL :wait_poweroff controller
-ECHO %time% VM controller powered off.
-ECHO VBoxManage snapshot controller take glance_installed
-VBoxManage snapshot controller take glance_installed
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-TIMEOUT /T 1 /NOBREAK
-COPY %TOPDIR%\scripts\setup_nova_controller.sh %AUTODIR%\00_setup_nova_controller.sh
-COPY %TOPDIR%\scripts\osbash\shutdown.sh %AUTODIR%\01_shutdown.sh
-ECHO VBoxManage startvm controller --type headless
-VBoxManage startvm controller --type headless
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO %time% Waiting for autostart files to execute.
-CALL :wait_auto
-ECHO %time% All autostart files executed.
-ECHO %time% Waiting for VM controller to power off.
-CALL :wait_poweroff controller
-ECHO %time% VM controller powered off.
-ECHO VBoxManage snapshot controller take nova-controller_installed
-VBoxManage snapshot controller take nova-controller_installed
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-TIMEOUT /T 1 /NOBREAK
-COPY %TOPDIR%\scripts\setup_neutron_controller.sh %AUTODIR%\00_setup_neutron_controller.sh
-COPY %TOPDIR%\scripts\osbash\shutdown.sh %AUTODIR%\01_shutdown.sh
-ECHO VBoxManage startvm controller --type headless
-VBoxManage startvm controller --type headless
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO %time% Waiting for autostart files to execute.
-CALL :wait_auto
-ECHO %time% All autostart files executed.
-ECHO %time% Waiting for VM controller to power off.
-CALL :wait_poweroff controller
-ECHO %time% VM controller powered off.
-ECHO VBoxManage snapshot controller take neutron-controller_installed
-VBoxManage snapshot controller take neutron-controller_installed
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-TIMEOUT /T 1 /NOBREAK
-COPY %TOPDIR%\scripts\setup_cinder_controller.sh %AUTODIR%\00_setup_cinder_controller.sh
-COPY %TOPDIR%\scripts\osbash\shutdown.sh %AUTODIR%\01_shutdown.sh
-ECHO VBoxManage startvm controller --type headless
-VBoxManage startvm controller --type headless
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO %time% Waiting for autostart files to execute.
-CALL :wait_auto
-ECHO %time% All autostart files executed.
-ECHO %time% Waiting for VM controller to power off.
-CALL :wait_poweroff controller
-ECHO %time% VM controller powered off.
-ECHO VBoxManage snapshot controller take cinder_installed
-VBoxManage snapshot controller take cinder_installed
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-TIMEOUT /T 1 /NOBREAK
-COPY %TOPDIR%\scripts\setup_horizon.sh %AUTODIR%\00_setup_horizon.sh
-COPY %TOPDIR%\scripts\osbash\shutdown.sh %AUTODIR%\01_shutdown.sh
-ECHO VBoxManage startvm controller --type headless
-VBoxManage startvm controller --type headless
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO %time% Waiting for autostart files to execute.
-CALL :wait_auto
-ECHO %time% All autostart files executed.
-ECHO %time% Waiting for VM controller to power off.
-CALL :wait_poweroff controller
-ECHO %time% VM controller powered off.
-ECHO VBoxManage snapshot controller take horizon_installed
-VBoxManage snapshot controller take horizon_installed
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-TIMEOUT /T 1 /NOBREAK
-COPY %TOPDIR%\scripts\config_external_network.sh %AUTODIR%\00_config_external_network.sh
-COPY %TOPDIR%\scripts\config_demo_user.sh %AUTODIR%\01_config_demo_user.sh
-COPY %TOPDIR%\scripts\config_tenant_network.sh %AUTODIR%\02_config_tenant_network.sh
-COPY %TOPDIR%\scripts\osbash\shutdown.sh %AUTODIR%\03_shutdown.sh
-ECHO VBoxManage startvm controller --type headless
-VBoxManage startvm controller --type headless
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO %time% Waiting for autostart files to execute.
-CALL :wait_auto
-ECHO %time% All autostart files executed.
-ECHO %time% Waiting for VM controller to power off.
-CALL :wait_poweroff controller
-ECHO %time% VM controller powered off.
-ECHO VBoxManage snapshot controller take controller_node_installed
-VBoxManage snapshot controller take controller_node_installed
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-TIMEOUT /T 1 /NOBREAK
-ECHO VBoxManage startvm controller --type headless
-VBoxManage startvm controller --type headless
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO %time% Waiting for autostart files to execute.
-CALL :wait_auto
-ECHO %time% All autostart files executed.
-ECHO.
-ECHO %time% Batch script seems to have succeeded.
-ECHO.
-
-GOTO :terminate
-
-REM Note: vbm_error falls through to terminate
-:vbm_error
-ECHO.
-ECHO %time% VBoxManage returned with an error. Aborting.
-ECHO.
-
-:terminate
-ENDLOCAL
-PAUSE
-EXIT
-GOTO :eof
-
-REM ============================================================================
-REM
-REM End of program, function definitions follow
-REM
-REM ============================================================================
-:wait_auto
-IF EXIST %STATUSDIR%\done (
-    DEL %STATUSDIR%\done
-    GOTO :eof
-)
-IF EXIST %STATUSDIR%\error (
-    ECHO.
-    ECHO %time% ERROR Script returned error:
-    ECHO.
-    TYPE %STATUSDIR%\error
-    ECHO.
-    ECHO %time% Aborting.
-    ECHO.
-    DEL %STATUSDIR%\error
-    GOTO :terminate
-)
-TIMEOUT /T 5 /NOBREAK
-GOTO :wait_auto
-REM - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-:wait_poweroff
-VBoxManage showvminfo %~1 --machinereadable|findstr poweroff
-IF %errorlevel% EQU 0 GOTO :eof
-TIMEOUT /T 2 /NOBREAK
-GOTO :wait_poweroff
-REM - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-:vm_exists
-VBoxManage list vms|findstr %~1
-IF %errorlevel% NEQ 0 GOTO :eof
-ECHO.
-ECHO %time% VM %~1 already exists. Aborting.
-ECHO.
-GOTO :terminate
-REM - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-REM vim: set ai ts=4 sw=4 et ft=dosbatch:
-
diff --git a/labs/wbatch/create_hostnet.bat b/labs/wbatch/create_hostnet.bat
deleted file mode 100644
index ac3af9e3..00000000
--- a/labs/wbatch/create_hostnet.bat
+++ /dev/null
@@ -1,162 +0,0 @@
-@ECHO OFF
-
-REM This is an automatically generated Windows batch file. It creates the
-REM host-only networks for an OpenStack training-labs setup.
-
-SETLOCAL ENABLEDELAYEDEXPANSION
-
-ECHO.
-ECHO OpenStack labs for VirtualBox on Windows
-ECHO Generated by osbash
-ECHO.
-ECHO Create host-only networks
-ECHO.
-
-REM vim: set ai ts=4 sw=4 et ft=dosbatch:
-
-REM Elevate credentials, code courtesy of Matthew Newton
-REM http://blog.mnewton.com/articles/Windows-Installer-Batch-Script-Revisited.html
-REM Check for permissions
->nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
-
-REM If error flag set, we do not have admin.
-if '%errorlevel%' NEQ '0' (
-  echo Requesting administrative privileges...
-  goto UACPrompt
-) else ( goto gotAdmin )
-
-
-:UACPrompt
-  echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
-  echo UAC.ShellExecute "%~s0", "", "", "runas", 1  >> "%temp%\getadmin.vbs"
-
-  "%temp%\getadmin.vbs"
-  REM we are done, exiting recursive call
-  exit /B
-
-:gotAdmin
-  if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
-  echo We have admin privileges, proceeding...
-
-REM vim: set ai ts=4 sw=4 et ft=dosbatch:
-
-REM VBoxManage is not in PATH, but this is a good guess
-IF EXIST %ProgramFiles%\Oracle\VirtualBox\VBoxManage.exe (
-    SET PATH=%PATH%;%ProgramFiles%\Oracle\VirtualBox
-    ECHO.
-    ECHO %time% Found %ProgramFiles%\Oracle\VirtualBox\VBoxManage.exe
-    ECHO.
-    GOTO :vbm_found
-)
-
-ECHO.
-ECHO %time% Searching %SystemDrive% for VBoxManage, this may take a while
-ECHO.
-FOR /r %SystemDrive% %%a IN (*) DO (
-    IF "%%~nxa"=="VBoxManage.exe" (
-        SET PATH=%PATH%;%%~dpa
-        ECHO %time% Found %%~dpnxa
-        GOTO :vbm_found
-    )
-)
-
-ECHO.
-ECHO %time% Cannot find VBoxManage.exe (part of VirtualBox) on %SystemDrive%.
-ECHO %time% Program stops.
-ECHO.
-GOTO :terminate
-
-:vbm_found
-
-REM vim: set ai ts=4 sw=4 et ft=dosbatch:
-
-ECHO.
-ECHO %time% Initialization done. Hit any key to continue.
-ECHO.
-PAUSE
-
-ECHO VBoxManage hostonlyif create
-VBoxManage hostonlyif create
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage hostonlyif ipconfig "VirtualBox Host-Only Ethernet Adapter" --ip 10.10.10.1 --netmask 255.255.255.0
-VBoxManage hostonlyif ipconfig "VirtualBox Host-Only Ethernet Adapter" --ip 10.10.10.1 --netmask 255.255.255.0
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage hostonlyif create
-VBoxManage hostonlyif create
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage hostonlyif ipconfig "VirtualBox Host-Only Ethernet Adapter #2" --ip 10.20.20.1 --netmask 255.255.255.0
-VBoxManage hostonlyif ipconfig "VirtualBox Host-Only Ethernet Adapter #2" --ip 10.20.20.1 --netmask 255.255.255.0
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage hostonlyif create
-VBoxManage hostonlyif create
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage hostonlyif ipconfig "VirtualBox Host-Only Ethernet Adapter #3" --ip 192.168.100.1 --netmask 255.255.255.0
-VBoxManage hostonlyif ipconfig "VirtualBox Host-Only Ethernet Adapter #3" --ip 192.168.100.1 --netmask 255.255.255.0
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-REM vim: set ai ts=4 sw=4 et ft=dosbatch:
-
-ECHO.
-ECHO %time% Batch script seems to have succeeded.
-ECHO.
-
-GOTO :terminate
-
-REM Note: vbm_error falls through to terminate
-:vbm_error
-ECHO.
-ECHO %time% VBoxManage returned with an error. Aborting.
-ECHO.
-
-:terminate
-ENDLOCAL
-PAUSE
-EXIT
-GOTO :eof
-
-REM ============================================================================
-REM
-REM End of program, function definitions follow
-REM
-REM ============================================================================
-:wait_auto
-IF EXIST %STATUSDIR%\done (
-    DEL %STATUSDIR%\done
-    GOTO :eof
-)
-IF EXIST %STATUSDIR%\error (
-    ECHO.
-    ECHO %time% ERROR Script returned error:
-    ECHO.
-    TYPE %STATUSDIR%\error
-    ECHO.
-    ECHO %time% Aborting.
-    ECHO.
-    DEL %STATUSDIR%\error
-    GOTO :terminate
-)
-TIMEOUT /T 5 /NOBREAK
-GOTO :wait_auto
-REM - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-:wait_poweroff
-VBoxManage showvminfo %~1 --machinereadable|findstr poweroff
-IF %errorlevel% EQU 0 GOTO :eof
-TIMEOUT /T 2 /NOBREAK
-GOTO :wait_poweroff
-REM - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-:vm_exists
-VBoxManage list vms|findstr %~1
-IF %errorlevel% NEQ 0 GOTO :eof
-ECHO.
-ECHO %time% VM %~1 already exists. Aborting.
-ECHO.
-GOTO :terminate
-REM - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-REM vim: set ai ts=4 sw=4 et ft=dosbatch:
-
diff --git a/labs/wbatch/create_network_node.bat b/labs/wbatch/create_network_node.bat
deleted file mode 100644
index db7d6b19..00000000
--- a/labs/wbatch/create_network_node.bat
+++ /dev/null
@@ -1,279 +0,0 @@
-@ECHO OFF
-
-REM This is an automatically generated Windows batch file. It creates the
-REM network VM for an OpenStack training-labs setup.
-
-SETLOCAL ENABLEDELAYEDEXPANSION
-
-ECHO.
-ECHO OpenStack labs for VirtualBox on Windows
-ECHO Generated by osbash
-ECHO.
-ECHO Create network VM
-ECHO.
-
-REM vim: set ai ts=4 sw=4 et ft=dosbatch:
-
-REM VBoxManage is not in PATH, but this is a good guess
-IF EXIST %ProgramFiles%\Oracle\VirtualBox\VBoxManage.exe (
-    SET PATH=%PATH%;%ProgramFiles%\Oracle\VirtualBox
-    ECHO.
-    ECHO %time% Found %ProgramFiles%\Oracle\VirtualBox\VBoxManage.exe
-    ECHO.
-    GOTO :vbm_found
-)
-
-ECHO.
-ECHO %time% Searching %SystemDrive% for VBoxManage, this may take a while
-ECHO.
-FOR /r %SystemDrive% %%a IN (*) DO (
-    IF "%%~nxa"=="VBoxManage.exe" (
-        SET PATH=%PATH%;%%~dpa
-        ECHO %time% Found %%~dpnxa
-        GOTO :vbm_found
-    )
-)
-
-ECHO.
-ECHO %time% Cannot find VBoxManage.exe (part of VirtualBox) on %SystemDrive%.
-ECHO %time% Program stops.
-ECHO.
-GOTO :terminate
-
-:vbm_found
-
-REM vim: set ai ts=4 sw=4 et ft=dosbatch:
-
-SET BATDIR=%~dp0
-PUSHD %BATDIR%..
-SET TOPDIR=%cd%
-POPD
-
-SET AUTODIR=%TOPDIR%\autostart
-SET IMGDIR=%TOPDIR%\img
-SET LOGDIR=%TOPDIR%\log
-SET STATUSDIR=%TOPDIR%\log\status
-SET SHAREDIR=%TOPDIR%
-
-ECHO %time% Creating directories (if needed)
-IF NOT EXIST %AUTODIR% mkdir %AUTODIR%
-IF NOT EXIST %IMGDIR% mkdir %IMGDIR%
-IF NOT EXIST %LOGDIR% mkdir %LOGDIR%
-IF NOT EXIST %SHAREDIR% mkdir %SHAREDIR%
-
-REM vim: set ai ts=4 sw=4 et ft=dosbatch:
-
-ECHO %time% Cleaning up autostart and log directories
-DEL /S /Q %AUTODIR%
-DEL /S /Q %LOGDIR%
-
-ECHO %time% Looking for %IMGDIR%\base-vbadd-ubuntu-14.04-server-amd64.vdi
-IF EXIST %IMGDIR%\base-vbadd-ubuntu-14.04-server-amd64.vdi goto got_base_disk
-ECHO.
-ECHO base-vbadd-ubuntu-14.04-server-amd64.vdi not found in %IMGDIR%.
-ECHO.
-ECHO You need to build a base disk before you can create node VMs.
-ECHO.
-goto :terminate
-
-:got_base_disk
-ECHO.
-ECHO %time% Found %IMGDIR%\base-vbadd-ubuntu-14.04-server-amd64.vdi
-ECHO.
-ECHO %time% Initialization done. Hit any key to continue.
-ECHO.
-PAUSE
-
-REM vim: set ai ts=4 sw=4 et ft=dosbatch:
-
-CALL :vm_exists network
-ECHO VBoxManage createvm --name network --register --ostype Ubuntu_64 --groups /oslabs
-VBoxManage createvm --name network --register --ostype Ubuntu_64 --groups /oslabs
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm network --rtcuseutc on
-VBoxManage modifyvm network --rtcuseutc on
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm network --biosbootmenu disabled
-VBoxManage modifyvm network --biosbootmenu disabled
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm network --largepages on
-VBoxManage modifyvm network --largepages on
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm network --boot1 disk
-VBoxManage modifyvm network --boot1 disk
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage storagectl network --name SATA --add sata --portcount 1
-VBoxManage storagectl network --name SATA --add sata --portcount 1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage storagectl network --name SATA --hostiocache on
-VBoxManage storagectl network --name SATA --hostiocache on
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage storagectl network --name IDE --add ide
-VBoxManage storagectl network --name IDE --add ide
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm network --memory 512
-VBoxManage modifyvm network --memory 512
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm network --cpus 1
-VBoxManage modifyvm network --cpus 1
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm network --nictype1 virtio --nic1 nat
-VBoxManage modifyvm network --nictype1 virtio --nic1 nat
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm network --nictype2 virtio --nic2 hostonly --hostonlyadapter2 "VirtualBox Host-Only Ethernet Adapter" --nicpromisc2 allow-all
-VBoxManage modifyvm network --nictype2 virtio --nic2 hostonly --hostonlyadapter2 "VirtualBox Host-Only Ethernet Adapter" --nicpromisc2 allow-all
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm network --nictype3 virtio --nic3 hostonly --hostonlyadapter3 "VirtualBox Host-Only Ethernet Adapter #2" --nicpromisc3 allow-all
-VBoxManage modifyvm network --nictype3 virtio --nic3 hostonly --hostonlyadapter3 "VirtualBox Host-Only Ethernet Adapter #2" --nicpromisc3 allow-all
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm network --nictype4 virtio --nic4 hostonly --hostonlyadapter4 "VirtualBox Host-Only Ethernet Adapter #3" --nicpromisc4 allow-all
-VBoxManage modifyvm network --nictype4 virtio --nic4 hostonly --hostonlyadapter4 "VirtualBox Host-Only Ethernet Adapter #3" --nicpromisc4 allow-all
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyvm network --natpf1 ssh,tcp,127.0.0.1,2231,,22
-VBoxManage modifyvm network --natpf1 ssh,tcp,127.0.0.1,2231,,22
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage sharedfolder add network --name osbash --hostpath %SHAREDIR%
-VBoxManage sharedfolder add network --name osbash --hostpath %SHAREDIR%
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage modifyhd --type multiattach %IMGDIR%\base-vbadd-ubuntu-14.04-server-amd64.vdi
-VBoxManage modifyhd --type multiattach %IMGDIR%\base-vbadd-ubuntu-14.04-server-amd64.vdi
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO VBoxManage storageattach network --storagectl SATA --port 0 --device 0 --type hdd --medium %IMGDIR%\base-vbadd-ubuntu-14.04-server-amd64.vdi
-VBoxManage storageattach network --storagectl SATA --port 0 --device 0 --type hdd --medium %IMGDIR%\base-vbadd-ubuntu-14.04-server-amd64.vdi
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-COPY %TOPDIR%\scripts\osbash\init_xxx_node.sh %AUTODIR%\00_init_network_node.sh
-COPY %TOPDIR%\scripts\etc_hosts.sh %AUTODIR%\01_etc_hosts.sh
-COPY %TOPDIR%\scripts\osbash\enable_vagrant_ssh_keys.sh %AUTODIR%\02_enable_vagrant_ssh_keys.sh
-COPY %TOPDIR%\scripts\osbash\shutdown.sh %AUTODIR%\03_shutdown.sh
-ECHO VBoxManage startvm network --type headless
-VBoxManage startvm network --type headless
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO %time% Waiting for autostart files to execute.
-CALL :wait_auto
-ECHO %time% All autostart files executed.
-ECHO %time% Waiting for VM network to power off.
-CALL :wait_poweroff network
-ECHO %time% VM network powered off.
-ECHO VBoxManage snapshot network take network_configured
-VBoxManage snapshot network take network_configured
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-TIMEOUT /T 1 /NOBREAK
-COPY %TOPDIR%\scripts\setup_neutron_network.sh %AUTODIR%\00_setup_neutron_network.sh
-COPY %TOPDIR%\scripts\osbash\shutdown.sh %AUTODIR%\01_shutdown.sh
-ECHO VBoxManage startvm network --type headless
-VBoxManage startvm network --type headless
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO %time% Waiting for autostart files to execute.
-CALL :wait_auto
-ECHO %time% All autostart files executed.
-ECHO %time% Waiting for VM network to power off.
-CALL :wait_poweroff network
-ECHO %time% VM network powered off.
-ECHO VBoxManage snapshot network take network_node_installed
-VBoxManage snapshot network take network_node_installed
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-TIMEOUT /T 1 /NOBREAK
-COPY %TOPDIR%\scripts\shutdown_controller.sh %AUTODIR%\00_shutdown_controller.sh
-ECHO VBoxManage startvm network --type headless
-VBoxManage startvm network --type headless
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO %time% Waiting for autostart files to execute.
-CALL :wait_auto
-ECHO %time% All autostart files executed.
-ECHO %time% Waiting for VM controller to power off.
-CALL :wait_poweroff controller
-ECHO %time% VM controller powered off.
-ECHO VBoxManage snapshot controller take network_node_installed
-VBoxManage snapshot controller take network_node_installed
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-TIMEOUT /T 1 /NOBREAK
-ECHO VBoxManage startvm controller --type headless
-VBoxManage startvm controller --type headless
-IF %errorlevel% NEQ 0 GOTO :vbm_error
-
-ECHO %time% Waiting for autostart files to execute.
-CALL :wait_auto
-ECHO %time% All autostart files executed.
-ECHO.
-ECHO %time% Batch script seems to have succeeded.
-ECHO.
-
-GOTO :terminate
-
-REM Note: vbm_error falls through to terminate
-:vbm_error
-ECHO.
-ECHO %time% VBoxManage returned with an error. Aborting.
-ECHO.
-
-:terminate
-ENDLOCAL
-PAUSE
-EXIT
-GOTO :eof
-
-REM ============================================================================
-REM
-REM End of program, function definitions follow
-REM
-REM ============================================================================
-:wait_auto
-IF EXIST %STATUSDIR%\done (
-    DEL %STATUSDIR%\done
-    GOTO :eof
-)
-IF EXIST %STATUSDIR%\error (
-    ECHO.
-    ECHO %time% ERROR Script returned error:
-    ECHO.
-    TYPE %STATUSDIR%\error
-    ECHO.
-    ECHO %time% Aborting.
-    ECHO.
-    DEL %STATUSDIR%\error
-    GOTO :terminate
-)
-TIMEOUT /T 5 /NOBREAK
-GOTO :wait_auto
-REM - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-:wait_poweroff
-VBoxManage showvminfo %~1 --machinereadable|findstr poweroff
-IF %errorlevel% EQU 0 GOTO :eof
-TIMEOUT /T 2 /NOBREAK
-GOTO :wait_poweroff
-REM - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-:vm_exists
-VBoxManage list vms|findstr %~1
-IF %errorlevel% NEQ 0 GOTO :eof
-ECHO.
-ECHO %time% VM %~1 already exists. Aborting.
-ECHO.
-GOTO :terminate
-REM - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-REM vim: set ai ts=4 sw=4 et ft=dosbatch:
-
diff --git a/tox.ini b/tox.ini
index 181cf7ae..86002137 100644
--- a/tox.ini
+++ b/tox.ini
@@ -38,7 +38,7 @@ commands =
   mkdir -p publish-docs/training-guides
   openstack-doc-test --check-build {posargs}
   bash -c "tar czf publish-docs/training-guides/labs-scripts.tgz labs"
-#  bash -c "labs/osbash.sh -w cluster"
+  bash -c "labs/osbash.sh -w cluster"
   bash -c "zip -r publish-docs/training-guides/labs-scripts.zip labs"
 
 [testenv:publishdocs]
@@ -52,7 +52,7 @@ commands =
   # We only publish changed manuals.
   openstack-doc-test --check-build --publish
   bash -c "tar czf publish-docs/training-guides/labs-scripts.tgz labs"
-#  bash -c "labs/osbash.sh -w cluster"
+  bash -c "labs/osbash.sh -w cluster"
   bash -c "zip -r publish-docs/training-guides/labs-scripts.zip labs"
 
 [testenv:checklang]