mirror of
https://github.com/puppetlabs/vmpooler.git
synced 2026-01-26 18:08:42 -05:00
(MOB) refactor create_inventory into own method
Takes the #INVENTORY section from the _check_pool method & splits it into its own method
This commit is contained in:
parent
678290f779
commit
ec07f04d95
2 changed files with 39 additions and 17 deletions
|
|
@ -695,17 +695,7 @@ module Vmpooler
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def _check_pool(pool, provider)
|
def create_inventory(pool, provider)
|
||||||
pool_check_response = {
|
|
||||||
discovered_vms: 0,
|
|
||||||
checked_running_vms: 0,
|
|
||||||
checked_ready_vms: 0,
|
|
||||||
checked_pending_vms: 0,
|
|
||||||
destroyed_vms: 0,
|
|
||||||
migrated_vms: 0,
|
|
||||||
cloned_vms: 0
|
|
||||||
}
|
|
||||||
# INVENTORY
|
|
||||||
inventory = {}
|
inventory = {}
|
||||||
begin
|
begin
|
||||||
provider.vms_in_pool(pool['name']).each do |vm|
|
provider.vms_in_pool(pool['name']).each do |vm|
|
||||||
|
|
@ -725,9 +715,23 @@ module Vmpooler
|
||||||
inventory[vm['name']] = 1
|
inventory[vm['name']] = 1
|
||||||
end
|
end
|
||||||
rescue => err
|
rescue => err
|
||||||
$logger.log('s', "[!] [#{pool['name']}] _check_pool failed with an error while inspecting inventory: #{err}")
|
$logger.log('s', "[!] [#{pool['name']}] _check_pool failed with an error while running create_inventory: #{err}")
|
||||||
return pool_check_response
|
raise(err)
|
||||||
end
|
end
|
||||||
|
inventory
|
||||||
|
end
|
||||||
|
|
||||||
|
def _check_pool(pool, provider)
|
||||||
|
pool_check_response = {
|
||||||
|
discovered_vms: 0,
|
||||||
|
checked_running_vms: 0,
|
||||||
|
checked_ready_vms: 0,
|
||||||
|
checked_pending_vms: 0,
|
||||||
|
destroyed_vms: 0,
|
||||||
|
migrated_vms: 0,
|
||||||
|
cloned_vms: 0
|
||||||
|
}
|
||||||
|
inventory = create_inventory(pool, provider)
|
||||||
|
|
||||||
# RUNNING
|
# RUNNING
|
||||||
$redis.smembers("vmpooler__running__#{pool['name']}").each do |vm|
|
$redis.smembers("vmpooler__running__#{pool['name']}").each do |vm|
|
||||||
|
|
|
||||||
|
|
@ -2651,6 +2651,17 @@ EOT
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe '#create_inventory' do
|
||||||
|
|
||||||
|
it 'should log an error if one occurs' # do
|
||||||
|
# expect(provider).to receive(:vms_in_pool).and_raise(RuntimeError,'Mock Error')
|
||||||
|
# expect(logger).to receive(:log).with('s', "[!] [#{pool}] _check_pool failed with an error while running create_inventory: Mock Error")
|
||||||
|
#
|
||||||
|
# subject._check_pool(pool_object,provider)
|
||||||
|
# end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
describe '#_check_pool' do
|
describe '#_check_pool' do
|
||||||
let(:new_vm_response) {
|
let(:new_vm_response) {
|
||||||
# Mock response from Base Provider for vms_in_pool
|
# Mock response from Base Provider for vms_in_pool
|
||||||
|
|
@ -2703,11 +2714,18 @@ EOT
|
||||||
allow(provider).to receive(:vms_in_pool).with(pool).and_return(new_vm_response)
|
allow(provider).to receive(:vms_in_pool).with(pool).and_return(new_vm_response)
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'should log an error if one occurs' do
|
it 'calls inventory correctly' do
|
||||||
expect(provider).to receive(:vms_in_pool).and_raise(RuntimeError,'Mock Error')
|
expect(subject).to receive(:create_inventory)
|
||||||
expect(logger).to receive(:log).with('s', "[!] [#{pool}] _check_pool failed with an error while inspecting inventory: Mock Error")
|
subject._check_pool(pool_object, provider)
|
||||||
|
end
|
||||||
|
|
||||||
subject._check_pool(pool_object,provider)
|
it 'passes #create_inventory errors correctly' do
|
||||||
|
allow(subject).to receive(:create_inventory).and_raise(
|
||||||
|
RuntimeError,'Mock Error'
|
||||||
|
)
|
||||||
|
expect {
|
||||||
|
subject._check_pool(pool_object, provider)
|
||||||
|
}.to raise_error(RuntimeError, /Mock Error/)
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'should not perform any other actions if an error occurs' do
|
it 'should not perform any other actions if an error occurs' do
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue