mirror of
https://github.com/puppetlabs/vmpooler.git
synced 2026-01-26 10:08:40 -05:00
Merge pull request #270 from mattkirby/no_duplicate_vms_in_pool
Do not run duplicate instances of inventory check for a pool
This commit is contained in:
commit
69f8b21ca8
2 changed files with 37 additions and 12 deletions
|
|
@ -710,21 +710,24 @@ module Vmpooler
|
|||
# INVENTORY
|
||||
inventory = {}
|
||||
begin
|
||||
provider.vms_in_pool(pool['name']).each do |vm|
|
||||
if !$redis.sismember('vmpooler__running__' + pool['name'], vm['name']) &&
|
||||
!$redis.sismember('vmpooler__ready__' + pool['name'], vm['name']) &&
|
||||
!$redis.sismember('vmpooler__pending__' + pool['name'], vm['name']) &&
|
||||
!$redis.sismember('vmpooler__completed__' + pool['name'], vm['name']) &&
|
||||
!$redis.sismember('vmpooler__discovered__' + pool['name'], vm['name']) &&
|
||||
!$redis.sismember('vmpooler__migrating__' + pool['name'], vm['name'])
|
||||
mutex = pool_mutex(pool['name'])
|
||||
mutex.synchronize do
|
||||
provider.vms_in_pool(pool['name']).each do |vm|
|
||||
if !$redis.sismember('vmpooler__running__' + pool['name'], vm['name']) &&
|
||||
!$redis.sismember('vmpooler__ready__' + pool['name'], vm['name']) &&
|
||||
!$redis.sismember('vmpooler__pending__' + pool['name'], vm['name']) &&
|
||||
!$redis.sismember('vmpooler__completed__' + pool['name'], vm['name']) &&
|
||||
!$redis.sismember('vmpooler__discovered__' + pool['name'], vm['name']) &&
|
||||
!$redis.sismember('vmpooler__migrating__' + pool['name'], vm['name'])
|
||||
|
||||
pool_check_response[:discovered_vms] += 1
|
||||
$redis.sadd('vmpooler__discovered__' + pool['name'], vm['name'])
|
||||
pool_check_response[:discovered_vms] += 1
|
||||
$redis.sadd('vmpooler__discovered__' + pool['name'], vm['name'])
|
||||
|
||||
$logger.log('s', "[?] [#{pool['name']}] '#{vm['name']}' added to 'discovered' queue")
|
||||
$logger.log('s', "[?] [#{pool['name']}] '#{vm['name']}' added to 'discovered' queue")
|
||||
end
|
||||
|
||||
inventory[vm['name']] = 1
|
||||
end
|
||||
|
||||
inventory[vm['name']] = 1
|
||||
end
|
||||
rescue => err
|
||||
$logger.log('s', "[!] [#{pool['name']}] _check_pool failed with an error while inspecting inventory: #{err}")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue