Validate overall success/failure of PUT

This commit is contained in:
Scott Schneider 2015-03-20 11:16:13 -07:00
parent 99a18c781a
commit d912c8183d

View file

@ -504,6 +504,8 @@ module Vmpooler
if $redis.exists('vmpooler__vm__' + params[:hostname]) if $redis.exists('vmpooler__vm__' + params[:hostname])
jdata = JSON.parse(request.body.read) jdata = JSON.parse(request.body.read)
failure = false
jdata.each do |param, arg| jdata.each do |param, arg|
case param case param
when 'lifetime' when 'lifetime'
@ -511,23 +513,28 @@ module Vmpooler
if arg > 0 if arg > 0
$redis.hset('vmpooler__vm__' + params[:hostname], param, arg) $redis.hset('vmpooler__vm__' + params[:hostname], param, arg)
else
status 200 failure = true
result['ok'] = true
end end
when 'tags' when 'tags'
if arg.is_a?(Hash) if arg.is_a?(Hash)
arg.keys.each do |tag| arg.keys.each do |tag|
$redis.hset('vmpooler__vm__' + params[:hostname], 'tag:' + tag, arg[tag]) $redis.hset('vmpooler__vm__' + params[:hostname], 'tag:' + tag, arg[tag])
end end
else
status 200 failure = true
result['ok'] = true
end end
end end
end end
end end
if failure
status 400
else
status 200
result['ok'] = true
end
JSON.pretty_generate(result) JSON.pretty_generate(result)
end end
end end