From 477e7f1923f4b4587ff1c07032e4b5ad849a9d27 Mon Sep 17 00:00:00 2001 From: mh Date: Wed, 27 Feb 2013 23:07:07 +0100 Subject: make version a class param --- README | 4 ++-- manifests/base.pp | 10 ---------- manifests/debian.pp | 4 ++-- manifests/init.pp | 5 ++++- manifests/redhat.pp | 4 ++-- 5 files changed, 10 insertions(+), 17 deletions(-) diff --git a/README b/README index 8de2801..5001b08 100644 --- a/README +++ b/README @@ -8,9 +8,9 @@ This module does 3 things: - o lets you force the augeas version by defining $augeas_version, otherwise puppet will + o lets you force the augeas version by defining $version, otherwise puppet will only ensure the packages are present. - o lets you force the ruby library version by defining $augeas_ruby_version, otherwise puppet will + o lets you force the ruby library version by defining $rubylib_version, otherwise puppet will only ensure the libagueas-ruby version will be installed according to internal critera o lets you deploy an augeas lens and any associated test files, running unit tests and not installing if they fail: diff --git a/manifests/base.pp b/manifests/base.pp index 37ad0e2..eb1a245 100644 --- a/manifests/base.pp +++ b/manifests/base.pp @@ -1,16 +1,6 @@ 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 - } - # ensure no file not managed by puppet ends up in there. file { $lens_dir: ensure => directory, diff --git a/manifests/debian.pp b/manifests/debian.pp index bc2e3eb..4f5783d 100644 --- a/manifests/debian.pp +++ b/manifests/debian.pp @@ -2,7 +2,7 @@ class augeas::debian inherits augeas::base { package { ['augeas-lenses', 'libaugeas0', 'augeas-tools']: - ensure => $augeas::base::version, + ensure => $augeas::version, before => File['/usr/share/augeas/lenses'], } @@ -12,7 +12,7 @@ class augeas::debian inherits augeas::base { } package {$augeas_ruby: - ensure => $augeas::base::rubylib_version, + ensure => $augeas::rubylib_version, } } diff --git a/manifests/init.pp b/manifests/init.pp index e82e21c..73b4fb7 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -1,4 +1,7 @@ -class augeas { +class augeas( + $version = 'installed', + $rubylib_version = 'installed', +) { case $::operatingsystem { /RedHat|CentOS|Fedora/: { include augeas::redhat } /Debian|Ubuntu|kFreeBSD/: { include augeas::debian } diff --git a/manifests/redhat.pp b/manifests/redhat.pp index 1e95728..c165566 100644 --- a/manifests/redhat.pp +++ b/manifests/redhat.pp @@ -2,12 +2,12 @@ class augeas::redhat inherits augeas::base { package { ['augeas', 'augeas-libs']: - ensure => $augeas::base::version, + ensure => $augeas::version, before => File['/usr/share/augeas/lenses'], } package { 'ruby-augeas': - ensure => $augeas::base::rubylib_version, + ensure => $augeas::rubylib_version, } } -- cgit v1.2.3 From e8942ebce272e20674cdf4ec64261484c34129ed Mon Sep 17 00:00:00 2001 From: mh Date: Wed, 27 Feb 2013 23:08:51 +0100 Subject: params are better defined in the basic entry class --- manifests/base.pp | 8 +++----- manifests/init.pp | 2 ++ manifests/lens.pp | 10 +++++----- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/manifests/base.pp b/manifests/base.pp index eb1a245..57102ec 100644 --- a/manifests/base.pp +++ b/manifests/base.pp @@ -1,8 +1,6 @@ class augeas::base { - $lens_dir = '/usr/share/augeas/lenses' - # ensure no file not managed by puppet ends up in there. - file { $lens_dir: + file { $augeas::lens_dir: ensure => directory, purge => true, force => true, @@ -13,7 +11,7 @@ class augeas::base { group => 'root', } - file { "${lens_dir}/dist": + file { "${augeas::lens_dir}/dist": ensure => directory, purge => false, mode => '0644', @@ -21,7 +19,7 @@ class augeas::base { group => 'root', } - file { "${lens_dir}/tests": + file { "${augeas::lens_dir}/tests": ensure => directory, purge => true, force => true, diff --git a/manifests/init.pp b/manifests/init.pp index 73b4fb7..831bd14 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -2,6 +2,8 @@ class augeas( $version = 'installed', $rubylib_version = 'installed', ) { + $lens_dir = '/usr/share/augeas/lenses' + case $::operatingsystem { /RedHat|CentOS|Fedora/: { include augeas::redhat } /Debian|Ubuntu|kFreeBSD/: { include augeas::debian } diff --git a/manifests/lens.pp b/manifests/lens.pp index 55dc9ae..59746e7 100644 --- a/manifests/lens.pp +++ b/manifests/lens.pp @@ -31,10 +31,10 @@ define augeas::lens ( ) { if (!$stock_since or !versioncmp($::augeasversion, $stock_since)) { - include augeas::base + include augeas - $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 +42,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 +55,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], } -- cgit v1.2.3 From d1f779045d05f607124032636a1da594ed250cab Mon Sep 17 00:00:00 2001 From: mh Date: Wed, 27 Feb 2013 23:11:16 +0100 Subject: linting documentation --- manifests/base.pp | 1 + manifests/debian.pp | 1 + manifests/init.pp | 1 + manifests/lens.pp | 45 ++++++++++++++++++++------------------------- manifests/redhat.pp | 1 + 5 files changed, 24 insertions(+), 25 deletions(-) diff --git a/manifests/base.pp b/manifests/base.pp index 57102ec..0db9b50 100644 --- a/manifests/base.pp +++ b/manifests/base.pp @@ -1,3 +1,4 @@ +# basic things to manage augeas class augeas::base { # ensure no file not managed by puppet ends up in there. file { $augeas::lens_dir: diff --git a/manifests/debian.pp b/manifests/debian.pp index 4f5783d..5bc1bb5 100644 --- a/manifests/debian.pp +++ b/manifests/debian.pp @@ -1,3 +1,4 @@ +# manage debian specific things class augeas::debian inherits augeas::base { package { diff --git a/manifests/init.pp b/manifests/init.pp index 831bd14..3a26a24 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -1,3 +1,4 @@ +# Basic class to manage augeas class augeas( $version = 'installed', $rubylib_version = 'installed', diff --git a/manifests/lens.pp b/manifests/lens.pp index 59746e7..81ec6fd 100644 --- a/manifests/lens.pp +++ b/manifests/lens.pp @@ -1,28 +1,23 @@ -/* - -== Definition: augeas::lens - -Deploy an Augeas lens (and its test file). -Check the lens (and run the unit tests) automatically and remove the files if -the checks fail. - -Parameters: -- *ensure*: present/absent -- *lens_source*: the source for the lens -- *test_source*: optionally, the source for the test file. -- *stock_since*: optionally, indicate in which version of Augeas - the lens became stock, so it will not be deployed above that version. - -Example usage: - - augeas::lens { 'networkmanager': - lens_source => 'puppet:///modules/networkmanager/lenses/networkmanager.aug', - test_source => 'puppet:///modules/networkmanager/lenses/test_networkmanager.aug', - stock_since => '1.0.0', - } - -*/ - +# == Definition: augeas::lens +# +# Deploy an Augeas lens (and its test file). +# Check the lens (and run the unit tests) automatically and remove the files if +# the checks fail. +# +# Parameters: +# - *ensure*: present/absent +# - *lens_source*: the source for the lens +# - *test_source*: optionally, the source for the test file. +# - *stock_since*: optionally, indicate in which version of Augeas +# the lens became stock, so it will not be deployed above that version. +# +# Example usage: +# +# augeas::lens { 'networkmanager': +# lens_source => 'puppet:///modules/networkmanager/lenses/networkmanager.aug', +# test_source => 'puppet:///modules/networkmanager/lenses/test_networkmanager.aug', +# stock_since => '1.0.0', +# } define augeas::lens ( $lens_source, $ensure=present, diff --git a/manifests/redhat.pp b/manifests/redhat.pp index c165566..23974e6 100644 --- a/manifests/redhat.pp +++ b/manifests/redhat.pp @@ -1,3 +1,4 @@ +# manage things for redhat based things class augeas::redhat inherits augeas::base { package { -- cgit v1.2.3 From 9a21ea77e55cc7b722c5ae15ba8ae34f89f33e08 Mon Sep 17 00:00:00 2001 From: mh Date: Wed, 27 Feb 2013 23:11:44 +0100 Subject: linting traling whitespaces --- manifests/lens.pp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/manifests/lens.pp b/manifests/lens.pp index 81ec6fd..7c55b7a 100644 --- a/manifests/lens.pp +++ b/manifests/lens.pp @@ -1,18 +1,18 @@ # == Definition: augeas::lens -# +# # Deploy an Augeas lens (and its test file). # Check the lens (and run the unit tests) automatically and remove the files if # the checks fail. -# +# # Parameters: # - *ensure*: present/absent # - *lens_source*: the source for the lens # - *test_source*: optionally, the source for the test file. # - *stock_since*: optionally, indicate in which version of Augeas # the lens became stock, so it will not be deployed above that version. -# +# # Example usage: -# +# # augeas::lens { 'networkmanager': # lens_source => 'puppet:///modules/networkmanager/lenses/networkmanager.aug', # test_source => 'puppet:///modules/networkmanager/lenses/test_networkmanager.aug', -- cgit v1.2.3 From 4d57632afc0d9be88c4c9a30ee26599bdbefef00 Mon Sep 17 00:00:00 2001 From: mh Date: Thu, 28 Feb 2013 15:20:02 +0100 Subject: make manifests also work on puppet 2.6 --- manifests/init.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/init.pp b/manifests/init.pp index 3a26a24..f2db659 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -1,7 +1,7 @@ # Basic class to manage augeas class augeas( $version = 'installed', - $rubylib_version = 'installed', + $rubylib_version = 'installed' ) { $lens_dir = '/usr/share/augeas/lenses' -- cgit v1.2.3