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.

Reply via email to