From c4cac5b0c5399581a0e570b7613e0dbc07e8942c Mon Sep 17 00:00:00 2001 From: Rick Bradley Date: Thu, 26 May 2016 11:58:48 -0500 Subject: [PATCH] (QENG-3919) Return 503 status on failed allocation Making sure we go back to the original functionality, which was: - status 200 when vms successfully allocated - status 404 when a pool name is unknown - status 404 when no pool name is specified - status 503 when vm allocation failed --- lib/vmpooler/api/v1.rb | 1 + spec/vmpooler/api/v1_spec.rb | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/lib/vmpooler/api/v1.rb b/lib/vmpooler/api/v1.rb index 0ac50da..22aba6d 100644 --- a/lib/vmpooler/api/v1.rb +++ b/lib/vmpooler/api/v1.rb @@ -104,6 +104,7 @@ module Vmpooler if failed vms.each do |(template, vm)| return_single_vm(template, vm) + status 503 end else vms.each do |(template, vm)| diff --git a/spec/vmpooler/api/v1_spec.rb b/spec/vmpooler/api/v1_spec.rb index 9997217..8742974 100644 --- a/spec/vmpooler/api/v1_spec.rb +++ b/spec/vmpooler/api/v1_spec.rb @@ -311,7 +311,7 @@ describe Vmpooler::API::V1 do expected = { ok: false } expect(last_response.body).to eq(JSON.pretty_generate(expected)) - expect_json(ok = false, http = 200) + expect_json(ok = false, http = 503) end it 'returns any checked out vms to their pools when not all requested vms can be allocated' do @@ -324,7 +324,7 @@ describe Vmpooler::API::V1 do expected = { ok: false } expect(last_response.body).to eq(JSON.pretty_generate(expected)) - expect_json(ok = false, http = 200) + expect_json(ok = false, http = 503) end it 'fails when not all requested vms can be allocated, when requesting multiple instances from a pool' do @@ -337,7 +337,7 @@ describe Vmpooler::API::V1 do expected = { ok: false } expect(last_response.body).to eq(JSON.pretty_generate(expected)) - expect_json(ok = false, http = 200) + expect_json(ok = false, http = 503) end it 'returns any checked out vms to their pools when not all requested vms can be allocated, when requesting multiple instances from a pool' do @@ -350,7 +350,7 @@ describe Vmpooler::API::V1 do expected = { ok: false } expect(last_response.body).to eq(JSON.pretty_generate(expected)) - expect_json(ok = false, http = 200) + expect_json(ok = false, http = 503) end it 'fails when not all requested vms can be allocated, when requesting multiple instances from multiple pools' do @@ -363,7 +363,7 @@ describe Vmpooler::API::V1 do expected = { ok: false } expect(last_response.body).to eq(JSON.pretty_generate(expected)) - expect_json(ok = false, http = 200) + expect_json(ok = false, http = 503) end it 'returns any checked out vms to their pools when not all requested vms can be allocated, when requesting multiple instances from multiple pools' do @@ -376,7 +376,7 @@ describe Vmpooler::API::V1 do expected = { ok: false } expect(last_response.body).to eq(JSON.pretty_generate(expected)) - expect_json(ok = false, http = 200) + expect_json(ok = false, http = 503) end context '(auth not configured)' do @@ -577,7 +577,7 @@ describe Vmpooler::API::V1 do expected = { ok: false } expect(last_response.body).to eq(JSON.pretty_generate(expected)) - expect_json(ok = false, http = 200) + expect_json(ok = false, http = 503) end it 'returns any checked out vms to their pools when not all requested vms can be allocated' do @@ -590,7 +590,7 @@ describe Vmpooler::API::V1 do expected = { ok: false } expect(last_response.body).to eq(JSON.pretty_generate(expected)) - expect_json(ok = false, http = 200) + expect_json(ok = false, http = 503) end it 'fails when not all requested vms can be allocated, when requesting multiple instances from a pool' do @@ -603,7 +603,7 @@ describe Vmpooler::API::V1 do expected = { ok: false } expect(last_response.body).to eq(JSON.pretty_generate(expected)) - expect_json(ok = false, http = 200) + expect_json(ok = false, http = 503) end it 'returns any checked out vms to their pools when not all requested vms can be allocated, when requesting multiple instances from a pool' do @@ -616,7 +616,7 @@ describe Vmpooler::API::V1 do expected = { ok: false } expect(last_response.body).to eq(JSON.pretty_generate(expected)) - expect_json(ok = false, http = 200) + expect_json(ok = false, http = 503) end it 'fails when not all requested vms can be allocated, when requesting multiple instances from multiple pools' do @@ -629,7 +629,7 @@ describe Vmpooler::API::V1 do expected = { ok: false } expect(last_response.body).to eq(JSON.pretty_generate(expected)) - expect_json(ok = false, http = 200) + expect_json(ok = false, http = 503) end it 'returns any checked out vms to their pools when not all requested vms can be allocated, when requesting multiple instances from multiple pools' do @@ -642,7 +642,7 @@ describe Vmpooler::API::V1 do expected = { ok: false } expect(last_response.body).to eq(JSON.pretty_generate(expected)) - expect_json(ok = false, http = 200) + expect_json(ok = false, http = 503) end context '(auth not configured)' do