reintroduce sleep_timeout for guests that fail the :wait_for_reboot capability check

This commit is contained in:
ajpaul 2018-03-16 13:53:27 -04:00
parent 4e8062625c
commit 2c9e9e9ab8
1 changed files with 5 additions and 2 deletions

View File

@ -4,10 +4,10 @@ module VagrantPlugins
module ChangeHostName
def self.change_host_name(machine, name)
change_host_name_and_wait(machine, name)
change_host_name_and_wait(machine, name, machine.config.vm.graceful_halt_timeout)
end
def self.change_host_name_and_wait(machine, name)
def self.change_host_name_and_wait(machine, name, sleep_timeout)
# If the configured name matches the current name, then bail
# We cannot use %ComputerName% because it truncates at 15 chars
return if machine.communicate.test("if ([System.Net.Dns]::GetHostName() -eq '#{name}') { exit 0 } exit 1")
@ -30,6 +30,9 @@ module VagrantPlugins
# Don't continue until the machine has shutdown and rebooted
if machine.guest.capability?(:wait_for_reboot)
machine.guest.capability(:wait_for_reboot)
else
# use graceful_halt_timeout only if guest cannot wait for reboot
sleep(sleep_timeout)
end
end
end