]> gitweb.fluxo.info Git - puppet-common.git/commitdiff
recognize lsbdistcodename 'n/a'
authorDavid Schmitt <david@schmitt.edv-bus.at>
Sun, 26 Aug 2007 20:18:00 +0000 (22:18 +0200)
committerDavid Schmitt <david@schmitt.edv-bus.at>
Sun, 26 Aug 2007 20:18:00 +0000 (22:18 +0200)
micah <micah@riseup.net> reported, that lsb_release can report nonsensical
values for lsbdistcodename; assert_lsbdistcodename now recognises "n/a" and
acts accordingly

manifests/classes/lsb_release.pp

index 22717b05cd42bcc45b45065e4a1c172b15032b2a..fbea24b33abc2488501f54990a9c7b1895a2be39 100644 (file)
@@ -4,6 +4,11 @@
 # Copyright (C) 2007 David Schmitt <david@schmitt.edv-bus.at>
 # See LICENSE for the full license granted to you.
 
+# Changelog:
+# 2007-08-26: micah <micah@riseup.net> reported, that lsb_release can report
+#      nonsensical values for lsbdistcodename; assert_lsbdistcodename now
+#      recognises "n/a" and acts accordingly
+
 # This lightweight class only asserts that $lsbdistcodename is set.
 # If the assertion fails, an error is printed on the server
 # 
@@ -16,6 +21,17 @@ class assert_lsbdistcodename {
                        err("Please install lsb_release or set facter_lsbdistcodename in the environment of $fqdn")
                        exec { "/bin/false # assert_lsbdistcodename": alias => assert_lsbdistcodename }
                }
+               'n/a': {
+                       case $operatingsystem {
+                               "Debian": {
+                                       err("lsb_release was unable to report your distcodename; This seems to indicate a broken apt/sources.list on $fqdn")
+                               }
+                               default: {
+                                       err("lsb_release was unable to report your distcodename; please set facter_lsbdistcodename in the environment of $fqdn")
+                               }
+                       }
+                       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 }