summaryrefslogtreecommitdiff
path: root/manifests
diff options
context:
space:
mode:
authorRaphaël Pinson <raphael.pinson@camptocamp.com>2013-03-18 03:31:49 -0700
committerRaphaël Pinson <raphael.pinson@camptocamp.com>2013-03-18 03:31:49 -0700
commit0aa01df4742ac55385e1eb8a0421e2cd1d7ce14f (patch)
tree37ee4482a666eac29372efe2e788ade2b30d78f6 /manifests
parent8df48d003efcf055b27593091fb981c5c193bc6a (diff)
parenta7c41208cc4a6e9b543487bf606b551307fdc05a (diff)
Merge pull request #23 from raphink/dev/reorganize
Refactor the module
Diffstat (limited to 'manifests')
-rw-r--r--manifests/debian.pp18
-rw-r--r--manifests/files.pp (renamed from manifests/base.pp)14
-rw-r--r--manifests/init.pp17
-rw-r--r--manifests/lens.pp14
-rw-r--r--manifests/packages.pp22
-rw-r--r--manifests/params.pp20
-rw-r--r--manifests/redhat.pp13
7 files changed, 63 insertions, 55 deletions
diff --git a/manifests/debian.pp b/manifests/debian.pp
deleted file mode 100644
index bc2e3eb..0000000
--- a/manifests/debian.pp
+++ /dev/null
@@ -1,18 +0,0 @@
-class augeas::debian inherits augeas::base {
-
- package {
- ['augeas-lenses', 'libaugeas0', 'augeas-tools']:
- ensure => $augeas::base::version,
- before => File['/usr/share/augeas/lenses'],
- }
-
- $augeas_ruby = $::lsbdistcodename ? {
- 'wheezy' => 'libaugeas-ruby1.9.1',
- default => 'libaugeas-ruby1.8',
- }
-
- package {$augeas_ruby:
- ensure => $augeas::base::rubylib_version,
- }
-
-}
diff --git a/manifests/base.pp b/manifests/files.pp
index 37ad0e2..01427ad 100644
--- a/manifests/base.pp
+++ b/manifests/files.pp
@@ -1,15 +1,5 @@
-class augeas::base {
- $lens_dir = '/usr/share/augeas/lenses'
-
- $version = $augeas_version ? {
- '' => 'present',
- default => $augeas_version
- }
-
- $rubylib_version = $augeas_ruby_version ? {
- '' => 'present',
- default => $augeas_ruby_version
- }
+class augeas::files {
+ $lens_dir = $augeas::lens_dir
# ensure no file not managed by puppet ends up in there.
file { $lens_dir:
diff --git a/manifests/init.pp b/manifests/init.pp
index e82e21c..6374955 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -1,7 +1,12 @@
-class augeas {
- case $::operatingsystem {
- /RedHat|CentOS|Fedora/: { include augeas::redhat }
- /Debian|Ubuntu|kFreeBSD/: { include augeas::debian }
- default: { include augeas::base }
- }
+class augeas (
+ $version = $augeas_version,
+ $ruby_version = $augeas_ruby_version,
+ $lens_dir = $augeas::params::lens_dir,
+) inherits augeas::params {
+
+ class {'::augeas::packages': } ->
+ class {'::augeas::files': } ->
+ Class['augeas']
+
+ Package['ruby-augeas'] -> Augeas <| |>
}
diff --git a/manifests/lens.pp b/manifests/lens.pp
index 55dc9ae..723f217 100644
--- a/manifests/lens.pp
+++ b/manifests/lens.pp
@@ -29,12 +29,14 @@ define augeas::lens (
$test_source=false,
$stock_since=false,
) {
+ if !defined(Class['augeas']) {
+ fail('You must declare the augeas class before using augeas::lens')
+ }
- if (!$stock_since or !versioncmp($::augeasversion, $stock_since)) {
- include augeas::base
+ if (!$stock_since or versioncmp($::augeasversion, $stock_since) < 0) {
- $lens_dest = "${augeas::base::lens_dir}/${name}.aug"
- $test_dest = "${augeas::base::lens_dir}/tests/test_${name}.aug"
+ $lens_dest = "${augeas::lens_dir}/${name}.aug"
+ $test_dest = "${augeas::lens_dir}/tests/test_${name}.aug"
file { $lens_dest:
ensure => $ensure,
@@ -42,7 +44,7 @@ define augeas::lens (
}
exec { "Typecheck lens ${name}":
- command => "augparse -I ${augeas::base::lens_dir} ${lens_dest} || (rm -f ${lens_dest} && exit 1)",
+ command => "augparse -I ${augeas::lens_dir} ${lens_dest} || (rm -f ${lens_dest} && exit 1)",
refreshonly => true,
subscribe => File[$lens_dest],
}
@@ -55,7 +57,7 @@ define augeas::lens (
}
exec { "Test lens ${name}":
- command => "augparse -I ${augeas::base::lens_dir} ${test_dest} || (rm -f ${lens_dest} && rm -f ${test_dest} && exit 1)",
+ command => "augparse -I ${augeas::lens_dir} ${test_dest} || (rm -f ${lens_dest} && rm -f ${test_dest} && exit 1)",
refreshonly => true,
subscribe => File[$lens_dest, $test_dest],
}
diff --git a/manifests/packages.pp b/manifests/packages.pp
new file mode 100644
index 0000000..e41f800
--- /dev/null
+++ b/manifests/packages.pp
@@ -0,0 +1,22 @@
+class augeas::packages {
+ # Augeas packages
+ $augeas_ensure = $augeas::version ? {
+ '' => 'present',
+ default => $augeas::version
+ }
+
+ package { $augeas::params::augeas_pkgs:
+ ensure => $augeas_ensure,
+ }
+
+ # Ruby package
+ $ruby_ensure = $augeas::ruby_version ? {
+ '' => 'present',
+ default => $augeas::ruby_version
+ }
+
+ package { 'ruby-augeas':
+ ensure => $ruby_ensure,
+ name => $augeas::params::ruby_pkg,
+ }
+}
diff --git a/manifests/params.pp b/manifests/params.pp
new file mode 100644
index 0000000..e7120af
--- /dev/null
+++ b/manifests/params.pp
@@ -0,0 +1,20 @@
+class augeas::params {
+ $lens_dir = '/usr/share/augeas/lenses'
+
+ case $::osfamily {
+ 'RedHat': {
+ $ruby_pkg = 'ruby-augeas'
+ $augeas_pkgs = ['augeas', 'augeas-libs']
+ }
+
+ 'Debian': {
+ $ruby_pkg = $::lsbdistcodename ? {
+ 'wheezy' => 'libaugeas-ruby1.9.1',
+ default => 'libaugeas-ruby1.8',
+ }
+ $augeas_pkgs = ['augeas-lenses', 'libaugeas0', 'augeas-tools']
+ }
+
+ default: { fail("Unsupported OS family: ${::osfamily}") }
+ }
+}
diff --git a/manifests/redhat.pp b/manifests/redhat.pp
deleted file mode 100644
index 1e95728..0000000
--- a/manifests/redhat.pp
+++ /dev/null
@@ -1,13 +0,0 @@
-class augeas::redhat inherits augeas::base {
-
- package {
- ['augeas', 'augeas-libs']:
- ensure => $augeas::base::version,
- before => File['/usr/share/augeas/lenses'],
- }
-
- package { 'ruby-augeas':
- ensure => $augeas::base::rubylib_version,
- }
-
-}