diff --git a/lib/vmpooler/pool_manager.rb b/lib/vmpooler/pool_manager.rb index f2242ff..34a76b0 100644 --- a/lib/vmpooler/pool_manager.rb +++ b/lib/vmpooler/pool_manager.rb @@ -156,8 +156,14 @@ module Vmpooler $redis.hset('vmpooler__vm__' + vm, 'check', Time.now) # Check if the hosts TTL has expired if ttl > 0 - # host['boottime'] may be nil if host is not powered on - if ((Time.now - host['boottime']) / 60).to_s[/^\d+\.\d{1}/].to_f > ttl + # 'boottime' may be nil if host is not powered on + boottime = $redis.hget("vmpooler__vm__#{vm}", 'ready') + if boottime + boottime = Time.parse(boottime) + else + boottime = Time.at(0) + end + if ((Time.now - boottime) / 60).to_s[/^\d+\.\d{1}/].to_f > ttl $redis.smove('vmpooler__ready__' + pool_name, 'vmpooler__completed__' + pool_name, vm) $logger.log('d', "[!] [#{pool_name}] '#{vm}' reached end of TTL after #{ttl} minutes, removed from 'ready' queue")