]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/motd/templates/motd.erb
fix ruby error
[dsa-puppet.git] / modules / motd / templates / motd.erb
index 496845ea6887c9684307ee687032eb11030e5ce4..45e529ab6933eb029ceafaf6ba532041138655c7 100644 (file)
@@ -18,40 +18,42 @@ def markup(l)
 end
 
 purp = ''
-if nodeinfo.has_key?('nameinfo')
-  purp += wrap(nodeinfo['nameinfo']) + "\n\n"
+if scope.lookupvar('site::nodeinfo').has_key?('nameinfo')
+  purp += wrap(scope.lookupvar('site::nodeinfo')['nameinfo']) + "\n\n"
 end
 
+ninfo = scope.lookupvar('site::nodeinfo')
+
 purp += 'Welcome to ' + fqdn
-if (nodeinfo['ldap'].has_key?('purpose'))
-  p = nodeinfo['ldap']['purpose'].clone()
+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 nodeinfo['ldap'].has_key?('architecture')
-      purp += nodeinfo['ldap']['architecture'][0]
+    if scope.lookupvar('site::nodeinfo')['ldap'].has_key?('architecture')
+      purp += scope.lookupvar('site::nodeinfo')['ldap']['architecture'][0]
     end
-    purp += " build daemon\n"
+    purp += " build daemon"
   end
 
   if p.delete('porterbox')
     purp += ", the Debian "
-    if nodeinfo['ldap'].has_key?('architecture')
-      purp += nodeinfo['ldap']['architecture'][0]
+    if scope.lookupvar('site::nodeinfo')['ldap'].has_key?('architecture')
+      purp += scope.lookupvar('site::nodeinfo')['ldap']['architecture'][0]
     end
-    purp += " porterbox\n"
+    purp += " porterbox"
     extra += "\n"
     extra += "See 'dchroot -l' or 'schroot -l' for a list of available chroots.\n"
-    if nodeinfo['ldap'].has_key?('admin')
-      extra += "Please contact #{nodeinfo['ldap']['admin'][0]} for install requests,\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.size() > 0
     purp += ", used for the following services:\n"
-    nodeinfo['ldap']['purpose'].sort.each do |l|
+    scope.lookupvar('site::nodeinfo')['ldap']['purpose'].sort.each do |l|
       l = markup(l)
       purp += "\t" + l + "\n"
     end
@@ -66,18 +68,18 @@ end
 
 purp += "\n"
 
-if (nodeinfo['ldap'].has_key?('physicalHost'))
-  purp += wrap("This virtual server runs on the physical host #{nodeinfo['ldap']['physicalHost'][0]}.  " +
-               "It is hosted at #{nodeinfo['hoster']['longname']}."
+if (scope.lookupvar('site::nodeinfo')['ldap'].has_key?('physicalHost'))
+  purp += wrap("This virtual server runs on the physical host #{ninfo['ldap']['physicalHost'][0]}, " +
+               "which is hosted at #{ninfo['hoster']['longname']}."
                )
-elsif nodeinfo['hoster']['name']
-  purp += wrap("This server is hosted at #{nodeinfo['hoster']['longname']}.")
+elsif scope.lookupvar('site::nodeinfo')['hoster']['name']
+  purp += wrap("This server is hosted at #{ninfo['hoster']['longname']}.")
 end
 
 
 vms = []
-allnodeinfo.keys.sort.each do |node|
-  if allnodeinfo[node]['physicalHost'] and allnodeinfo[node]['physicalHost'].include?(fqdn)
+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)
     vms << node
   end
 end
@@ -85,9 +87,9 @@ unless vms.empty?
   purp += "\nThe following virtual machines run on this system:\n"
   vms.each do |node|
     purp += "\t- #{node}"
-    if allnodeinfo[node]['purpose']
+    if scope.lookupvar('site::allnodeinfo')[node]['purpose']
       purp += ":\n"
-      allnodeinfo[node]['purpose'].sort.each do |l|
+      scope.lookupvar('site::allnodeinfo')[node]['purpose'].sort.each do |l|
         l = markup(l)
         purp += "\t    " + l + "\n"
       end
@@ -98,9 +100,26 @@ unless vms.empty?
 end
 
 
-if nodeinfo.has_key?('footer')
-  purp += "\n" + wrap(nodeinfo['footer']) + "\n"
+if not scope.lookupvar('::cluster').empty?
+  purp += "\nThis server is a node in ganeti cluster: "
+  purp += scope.lookupvar('::cluster') + ".\n"
+  nodes = scope.lookupvar('::cluster_nodes').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 scope.lookupvar('site::nodeinfo').has_key?('footer')
+  purp += "\n" + wrap(scope.lookupvar('site::nodeinfo')['footer']) + "\n"
 end
+
 purp
 -%>