Mess some more with the motd
[mirror/dsa-puppet.git] / modules / motd / templates / motd.erb
index 1a3bf19..7ddb539 100644 (file)
@@ -1,3 +1,8 @@
+<% 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 device is for authorized users only.  All traffic on this device
 is monitored and will be used as evidence for prosecutions.  By using
@@ -8,7 +13,7 @@ this machine you agree to abide by the Debian Machines Usage Policies
 
 <%=
 def wrap(s, width=78)
 
 <%=
 def wrap(s, width=78)
-      s.gsub(/(.{1,#{width}})(\s+|\Z)/, "\\1\n")
+      s.gsub(/(.{1,#{width}})(\s+|\Z)/, "\\1\n ")
 end
 
 def markup(l)
 end
 
 def markup(l)
@@ -17,48 +22,41 @@ def markup(l)
   return l
 end
 
   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 = ''
 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')
 
 end
 
 ninfo = scope.lookupvar('site::nodeinfo')
 
-purp += 'Welcome to ' + fqdn
+purp += ' Welcome to ' + fqdn
 if (scope.lookupvar('site::nodeinfo')['ldap'].has_key?('purpose'))
   p = scope.lookupvar('site::nodeinfo')['ldap']['purpose'].clone()
   extra = ''
 
   if p.delete('buildd')
 if (scope.lookupvar('site::nodeinfo')['ldap'].has_key?('purpose'))
   p = scope.lookupvar('site::nodeinfo')['ldap']['purpose'].clone()
   extra = ''
 
   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"
+    extra += ", the Debian #{arch} build daemon."
   end
   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"
-    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
+  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."
   end
 
   if p.size() > 0
   end
 
   if p.size() > 0
-    purp += ", used for the following services:\n"
+    extra += (extra == "") ? ", " : " Also"
+    extra +="used for the following services:\n"
     scope.lookupvar('site::nodeinfo')['ldap']['purpose'].sort.each do |l|
       l = markup(l)
     scope.lookupvar('site::nodeinfo')['ldap']['purpose'].sort.each do |l|
       l = markup(l)
-      purp += "\t" + l + "\n"
+      extra += "\t#{l}\n"
     end
   else
     end
   else
-    purp += ".\n"
+    extra += ".\n"
   end
 
   purp += extra
   end
 
   purp += extra
@@ -69,11 +67,16 @@ end
 purp += "\n"
 
 if (scope.lookupvar('site::nodeinfo')['ldap'].has_key?('physicalHost'))
 purp += "\n"
 
 if (scope.lookupvar('site::nodeinfo')['ldap'].has_key?('physicalHost'))
-  purp += wrap("This virtual server runs on the physical host #{ninfo['ldap']['physicalHost'][0]}, " +
+  if ninfo['ldap']['physicalHost'][0] =~ /ganeti/
+    phys_host = 'cluster'
+  else
+    phys_host = 'physical host'
+  end
+  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']
                "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
 
 
 end
 
 
@@ -100,21 +103,42 @@ unless vms.empty?
 end
 
 
 end
 
 
-if scope.hiera('cluster')
-  purp += "\nganeti cluster: " + hiera('cluster') + " contains these nodes:\n"
-  scope.hiera_array('nodes').each do |node|
-    purp += "\t" + node
-    if node.eql?(fqdn)
-      purp += " (this system)"
-    end
-    purp += "\n"
+if scope.lookupvar('::cluster').to_s != 'undefined'
+  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"
+
+  if @lsbmajdistrelease >= '7'
+    purp += ""
+    purp += "\tCurrently the master node is $(cat /var/lib/ganeti/ssconf_master_node).\n"
   end
   end
-  purp += "\n"
+  #nodes = scope.lookupvar('::cluster_nodes').to_s.split.sort
+  #nodes.each do |node|
+  #  purp += "\t" + node + "\n"
+  #end
+  #nodes.reject{|node| node.eql?(fqdn)}.each do |node|
+  #  purp += "\t" + node + "\n"
+  #  scope.lookupvar('site::allnodeinfo')[node]['ipHostNumber'].each do |ip|
+  #    purp += "\t\t" + ip + "\n"
+  #  end
+  #end
 end
 
 
 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"
+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.")
+end
+
 if scope.lookupvar('site::nodeinfo').has_key?('footer')
 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
 end
 
 purp
@@ -122,6 +146,9 @@ purp
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
+<% if @lsbmajdistrelease >= '7' -%>
+EOD
+<% end -%>
 <%
 # vim:set et:
 # vim:set sts=2 ts=2:
 <%
 # vim:set et:
 # vim:set sts=2 ts=2: