diff options
author | david <david@f03ff2f1-f02d-0410-970d-b9634babeaa1> | 2007-06-25 08:24:51 +0000 |
---|---|---|
committer | david <david@f03ff2f1-f02d-0410-970d-b9634babeaa1> | 2007-06-25 08:24:51 +0000 |
commit | 33f386f33ce75f94e06201d2e825eec89445f86e (patch) | |
tree | b3864cb4bb2af5bf769255649d2fe53ebc184bfc | |
parent | 90380031347292ee5ddcea2cd43d6117accdc7bb (diff) | |
download | puppet-common-33f386f33ce75f94e06201d2e825eec89445f86e.tar.gz puppet-common-33f386f33ce75f94e06201d2e825eec89445f86e.tar.bz2 |
added assert_lsbdistcodename
git-svn-id: http://club.black.co.at:82/svn/manifests/trunk@57 f03ff2f1-f02d-0410-970d-b9634babeaa1
-rw-r--r-- | manifests/classes/lsb_release.pp | 30 | ||||
-rw-r--r-- | manifests/init.pp | 1 |
2 files changed, 31 insertions, 0 deletions
diff --git a/manifests/classes/lsb_release.pp b/manifests/classes/lsb_release.pp new file mode 100644 index 0000000..8a17872 --- /dev/null +++ b/manifests/classes/lsb_release.pp @@ -0,0 +1,30 @@ +# common/manifests/classes/lsb_release.pp -- request the installation of +# lsb_release to get to lsbdistcodename, which is used throughout the manifests +# +# Copyright (C) 2007 David Schmitt <david@schmitt.edv-bus.at> +# See LICENSE for the full license granted to you. + +# This lightweight class only asserts that $lsbdistcodename is set. +# If the assertion fails, an error is printed on the server +# +# To fail individual resources on a missing lsbdistcodename, require +# Exec[assert_lsbdistcodename] on the specific resource +class assert_lsbdistcodename { + + case $lsbdistcodename { + '': { + err("Please install lsb_release or set facter_lsbdistcodename in the environment") + exec { "/bin/false # assert_lsbdistcodename": alias => assert_lsbdistcodename } + } + default: { + exec { "/bin/true # assert_lsbdistcodename": alias => assert_lsbdistcodename } + exec { "/bin/true # require_lsbdistcodename": alias => require_lsbdistcodename } + } + } + +} + +# To fail the complete compilation, include this class +class require_lsbdistcodename inherits assert_lsbdistcodename { + exec { "/bin/false # require_lsbdistcodename": require => Exec[require_lsbdistcodename], } +} diff --git a/manifests/init.pp b/manifests/init.pp index 90dae0e..3c681d1 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -15,3 +15,4 @@ file { } import "defines/*.pp" +import "classes/*.pp" |