From 18ca38b8db9b236e9b98b1525fd0b6fd18f886e6 Mon Sep 17 00:00:00 2001 From: "kirby@puppetlabs.com" Date: Mon, 11 May 2020 16:47:30 -0700 Subject: [PATCH] Remove pool empty messages for pools with a size of 0 configured --- lib/vmpooler/pool_manager.rb | 12 +++++++----- spec/unit/pool_manager_spec.rb | 10 ++++++++-- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/lib/vmpooler/pool_manager.rb b/lib/vmpooler/pool_manager.rb index b74d2b2..aea6fc5 100644 --- a/lib/vmpooler/pool_manager.rb +++ b/lib/vmpooler/pool_manager.rb @@ -1270,11 +1270,13 @@ module Vmpooler $metrics.gauge("ready.#{pool_name}", ready) $metrics.gauge("running.#{pool_name}", running) - if redis.get("vmpooler__empty__#{pool_name}") - redis.del("vmpooler__empty__#{pool_name}") unless ready == 0 - elsif ready == 0 - redis.set("vmpooler__empty__#{pool_name}", 'true') - $logger.log('s', "[!] [#{pool_name}] is empty") + unless pool_size == 0 + if redis.get("vmpooler__empty__#{pool_name}") + redis.del("vmpooler__empty__#{pool_name}") unless ready == 0 + elsif ready == 0 + redis.set("vmpooler__empty__#{pool_name}", 'true') + $logger.log('s', "[!] [#{pool_name}] is empty") + end end (pool_size - total.to_i).times do diff --git a/spec/unit/pool_manager_spec.rb b/spec/unit/pool_manager_spec.rb index 9839634..547c496 100644 --- a/spec/unit/pool_manager_spec.rb +++ b/spec/unit/pool_manager_spec.rb @@ -4120,7 +4120,7 @@ EOT end describe '#repopulate_pool_vms' do - let(:pool_size) { 0 } + let(:pool_size) { 1 } let(:config) { YAML.load(<<-EOT --- @@ -4139,7 +4139,7 @@ EOT it 'should not call clone_vm when number of VMs is equal to the pool size' do expect(subject).to receive(:clone_vm).exactly(0).times - subject.repopulate_pool_vms(pool, provider, pool_check_response, pool_size) + subject.repopulate_pool_vms(pool, provider, pool_check_response, 0) end it 'should not call clone_vm when number of VMs is greater than the pool size' do @@ -4183,6 +4183,12 @@ EOT subject.repopulate_pool_vms(pool, provider, pool_check_response, pool_size) end + it 'should not log a message when the pool size is 0' do + expect(logger).to_not receive(:log).with('s', "[!] [#{pool}] is empty") + + subject.repopulate_pool_vms(pool, provider, pool_check_response, 0) + end + context 'when pool is marked as empty' do before(:each) do