Added functionality to generate multiple sample reports per sample node to the reports:samples:generate rake task.
Paired-with:Matt Robinson Signed-off-by: Max Martin <[email protected]> --- Local-branch: feature/next/6531_report_generator lib/data_generator.rb | 9 +++++---- lib/tasks/generate_sample_reports.rake | 13 +++++++++---- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/lib/data_generator.rb b/lib/data_generator.rb index ec28159..034d409 100644 --- a/lib/data_generator.rb +++ b/lib/data_generator.rb @@ -12,8 +12,8 @@ class Puppet::Transaction::Report def self.generate(options) Puppet::Transaction::Report.new.tap do |report| - report.host = DataGenerator.generate_hostname - report.time = DataGenerator.generate_time + report.host = options[:hostname] + report.time = DataGenerator.generate_time(options[:time_offset]) report.logs = [] report.metrics = {} report.resource_statuses = {} @@ -119,9 +119,10 @@ module DataGenerator "#{host}.#{@domain}.#{@ext}" end - def self.generate_time + def self.generate_time(offset=nil) time = Time.now - time -= 1.day if rand(100) < 5 + time -= 1.hour if rand(100) < 5 + time -= offset.day if offset time end diff --git a/lib/tasks/generate_sample_reports.rake b/lib/tasks/generate_sample_reports.rake index 65d3a2d..b21fb10 100644 --- a/lib/tasks/generate_sample_reports.rake +++ b/lib/tasks/generate_sample_reports.rake @@ -11,7 +11,7 @@ require 'data_generator' namespace :reports do namespace :samples do - desc "Generate sample YAML reports with in REPORT_DIR with NUM_NODES, NUM_STATUSES, NUM_EVENTS" + desc "Generate NUM_REPORTS sample YAML reports with in REPORT_DIR with NUM_NODES, NUM_STATUSES, NUM_EVENTS" task :generate do DEFAULT_DIR = 'tmp/sample_reports' report_dir = ENV['REPORT_DIR'] || DEFAULT_DIR @@ -20,13 +20,18 @@ namespace :reports do :num_events => ENV['NUM_EVENTS'].to_i || 3, } num_nodes = ENV['NUM_NODES'].to_i || 100 + num_reports = ENV['NUM_REPORTS'].to_i || 1 FileUtils.mkdir_p(report_dir) num_nodes.times do - report = DataGenerator.generate_reports(options) - File.open("#{report_dir}/#{report.host}.yaml","w") do |f| - f.print YAML.dump(report) + options[:hostname] = DataGenerator.generate_hostname + num_reports.times do |i| + options[:time_offset] = i + report = DataGenerator.generate_reports(options) + File.open("#{report_dir}/#{report.host}_#{i}.yaml","w") do |f| + f.print YAML.dump(report) + end end end end -- 1.7.4 -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en.
