Skip to content

Commit

Permalink
Merge pull request jhoblitt#13 from jhoblitt/feature/v2.0.0
Browse files Browse the repository at this point in the history
Feature/v2.0.0
  • Loading branch information
Joshua Hoblitt committed Jun 6, 2015
2 parents cf8ef28 + c52dc2a commit 683e0c0
Show file tree
Hide file tree
Showing 22 changed files with 356 additions and 55 deletions.
6 changes: 3 additions & 3 deletions .fixtures.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
fixtures:
repositories:
"stdlib":
repo: "git://github.com/puppetlabs/puppetlabs-stdlib.git"
ref: "3.0.0"
stdlib:
repo: 'https://github.com/puppetlabs/puppetlabs-stdlib.git'
ref: '4.6.0'
symlinks:
"ipmi": "#{source_dir}"
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
.bundle
Gemfile.lock
junit/
log/
*.orig
*.patch
pkg/
Expand Down
24 changes: 11 additions & 13 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,21 @@
sudo: false
language: ruby
bundler_args: --without beaker
rvm:
- 1.8.7
- 1.9.3
- 2.0.0
- 2.1.4
- 2.0
- 2.1
- 2.2
env:
- PUPPET_GEM_VERSION="~> 2.7"
- PUPPET_GEM_VERSION="~> 3.3"
- PUPPET_GEM_VERSION="~> 3.7" FUTURE_PARSER="yes"
- PUPPET_GEM_VERSION="~> 3.7"
- PUPPET_GEM_VERSION="~> 4.0"
matrix:
allow_failures:
- rvm: ruby-head
exclude:
- rvm: 1.9.3
env: PUPPET_GEM_VERSION="~> 2.7"
- rvm: 2.0.0
env: PUPPET_GEM_VERSION="~> 2.7"
- rvm: 2.1.4
env: PUPPET_GEM_VERSION="~> 2.7"
- rvm: 1.8.7
env: PUPPET_GEM_VERSION="~> 4.0"
- rvm: 2.2
env: PUPPET_GEM_VERSION="~> 3.7"
fast_finish: true
notifications:
email: false
77 changes: 77 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,82 @@

#### [Current]
* [bfc0e6a](../../commit/bfc0e6a) - __(Joshua Hoblitt)__ fix rspec puppet 4 compatibility
* [3123bb9](../../commit/3123bb9) - __(Joshua Hoblitt)__ add Puppet Version Compatibility subsection to README
* [1e76146](../../commit/1e76146) - __(Joshua Hoblitt)__ update README boilerplate
* [d2f265d](../../commit/d2f265d) - __(Joshua Hoblitt)__ remove default nodset symlink

To resolve this PMT error:
Puppet::ModuleTool::Errors::ModuleToolError: Found symlinks. Symlinks in modules are not allowed, please remove them.

* [1e866b7](../../commit/1e866b7) - __(Joshua Hoblitt)__ add centos 5.11 nodeset
* [4a1873a](../../commit/4a1873a) - __(Joshua Hoblitt)__ add puppet-blacksmith gem
* [b37b7a2](../../commit/b37b7a2) - __(Joshua Hoblitt)__ add travis_lint rake target
* [f230dde](../../commit/f230dde) - __(Joshua Hoblitt)__ add debian 7.8 nodeset
* [19c3a98](../../commit/19c3a98) - __(Joshua Hoblitt)__ fix trailing whitespace
* [8dc4b01](../../commit/8dc4b01) - __(Joshua Hoblitt)__ update copyright notice year to 2015
* [9ccdb91](../../commit/9ccdb91) - __(Joshua Hoblitt)__ add ruby 2.2 to travis matrix
* [920aaff](../../commit/920aaff) - __(Joshua Hoblitt)__ add :validate to default rake target list
* [c856b2f](../../commit/c856b2f) - __(Joshua Hoblitt)__ add metadata-json-lint gem

Needed by rake metadata.json validation target.

* [34304e4](../../commit/34304e4) - __(Joshua Hoblitt)__ set stdlib requirement to 4.6.0
* [8c2a694](../../commit/8c2a694) - __(Joshua Hoblitt)__ update travis matrix puppet 3.x minimum version to 3.7
* [e99cd8d](../../commit/e99cd8d) - __(Joshua Hoblitt)__ update rspec-puppet gem version to ~> 2.1.0

For compatibility with puppet 4.0.0

* [072d233](../../commit/072d233) - __(Joshua Hoblitt)__ add junit/ to .gitiginore

Generated by beaker 5

* [d53806b](../../commit/d53806b) - __(Joshua Hoblitt)__ add puppet 4.0 to travis matrix
* [2540953](../../commit/2540953) - __(Joshua Hoblitt)__ remove puppet 2.7 from travis matrix

4.0.0 has been released; support major release -1

* [9db5563](../../commit/9db5563) - __(Joshua Hoblitt)__ update beaker nodesets to use current chef/bento boxes
* [e89d202](../../commit/e89d202) - __(Joshua Hoblitt)__ add log/ to .gitignore

Generated by beaker during execution.

* [d5bb67e](../../commit/d5bb67e) - __(Joshua Hoblitt)__ pin rspec on Ruby 1.8.7 (rspec/rspec-core[#1864](../../issues/1864))
* [25f6bb1](../../commit/25f6bb1) - __(Joshua Hoblitt)__ use rspec-puppet 2.0.0 from gems instead of git
* [c1aac2a](../../commit/c1aac2a) - __(Joshua Hoblitt)__ add FACTER_GEM_VERSION to Gemfile
* [76feb38](../../commit/76feb38) - __(Joshua Hoblitt)__ convert Modulefile to metadata.json
* [cf8aea0](../../commit/cf8aea0) - __(Joshua Hoblitt)__ update spec_helper_acceptance to use #puppet_module_install

Instead of custom scp logic

* [1c982ef](../../commit/1c982ef) - __(Joshua Hoblitt)__ change nodeset default to centos-65-x64
* [0790875](../../commit/0790875) - __(Joshua Hoblitt)__ add beaker nodeset for centos 7
* [afa2bee](../../commit/afa2bee) - __(Joshua Hoblitt)__ add beaker support
* [b24fa45](../../commit/b24fa45) - __(Joshua Hoblitt)__ enable travis container based builds
* [6984ec8](../../commit/6984ec8) - __(Joshua Hoblitt)__ update rspec-puppet to v2.0.0 git tag
* [8d66569](../../commit/8d66569) - __(Joshua Hoblitt)__ tidy Gemfile formatting
* [ec06fc6](../../commit/ec06fc6) - __(Joshua Hoblitt)__ fail on linter warnings
* [cf8ef28](../../commit/cf8ef28) - __(Joshua Hoblitt)__ Merge pull request [#11](../../issues/11) from bodgit/watchdog

Add support for enabling the IPMI watchdog
* [eade2fe](../../commit/eade2fe) - __(Matt Dainty)__ Add support for enabling the IPMI watchdog
* [73cf7ef](../../commit/73cf7ef) - __(Joshua Hoblitt)__ Merge pull request [#10](../../issues/10) from jhoblitt/feature/future_parser

Feature/future parser
* [52e33e1](../../commit/52e33e1) - __(Joshua Hoblitt)__ update rspec-puppet matchers

Convert from #include_class to #contain_class

* [f460ee9](../../commit/f460ee9) - __(Joshua Hoblitt)__ add future parser to travis matrix
* [022b877](../../commit/022b877) - __(Joshua Hoblitt)__ Merge pull request [#9](../../issues/9) from jhoblitt/feature/copyright_consolidation

consolidate all copyright notices into LICENSE file

#### v1.2.0
* [d910696](../../commit/d910696) - __(Joshua Hoblitt)__ consolidate all copyright notices into LICENSE file
* [a7a628a](../../commit/a7a628a) - __(Joshua Hoblitt)__ Merge pull request [#8](../../issues/8) from jhoblitt/feature/v1.2.0

Feature/v1.2.0
* [88b1b24](../../commit/88b1b24) - __(Joshua Hoblitt)__ bump version to v1.2.0
* [5b5770f](../../commit/5b5770f) - __(Joshua Hoblitt)__ fix linter warnings
* [0d2f8ef](../../commit/0d2f8ef) - __(Joshua Hoblitt)__ update README format
* [a2f9824](../../commit/a2f9824) - __(Joshua Hoblitt)__ update puppet versions in travis matrix
Expand Down
35 changes: 25 additions & 10 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,30 @@ else
gem 'puppet', :require => false
end

gem 'rake', :require => false
gem 'puppetlabs_spec_helper', :require => false
gem 'puppet-lint', :require => false
gem 'puppet-syntax', :require => false
gem 'rspec-puppet',
:git => 'https://github.com/rodjek/rspec-puppet.git',
:ref => '6ac97993fa972a15851a73d55fe3d1c0a85172b5',
:require => false
# rspec 3 spews warnings with rspec-puppet 1.0.1
gem 'rspec-core', '~> 2.0', :require => false
if facterversion = ENV['FACTER_GEM_VERSION']
gem 'facter', facterversion, :require => false
else
gem 'facter', :require => false
end

group :development, :test do
gem 'rake', :require => false
# https://github.com/rspec/rspec-core/issues/1864
gem 'rspec', '< 3.2.0', {"platforms"=>["ruby_18"]}
gem 'puppetlabs_spec_helper', :require => false
gem 'puppet-lint', '>= 1.1.0', :require => false
gem 'puppet-syntax', :require => false
gem 'rspec-puppet', '~> 2.1.0', :require => false
gem 'metadata-json-lint', :require => false
end

group :beaker do
gem 'serverspec', :require => false
gem 'beaker', :require => false
gem 'beaker-rspec', :require => false
gem 'pry', :require => false
gem 'travis-lint', :require => false
gem 'puppet-blacksmith', :require => false
end

# vim:ft=ruby
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (C) 2012-2014 Joshua Hoblitt <jhoblitt@cpan.org>
Copyright (C) 2012-2015 Joshua Hoblitt <jhoblitt@cpan.org>
Copyright (C) 2013-2014 Mike Arnold <mike@razorsedge.org>

Licensed under the Apache License, Version 2.0 (the "License");
Expand Down
10 changes: 0 additions & 10 deletions Modulefile

This file was deleted.

33 changes: 31 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,11 @@ Puppet ipmi Module
* [Classes](#classes)
4. [Limitations](#limitations)
* [Tested Platforms](#tested-platforms)
* [Puppet Version Compatibility](#puppet-version-compatibility)
5. [Versioning](#versioning)
6. [Support](#support)
7. [See Also](#see-also)
7. [Contributing](#contributing)
8. [See Also](#see-also)


Overview
Expand Down Expand Up @@ -66,7 +68,7 @@ Controls the state of the `ipmi` service.

`String` defaults to: `stopped`

Possible values: `running', `stopped`
Possible values: `running`, `stopped`

Controls the state of the `ipmievd` service.

Expand All @@ -88,6 +90,13 @@ Adding other Linux distrubtions should be trivial.
* el6.x
* el7.x

### Puppet Version Compatibility

Versions | Puppet 2.7 | Puppet 3.x | Puppet 4.x
:--------|:----------:|:----------:|:----------:
**1.x** | **yes** | **yes** | no
**2.x** | no | **yes** | **yes**


Versioning
----------
Expand All @@ -103,6 +112,26 @@ Please log tickets and issues at
[github](https://github.com/jhoblitt/puppet-ipmi/issues)


Contributing
------------

1. Fork it on github
2. Make a local clone of your fork
3. Create a topic branch. Eg, `feature/mousetrap`
4. Make/commit changes
* Commit messages should be in [imperative tense](http://git-scm.com/book/ch5-2.html)
* Check that linter warnings or errors are not introduced - `bundle exec rake lint`
* Check that `Rspec-puppet` unit tests are not broken and coverage is added for new
features - `bundle exec rake spec`
* Documentation of API/features is updated as appropriate in the README
* If present, `beaker` acceptance tests should be run and potentially
updated - `bundle exec rake beaker`
5. When the feature is complete, rebase / squash the branch history as
necessary to remove "fix typo", "oops", "whitespace" and other trivial commits
6. Push the topic branch to github
7. Open a Pull Request (PR) from the *topic branch* onto parent repo's `master` branch


See Also
--------

Expand Down
17 changes: 16 additions & 1 deletion Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,27 @@ require 'puppetlabs_spec_helper/rake_tasks'
require 'puppet-syntax/tasks/puppet-syntax'
require 'puppet-lint/tasks/puppet-lint'

begin
require 'puppet_blacksmith/rake_tasks'
rescue LoadError
end

PuppetLint.configuration.send("disable_80chars")
PuppetLint.configuration.send("disable_class_inherits_from_params_class")
PuppetLint.configuration.ignore_paths = ['pkg/**/*.pp', 'spec/**/*.pp', 'tests/**/*.pp']
PuppetSyntax.exclude_paths = ['spec/fixtures/**/*']

PuppetLint::RakeTask.new :lint do |config|
config.pattern = 'manifests/**/*.pp'
config.fail_on_warnings = true
end

task :travis_lint do
sh "travis-lint"
end

task :default => [
:syntax,
:validate,
:lint,
:spec,
]
42 changes: 42 additions & 0 deletions metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"name": "jhoblitt-ipmi",
"version": "2.0.0",
"author": "Joshua Hoblitt <jhoblitt@cpan.org>",
"summary": "manages the OpenIPMI package",
"license": "Apache-2.0",
"source": "https://github.com/jhoblitt/puppet-ipmi.git",
"project_page": "https://github.com/jhoblitt/puppet-ipmi",
"issues_url": "https://github.com/jhoblitt/puppet-ipmi/issues",
"operatingsystem_support": [
{
"operatingsystem": "RedHat",
"operatingsystemrelease": [
"5",
"6",
"7"
]
},
{
"operatingsystem": "CentOS",
"operatingsystemrelease": [
"5",
"6",
"7"
]
},
{
"operatingsystem": "Scientific",
"operatingsystemrelease": [
"5",
"6",
"7"
]
}
],
"dependencies": [
{
"name": "puppetlabs/stdlib",
"version_requirement": ">= 4.6.0 < 5.0.0"
}
]
}
34 changes: 34 additions & 0 deletions spec/acceptance/ipmi_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
require 'spec_helper_acceptance'

describe 'ipmi class' do
maj = fact_on 'master', 'operatingsystemmajrelease'

package_name = nil
case maj.to_i
when 5
package_name = ['OpenIPMI', 'OpenIPMI-tools']
when 6, 7
package_name = ['OpenIPMI', 'ipmitool']
end

describe 'running puppet code' do
pp = <<-EOS
if $::osfamily == 'RedHat' {
class { 'epel': } -> Class['ipmi']
}
include ::ipmi
EOS

it 'applies the manifest' do
# ipmi service startup will fail because there's no bmc
apply_manifest(pp, :catch_failures => false)
end

package_name.each do |pkg|
describe package(pkg) do
it { should be_installed }
end
end
end
end
9 changes: 9 additions & 0 deletions spec/acceptance/nodesets/centos-5.11.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
HOSTS:
centos-5.11:
roles:
- master
platform: el-5-x86_64
box: chef/centos-5.11
hypervisor: vagrant
CONFIG:
type: foss
9 changes: 9 additions & 0 deletions spec/acceptance/nodesets/centos-6.6.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
HOSTS:
centos-6.6:
roles:
- master
platform: el-6-x86_64
box: chef/centos-6.6
hypervisor: vagrant
CONFIG:
type: foss
9 changes: 9 additions & 0 deletions spec/acceptance/nodesets/centos-7.0.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
HOSTS:
centos-7.0:
roles:
- master
platform: el-7-x86_64
box: chef/centos-7.0
hypervisor: vagrant
CONFIG:
type: foss
Loading

0 comments on commit 683e0c0

Please sign in to comment.