refactor PENDING section in check pool

This commit is contained in:
Samuel Beaulieu 2018-07-17 12:06:51 -05:00
parent dc9b221bb9
commit fdb8a45faa
3 changed files with 21 additions and 20 deletions

View file

@ -737,13 +737,12 @@ module Vmpooler
end
end
def check_ready_pool_vms(pool_name, provider, pool_check_response, inventory, pool_ttl = nil)
# READY
def check_ready_pool_vms(pool_name, provider, pool_check_response, inventory, pool_ttl = 0)
$redis.smembers("vmpooler__ready__#{pool_name}").each do |vm|
if inventory[vm]
begin
pool_check_response[:checked_ready_vms] += 1
check_ready_vm(vm, pool_name, pool_ttl || 0, provider)
check_ready_vm(vm, pool_name, pool_ttl, provider)
rescue => err
$logger.log('d', "[!] [#{pool_name}] _check_pool failed with an error while evaluating ready VMs: #{err}")
end
@ -753,6 +752,22 @@ module Vmpooler
end
end
def check_pending_pool_vms(pool_name, provider, pool_check_response, inventory, pool_timeout = nil)
pool_timeout ||= $config[:config]['timeout'] || 15
$redis.smembers("vmpooler__pending__#{pool_name}").each do |vm|
if inventory[vm]
begin
pool_check_response[:checked_pending_vms] += 1
check_pending_vm(vm, pool_name, pool_timeout, provider)
rescue => err
$logger.log('d', "[!] [#{pool_name}] _check_pool failed with an error while evaluating pending VMs: #{err}")
end
else
fail_pending_vm(vm, pool_name, pool_timeout, false)
end
end
end
def _check_pool(pool, provider)
pool_check_response = {
discovered_vms: 0,
@ -774,20 +789,7 @@ module Vmpooler
check_ready_pool_vms(pool['name'], provider, pool_check_response, inventory, pool['ready_ttl'])
# PENDING
$redis.smembers("vmpooler__pending__#{pool['name']}").each do |vm|
pool_timeout = pool['timeout'] || $config[:config]['timeout'] || 15
if inventory[vm]
begin
pool_check_response[:checked_pending_vms] += 1
check_pending_vm(vm, pool['name'], pool_timeout, provider)
rescue => err
$logger.log('d', "[!] [#{pool['name']}] _check_pool failed with an error while evaluating pending VMs: #{err}")
end
else
fail_pending_vm(vm, pool['name'], pool_timeout, false)
end
end
check_pending_pool_vms(pool['name'], provider, pool_check_response, inventory, pool['timeout'])
# COMPLETED
$redis.smembers("vmpooler__completed__#{pool['name']}").each do |vm|

View file

@ -2742,7 +2742,6 @@ EOT
describe '#check_ready_pool_vms' do
let(:provider) { double('provider') }
let(:ttl) { 0 }
let(:pool_check_response) {
{:checked_ready_vms => 0}
}

View file

@ -354,7 +354,7 @@
# (optional; default: '10')
#
# - timeout
# How long (in minutes) before marking a clone as 'failed' and retrying.
# How long (in minutes) before marking a clone in 'pending' queues as 'failed' and retrying.
# (optional; default: '15')
#
# - vm_checktime
@ -500,7 +500,7 @@
# (optional)
#
# - timeout
# How long (in minutes) before marking a clone as 'failed' and retrying.
# How long (in minutes) before marking a clone in 'pending' queues as 'failed' and retrying.
# This setting overrides any globally-configured timeout setting.
# (optional; default: '15')
#