Skip to content

Commit b6821fe

Browse files
author
Joshua Hoblitt
committed
add udev package installation support
1 parent 738cea0 commit b6821fe

File tree

5 files changed

+62
-6
lines changed

5 files changed

+62
-6
lines changed

README.md

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
Puppet module_skel Module
1+
Puppet udev Module
22
=========================
33

4-
[![Build Status](https://travis-ci.org/jhoblitt/puppet-module_skel.png)](https://travis-ci.org/jhoblitt/puppet-module_skel)
4+
[![Build Status](https://travis-ci.org/jhoblitt/puppet-udev.png)](https://travis-ci.org/jhoblitt/puppet-udev)
55

66
#### Table of Contents
77

@@ -16,24 +16,37 @@ Puppet module_skel Module
1616
Overview
1717
--------
1818

19+
Manages the udev package
20+
1921

2022
Description
2123
-----------
2224

25+
This module installs and manages the
26+
[`udev`](http://www.freedesktop.org/software/systemd/man/udev.html) package.
2327

2428
Usage
2529
-----
2630

31+
```puppet
32+
include udev
33+
```
34+
2735

2836
Limitations
2937
-----------
3038

39+
At present, only support for `$::osfamily == 'RedHat'` has been implimented.
40+
Adding other Linux distrubtions should be trivial.
41+
3142
### Tested Platforms
3243

44+
* el6.x
45+
3346

3447
Support
3548
-------
3649

3750
Please log tickets and issues at
38-
[github](https://github.com/jhoblitt/puppet-module_skel/issues)
51+
[github](https://github.com/jhoblitt/puppet-udev/issues)
3952

manifests/init.pp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
#
33
# simple template
44
#
5-
class udev {
6-
5+
class udev inherits udev::params {
6+
package{ $udev::params::udev_package:
7+
ensure => present,
8+
}
79
}

manifests/params.pp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# == Class: udev::params
2+
#
3+
# This class should be considered private.
4+
#
5+
class udev::params {
6+
$udev_package = 'udev'
7+
8+
case $::osfamily {
9+
'redhat': {}
10+
default: {
11+
fail("Module ${module_name} is not supported on ${::operatingsystem}")
12+
}
13+
}
14+
}

spec/classes/params_spec.rb

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
require 'spec_helper'
2+
3+
describe 'udev::params', :type => :class do
4+
describe 'for osfamily RedHat' do
5+
let(:facts) {{ :osfamily => 'RedHat' }}
6+
7+
it { should include_class('udev::params') }
8+
end
9+
10+
describe 'unsupported osfamily' do
11+
let :facts do
12+
{
13+
:osfamily => 'Debian',
14+
:operatingsystem => 'Debian',
15+
}
16+
end
17+
18+
it 'should fail' do
19+
expect { should include_class('udev::params') }.
20+
to raise_error(Puppet::Error, /not supported on Debian/)
21+
end
22+
end
23+
24+
end

spec/classes/udev_spec.rb

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33
describe 'udev', :type => :class do
44

55
describe 'for osfamily RedHat' do
6-
it { should contain_class('udev') }
6+
let(:facts) {{ :osfamily => 'RedHat' }}
7+
8+
it { should include_class('udev') }
9+
it { should contain_package('udev').with_ensure(:present) }
710
end
811

912
end

0 commit comments

Comments
 (0)