Remove all VMware (rbvmomi) processing

This commit is contained in:
Scott Schneider 2013-10-07 16:48:17 -07:00
parent 90ee738726
commit b4828a82f5

View file

@ -1,7 +1,6 @@
#!/usr/bin/ruby #!/usr/bin/ruby
require 'json' require 'json'
require 'rbvmomi'
require 'redis' require 'redis'
require 'sinatra' require 'sinatra'
require 'yaml' require 'yaml'
@ -9,10 +8,8 @@ require 'yaml'
$:.unshift(File.dirname(__FILE__)) $:.unshift(File.dirname(__FILE__))
require 'lib/logger' require 'lib/logger'
require 'lib/require_relative' require 'lib/require_relative'
require 'lib/vsphere_helper'
logger = Logger.new logger = Logger.new
vsphere_helper = VsphereHelper.new
Dir.chdir(File.dirname(__FILE__)) Dir.chdir(File.dirname(__FILE__))
@ -20,22 +17,15 @@ Dir.chdir(File.dirname(__FILE__))
config_file = File.expand_path('vmware-host-pooler.yaml') config_file = File.expand_path('vmware-host-pooler.yaml')
pools = YAML.load_file(config_file)[:pools] pools = YAML.load_file(config_file)[:pools]
vsphere = YAML.load_file(config_file)[:vsphere]
# Connect to vSphere
$vim = RbVmomi::VIM.connect(
:host => vsphere['server'],
:user => vsphere['username'],
:password => vsphere['password'],
:ssl => true,
:insecure => true,
:rev => '5.1'
)
# Connect to Redis # Connect to Redis
$redis = Redis.new $redis = Redis.new
# Sinatra! # Sinatra!
get '/' do
puts ''
end
get '/vm/:template' do get '/vm/:template' do
content_type :json content_type :json
@ -61,19 +51,8 @@ post '/vm/:template' do
logger.log('s', "[<] '#{vm}' moved to 'running' queue") logger.log('s', "[<] '#{vm}' moved to 'running' queue")
datacenter = $vim.serviceInstance.find_datacenter
base = datacenter.hostFolder
# Move the VM to the specified folder and resource pool
relocateSpec = RbVmomi::VIM.VirtualMachineRelocateSpec(
:pool => vsphere_helper.find_pool(params[:pool])
)
vm = vsphere_helper.find_vms(vm)[vm]
vm.RelocateVM_Task(:spec => relocateSpec)
result[params[:template]]['ok'] = 'true' result[params[:template]]['ok'] = 'true'
result[params[:template]]['hostname'] = vm['name'] result[params[:template]]['hostname'] = vm
end end
result.to_json result.to_json