Мы создаем пользовательскую базовую коробку Vagrant из ISO-образа Windows 10.
Коробка сделана с использованием Packer, для выдачи рекомендуемой базовой конфигурации WinRM:
winrm set winrm/config/winrs @{MaxMemoryPerShellMB="512"}
winrm set winrm/config @{MaxTimeoutms="1800000"}
winrm set winrm/config/service/auth '@{Basic="true"}'
winrm set winrm/config/service '@{AllowUnencrypted="true"}'
затем запустите несколько настроек (установка Chocolatey, ...)
Мы импортируем этот базовый блок в Vagrant, а затем намереваемся предоставить его по-разному в зависимости от предполагаемого использования.
Предположим, это минимальный пример Vagrantfile:
config.vm.box = "com/windows10"
config.vm.boot_timeout = 1000
config.vm.provision "shell", inline: "echo INLINE PROVISION", privileged: false
При работе в Vagrant 2.2.4 все идет нормально. Тем не менее, если мы удалим аргумент privileged: false
, по умолчанию установив его в true, инициализация застрянет.
При запуске с vagrant up --debug
он остается в этой строке:
...
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: FB368A90-6EBB-46CE-B23A-3852DF9D6334
DEBUG winrmshell: [WinRM] creating command_id: FB368A90-6EBB-46CE-B23A-3852DF9D6334 on shell_id 5201F8B8-CD47-4977-B1F6-5D159B530E86
DEBUG winrmshell: [WinRM] Waiting for output...
Мы что-то упустили?
Есть ли способ обеспечить успешную настройку по умолчанию (т.е. привилегированную)?