mirror of
https://github.com/puppetlabs/vmpooler.git
synced 2026-01-26 18:08:42 -05:00
Fixed remove_excess_vms test
This commit is contained in:
parent
0126c305ec
commit
1890344d7d
2 changed files with 21 additions and 20 deletions
|
|
@ -661,7 +661,9 @@ module Vmpooler
|
||||||
$logger.log('s', "[*] [#{pool['name']}] is ready for use")
|
$logger.log('s', "[*] [#{pool['name']}] is ready for use")
|
||||||
end
|
end
|
||||||
|
|
||||||
def remove_excess_vms(pool, provider, ready, total)
|
def remove_excess_vms(pool)
|
||||||
|
ready = $redis.scard("vmpooler__ready__#{pool['name']}")
|
||||||
|
total = $redis.scard("vmpooler__pending__#{pool['name']}") + ready
|
||||||
return if total.nil?
|
return if total.nil?
|
||||||
return if total == 0
|
return if total == 0
|
||||||
mutex = pool_mutex(pool['name'])
|
mutex = pool_mutex(pool['name'])
|
||||||
|
|
@ -893,11 +895,8 @@ module Vmpooler
|
||||||
|
|
||||||
repopulate_pool_vms(pool['name'], provider, pool_check_response, pool['size'])
|
repopulate_pool_vms(pool['name'], provider, pool_check_response, pool['size'])
|
||||||
|
|
||||||
# query redis again until we refactor remove_excess_vms, duplicate of a line moved to refactored method repopulate_pool_vms
|
|
||||||
ready = $redis.scard("vmpooler__ready__#{pool['name']}")
|
|
||||||
total = $redis.scard("vmpooler__pending__#{pool['name']}") + ready
|
|
||||||
# Remove VMs in excess of the configured pool size
|
# Remove VMs in excess of the configured pool size
|
||||||
remove_excess_vms(pool, provider, ready, total)
|
remove_excess_vms(pool)
|
||||||
|
|
||||||
pool_check_response
|
pool_check_response
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -3215,21 +3215,6 @@ EOT
|
||||||
# end
|
# end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when an excess number of ready vms exist' do
|
|
||||||
|
|
||||||
before(:each) do
|
|
||||||
allow(redis).to receive(:scard)
|
|
||||||
expect(redis).to receive(:scard).with("vmpooler__ready__#{pool}").and_return(1)
|
|
||||||
expect(redis).to receive(:scard).with("vmpooler__pending__#{pool}").and_return(1)
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'should call remove_excess_vms' do
|
|
||||||
expect(subject).to receive(:remove_excess_vms).with(config[:pools][0], provider, 1, 2)
|
|
||||||
|
|
||||||
subject._check_pool(config[:pools][0],provider)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'export metrics' do
|
context 'export metrics' do
|
||||||
it 'increments metrics for ready queue' do
|
it 'increments metrics for ready queue' do
|
||||||
create_ready_vm(pool,'vm1')
|
create_ready_vm(pool,'vm1')
|
||||||
|
|
@ -3557,6 +3542,23 @@ EOT
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
#remove_excess_vms
|
||||||
|
context 'when an excess number of ready vms exist' do
|
||||||
|
|
||||||
|
before(:each) do
|
||||||
|
allow(redis).to receive(:scard)
|
||||||
|
expect(redis).to receive(:scard).with("vmpooler__ready__#{pool}").and_return(1)
|
||||||
|
expect(redis).to receive(:scard).with("vmpooler__pending__#{pool}").and_return(1)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should call remove_excess_vms' do
|
||||||
|
allow(subject).to receive(:create_inventory).and_return({})
|
||||||
|
expect(subject).to receive(:remove_excess_vms).with(config[:pools][0])
|
||||||
|
|
||||||
|
subject._check_pool(config[:pools][0],provider)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue