]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/motd/templates/motd.erb
try it like this
[dsa-puppet.git] / modules / motd / templates / motd.erb
index 7b670c1b4461203728800c250eeb143334818165..636afc069dee16599880bcf80a77827ec49443c3 100644 (file)
@@ -2,7 +2,7 @@
 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
-(http://www.debian.org/devel/dmup)
+<URL:http://www.debian.org/devel/dmup>.
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
@@ -11,6 +11,16 @@ def wrap(s, width=78)
       s.gsub(/(.{1,#{width}})(\s+|\Z)/, "\\1\n")
 end
 
+def markup(l)
+  if l =~ /\[\[(\*|-)?(.*?)\]\]/
+    l = $2
+  end
+  if l =~ /\[\[(.*?)\|(.*?)\]\]/
+    l = $2
+  end
+  return l
+end
+
 purp = ''
 if nodeinfo.has_key?('nameinfo')
   purp += wrap(nodeinfo['nameinfo']) + "\n\n"
@@ -39,12 +49,7 @@ if (nodeinfo['ldap'].has_key?('purpose'))
   else
     purp += ", used for the following services:\n"
     nodeinfo['ldap']['purpose'].sort.each do |l|
-      if l =~ /\[\[(\*|-)?(.*?)\]\]/
-        l = $2
-      end
-      if l =~ /\[\[(.*?)\|(.*?)\]\]/
-        l = $2
-      end
+      l = markup(l)
       purp += "\t" + l + "\n"
     end
   end
@@ -56,6 +61,30 @@ if (nodeinfo['ldap'].has_key?('physicalHost'))
   purp += "\nThis virtual server runs on the physical host #{nodeinfo['ldap']['physicalHost'][0]}.\n"
 end
 
+
+vms = []
+allnodeinfo.keys.sort.each do |node|
+  if allnodeinfo[node]['physicalHost'] and allnodeinfo[node]['physicalHost'].include?(fqdn)
+    vms << node
+  end
+end
+unless vms.empty?
+  purp += "\nThe following virtual machines run on this system:\n"
+  vms.each do |node|
+    purp += "\t- #{node}"
+    if allnodeinfo[node]['purpose']
+      purp += ":\n"
+      allnodeinfo[node]['purpose'].sort.each do |l|
+        l = markup(l)
+        purp += "\t   " + l + "\n"
+      end
+    else
+      purp += "\n"
+    end
+  end
+end
+
+
 if nodeinfo.has_key?('footer')
   purp += "\n" + wrap(nodeinfo['footer']) + "\n"
 end