Catch ALL THE EXCEPTIONS

This commit is contained in:
Scott Schneider 2013-12-12 10:02:29 -08:00
parent bac80108b2
commit bcd90bde75

View file

@ -186,7 +186,10 @@ def clone_vm template, pool, folder, datastore
$logger.log('s', "[+] [#{vm['template']}] '#{vm['hostname']}' cloned from '#{vm['template']}' in #{finish} seconds") $logger.log('s', "[+] [#{vm['template']}] '#{vm['hostname']}' cloned from '#{vm['template']}' in #{finish} seconds")
begin
$graphite.log("vcloud.clone.#{vm['template']}", finish) if defined? $graphite $graphite.log("vcloud.clone.#{vm['template']}", finish) if defined? $graphite
rescue
end
} }
end end
@ -230,6 +233,7 @@ def check_pool pool
loop do loop do
# INVENTORY # INVENTORY
inventory = {} inventory = {}
begin
base = $vsphere[pool['name']].find_pool(pool['pool']) base = $vsphere[pool['name']].find_pool(pool['pool'])
base.vm.each do |vm| base.vm.each do |vm|
@ -247,27 +251,34 @@ def check_pool pool
inventory[vm['name']] = 1 inventory[vm['name']] = 1
end end
rescue
end
# RUNNING # RUNNING
$redis.smembers('vmware_host_pool__running__'+pool['name']).each do |vm| $redis.smembers('vmware_host_pool__running__'+pool['name']).each do |vm|
if (! inventory[vm]) if (inventory[vm])
$redis.srem('vmware_host_pool__running__'+pool['name'], vm)
else
if (pool['running_ttl']) if (pool['running_ttl'])
begin
check_running_vm(vm, pool['name'], pool['running_ttl']) check_running_vm(vm, pool['name'], pool['running_ttl'])
rescue
end
else else
begin
check_running_vm(vm, pool['name'], '720') check_running_vm(vm, pool['name'], '720')
rescue
end
end end
end end
end end
# READY # READY
$redis.smembers('vmware_host_pool__ready__'+pool['name']).each do |vm| $redis.smembers('vmware_host_pool__ready__'+pool['name']).each do |vm|
if (! inventory[vm]) if (inventory[vm])
$redis.srem('vmware_host_pool__ready__'+pool['name'], vm)
else
if (pool['ready_ttl']) if (pool['ready_ttl'])
begin
check_ready_vm(vm, pool['name'], pool['ready_ttl']) check_ready_vm(vm, pool['name'], pool['ready_ttl'])
rescue
end
end end
end end
end end
@ -277,16 +288,20 @@ def check_pool pool
pool['timeout'] ||= 10 pool['timeout'] ||= 10
if (inventory[vm]) if (inventory[vm])
begin
check_pending_vm(vm, pool['name'], pool['timeout']) check_pending_vm(vm, pool['name'], pool['timeout'])
rescue
end
end end
end end
# COMPLETED # COMPLETED
$redis.smembers('vmware_host_pool__completed__'+pool['name']).each do |vm| $redis.smembers('vmware_host_pool__completed__'+pool['name']).each do |vm|
if (! inventory[vm]) if (inventory[vm])
$redis.srem('vmware_host_pool__completed__'+pool['name'], vm) begin
else
destroy_vm(vm, pool['name']) destroy_vm(vm, pool['name'])
rescue
end
end end
end end
@ -294,18 +309,24 @@ def check_pool pool
total = $redis.scard('vmware_host_pool__ready__'+pool['name']) + total = $redis.scard('vmware_host_pool__ready__'+pool['name']) +
$redis.scard('vmware_host_pool__pending__'+pool['name']) $redis.scard('vmware_host_pool__pending__'+pool['name'])
begin
$graphite.log( $graphite.log(
'vcloud.ready.'+pool['name'], $redis.scard('vmware_host_pool__ready__'+pool['name']) 'vcloud.ready.'+pool['name'], $redis.scard('vmware_host_pool__ready__'+pool['name'])
) if defined? $graphite ) if defined? $graphite
rescue
end
if (total < pool['size']) if (total < pool['size'])
(1..(pool['size'] - total)).each { |i| (1..(pool['size'] - total)).each { |i|
begin
clone_vm( clone_vm(
pool['template'], pool['template'],
pool['pool'], pool['pool'],
pool['folder'], pool['folder'],
pool['datastore'] pool['datastore']
) )
rescue
end
} }
end end