From b1d4f0971c3f40da002ac04180d1212fc2fac27b Mon Sep 17 00:00:00 2001 From: "kirby@puppetlabs.com" Date: Thu, 7 May 2020 21:38:42 -0700 Subject: [PATCH] Expire ondemand requests and remove associated instances when ondemand_request_ttl has been exceeded for a given request --- lib/vmpooler.rb | 1 + lib/vmpooler/pool_manager.rb | 45 ++++++++++- spec/unit/pool_manager_spec.rb | 142 ++++++++++++++++++++++++++++++--- 3 files changed, 171 insertions(+), 17 deletions(-) diff --git a/lib/vmpooler.rb b/lib/vmpooler.rb index 799194e..e5932d6 100644 --- a/lib/vmpooler.rb +++ b/lib/vmpooler.rb @@ -64,6 +64,7 @@ module Vmpooler parsed_config[:config]['vm_checktime'] = string_to_int(ENV['VM_CHECKTIME']) || parsed_config[:config]['vm_checktime'] || 1 parsed_config[:config]['vm_lifetime'] = string_to_int(ENV['VM_LIFETIME']) || parsed_config[:config]['vm_lifetime'] || 24 parsed_config[:config]['ready_ttl'] = string_to_int(ENV['READY_TTL']) || parsed_config[:config]['ready_ttl'] || 5 + parsed_config[:config]['ondemand_request_ttl'] = string_to_int(ENV['ONDEMAND_REQUEST_TTL']) || parsed_config[:config]['ready_ttl'] || 5 parsed_config[:config]['prefix'] = ENV['PREFIX'] || parsed_config[:config]['prefix'] || '' parsed_config[:config]['logfile'] = ENV['LOGFILE'] if ENV['LOGFILE'] diff --git a/lib/vmpooler/pool_manager.rb b/lib/vmpooler/pool_manager.rb index 039bae7..5a0e762 100644 --- a/lib/vmpooler/pool_manager.rb +++ b/lib/vmpooler/pool_manager.rb @@ -139,12 +139,18 @@ module Vmpooler finish = format('%