Fixes
* Add "auto" option for parallel run to set the number of jobs to the number of cpus * Fix load class helper a little Change-Id: I87dc432dc94b5f3e52b6650baee7888a8b8afbda
This commit is contained in:
parent
87bea74c81
commit
4dc90a550b
|
@ -34,6 +34,9 @@ module Noop
|
|||
def map(data, *args, &block)
|
||||
data.map &block
|
||||
end
|
||||
def processor_count
|
||||
0
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -57,10 +60,23 @@ module Noop
|
|||
Noop::Utils.error message
|
||||
end
|
||||
|
||||
# Check if parallel run option is enabled
|
||||
# Get the parallel run count value from the options
|
||||
# or from the processor count if "auto" is set
|
||||
# @return [Integer]
|
||||
def parallel_run
|
||||
return @parallel_run if @parallel_run
|
||||
if options[:parallel_run] = 'auto'
|
||||
@parallel_run = Parallel.processor_count
|
||||
debug "Using parallel run count: #{@parallel_run}"
|
||||
return @parallel_run
|
||||
end
|
||||
@parallel_run = options[:parallel_run].to_i
|
||||
end
|
||||
|
||||
# Check if the parallel run option is enabled
|
||||
# @return [true,false]
|
||||
def parallel_run?
|
||||
options[:parallel_run] and options[:parallel_run] > 0
|
||||
parallel_run > 0
|
||||
end
|
||||
|
||||
# Check if there are some filters defined
|
||||
|
@ -113,7 +129,7 @@ module Noop
|
|||
# Does not run tasks if :pretend option is given
|
||||
# return [Array<Noop::Task>]
|
||||
def run_all_tasks
|
||||
Parallel.map(task_list, :in_threads => options[:parallel_run]) do |task|
|
||||
Parallel.map(task_list, :in_threads => parallel_run) do |task|
|
||||
task.run unless options[:pretend]
|
||||
task
|
||||
end
|
||||
|
@ -124,7 +140,7 @@ module Noop
|
|||
# Does not run tasks if :pretend option is given
|
||||
# return [Array<Noop::Task>]
|
||||
def run_failed_tasks
|
||||
Parallel.map(task_list, :in_threads => options[:parallel_run]) do |task|
|
||||
Parallel.map(task_list, :in_threads => parallel_run) do |task|
|
||||
next if task.success?
|
||||
task.status = :pending
|
||||
task.run unless options[:pretend]
|
||||
|
@ -136,7 +152,7 @@ module Noop
|
|||
# from the previous run attempt
|
||||
# return [Array<Noop::Task>]
|
||||
def load_task_reports
|
||||
Parallel.map(task_list, :in_threads => options[:parallel_run]) do |task|
|
||||
Parallel.map(task_list, :in_threads => parallel_run) do |task|
|
||||
task.file_load_report_json
|
||||
task.determine_task_status
|
||||
task
|
||||
|
|
|
@ -13,7 +13,7 @@ module Noop
|
|||
optparse = OptionParser.new do |opts|
|
||||
opts.separator 'Main options:'
|
||||
opts.on('-j', '--jobs JOBS', 'Parallel run RSpec jobs') do |jobs|
|
||||
@options[:parallel_run] = jobs.to_i
|
||||
@options[:parallel_run] = jobs
|
||||
end
|
||||
opts.on('-g', '--globals', 'Run all globals tasks and update saved globals YAML files') do |jobs|
|
||||
ENV['SPEC_UPDATE_GLOBALS'] = 'YES'
|
||||
|
|
|
@ -67,8 +67,7 @@ module Noop
|
|||
class_name = class_name.to_s
|
||||
unless puppet_scope.catalog.classes.include? class_name
|
||||
debug "Dynamicly loading class: '#{class_name}'"
|
||||
class_names = puppet_scope.transform_and_assert_classnames [class_name]
|
||||
puppet_scope.compiler.evaluate_classes class_names, puppet_scope, false
|
||||
puppet_scope.compiler.evaluate_classes [class_name], puppet_scope, false
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue