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'
|
parsed_config[:graphite]['prefix'] ||= 'vmpooler'
|
||||||
end
|
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[:uptime] = Time.now
|
||||||
|
|
||||||
parsed_config
|
parsed_config
|
||||||
|
|
|
||||||
|
|
@ -542,8 +542,13 @@ module Vmpooler
|
||||||
backend.hset('vmpooler__vm__' + params[:hostname], param, arg)
|
backend.hset('vmpooler__vm__' + params[:hostname], param, arg)
|
||||||
when 'tags'
|
when 'tags'
|
||||||
arg.keys.each do |tag|
|
arg.keys.each do |tag|
|
||||||
backend.hset('vmpooler__vm__' + params[:hostname], 'tag:' + tag, arg[tag])
|
if Vmpooler::API.settings.config[:tagfilter] and Vmpooler::API.settings.config[:tagfilter][tag]
|
||||||
backend.hset('vmpooler__tag__' + Date.today.to_s, params[:hostname] + ':' + tag, arg[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
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue