Class: BeakerHostGenerator::Hypervisor::Vagrant

Inherits:
Interface
  • Object
show all
Includes:
Data
Defined in:
lib/beaker-hostgenerator/hypervisor/vagrant.rb

Constant Summary

Constants included from Data

Data::BASE_CONFIG, Data::PE_TARBALL_SERVER, Data::PE_USE_WIN32

Instance Method Summary collapse

Methods included from Data

base_host_config, fixup_node, get_osinfo, get_platform_info, get_platforms, osinfo, osinfo_bhgv1, pe_dir, pe_upgrade_version, pe_version

Methods inherited from Interface

#global_config

Instance Method Details

#generate_node(node_info, base_config, bhg_version) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/beaker-hostgenerator/hypervisor/vagrant.rb', line 10

def generate_node(node_info, base_config, bhg_version)
  base_config['hypervisor'] = 'vagrant'

  if node_info['ostype'] =~ /^centos/
    base_config['box'] = node_info['ostype'].sub(/(\d)/, '/\1')
  elsif node_info['ostype'] =~ /^fedora/
    base_config['box'] = node_info['ostype'].sub(/(\d)/, '/\1') + 'cloud-base'
  else
    base_config['box'] = "generic/#{node_info['ostype']}"
  end

  # We don't use this by default
  base_config['synced_folder'] = 'disabled'

  platform = node_info['platform']
  platform_info = get_platform_info(bhg_version, platform, :vagrant)
  base_config.deep_merge! platform_info

  return base_config
end