1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
require 'beaker-hostgenerator/data'
require 'beaker-hostgenerator/roles'
require 'beaker-hostgenerator/hypervisor/vmpooler'
require 'deep_merge/rails_compat'
module BeakerHostGenerator
module Utils
module_function
def pe_dir(version, family = nil)
BeakerHostGenerator::Data.pe_dir(version)
end
def fixup_node(cfg)
BeakerHostGenerator::Data.fixup_node(cfg)
end
def dump_hosts(hosts, path)
vmpooler_hypervisor = BeakerHostGenerator::Hypervisor::Vmpooler.new
config = {}
config.deeper_merge! BeakerHostGenerator::Data.BASE_CONFIG
config['CONFIG'].deeper_merge! vmpooler_hypervisor.global_config()
hosts.each do |host|
config['HOSTS'][host.node_name] = {
'roles' => host['roles'],
'hypervisor' => "#{host['hypervisor']}",
'platform' => "#{host['platform']}",
}
end
File.open(path, 'w') do |file|
file.write(config.to_yaml)
end
end
def get_platforms(hypervisor_type='vmpooler', bhg_version=0)
BeakerHostGenerator::Data.get_platforms(bhg_version)
end
def get_roles
BeakerHostGenerator::Roles.ROLES
end
end
end
|