Сборка упаковщика зависает на SSH при сборке Win 2012 Server + Virtualbox

717
TomTom

Я пытаюсь использовать virtualbox + packer + vagrant для автоматизации предоставления виртуальных машин.

У меня есть настройка шаблона json для отображения пользовательского интерфейса виртуальной машины (так что headless = false), и я настроил файл autounattend.xml с моим ключом ISO и опцией сервера OpenSSH для установки первой.

Проблема в том, что создание vm застревает в записи журнала «Ожидание SSH», я вижу работающую виртуальную машину и приглашение ввести ключ Windows, но больше ничего не происходит.

Любая помощь приветствуется

это вывод до этого момента из сборки упаковщика, после чего я прервал установку

PS C:\Users\xxxxxxx\Documents\DevVM> packer build .\windows_2012_r2.json  virtualbox-iso output will be in this color. ==> virtualbox-iso: Downloading or copying Guest additions virtualbox-iso: Downloading or copying: file:///C:/Program%20Files/Oracle/VirtualBox/VBoxGuestAdditions.iso ==> virtualbox-iso: Downloading or copying ISO virtualbox-iso: Downloading or copying: file:///C:/Users/xxxxxxx/Documents/Work/VMs/ISOs/en_windows_server_2012_r2_x64_dvd_2707946.iso ==> virtualbox-iso: Creating floppy disk... virtualbox-iso: Copying: C:/Users/xxxxxxx/Documents/DevVM/Autounattend.xml virtualbox-iso: Copying: C:/Users/xxxxxxx/Documents/DevVM/GitHub/packer-windows/scripts/microsoft-updates.bat virtualbox-iso: Copying: C:/Users/xxxxxxx/Documents/DevVM/GitHub/packer-windows/scripts/win-updates.ps1 virtualbox-iso: Copying: C:/Users/xxxxxxx/Documents/DevVM/GitHub/packer-windows/scripts/openssh.ps1 virtualbox-iso: Copying: C:/Users/xxxxxxx/Documents/DevVM/GitHub/packer-windows/scripts/oracle-cert.cer ==> virtualbox-iso: Creating virtual machine... ==> virtualbox-iso: Creating hard drive... ==> virtualbox-iso: Attaching floppy disk... ==> virtualbox-iso: Creating forwarded port mapping for SSH (host port 4430) ==> virtualbox-iso: Executing custom VBoxManage commands... virtualbox-iso: Executing: modifyvm packer-virtualbox-iso-1443107958 --memory 2048 virtualbox-iso: Executing: modifyvm packer-virtualbox-iso-1443107958 --cpus 2 ==> virtualbox-iso: Starting the virtual machine... ==> virtualbox-iso: Waiting 2m0s for boot... ==> virtualbox-iso: Typing the boot command... ==> virtualbox-iso: Waiting for SSH to become available... ==> virtualbox-iso: Unregistering and deleting virtual machine... ==> virtualbox-iso: Deleting output directory... Build 'virtualbox-iso' errored: Build was cancelled. Cleanly cancelled builds after being interrupted. 

Это часть autounattend.xml с записью openssh

 <FirstLogonCommands> <SynchronousCommand wcm:action="add"> <CommandLine>cmd.exe /c C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File a:\openssh.ps1 -AutoStart</CommandLine> <Description>Install OpenSSH</Description> <Order>1</Order> <RequiresUserInput>true</RequiresUserInput> </SynchronousCommand>  

Я также попытался изменить порядок выше как последняя команда (order = 23), но безрезультатно.

Это часть шаблона JSON

 "type": "virtualbox-iso", "iso_url": "C:/Users/xxxxxx/Documents/Work/VMs/ISOs/en_windows_server_2012_r2_x64_dvd_2707946.iso", "iso_checksum_type": "md5", "iso_checksum": "0e7c09aab20dec3cd7eab236dab90e78", "headless": false, "boot_wait": "2m", "ssh_username": "vagrant", "ssh_password": "vagrant", "ssh_wait_timeout": "10m", "shutdown_command": "shutdown /s /t 10 /f /d p:4:1 /c \"Packer Shutdown\"", "guest_os_type": "Windows2012_64", "disk_size": 61440, "floppy_files": [ "C:/Users/xxxxxx/Documents/DevVM/Autounattend.xml", "C:/Users/xxxxxx/Documents/DevVM/GitHub/packer-windows/scripts/microsoft-updates.bat", "C:/Users/xxxxxx/Documents/DevVM/GitHub/packer-windows/scripts/win-updates.ps1", "C:/Users/xxxxxx/Documents/DevVM/GitHub/packer-windows/scripts/openssh.ps1", "C:/Users/xxxxxx/Documents/DevVM/GitHub/packer-windows/scripts/oracle-cert.cer" ], 
0

1 ответ на вопрос

0
flux9998

Try increasing the ssh_wait_timeout from 10m to 2h in your json template

What seems to be this issue is that the system has not had sufficient time to boot and have a configuration for SSH to be ready. Setting this time to something more reasonable should work.

Похожие вопросы