diff --git a/lib/vmpooler/api/v1.rb b/lib/vmpooler/api/v1.rb index 33a55fa..ad2f033 100644 --- a/lib/vmpooler/api/v1.rb +++ b/lib/vmpooler/api/v1.rb @@ -295,6 +295,8 @@ module Vmpooler jdata.each do |key, val| result[key] ||= {} + result[key]['ok'] = true ## + val.to_i.times do |_i| vm = backend.spop('vmpooler__ready__' + key) @@ -318,6 +320,8 @@ module Vmpooler result[key] ||= {} + result[key]['ok'] = true ## + if result[key]['hostname'] result[key]['hostname'] = [result[key]['hostname']] unless result[key]['hostname'].is_a?(Array) result[key]['hostname'].push(vm) @@ -325,6 +329,8 @@ module Vmpooler result[key]['hostname'] = vm end else + result[key]['ok'] = false ## + status 503 result['ok'] = false end @@ -367,6 +373,8 @@ module Vmpooler params[:template].split('+').each do |template| result[template] ||= {} + result[template]['ok'] = true ## + vm = backend.spop('vmpooler__ready__' + template) unless vm.nil? @@ -396,6 +404,8 @@ module Vmpooler result[template]['hostname'] = vm end else + result[template]['ok'] = false ## + status 503 result['ok'] = false end diff --git a/spec/vmpooler/api/v1_spec.rb b/spec/vmpooler/api/v1_spec.rb index 5f7643a..4e6240d 100644 --- a/spec/vmpooler/api/v1_spec.rb +++ b/spec/vmpooler/api/v1_spec.rb @@ -213,6 +213,7 @@ describe Vmpooler::API::V1 do expected = { ok: true, pool1: { + ok: true, hostname: 'abcdefghijklmnop' } } @@ -228,9 +229,11 @@ describe Vmpooler::API::V1 do expected = { ok: true, pool1: { + ok: true, hostname: 'abcdefghijklmnop' }, pool2: { + ok: true, hostname: 'qrstuvwxyz012345' } } @@ -253,6 +256,7 @@ describe Vmpooler::API::V1 do expected = { ok: true, pool1: { + ok: true, hostname: 'abcdefghijklmnop' } } @@ -276,6 +280,7 @@ describe Vmpooler::API::V1 do expected = { ok: true, pool1: { + ok: true, hostname: 'abcdefghijklmnop' } } @@ -293,6 +298,7 @@ describe Vmpooler::API::V1 do expected = { ok: true, pool1: { + ok: true, hostname: 'abcdefghijklmnop' } }