plumbing update
- 97ddb33 - (Joshua Hoblitt) Convert specs to RSpec 3.1.7 syntax with Transpec
This conversion is done by Transpec 3.1.1 with the following command: transpec --keep oneliner
-
65 conversions from: obj.should to: expect(obj).to
-
23 conversions from: == expected to: eq(expected)
For more details: https://github.com/yujinakayama/transpec#supported-conversions
- 5c0628b - (Joshua Hoblitt) fix trailing whitespace
- 4808708 - (Joshua Hoblitt) update copyright notice year to 2015
- 468b608 - (Joshua Hoblitt) Merge pull request #47 from lamawithonel/pr46_remove_shell_config
Remove shell_config dependency
- c51abf8 - (Lucas Yamanishi) Remove shell_config dependency
This replaces the shell_config
resource on Debian-based systems with
an equivalent augeas
resource. It also changes it to depend on the
value of the $svc_enable
variable instead of $file_ensure
, bringing
it in-line with its purpose.
- 5530876 - (Lucas Yamanishi) Fix params.pp version comparison for Puppet 4
If the $::smartmontools_version
fact does not exisist (is undef
)
then versioncmp()
will fail with a type error. This adds a check to
define it as 0.0
in such a case.
Feature/v2.5.0
- 0a288b9 - (Joshua Hoblitt) bump version to v2.5.0
- 2481760 - (Joshua Hoblitt) fixup! fix trailing whitespace
- e772a6a - (Joshua Hoblitt) update rspec-puppet gem version to ~> 2.2
For bugfixes and to allow the 2.x version to float as the API stability has been better than with the 1.x series.
- 570ee00 - (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.
- d39f0ad - (Joshua Hoblitt) add centos 5.11 nodeset
- 2f8b7ca - (Joshua Hoblitt) add puppet-blacksmith gem
- fe81f90 - (Joshua Hoblitt) add travis_lint rake target
- 78d0124 - (Joshua Hoblitt) add debian 7.8 nodeset
- 49490d8 - (Joshua Hoblitt) fix trailing whitespace
- 0d434ce - (Joshua Hoblitt) Merge pull request #43 from queeno/manage_service_and_dont_attempt_to_stop
Manage smartd service and don't attempt to stop if package is absent
Fix default group for FreeBSD
- 2f976f1 - (Dan Offord) Fix default group for FreeBSD
By default FreeBSD doesn't have a root group, instead has a wheel group instead. This commit changes the default group to call $::gid and fixes the spec tests so it knows about the default group for each O/S (either root or wheel)
- 19be823 - (Simon Aquino) Added unit tests for the $manage_service functionality
I've added and amended some unit tests in order to check the $manage_service functionality introduced in previous commits.
- 8b633d9 - (Simon Aquino) Fix wrong parameter name in params.pp
It should be $manage_service not $service_manage!
- d5ce6ce - (Simon Aquino) Don't manage the smartd service when ensure => absent
If the smartd package is not installed, puppet will attempt to stop a service that doesn't exist. For this reason, the smartd service should not be managed if ensure is set to absent or purged. If smartd is getting uninstalled, the deb script will take care to stop the service anyway.
- 8e0f4bc - (Simon Aquino) Allow users to manage the smartd service
The smartd service resource has been wrapped in an if statement and controlled by the $manage_service parameter, so that a user of the module can choose manage the service externally.
- 7ed901e - (Joshua Hoblitt) add ruby 2.2 to travis matrix
- cae2a8a - (Joshua Hoblitt) Merge pull request #42 from jhoblitt/feature/puppet-4.0
Feature/puppet 4.0
- f7991ae - (Joshua Hoblitt) add bundler_args to .travis.yml
- 62c91d7 - (Joshua Hoblitt) add :validate to default rake target list
- 5859be6 - (Joshua Hoblitt) add metadata-json-lint gem
Needed by rake metadata.json validation target.
- 83bbcb3 - (Joshua Hoblitt) fix puppet 4.0 type compatibility issues
- 7f67f6b - (Joshua Hoblitt) clone shell_config repo to github
Needed to fix fixtures git clone option compatibility issues.
- 27e37a1 - (Joshua Hoblitt) set stdlib requirement to 4.6.0
- 3ffe96b - (Joshua Hoblitt) update travis matrix puppet 3.x minimum version to 3.7
- 91e420e - (Joshua Hoblitt) update rspec-puppet gem version to ~> 2.1.0
For compatibility with puppet 4.0.0
- 62739bf - (Joshua Hoblitt) add junit/ to .gitiginore
Generated by beaker 5
- 72de891 - (Joshua Hoblitt) add puppet 4.0 to travis matrix
- 9219718 - (Joshua Hoblitt) remove puppet 2.7 from travis matrix
4.0.0 has been released; support major release -1
- 3d1a500 - (Joshua Hoblitt) update beaker nodesets to use current chef/bento boxes
- 164b114 - (Joshua Hoblitt) add log/ to .gitignore
Generated by beaker during execution.
- 646933b - (Joshua Hoblitt) remove ruby 2.2 from travis matrix
Per puppetlabs/puppet#3522 (comment) , puppet 3.7.x will not support ruby 2.2.
- 2404339 - (Joshua Hoblitt) pin rspec on Ruby 1.8.7 (rspec/rspec-core#1864)
- a37bf31 - (Joshua Hoblitt) use rspec-puppet 2.0.0 from gems instead of git
- fac6dac - (Joshua Hoblitt) add FACTER_GEM_VERSION to Gemfile
Feature/v2.4.0
- 9e651a2 - (Joshua Hoblitt) bump version to v2.4.0
- b469715 - (Joshua Hoblitt) update Rakefile boilerplate
- 9b3c52c - (Joshua Hoblitt) replace Modulefile vs metadata.json
- 9311cbe - (Joshua Hoblitt) update fixtures stdlib to 4.2.0
- 6b29744 - (Joshua Hoblitt) update travis matrix
- 951d6a5 - (Joshua Hoblitt) suppress linter 80chars warnings
In params.pp where it's not easy to avoid slightly > 80char lines
- 6100a71 - (Joshua Hoblitt) update rspec-puppet to v2.0.0
- 5a8d71c - (Joshua Hoblitt) Merge pull request #40 from negz/master
Expose PD sizes, and support older MegaCli binaries.
- 18589cc - (Nic Cope) Support ancient versions of MegaCli
At around version 8.02.16 some arguments to MegaCli changed. This change attempts to determine whether MegaCli is modern (8.02.16 or newer) or legacy (everything else). Facts affected by the changed arguments are gated using a confine statement.
This change also handles cases where the MegaCli binary is lowercase (megacli).
- b3cf2b8 - (Nic Cope) Add a fact exposing the sizes of physical disks
- 8e003d1 - (Joshua Hoblitt) Merge pull request #39 from jhoblitt/feature/future_parser
Feature/future parser
- e80c3aa - (Joshua Hoblitt) make #verify_contents usage compatible with rspec-puppet > 1.0.1
The verify_contents method invocations have been updated to work with rspec-puppet 1.0.1+ but are now incompatible with <= 1.0.1 rodjek/rspec-puppet#235
- d5daf1e - (Joshua Hoblitt) add future parser to travis matrix
- 5c219ce - (Joshua Hoblitt) fix megaraid_virtual_drives fact return value
Resolves this test failure:
- megaraid_virtual_drives on linux no adapters should be nil Failure/Error: Facter.fact(:megaraid_virtual_drives).value.should be_nil expected: nil got: ""
Feature/v2.3.0
- 925effc - (Joshua Hoblitt) bump version to v2.3.0
- 65306af - (Joshua Hoblitt) mv all rspec-puppet tests under ./spec/unit/
- 155eca5 - (Joshua Hoblitt) remove rspec-system support
- 7306e3a - (Joshua Hoblitt) Merge pull request #37 from razorsedge/fedora_config_location
Fedora config location
- 293a6b2 - (Michael Arnold) Fix the RedHat bits to better match the Fedora PR.
- bbcae38 - (Michael Arnold) Better support for RedHat smartmontools 6.x.
Fixing Fedora support similar to #36.
Add in support for EL 7 new config location.
- 399ac1a - (Michael Arnold) Add in support for EL 7 new config location.
EL 7 now puts the smartd.conf in /etc/smartmontools.
- a29b3e6 - (Joshua Hoblitt) bump version to v2.2.3
- 2689cb1 - (Joshua Hoblitt) Merge pull request #34 from solarkennedy/debian_support
Added debian support and working tests. Closes #32
- 5554213 - (Kyle Anderson) Added debian support and working tests. Closes #32
- 962c878 - (Joshua Hoblitt) Merge pull request #33 from pauloconnor/after_package
Allow the service to start only after the package is installed
- db01583 - (Paul O'Connor) Allow the service to start only after the package is installed
bump version to v2.2.2
- 9ab316a - (Joshua Hoblitt) bump version to v2.2.2
- 97af513 - (Joshua Hoblitt) Merge pull request #30 from jhoblitt/feature/megaraid_facts
update megaraid_serial fact to deal with SM motherboards
- 9d2d44b - (Joshua Hoblitt) add megacli output example provided in issue #29
- ebf88cd - (Joshua Hoblitt) update megaraid_serial fact to deal with SM motherboards
Per #29, the LSI controller on at least some models of SuperMicro motherboards does not report a serial number. The megaraid_serial fact has not gracefully handling this case and facter was generating errors.
- 34ccdd4 - (Joshua Hoblitt) fix MD markup typos in README
bump version to v2.2.1
- 705cb16 - (Joshua Hoblitt) bump version to v2.2.1
- c870d59 - (Joshua Hoblitt) Merge pull request #27 from jhoblitt/feature/megaraid_facts
add -NoLog
flag to all invocations of megacli
- ea4af30 - (Joshua Hoblitt) tweak README formatting of facts (again)
- b6722ec - (Joshua Hoblitt) tweak README formatting of facts
- deef545 - (Joshua Hoblitt) add all module supplied facts to README
Per issue #24
- 4678256 - (Joshua Hoblitt) add
-NoLog
flag to all invocations ofmegacli
To suppress the /MegaSAS.log
file from being created by the megaraid
related facts, per issue #25.
- 4ababa9 - (Joshua Hoblitt) work around travis switching to REE for ruby 1.8.7
Many thanks to @dominic for sharing this on the puppet-dev channel!
Add default params for SUSE
- 6ad96f1 - (Lars Vogdt) Add default params for SUSE
SUSE uses the same params as Debian and RedHat.
- 3775d43 - (Joshua Hoblitt) bump version to v2.2.0
- b92efd9 - (Joshua Hoblitt) Merge pull request #23 from jhoblitt/feature/megaraid_facts
Feature/megaraid facts
- 04d71cc - (Joshua Hoblitt) add megaraid_fw_version fact
- 2d12260 - (Joshua Hoblitt) add megaraid_fw_package_build fact
- 7358769 - (Joshua Hoblitt) add megaraid_serial fact
- 512d90e - (Joshua Hoblitt) add megaraid_product_name fact
- f575189 - (Joshua Hoblitt) add megacli_version fact
- e7d78b5 - (Joshua Hoblitt) add el5.x to the tested platforms list
- 19e67a4 - (Joshua Hoblitt) bump version to v2.1.0
- 333d20a - (Joshua Hoblitt) Merge pull request #22 from jhoblitt/feature/megaraid_facts
add megaraid_physical_drives_{sata,sas} facts
- 824e086 - (Joshua Hoblitt) change smartd.conf ERB to use megaraid_physical_drives_{sas,sata} facts
This modification add ssupport for polling the SMART values of SAS
drives behind a MegaRAID controller. The megaraid_physical_drives
fact is no longer used internally by this module.
- 29e6a16 - (Joshua Hoblitt) add megaraid_physical_drives_{sata,sas} facts
- 4f558f2 - (Joshua Hoblitt) Merge pull request #21 from jhoblitt/feature/smartd_conf_default
Feature/smartd conf default
- aad6db6 - (Joshua Hoblitt) rename $default param to smartd class to $enable_default
To work around this bug in Puppet 2.7.x: https://tickets.puppetlabs.com/browse/PUP-2244
- ff61535 - (Joshua Hoblitt) add $default_options param to smartd class
- fix a few typos in README.md
- a51ca20 - (Joshua Hoblitt) add $default param to smartd class
- 365a6ab - (Joshua Hoblitt) Merge pull request #20 from jhoblitt/feature/smartmon_facts
Feature/smartmon facts
- 60a2988 - (Joshua Hoblitt) add smartmontools_version fact
- 57af86d - (Joshua Hoblitt) do not confine smartd fact to linux
- 8cbfc2b - (Joshua Hoblitt) add smartd fact
Fact for the path to the smartd executable.
Feature/boilerplate update
- 6ea41b2 - (Joshua Hoblitt) tidy Rakefile formatting
- 293eda0 - (Joshua Hoblitt) update LICENSE copyright notice
- 521a114 - (Joshua Hoblitt) update travis matrix
- 4bf961c - (Joshua Hoblitt) update .gitignore
- 860edc7 - (Joshua Hoblitt) Merge pull request #18 from razorsedge/MegaCli_NoLog
Added -NoLog to MegaCli commandline in facts.
- f9b95b0 - (Michael Arnold) Include rspec test updates.
- 1a7eb16 - (Michael Arnold) Added -NoLog to MegaCli commandline in facts.
This keeps the MegaSas.log file from showing up any time factor is run.
- a903ee1 - (Joshua Hoblitt) update README formatting + boilerplate
- 1d5dc37 - (Joshua Hoblitt) Merge pull request #15 from jhoblitt/rspec-system-updates
update rspec-system boilerplate
- 60de1c5 - (Joshua Hoblitt) update rspec-system boilerplate
- edf71eb - (Joshua Hoblitt) Merge pull request #14 from jhoblitt/refactor_facts
refactor megaraid facts + add fact tests
- 2076ecc - (Joshua Hoblitt) trim travis test matrix
- 23f1348 - (Joshua Hoblitt) add :require => false to all Gemfile gems
- 720a1de - (Joshua Hoblitt) fix rspec-puppet 1.0.1 deprecation warning
DEPRECATION: include_class is deprecated. Use contain_class instead.
-
0d15b7e - (Joshua Hoblitt) refactor megaraid facts + add fact tests
-
stop checking for megaraid
/dev/*
files and instead let megacli tell us if it can find any raid controllers -
use blockdevice facts instead of exec'ing
lsscsi
, inspired by Kyle Anderson's gist -
split each fact into it's own .rb file
-
add rspec test coverage of all facts
-
remove non-functioning freebsd facts completely
-
dbdbd4a - (Joshua Hoblitt) fix whitespace for linter
- e044951 - (Joshua Hoblitt) bump version to v2.0.0
- 6cbd702 - (Joshua Hoblitt) synx up smartd comments with README
- afd6759 - (Joshua Hoblitt) note v2 API changes + full parameter list in README
- 66c4157 - (Joshua Hoblitt) Merge pull request #11 from razorsedge/supermicro
add megaraid fact support for Supermicro branded LSI controllers
Add example Hiera data bindings to README.md.
- fe0c07d - (Michael Arnold) Mention support of Supermicro branded MegaRAID controllers.
- 56b40b3 - (Michael Arnold) Add example Hiera data bindings to README.md.
- aadbcef - (Michael Arnold) Also look for Supermicro-branded controllers.
- f107cc2 - (Joshua Hoblitt) Merge pull request #9 from jhoblitt/merge_devices_and_device_options
merge class smartd $devices and $device_options -> $devices
- b2bb897 - (Joshua Hoblitt) merge class smartd $devices and $device_options -> $devices
$devices is now accepts and Array of Hash. This is to allow multiple smartd.conf entires for the same blockdev as is typically required for probing through to individual disks behind a block device presented by a RAID controller.
- 6029324 - (Joshua Hoblitt) add rspec-system-puppet infrastructure + basic system tests
- 1f34762 - (Joshua Hoblitt) bump version to v1.0.2
- 40cb57a - (Joshua Hoblitt) lint ignore 'pkg/**/*.pp'
- 23b05cd - (Joshua Hoblitt) bump version to v1.0.1
- 244e7fe - (Joshua Hoblitt) add puppet 3.3.0 to travis test matrix
- ccb590c - (Joshua Hoblitt) reduce stdlib requirement to 3.0.0
- 9968ba4 - (Joshua Hoblitt) add github flavored markdown syntax highlighting to README
- 535b835 - (Joshua Hoblitt) start using shared_examples in rspec
to try to reduce duplicate test statements
- 3a2d8d2 - (Joshua Hoblitt) README typo
- bc1eaa3 - (Joshua Hoblitt) README markdown tweaks
- 6e9121f - (Joshua Hoblitt) rename $device_opts to $device_options
For naming consistency with $devicescan_options
- 9c9564c - (Joshua Hoblitt) fix rspec-puppet syntax to work with ruby 1.8.7 (again)
- 10d7489 - (Joshua Hoblitt) fix rspec-puppet syntax to work with ruby 1.8.7
- 7c27501 - (Joshua Hoblitt) README/doc cleanup
- 2a24156 - (Joshua Hoblitt) tidy up smartd.conf content tests based on megaraid facts
- 819db0b - (Joshua Hoblitt) set group ownership to 'root' instead of 0
- 8b17d03 - (Joshua Hoblitt) update unsupported OS fail string
- 4c8828e - (Joshua Hoblitt) trivial ws consistency fixes`
- a068b7a - (Joshua Hoblitt) fix lint warnings
- 09fb9d8 - (Joshua Hoblitt) [re-]add[?] class smart $service_name param
- 4c0ef6e - (Joshua Hoblitt) validate all class smartd params
- cede61e - (Joshua Hoblitt) remove monit integration
Not setup to test integration and it's unknown if this functionality is working. Support should be re-added with integration tests.
- 834f73f - (Joshua Hoblitt) add class smartd $service_ensure param
- 6475a9e - (Joshua Hoblitt) merge class smartd $ensure and $autoupdate params
- 4c6b9bc - (Joshua Hoblitt) Merge remote-tracking branch 'skel/master'
- ed6a68b - (Joshua Hoblitt) ignore patch related files *{.orig,.rej,.patch}
- 6a67990 - (Joshua Hoblitt) add puppet-syntax support
- dddb48a - (Michael Arnold) Clean up resource dependencies.
- d78077b - (Michael Arnold) Use puppetlabs/stdlib to validate inputs.
- fb78b8b - (Michael Arnold) Updated rspec tests to deal with fix to template.
Added shell_config to .fixtures.yml. Added a whole lot of testing of various parameters and template configurations on all supported osfamilies.
- 435661d - (Joshua Hoblitt) add travis-ci build placard
- fb932f9 - (Joshua Hoblitt) add example spec test
- 4050f0d - (Joshua Hoblitt) add a default .travis.yml
- 3b28801 - (Joshua Hoblitt) exclude travis-ci testing of puppet < 3.2 with ruby >= 2.0
- be9867d - (Joshua Hoblitt) fix travis-ci placard url
- c1141d8 - (Joshua Hoblitt) add travis-ci testing with ruby 2.0.0 and puppet 3.2.1
- 4732693 - (Joshua Hoblitt) pull gems from https://rubygems instead of :rubygems
- d16cc78 - (Joshua Hoblitt) git ignore Gemfile.lock
- 9b35dd8 - (Michael Arnold) Updated rspec tests to deal with fix to template.
Added shell_config to .fixtures.yml. Added a whole lot of testing of various parameters and template configurations on all supported osfamilies.
- c46ff1e - (Joshua Hoblitt) git ignore Gemfile.lock
- e86f789 - (Joshua Hoblitt) install ruby gems from https://rubygems.org instead of :rubygems
To resolve this warning:
The source :rubygems is deprecated because HTTP requests are insecure.
Please change your source to 'https://rubygems.org' if possible, or
'http://rubygems.org' if not.
- ecd8877 - (Michael Arnold) Make puppetdoc work.
- cedc03d - (Michael Arnold) Format output to have spaces and linefeeds in the right places.
- d4ab6d6 - (Joshua Hoblitt) fix setting megaraid device options via device_opts => { 'megaraid' => ... }
- d487c9a - (Joshua Hoblitt) add travis-ci status to README.md
- 8f82a65 - (Joshua Hoblitt) overhaul smartd.conf template
improve readability sort megaraid device & disks fix some whitespace issues
- bb34e2d - (Joshua Hoblitt) add a couples of spec tests to cover basic usage
- 56c987b - (Joshua Hoblitt) Merge pull request #1 from ucam-cl-dtg/master
Test for megaraid device symbols being :undefined in smartd.conf template
- 9982990 - (Joshua Hoblitt) rename README -> README.md, tweak README, mv all API docs to smartd.pp
- 096eb58 - (Joshua Hoblitt) rename smartd::defaults -> smartd::params
To better adhere to the current defacto naming conventions.
- 65fdc06 - (Joshua Hoblitt) fix all lint issues and add per class docs
- 3463290 - (Andrew Rice) Added a test to see if the lookup variables megaraid_device and megaraid_drive are :undefined
When running without megaraid devices puppet throws an error about being unable to split on :undefined:Symbol so we should test if its undefined and not attempt the split
- 9260f66 - (Joshua Hoblitt) add spec/lint/travis boilerplate
- e02f06c - (Joshua Hoblitt) restart smartd service when smartd.conf is modified
- 8387586 - (Joshua Hoblitt) mv DEVICESCAN to the end of smartd.conf
once DEVICESCAN has probed a block device smartd will ignore any subsequent commands in the smartd.conf file for that block device
- 93d1ef5 - (Joshua Hoblitt) fix SAT warning on Linux (unknown if this breaks SAS disks) fix template .to_i error from trying to convert an array into an integer
This is the SAT error:
/dev/sdc [megaraid_disk_14] [SAT]: Device open changed type from 'megaraid' to 'sat' Smartctl open device: /dev/sdc [megaraid_disk_14] [SAT] failed: SATA device detected, MegaRAID SAT layer is reportedly buggy, use '-d sat+megaraid,N' to try anyhow
- f2042c3 - (Joshua Hoblitt) rename megaraid_smartd_device_name fact to megaraid_virtual_drives and list all megaraid VD block devices
- 5a1fd71 - (Joshua Hoblitt) change the megaraid_physical_drives fact to probe with lsscsi
The existing smartctl based probe fails on rhel6.x with these package versions:
smartmontools-5.42-2.el6.x86_64 kernel-2.6.32-279.9.1.el6.x86_64
It's unknown if the smartctl probe works with other el6.x tool + kernel combinations. It's hoped that the lsscsi based probe will be more robost (unless the output format of lsscsi changes).
- 73827bb - (Joshua Hoblitt) sort the megaraid_physical_drives fact's drive listing
- 58887e2 - (Joshua Hoblitt) rename class smartd param $scan -> $devicescan
it's slightly better 'self documenting' if the class params match the configuration file directives
- 0b3f1b9 - (Joshua Hoblitt) rename class smartd param $schedule -> $warning_schedule to silence warning
Warning: schedule is a metaparam; this value will inherit to all contained resources in the smartd definition
- 89c55ce - (Joshua Hoblitt) add param $devicescan_options to class smartd
used to pass arguments to the DEVICESCAN directive in smartd configuration file
- 51b6a10 - (Joshua Hoblitt) add param $enable_monit to class smartd
Used to enable/disable automatic declaration of a monit::monitor resource. Default is false.