From 33f386f33ce75f94e06201d2e825eec89445f86e Mon Sep 17 00:00:00 2001 From: david Date: Mon, 25 Jun 2007 08:24:51 +0000 Subject: added assert_lsbdistcodename git-svn-id: http://club.black.co.at:82/svn/manifests/trunk@57 f03ff2f1-f02d-0410-970d-b9634babeaa1 --- manifests/classes/lsb_release.pp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 manifests/classes/lsb_release.pp (limited to 'manifests/classes') 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 +# 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], } +} -- cgit v1.2.3