Class: Vagrant::Boxen::Provisioner

Inherits:
Provisioners::Base
  • Object
show all
Defined in:
lib/vagrant-boxen/provisioner.rb

Defined Under Namespace

Classes: Config

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(env, config, provisioner = nil) ⇒ Provisioner

Returns a new instance of Provisioner.



18
19
20
21
22
23
# File 'lib/vagrant-boxen/provisioner.rb', line 18

def initialize(env, config, provisioner = nil)
  super(env, config)
  @logger        = Log4r::Logger.new("vagrant::provisioners::boxen")
  @manifests_dir = "/tmp/vagrant-boxen-#{env['vm'].uuid}"
  @puppet_provisioner = provisioner ? provisioner : setup_puppet_provisioner
end

Class Method Details

.config_classObject



14
15
16
# File 'lib/vagrant-boxen/provisioner.rb', line 14

def self.config_class
  Config
end

Instance Method Details

#prepareObject



25
26
27
28
29
30
31
32
33
# File 'lib/vagrant-boxen/provisioner.rb', line 25

def prepare
  Dir.mkdir @manifests_dir unless File.directory? @manifests_dir
  if config.memcached?
    File.open("#{@manifests_dir}/site.pp", 'w') { |f| f.print "class { 'memcached': }" }
  else
    File.open("#{@manifests_dir}/site.pp", 'w') { |f| f.print "" }
  end
  @puppet_provisioner.prepare
end

#provision!Object



35
36
37
# File 'lib/vagrant-boxen/provisioner.rb', line 35

def provision!
  @puppet_provisioner.provision!
end