Sha256: d9e4952a47e09e8a613eb871d80d4973131fc9c057e46135663bf6b7adce202d

Contents?: true

Size: 2 KB

Versions: 4

Compression:

Stored size: 2 KB

Contents

module VagrantPlugins
module CORL
module Provisioner
class CORL < ::Vagrant.plugin("2", :provisioner)
 
  #-----------------------------------------------------------------------------
  # Constructor / Destructor
 
  def initialize(machine, config)
    super
  end
  
  #-----------------------------------------------------------------------------
  # Operations

  def configure(root_config)
  end
  
  #---

  def provision
    @machine.communicate.tap do |comm|
      unless ::CORL::Vagrant.command
        # Hackish solution to ensure our code has access to Vagrant machines.
        # This serves as a Vagrant VM manager.
        ::CORL::Vagrant.command = Command::Launcher.new([], @machine.env)
      end
    
      network = config.network
      node    = config.node
      
      if network && node
        # Provision the server
        network.init_node(node, clean(::CORL.config(:vagrant_node_init, {
          :force             => config.force_updates,
          :home              => config.user_home,
          :home_env_var      => config.user_home_env_var,
          :root_user         => config.root_user,
          :root_home         => config.root_home,
          :bootstrap         => config.bootstrap,
          :bootstrap_path    => config.bootstrap_path,
          :bootstrap_glob    => config.bootstrap_glob,
          :bootstrap_init    => config.bootstrap_init,
          :auth_files        => config.auth_files,
          :seed              => config.seed,
          :project_reference => config.project_reference,
          :project_branch    => config.project_branch,
          :provision         => config.provision,
          :dry_run           => config.dry_run
        }).export))
      end
    end
  end
  
  #-----------------------------------------------------------------------------
  # Utilities
  
  def clean(options)
    options.keys.each do |key|
      value = options[key]
      if value.nil?
        options.delete(key)
      end  
    end
    options  
  end
  protected :clean
end
end
end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
corl-0.4.20 lib/core/vagrant/provisioner/provisioner.rb
corl-0.4.19 lib/core/vagrant/provisioner/provisioner.rb
corl-0.4.18 lib/core/vagrant/provisioner/provisioner.rb
corl-0.4.17 lib/core/vagrant/provisioner/provisioner.rb