]> gitweb.fluxo.info Git - puppet-common.git/commitdiff
added assert_lsbdistcodename
authordavid <david@f03ff2f1-f02d-0410-970d-b9634babeaa1>
Mon, 25 Jun 2007 08:24:51 +0000 (08:24 +0000)
committerdavid <david@f03ff2f1-f02d-0410-970d-b9634babeaa1>
Mon, 25 Jun 2007 08:24:51 +0000 (08:24 +0000)
git-svn-id: http://club.black.co.at:82/svn/manifests/trunk@57 f03ff2f1-f02d-0410-970d-b9634babeaa1

manifests/classes/lsb_release.pp [new file with mode: 0644]
manifests/init.pp

diff --git a/manifests/classes/lsb_release.pp b/manifests/classes/lsb_release.pp
new file mode 100644 (file)
index 0000000..8a17872
--- /dev/null
@@ -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], }
+}
index 90dae0ea6aaa088a6f7db677e338974a6414f5d5..3c681d17ee6cb592118e047287782684d5e5b406 100644 (file)
@@ -15,3 +15,4 @@ file {
 }
 
 import "defines/*.pp"
+import "classes/*.pp"