mirror of
https://github.com/puppetlabs/vmpooler.git
synced 2026-01-26 01:58:41 -05:00
Adding VM-tagging support via PUT /vm/:hostname endpoint
This commit is contained in:
parent
1b8435a63a
commit
99a18c781a
2 changed files with 38 additions and 2 deletions
|
|
@ -445,12 +445,21 @@ module Vmpooler
|
|||
status 200
|
||||
result['ok'] = true
|
||||
|
||||
rdata = $redis.hgetall('vmpooler__vm__' + params[:hostname])
|
||||
|
||||
result[params[:hostname]] = {}
|
||||
|
||||
result[params[:hostname]]['template'] = $redis.hget('vmpooler__vm__' + params[:hostname], 'template')
|
||||
result[params[:hostname]]['lifetime'] = $redis.hget('vmpooler__vm__' + params[:hostname], 'lifetime') || $config[:config]['vm_lifetime']
|
||||
result[params[:hostname]]['template'] = rdata['template']
|
||||
result[params[:hostname]]['lifetime'] = rdata['lifetime'] || $config[:config]['vm_lifetime']
|
||||
result[params[:hostname]]['running'] = ((Time.now - Time.parse($redis.hget('vmpooler__active__' + result[params[:hostname]]['template'], params[:hostname]))) / 60 / 60).round(2)
|
||||
|
||||
rdata.keys.each do |key|
|
||||
if key.match('^tag\:(.+?)$')
|
||||
result[params[:hostname]]['tags'] ||= {}
|
||||
result[params[:hostname]]['tags'][$1] = rdata[key]
|
||||
end
|
||||
end
|
||||
|
||||
if $config[:config]['domain']
|
||||
result[params[:hostname]]['domain'] = $config[:config]['domain']
|
||||
end
|
||||
|
|
@ -503,6 +512,15 @@ module Vmpooler
|
|||
if arg > 0
|
||||
$redis.hset('vmpooler__vm__' + params[:hostname], param, arg)
|
||||
|
||||
status 200
|
||||
result['ok'] = true
|
||||
end
|
||||
when 'tags'
|
||||
if arg.is_a?(Hash)
|
||||
arg.keys.each do |tag|
|
||||
$redis.hset('vmpooler__vm__' + params[:hostname], 'tag:' + tag, arg[tag])
|
||||
end
|
||||
|
||||
status 200
|
||||
result['ok'] = true
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue