Tell users to clean up behind them.
[mirror/dsa-puppet.git] / modules / motd / templates / motd.erb
index 47eb952..3160aec 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
@@ -22,6 +27,8 @@ if scope.lookupvar('site::nodeinfo').has_key?('nameinfo')
   purp += wrap(scope.lookupvar('site::nodeinfo')['nameinfo']) + "\n\n"
 end
 
   purp += wrap(scope.lookupvar('site::nodeinfo')['nameinfo']) + "\n\n"
 end
 
+ninfo = scope.lookupvar('site::nodeinfo')
+
 purp += 'Welcome to ' + fqdn
 if (scope.lookupvar('site::nodeinfo')['ldap'].has_key?('purpose'))
   p = scope.lookupvar('site::nodeinfo')['ldap']['purpose'].clone()
 purp += 'Welcome to ' + fqdn
 if (scope.lookupvar('site::nodeinfo')['ldap'].has_key?('purpose'))
   p = scope.lookupvar('site::nodeinfo')['ldap']['purpose'].clone()
@@ -42,10 +49,15 @@ if (scope.lookupvar('site::nodeinfo')['ldap'].has_key?('purpose'))
     end
     purp += " porterbox"
     extra += "\n"
     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 #{nodeinfo['ldap']['admin'][0]} for install requests,\n"
-      extra += "following the recommendations in <URL:http://dsa.debian.org/doc/install-req/>.\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
   end
 
     end
   end
 
@@ -67,11 +79,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 #{nodeinfo['ldap']['physicalHost'][0]}, " +
-               "which is hosted at #{nodeinfo['hoster']['longname']}."
+  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']
                )
 elsif scope.lookupvar('site::nodeinfo')['hoster']['name']
-  purp += wrap("This server is hosted at #{nodeinfo['hoster']['longname']}.")
+  purp += wrap("This server is hosted at #{ninfo['hoster']['longname']}.")
 end
 
 
 end
 
 
@@ -98,14 +115,56 @@ unless vms.empty?
 end
 
 
 end
 
 
+if scope.lookupvar('::cluster').to_s != 'undefined'
+  purp += "\nThis 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
+  #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
+
+
+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"
+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" +
+    "  *** Clean up behind you! ***\n"
+end
+
+
 if scope.lookupvar('site::nodeinfo').has_key?('footer')
   purp += "\n" + wrap(scope.lookupvar('site::nodeinfo')['footer']) + "\n"
 end
 if scope.lookupvar('site::nodeinfo').has_key?('footer')
   purp += "\n" + wrap(scope.lookupvar('site::nodeinfo')['footer']) + "\n"
 end
+
 purp
 -%>
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 purp
 -%>
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
+<% if @lsbmajdistrelease >= '7' -%>
+EOD
+<% end -%>
 <%
 # vim:set et:
 # vim:set sts=2 ts=2:
 <%
 # vim:set et:
 # vim:set sts=2 ts=2: