Class: VagrantPlugins::VagrantBosh::Bootstrapper

Inherits:
Object
  • Object
show all
Defined in:
lib/vagrant-bosh/bootstrapper.rb

Instance Method Summary collapse

Constructor Details

#initialize(communicator, config, asset_uploader, provisioner_tracker, manifest_factory) ⇒ Bootstrapper

Returns a new instance of Bootstrapper.



7
8
9
10
11
12
13
14
15
# File 'lib/vagrant-bosh/bootstrapper.rb', line 7

def initialize(communicator, config, asset_uploader, provisioner_tracker, manifest_factory)
  @c = communicator
  @config = config
  @asset_uploader = asset_uploader
  @provisioner_tracker = provisioner_tracker
  @manifest_factory = manifest_factory

  @logger = Log4r::Logger.new("vagrant::provisioners::bosh::bootstrapper")
end

Instance Method Details

#bootstrapObject



17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/vagrant-bosh/bootstrapper.rb', line 17

def bootstrap
  @asset_uploader.sync(@config.assets_dir)

  if @config.manifest
    manifest = @manifest_factory.new_manifest(@config.manifest)
    manifest.resolve_releases
    @asset_uploader.upload_text(manifest.as_string, @config.manifest_path)
  end

  config_json = JSON.dump(config_hash)
  @asset_uploader.upload_text(config_json, @config.config_path)

  run_provisioner
end