This commit is contained in:
Scott Schneider 2015-10-02 21:31:26 +00:00
commit b9575031d4
2 changed files with 16 additions and 0 deletions

View file

@ -295,6 +295,8 @@ module Vmpooler
jdata.each do |key, val| jdata.each do |key, val|
result[key] ||= {} result[key] ||= {}
result[key]['ok'] = true ##
val.to_i.times do |_i| val.to_i.times do |_i|
vm = backend.spop('vmpooler__ready__' + key) vm = backend.spop('vmpooler__ready__' + key)
@ -318,6 +320,8 @@ module Vmpooler
result[key] ||= {} result[key] ||= {}
result[key]['ok'] = true ##
if result[key]['hostname'] if result[key]['hostname']
result[key]['hostname'] = [result[key]['hostname']] unless result[key]['hostname'].is_a?(Array) result[key]['hostname'] = [result[key]['hostname']] unless result[key]['hostname'].is_a?(Array)
result[key]['hostname'].push(vm) result[key]['hostname'].push(vm)
@ -325,6 +329,8 @@ module Vmpooler
result[key]['hostname'] = vm result[key]['hostname'] = vm
end end
else else
result[key]['ok'] = false ##
status 503 status 503
result['ok'] = false result['ok'] = false
end end
@ -367,6 +373,8 @@ module Vmpooler
params[:template].split('+').each do |template| params[:template].split('+').each do |template|
result[template] ||= {} result[template] ||= {}
result[template]['ok'] = true ##
vm = backend.spop('vmpooler__ready__' + template) vm = backend.spop('vmpooler__ready__' + template)
unless vm.nil? unless vm.nil?
@ -396,6 +404,8 @@ module Vmpooler
result[template]['hostname'] = vm result[template]['hostname'] = vm
end end
else else
result[template]['ok'] = false ##
status 503 status 503
result['ok'] = false result['ok'] = false
end end

View file

@ -213,6 +213,7 @@ describe Vmpooler::API::V1 do
expected = { expected = {
ok: true, ok: true,
pool1: { pool1: {
ok: true,
hostname: 'abcdefghijklmnop' hostname: 'abcdefghijklmnop'
} }
} }
@ -228,9 +229,11 @@ describe Vmpooler::API::V1 do
expected = { expected = {
ok: true, ok: true,
pool1: { pool1: {
ok: true,
hostname: 'abcdefghijklmnop' hostname: 'abcdefghijklmnop'
}, },
pool2: { pool2: {
ok: true,
hostname: 'qrstuvwxyz012345' hostname: 'qrstuvwxyz012345'
} }
} }
@ -253,6 +256,7 @@ describe Vmpooler::API::V1 do
expected = { expected = {
ok: true, ok: true,
pool1: { pool1: {
ok: true,
hostname: 'abcdefghijklmnop' hostname: 'abcdefghijklmnop'
} }
} }
@ -276,6 +280,7 @@ describe Vmpooler::API::V1 do
expected = { expected = {
ok: true, ok: true,
pool1: { pool1: {
ok: true,
hostname: 'abcdefghijklmnop' hostname: 'abcdefghijklmnop'
} }
} }
@ -293,6 +298,7 @@ describe Vmpooler::API::V1 do
expected = { expected = {
ok: true, ok: true,
pool1: { pool1: {
ok: true,
hostname: 'abcdefghijklmnop' hostname: 'abcdefghijklmnop'
} }
} }