From c0b2a8366ccfb441cd2154fc37c40ae7337450ec Mon Sep 17 00:00:00 2001 From: Scott Schneider Date: Thu, 6 Feb 2014 11:20:15 -0800 Subject: [PATCH] New configuration parameter 'vm_lifetime' This allows for configurable TTLs for hosts in the 'running' queue. --- vmware-host-pooler | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/vmware-host-pooler b/vmware-host-pooler index 0c693cd..cf297bd 100755 --- a/vmware-host-pooler +++ b/vmware-host-pooler @@ -29,7 +29,8 @@ if (defined? $config[:config]['graphite']) end # Set some defaults -$config[:config]['task_limit'] ||= 10 +$config[:config]['task_limit'] ||= 10 +$config[:config]['vm_lifetime'] ||= 24 # Connect to Redis $redis = Redis.new @@ -350,10 +351,13 @@ def check_pool pool $redis.smembers('vmware_host_pool__running__'+pool['name']).each do |vm| if ($redis.hget('vmware_host_pool__active__'+pool['name'], vm)) running = (Time.now - Time.parse($redis.hget('vmware_host_pool__active__'+pool['name'], vm)))/60/60 - if (running > 12) + if ( + ($config[:config]['vm_lifetime'] > 0) and + (running > $config[:config]['vm_lifetime']) + ) $redis.smove('vmware_host_pool__running__'+pool['name'], 'vmware_host_pool__completed__'+pool['name'], vm) - $logger.log('d', "[!] [#{pool['name']}] '#{vm}' reached end of TTL after 12 hours") + $logger.log('d', "[!] [#{pool['name']}] '#{vm}' reached end of TTL after #{$config[:config]['vm_lifetime']} hours") end end end