Do not ignore the sentinal file when running resume

The sentinal file was always being ignored when running the
resume command. This is fixed along with allowing provision
options to be used with resume. Fixes #6787
This commit is contained in:
Mark Peek 2016-02-19 18:19:12 -08:00
parent 29506f8a3e
commit 563ce33738
2 changed files with 27 additions and 1 deletions

View File

@ -1,24 +1,38 @@
require 'optparse' require 'optparse'
require Vagrant.source_root.join("plugins/commands/up/start_mixins")
module VagrantPlugins module VagrantPlugins
module CommandResume module CommandResume
class Command < Vagrant.plugin("2", :command) class Command < Vagrant.plugin("2", :command)
# We assume that the `up` plugin exists and that we'll have access
# to this.
include VagrantPlugins::CommandUp::StartMixins
def self.synopsis def self.synopsis
"resume a suspended vagrant machine" "resume a suspended vagrant machine"
end end
def execute def execute
options = {}
options[:provision_ignore_sentinel] = false
opts = OptionParser.new do |o| opts = OptionParser.new do |o|
o.banner = "Usage: vagrant resume [vm-name]" o.banner = "Usage: vagrant resume [vm-name]"
o.separator ""
build_start_options(o, options)
end end
# Parse the options # Parse the options
argv = parse_options(opts) argv = parse_options(opts)
return if !argv return if !argv
# Validate the provisioners
validate_provisioner_flags!(options, argv)
@logger.debug("'resume' each target VM...") @logger.debug("'resume' each target VM...")
with_target_vms(argv) do |machine| with_target_vms(argv) do |machine|
machine.action(:resume) machine.action(:resume, options)
end end
# Success, exit status 0 # Success, exit status 0

View File

@ -14,3 +14,15 @@ description: |-
This resumes a Vagrant managed machine that was previously suspended, This resumes a Vagrant managed machine that was previously suspended,
perhaps with the [suspend command](/docs/cli/suspend.html). perhaps with the [suspend command](/docs/cli/suspend.html).
The configured provisioners will not run again, by default. You can force
the provisioners to re-run by specifying the `--provision` flag.
# Options
* `--provision` - Force the provisioners to run.
* `--provision-with x,y,z` - This will only run the given provisioners. For
example, if you have a `:shell` and `:chef_solo` provisioner and run
`vagrant provision --provision-with shell`, only the shell provisioner will
be run.