]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/motd/templates/motd.erb
Revert porterbox fiddlings
[dsa-puppet.git] / modules / motd / templates / motd.erb
index 64e1b2a95200a178aa9e626d0049c21d6c7923cd..cfed6dca8c415acbba61bd78dd51c6bc03cfd97c 100644 (file)
@@ -9,11 +9,18 @@ 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)
@@ -22,61 +29,46 @@ def markup(l)
   return l
 end
 
+if scope.lookupvar('site::nodeinfo')['ldap'].has_key?('architecture')
+  arch = scope.lookupvar('site::nodeinfo')['ldap']['architecture'][0]
+else
+  arch = 'unknown'
+end
+
 purp = ''
 if scope.lookupvar('site::nodeinfo').has_key?('nameinfo')
-  purp += wrap(scope.lookupvar('site::nodeinfo')['nameinfo']) + "\n\n"
+  purp += " " + wrap(scope.lookupvar('site::nodeinfo')['nameinfo']) + "\n"
 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')
-    purp += ", the Debian "
-    if scope.lookupvar('site::nodeinfo')['ldap'].has_key?('architecture')
-      purp += scope.lookupvar('site::nodeinfo')['ldap']['architecture'][0]
-    end
-    purp += " build daemon"
+    entries += ", the Debian #{arch} build daemon"
   end
-
-  if p.delete('porterbox')
-    purp += ", the Debian "
-    if scope.lookupvar('site::nodeinfo')['ldap'].has_key?('architecture')
-      purp += scope.lookupvar('site::nodeinfo')['ldap']['architecture'][0]
-    end
-    purp += " porterbox"
-    extra += "\n"
-    if classes.include?("porterbox")
-      extra += "For an introduction to the porterbox 'schroot' tool, see:\n"
-      extra += "  <URL:http://dsa.debian.org/doc/schroot/>.\n"
-    else
-      extra += "See 'dchroot -l' or 'schroot -l' for a list of available chroots.\n"
-      if scope.lookupvar('site::nodeinfo')['ldap'].has_key?('admin')
-        extra += "Please contact #{ninfo['ldap']['admin'][0]} for install requests,\n"
-        extra += "following the recommendations in <URL:http://dsa.debian.org/doc/install-req/>.\n"
-      end
-    end
+  if p.delete('porterbox') or classes.include?("porterbox")
+    entries += ", the Debian #{arch} porterbox"
   end
 
   if p.size() > 0
-    purp += ", 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)
-      purp += "\t" + l + "\n"
+      entries += "\t#{l}\n"
     end
   else
-    purp += ".\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/
@@ -84,11 +76,11 @@ if (scope.lookupvar('site::nodeinfo')['ldap'].has_key?('physicalHost'))
   else
     phys_host = 'physical host'
   end
-  purp += wrap("This virtual server runs on the #{phys_host} #{ninfo['ldap']['physicalHost'][0]}, " +
+  purp += wrap(" This virtual server runs on the #{phys_host} #{ninfo['ldap']['physicalHost'][0]}, " +
                "which is hosted at #{ninfo['hoster']['longname']}."
                )
 elsif scope.lookupvar('site::nodeinfo')['hoster']['name']
-  purp += wrap("This server is hosted at #{ninfo['hoster']['longname']}.")
+  purp += wrap(" This server is hosted at #{ninfo['hoster']['longname']}.")
 end
 
 
@@ -116,15 +108,15 @@ end
 
 
 if scope.lookupvar('::cluster').to_s != 'undefined'
-  purp += "\nThis server is a node in ganeti 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
+  #nodes = scope.lookupvar('::cluster_nodes').sort
   #nodes.each do |node|
   #  purp += "\t" + node + "\n"
   #end
@@ -138,28 +130,20 @@ end
 
 
 if classes.include?("porterbox")
-  purp += "\nPlease clean up any schroots after you are done using them.  Please also\n" +
-    "remove any build and source trees in your home directory once you no longer\n" +
-    "need them.  Disk space on porter machines often is scarce.  If it becomes\n" +
-    "necessary we will delete your entire home directory without warning, but this\n" +
-    "really implies that you have been misusing resources.  We would prefer this\n" +
-    "not become necessary.\n" +
-    "\n  *** Clean up after yourself! ***\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:http://dsa.debian.org/doc/schroot/> for a brief tutorial on using schroot.")
 end
 
 if ninfo['not-bacula-client'] then
-  purp += "\n Note that this host is _NOT_ being backed up.  If you care about your\n" +
-            " 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