mirror of
https://github.com/puppetlabs/vmpooler.git
synced 2026-01-26 01:58:41 -05:00
This implements regex-based tag filtering
This commit is contained in:
parent
ae91077494
commit
4bed6edde4
2 changed files with 13 additions and 2 deletions
|
|
@ -37,6 +37,12 @@ module Vmpooler
|
|||
parsed_config[:graphite]['prefix'] ||= 'vmpooler'
|
||||
end
|
||||
|
||||
if parsed_config[:tagfilter]
|
||||
parsed_config[:tagfilter].keys.each do |tag|
|
||||
parsed_config[:tagfilter][tag] = Regexp.new(parsed_config[:tagfilter][tag])
|
||||
end
|
||||
end
|
||||
|
||||
parsed_config[:uptime] = Time.now
|
||||
|
||||
parsed_config
|
||||
|
|
|
|||
|
|
@ -542,6 +542,11 @@ module Vmpooler
|
|||
backend.hset('vmpooler__vm__' + params[:hostname], param, arg)
|
||||
when 'tags'
|
||||
arg.keys.each do |tag|
|
||||
if Vmpooler::API.settings.config[:tagfilter] and Vmpooler::API.settings.config[:tagfilter][tag]
|
||||
filter = Vmpooler::API.settings.config[:tagfilter][tag]
|
||||
arg[tag] = arg[tag].match(filter).captures.join
|
||||
end
|
||||
|
||||
backend.hset('vmpooler__vm__' + params[:hostname], 'tag:' + tag, arg[tag])
|
||||
backend.hset('vmpooler__tag__' + Date.today.to_s, params[:hostname] + ':' + tag, arg[tag])
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue