From 4534310d940627a48c9d876ae3d72fb763865ccb Mon Sep 17 00:00:00 2001 From: Scott Schneider Date: Thu, 10 Oct 2013 15:00:52 -0700 Subject: [PATCH] More pooler queue logic --- vmware-host-pooler | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/vmware-host-pooler b/vmware-host-pooler index 4c83c2a..03104c0 100755 --- a/vmware-host-pooler +++ b/vmware-host-pooler @@ -69,27 +69,31 @@ loop do if ( (vsphere_helper.find_vms(vm)[vm]) and (vsphere_helper.find_vms(vm)[vm].summary.guest.toolsRunningStatus == 'guestToolsRunning') and + (vsphere_helper.find_vms(vm)[vm].summary.guest.hostName) and + (vsphere_helper.find_vms(vm)[vm].summary.guest.hostName == vm) and (vsphere_helper.find_vms(vm)[vm].summary.guest.ipAddress != nil) ) - if (vsphere_helper.find_vms(vm)[vm].summary.guest.hostName) - if (vsphere_helper.find_vms(vm)[vm].summary.guest.hostName == vm) - begin - Socket.getaddrinfo(vm, nil) - rescue - next - end - - $redis.sadd('vmware_host_pool__ready__'+pool['name'], vm) - $redis.srem('vmware_host_pool__pending__'+pool['name'], vm) - - logger.log('s', "[>] '#{vm}' moved to 'ready' queue") - else + begin + Socket.getaddrinfo(vm, nil) + rescue + if ( + (vsphere_helper.find_vms(vm)[vm].runtime) and + (vsphere_helper.find_vms(vm)[vm].runtime.bootTime) and + (((( Time.now - vsphere_helper.find_mvs(vm)[vm].runtime.bootTime ) / 60 ) / 60 ) >= 1) + ) $redis.srem('vmware_host_pool__pending__'+pool['name'], vm) $redis.sadd('vmware_host_pool__failed__'+pool['name'], vm) logger.log('s', "[<] '#{vm}' moved to 'failed' queue") end + + next end + + $redis.sadd('vmware_host_pool__ready__'+pool['name'], vm) + $redis.srem('vmware_host_pool__pending__'+pool['name'], vm) + + logger.log('s', "[>] '#{vm}' moved to 'ready' queue") end end