WaitTillUp is re-used in action_start but failures (and interruptions)

during action_start are not expected to cause domain destruction:
do halt instead of destroy in WaitTillUp if called from action_start
This commit is contained in:
Max Khon 2017-06-06 23:50:03 +06:00
parent 6929c7a9b6
commit 8c753a93b6
2 changed files with 13 additions and 5 deletions

View File

@ -54,6 +54,7 @@ module VagrantPlugins
# b2.use SyncFolders
end
else
env[:halt_on_error] = true
b2.use action_start
end
end

View File

@ -89,11 +89,18 @@ module VagrantPlugins
# If we're not supposed to destroy on error then just return
return unless env[:destroy_on_error]
destroy_env = env.dup
destroy_env.delete(:interrupted)
destroy_env[:config_validate] = false
destroy_env[:force_confirm_destroy] = true
env[:action_runner].run(Action.action_destroy, destroy_env)
if env[:halt_on_error]
halt_env = env.dup
halt_env.delete(:interrupted)
halt_env[:config_validate] = false
env[:action_runner].run(Action.action_halt, halt_env)
else
destroy_env = env.dup
destroy_env.delete(:interrupted)
destroy_env[:config_validate] = false
destroy_env[:force_confirm_destroy] = true
env[:action_runner].run(Action.action_destroy, destroy_env)
end
end
end
end