Initial msync run for all Puppet OpenStack modules

This patch is the initial modulesync run, it impacts:

* gitignore: just a sync between projects
* gemfile:
  - update and allow to setup facter version and gem source
  - split beaker gems with a dedicated group
  - switch to rspec-puppet 2.2.0
* rakefile:
  - use the new syntax for lint configuration
  - add a acceptance target
* acceptance:
  - sync nodesets
* spec:
  - added rspec coverage report
  - added shared_examples rspec helper

Change-Id: I5b67825ea1c284d1e655e3b4017f79a9efd79d46
This commit is contained in:
Cody Herriges 2015-08-04 11:52:01 -07:00 committed by Sebastien Badia
parent c22bfc5095
commit 49354c402f
10 changed files with 87 additions and 30 deletions

11
.gitignore vendored
View File

@ -1,5 +1,10 @@
pkg/
Gemfile.lock Gemfile.lock
vendor/
spec/fixtures/
.vagrant/
.bundle/
coverage/
.idea/
*.swp *.swp
spec/fixtures/modules/* *.iml
spec/fixtures/manifests/*
pkg

41
Gemfile
View File

@ -1,25 +1,30 @@
source 'https://rubygems.org' source ENV['GEM_SOURCE'] || "https://rubygems.org"
group :development, :test do group :development, :test do
gem 'puppetlabs_spec_helper', :require => false gem 'puppetlabs_spec_helper', :require => 'false'
gem 'rspec-puppet', '~> 2.1.0', :require => false gem 'rspec-puppet', '~> 2.2.0', :require => 'false'
gem 'metadata-json-lint', :require => 'false'
gem 'puppet-lint-param-docs', :require => 'false'
gem 'puppet-lint-absolute_classname-check', :require => 'false'
gem 'puppet-lint-absolute_template_path', :require => 'false'
gem 'puppet-lint-trailing_newline-check', :require => 'false'
gem 'puppet-lint-unquoted_string-check', :require => 'false'
gem 'puppet-lint-leading_zero-check', :require => 'false'
gem 'puppet-lint-variable_contains_upcase', :require => 'false'
gem 'puppet-lint-numericvariable', :require => 'false'
gem 'json', :require => 'false'
gem 'webmock', :require => 'false'
end
gem 'metadata-json-lint' group :system_tests do
gem 'puppet-lint-param-docs' gem 'beaker-rspec', :require => 'false'
gem 'puppet-lint-absolute_classname-check' gem 'beaker-puppet_install_helper', :require => 'false'
gem 'puppet-lint-absolute_template_path' end
gem 'puppet-lint-trailing_newline-check'
# Puppet 4.x related lint checks if facterversion = ENV['FACTER_GEM_VERSION']
gem 'puppet-lint-unquoted_string-check' gem 'facter', facterversion, :require => false
gem 'puppet-lint-leading_zero-check' else
gem 'puppet-lint-variable_contains_upcase' gem 'facter', :require => false
gem 'puppet-lint-numericvariable'
gem 'beaker-rspec', :require => false
gem 'beaker-puppet_install_helper', :require => false
gem 'json'
gem 'webmock'
end end
if puppetversion = ENV['PUPPET_GEM_VERSION'] if puppetversion = ENV['PUPPET_GEM_VERSION']

View File

@ -1,7 +1,21 @@
require 'puppetlabs_spec_helper/rake_tasks' require 'puppetlabs_spec_helper/rake_tasks'
require 'puppet-lint/tasks/puppet-lint' require 'puppet-lint/tasks/puppet-lint'
require 'puppet-syntax/tasks/puppet-syntax'
PuppetLint.configuration.fail_on_warnings = true PuppetSyntax.exclude_paths ||= []
PuppetLint.configuration.send('disable_80chars') PuppetSyntax.exclude_paths << "spec/fixtures/**/*"
PuppetLint.configuration.send('disable_class_parameter_defaults') PuppetSyntax.exclude_paths << "pkg/**/*"
PuppetLint.configuration.send('disable_class_inherits_from_params_class') PuppetSyntax.exclude_paths << "vendor/**/*"
Rake::Task[:lint].clear
PuppetLint::RakeTask.new :lint do |config|
config.ignore_paths = ["spec/**/*.pp", "vendor/**/*.pp"]
config.fail_on_warnings = true
config.log_format = '%{path}:%{linenumber}:%{KIND}: %{message}'
config.disable_checks = ["80chars", "class_inherits_from_params_class", "class_parameter_defaults", "only_variable_string"]
end
desc "Run acceptance tests"
RSpec::Core::RakeTask.new(:acceptance) do |t|
t.pattern = 'spec/acceptance'
end

View File

@ -0,0 +1,11 @@
HOSTS:
centos-server-70-x64:
roles:
- master
platform: el-7-x86_64
box: puppetlabs/centos-7.0-64-nocm
box_url: https://vagrantcloud.com/puppetlabs/centos-7.0-64-nocm
hypervisor: vagrant
CONFIG:
log_level: debug
type: foss

View File

@ -1,9 +1,10 @@
HOSTS: HOSTS:
ubuntu-14.04-amd64: ubuntu-server-14.04-amd64:
roles: roles:
- master - master
platform: ubuntu-14.04-amd64 platform: ubuntu-14.04-amd64
hypervisor : none box: puppetlabs/ubuntu-14.04-64-nocm
ip: 127.0.0.1 box_url: https://vagrantcloud.com/puppetlabs/ubuntu-14.04-64-nocm
hypervisor: vagrant
CONFIG: CONFIG:
type: foss type: foss

View File

@ -3,7 +3,7 @@ HOSTS:
roles: roles:
- master - master
platform: el-7-x86_64 platform: el-7-x86_64
hypervisor : none hypervisor: none
ip: 127.0.0.1 ip: 127.0.0.1
CONFIG: CONFIG:
type: foss type: foss

View File

@ -3,7 +3,7 @@ HOSTS:
roles: roles:
- master - master
platform: ubuntu-14.04-amd64 platform: ubuntu-14.04-amd64
hypervisor : none hypervisor: none
ip: 127.0.0.1 ip: 127.0.0.1
CONFIG: CONFIG:
type: foss type: foss

View File

@ -0,0 +1,11 @@
HOSTS:
ubuntu-server-14.04-amd64:
roles:
- master
platform: ubuntu-14.04-amd64
box: puppetlabs/ubuntu-14.04-64-nocm
box_url: https://vagrantcloud.com/puppetlabs/ubuntu-14.04-64-nocm
hypervisor: vagrant
CONFIG:
log_level: debug
type: foss

5
spec/shared_examples.rb Normal file
View File

@ -0,0 +1,5 @@
shared_examples_for "a Puppet::Error" do |description|
it "with message matching #{description.inspect}" do
expect { is_expected.to have_class_count(1) }.to raise_error(Puppet::Error, description)
end
end

View File

@ -1,5 +1,10 @@
require 'puppetlabs_spec_helper/module_spec_helper' require 'puppetlabs_spec_helper/module_spec_helper'
require 'shared_examples'
require 'webmock/rspec'
RSpec.configure do |c| RSpec.configure do |c|
c.alias_it_should_behave_like_to :it_configures, 'configures' c.alias_it_should_behave_like_to :it_configures, 'configures'
c.alias_it_should_behave_like_to :it_raises, 'raises'
end end
at_exit { RSpec::Puppet::Coverage.report! }