puppet 4 foo
[mirror/dsa-puppet.git] / modules / motd / templates / motd.erb
index 1e3082f..f078a5f 100644 (file)
@@ -1,19 +1,24 @@
-<% if @lsbmajdistrelease >= '7' -%>
 #!/bin/bash
 
 cat <<EOD
-<% end -%>
 
 This device is for authorized users only.  All traffic on this device
 is monitored and will be used as evidence for prosecutions.  By using
 this machine you agree to abide by the Debian Machines Usage Policies
 <URL:http://www.debian.org/devel/dmup>.
 
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 <%=
 def wrap(s, width=78)
-      s.gsub(/(.{1,#{width}})(\s+|\Z)/, "\\1\n ")
+  #s.gsub(/(.{1,#{width}})(\s+|\Z)/, "\\1\n ")
+  s.split("\n").map{ |x|
+    if (x.length > width) then
+      #x.gsub!(/(.{1,#{width}}) +(?=\S)/, "\\1\n ")
+      x.gsub!(/(.{1,#{width}})( +|\Z)/, "\\1\n ")
+    end
+    x
+  }.join("\n")+"\n"
 end
 
 def markup(l)
@@ -35,36 +40,33 @@ end
 
 ninfo = scope.lookupvar('site::nodeinfo')
 
-purp += ' Welcome to ' + fqdn
+extra = 'Welcome to ' + @fqdn
 if (scope.lookupvar('site::nodeinfo')['ldap'].has_key?('purpose'))
   p = scope.lookupvar('site::nodeinfo')['ldap']['purpose'].clone()
-  extra = ''
+  entries = ""
 
   if p.delete('buildd')
-    extra += ", the Debian #{arch} build daemon."
+    entries += ", the Debian #{arch} build daemon"
   end
   if p.delete('porterbox') or classes.include?("porterbox")
-    extra += ", the Debian #{arch} porterbox. See\n"+
-    extra += " <URL:http://dsa.debian.org/doc/schroot/> for a brief schroot tutorial."
+    entries += ", the Debian #{arch} porterbox"
   end
 
   if p.size() > 0
-    extra += (extra == "") ? ", " : " Also"
-    extra +="used for the following services:\n"
+    entries += (entries == "") ? ", " : ".  Also"
+    entries +="used for the following services:\n"
     scope.lookupvar('site::nodeinfo')['ldap']['purpose'].sort.each do |l|
       l = markup(l)
-      extra += "\t#{l}\n"
+      entries += "\t#{l}\n"
     end
   else
-    extra += ".\n"
+    entries += ".\n"
   end
-
-  purp += extra
+  extra += entries
 else
-  purp += ".\n"
+  extra += "."
 end
-
-purp += "\n"
+purp += " " + wrap(extra) + "\n"
 
 if (scope.lookupvar('site::nodeinfo')['ldap'].has_key?('physicalHost'))
   if ninfo['ldap']['physicalHost'][0] =~ /ganeti/
@@ -82,7 +84,7 @@ end
 
 vms = []
 scope.lookupvar('site::allnodeinfo').keys.sort.each do |node|
-  if scope.lookupvar('site::allnodeinfo')[node]['physicalHost'] and scope.lookupvar('site::allnodeinfo')[node]['physicalHost'].include?(fqdn)
+  if scope.lookupvar('site::allnodeinfo')[node]['physicalHost'] and scope.lookupvar('site::allnodeinfo')[node]['physicalHost'].include?(@fqdn)
     vms << node
   end
 end
@@ -103,16 +105,14 @@ unless vms.empty?
 end
 
 
-if scope.lookupvar('::cluster').to_s != 'undefined'
+if scope.lookupvar('::cluster')
   purp += "\n This server is a node in ganeti cluster: "
   purp += scope.lookupvar('::cluster').to_s + ":\n"
-  purp += "\t" + scope.lookupvar('::cluster_nodes').to_s.split.sort.map{ |x| x.split('.')[0] }.join(", ") + ".\n"
+  purp += "\t" + scope.lookupvar('::cluster_nodes').split.sort.map{ |x| x.split('.')[0] }.join(", ") + ".\n"
 
-  if @lsbmajdistrelease >= '7'
-    purp += ""
-    purp += "\tCurrently the master node is $(cat /var/lib/ganeti/ssconf_master_node).\n"
-  end
-  #nodes = scope.lookupvar('::cluster_nodes').to_s.split.sort
+  purp += ""
+  purp += "\tCurrently the master node is $(cat /var/lib/ganeti/ssconf_master_node).\n"
+  #nodes = scope.lookupvar('::cluster_nodes').sort
   #nodes.each do |node|
   #  purp += "\t" + node + "\n"
   #end
@@ -126,29 +126,22 @@ end
 
 
 if classes.include?("porterbox")
-  purp += "\n " + wrap("Disk space on porter boxes is often limited.  Please
-respect your fellow porters by cleaning up after yourself by deleting
-schroots and source/build trees in your $HOME, as soon as feasible.  DSA
-reserves the right to recover disk space as necessary.") + "\n"
+  purp += "\n " + wrap("Disk space on porter boxes is often limited.  Please respect your fellow porters by cleaning up after yourself and deleting schroots and source/build trees in your ~ as soon as feasible.  DSA reserves the right to recover disk space as necessary.  See <URL:https://dsa.debian.org/doc/schroot/> for a brief tutorial on using schroot.  There may be chroots for architectures other than #{arch} available, please list available chroots to check.")
 end
 
 if ninfo['not-bacula-client'] then
-  purp += "\n " + wrap("Note that this host is _NOT_ being backed up.  If you
-care about your data, run your own backups.") + "\n"
+  purp += "\n " + wrap("Note that this host is _NOT_ being backed up.  If you care about your data, run your own backups.")
 end
 
 if scope.lookupvar('site::nodeinfo').has_key?('footer')
-  purp += "\n" + wrap(scope.lookupvar('site::nodeinfo')['footer']) + "\n"
+  purp += "\n" + wrap(scope.lookupvar('site::nodeinfo')['footer'])
 end
 
 purp
 -%>
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-<% if @lsbmajdistrelease >= '7' -%>
 EOD
-<% end -%>
 <%
 # vim:set et:
 # vim:set sts=2 ts=2: