diff --git a/vmware-host-pooler b/vmware-host-pooler index 33b1809..068bf86 100755 --- a/vmware-host-pooler +++ b/vmware-host-pooler @@ -109,6 +109,28 @@ loop do end end + # Check 'completed' pool + $redis.smembers('vmware_host_pool__completed__'+pool['name']).each do |vm| + if ! inventory[vm] + $redis.srem('vmware_host_pool__completed__'+pool['name'], vm) + end + + start = Time.now + host = vsphere_helper.find_vms(vm)[vm] + + if host.runtime + if host.runtime.powerState == 'poweredOn' + logger.log('d', "[ ] '#{vm}' is being shut down") + host.PowerOffVM_Task.wait_for_completion + end + end + + host.Destroy_Task.wait_for_completion + finish = '%.2f' % (Time.now-start) + + logger.log('s', "[-] '#{vm}' destroyed in #{finish} seconds") + end + # Bring the pool up to the desired size if total < pool['size'] @@ -168,7 +190,7 @@ loop do end # ZZZzzz... - sleep(5) + sleep(1) end end