diff --git a/vmware-host-pooler b/vmware-host-pooler index 0024383..6cb7739 100755 --- a/vmware-host-pooler +++ b/vmware-host-pooler @@ -79,6 +79,19 @@ def check_ready_vm vm, pool, ttl } end +def check_running_vm vm, pool, ttl + Thread.new { + host = $vsphere_helper.find_vms(vm)[vm] + + if ((((Time.now - host.runtime.bootTime)/60).to_s[/^\d+\.\d{1}/].to_f) > ttl) + $redis.srem('vmware_host_pool__running__'+pool, vm) + $redis.sadd('vmware_host_pool__completed__'+pool, vm) + + $logger.log('d', "[!] [#{pool}] '#{vm}' reached end of TTL after #{ttl} minutes") + end + } +end + # Clone a VM def clone_vm template, pool, folder, datastore Thread.new { @@ -197,6 +210,15 @@ def check_pool pool inventory[vm['name']] = 1 end + # RUNNING + $redis.smembers('vmware_host_pool__running__'+pool['name']).each do |vm| + if (! inventory[vm]) + $redis.srem('vmware_host_pool__running__'+pool['name'], vm) + end + + check_running_vm(vm, pool['name'], config[:config]['ttl']) + end + # READY $redis.smembers('vmware_host_pool__ready__'+pool['name']).each do |vm| if (! inventory[vm])