Check osnailyfacter against undesired hiera_array calls

Closes-bug: 1499803
Change-Id: I1dfb317edeb5e2efd9fa075d73d9fa10fb64fc06
This commit is contained in:
Bartłomiej Piotrowski 2015-11-02 13:48:56 +01:00 committed by Alex Schultz
parent 01272e0a71
commit b5abd8e467
2 changed files with 33 additions and 8 deletions

View File

@ -2,12 +2,12 @@ source 'https://rubygems.org'
group :development, :test do
gem 'rake', :require => false
gem 'fakefs', :require => false
gem 'fakefs', :require => false
gem 'pry', :require => false
gem 'rspec', '~>3.3', :require => false
gem 'rspec-puppet', '~>2.1.0', :require => false
gem 'puppetlabs_spec_helper', :require => false
gem 'puppet-lint', '~> 0.3.2'
gem 'puppet-lint', :require => false
end
if puppetversion = ENV['PUPPET_GEM_VERSION']

View File

@ -1,9 +1,34 @@
require 'rubygems'
require 'puppetlabs_spec_helper/rake_tasks'
require 'puppet-lint/tasks/puppet-lint'
PuppetLint.configuration.fail_on_warnings = false
PuppetLint.configuration.send('disable_autoloader_layout')
PuppetLint.configuration.send('disable_80chars')
PuppetLint.configuration.send('disable_class_parameter_defaults')
PuppetLint.configuration.send('disable_class_inherits_from_params_class')
Rake::Task[:lint].clear
task :lint => ['lint:lint', 'lint:hiera_array']
namespace :lint do
PuppetLint::RakeTask.new :lint do |config|
config.fail_on_warnings = false
config.disable_checks = [
'autoloader_layout',
'class_parameter_defaults',
'class_inherits_from_params_class',
'80chars'
]
end
task :hiera_array do |t|
error = false
Dir.glob('./**/*.pp') do |manifest|
result = `grep -n 'hiera_array(.*[A-Za-z]_roles.*)' #{manifest}`
if $?.success?
line = result.split(':')[0]
$stderr.puts "ERROR: potentially dangerous hiera_array call found in #{manifest}:#{line}"
error = true
end
end
if error
fail
end
end
end