mirror of
https://github.com/puppetlabs/vmpooler.git
synced 2026-01-26 01:58:41 -05:00
(POOLER-70) Update check_pool for VM Provider
Previously the Pool Manager would use a single VM provider per Pool. This commit changes Pool Manager to use a single provider that services multiple pools.
This commit is contained in:
parent
3f6ead8134
commit
7c3ad716af
2 changed files with 22 additions and 28 deletions
|
|
@ -522,18 +522,24 @@ module Vmpooler
|
|||
def check_pool(pool, maxloop = 0, loop_delay = 5)
|
||||
$logger.log('d', "[*] [#{pool['name']}] starting worker thread")
|
||||
|
||||
$providers[pool['name']] ||= Vmpooler::VsphereHelper.new $config, $metrics
|
||||
|
||||
$threads[pool['name']] = Thread.new do
|
||||
loop_count = 1
|
||||
loop do
|
||||
_check_pool(pool, $providers[pool['name']])
|
||||
sleep(loop_delay)
|
||||
begin
|
||||
loop_count = 1
|
||||
provider = get_provider_for_pool(pool['name'])
|
||||
raise("Could not find provider '#{pool['provider']}") if provider.nil?
|
||||
loop do
|
||||
_check_pool(pool, provider)
|
||||
|
||||
unless maxloop.zero?
|
||||
break if loop_count >= maxloop
|
||||
loop_count += 1
|
||||
sleep(loop_delay)
|
||||
|
||||
unless maxloop.zero?
|
||||
break if loop_count >= maxloop
|
||||
loop_count += 1
|
||||
end
|
||||
end
|
||||
rescue => err
|
||||
$logger.log('s', "[!] [#{pool['name']}] Error while checking the pool: #{err}")
|
||||
raise
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue