Downloading the box_url component works again
This commit is contained in:
parent
6ddb560205
commit
64042a5d35
|
@ -302,7 +302,7 @@ module Vagrant
|
|||
|
||||
# Create the machine and cache it for future calls. This will also
|
||||
# return the machine from this method.
|
||||
@machines[cache_key] = Machine.new(name, provider_cls, provider_config,
|
||||
@machines[cache_key] = Machine.new(name, provider, provider_cls, provider_config,
|
||||
config, machine_data_path, box, self)
|
||||
end
|
||||
|
||||
|
|
|
@ -47,6 +47,11 @@ module Vagrant
|
|||
# @return [Object]
|
||||
attr_reader :provider_config
|
||||
|
||||
# The name of the provider.
|
||||
#
|
||||
# @return [Symbol]
|
||||
attr_reader :provider_name
|
||||
|
||||
# Initialize a new machine.
|
||||
#
|
||||
# @param [String] name Name of the virtual machine.
|
||||
|
@ -60,7 +65,7 @@ module Vagrant
|
|||
# @param [Box] box The box that is backing this virtual machine.
|
||||
# @param [Environment] env The environment that this machine is a
|
||||
# part of.
|
||||
def initialize(name, provider_cls, provider_config, config, data_dir, box, env, base=false)
|
||||
def initialize(name, provider_name, provider_cls, provider_config, config, data_dir, box, env, base=false)
|
||||
@logger = Log4r::Logger.new("vagrant::machine")
|
||||
@logger.info("Initializing machine: #{name}")
|
||||
@logger.info(" - Provider: #{provider_cls}")
|
||||
|
@ -73,6 +78,7 @@ module Vagrant
|
|||
@env = env
|
||||
@name = name
|
||||
@provider_config = provider_config
|
||||
@provider_name = provider_name
|
||||
|
||||
# Read the ID, which is usually in local storage
|
||||
@id = nil
|
||||
|
|
|
@ -17,12 +17,15 @@ module VagrantPlugins
|
|||
# Add the box then reload the box collection so that it becomes
|
||||
# aware of it.
|
||||
env[:ui].info I18n.t("vagrant.actions.vm.check_box.not_found", :name => box_name)
|
||||
env[:box_collection].add(box_name, box_url)
|
||||
env[:box_collection].reload!
|
||||
env[:action_runner].run(Vagrant::Action.action_box_add, {
|
||||
:box_name => box_name,
|
||||
:box_provider => env[:machine].provider_name,
|
||||
:box_url => box_url
|
||||
})
|
||||
|
||||
# Reload the environment and set the VM to be the new loaded VM.
|
||||
env[:machine].env.reload!
|
||||
env[:machine] = env[:machine].env.vms[env[:machine].name]
|
||||
env[:machine] = env[:machine].env.machine(
|
||||
env[:machine].name, env[:machine].provider_name)
|
||||
end
|
||||
|
||||
@app.call(env)
|
||||
|
|
|
@ -13,6 +13,7 @@ describe Vagrant::Machine do
|
|||
obj
|
||||
end
|
||||
let(:provider_config) { Object.new }
|
||||
let(:provider_name) { :test }
|
||||
let(:box) { Object.new }
|
||||
let(:config) { env.config_global }
|
||||
let(:data_dir) { Pathname.new(Tempdir.new.path) }
|
||||
|
@ -31,7 +32,7 @@ describe Vagrant::Machine do
|
|||
|
||||
# Returns a new instance with the test data
|
||||
def new_instance
|
||||
described_class.new(name, provider_cls, provider_config,
|
||||
described_class.new(name, provider_name, provider_cls, provider_config,
|
||||
config, data_dir, box, env)
|
||||
end
|
||||
|
||||
|
@ -61,7 +62,7 @@ describe Vagrant::Machine do
|
|||
|
||||
# Initialize a new machine and verify that we properly receive
|
||||
# the machine we expect.
|
||||
instance = described_class.new(name, provider_cls, provider_config,
|
||||
instance = described_class.new(name, provider_name, provider_cls, provider_config,
|
||||
config, data_dir, box, env)
|
||||
received_machine.should eql(instance)
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue