X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fmotd%2Ftemplates%2Fmotd.erb;h=31936b3665e6ecfc1ad3df67460fef3d0e589d9c;hb=0fbf57679f7d1588d593f30d0fd57a976b398ab7;hp=496845ea6887c9684307ee687032eb11030e5ce4;hpb=ae175540af1e950dcfc2520cbf58a1f2acdbe526;p=mirror%2Fdsa-puppet.git diff --git a/modules/motd/templates/motd.erb b/modules/motd/templates/motd.erb index 496845ea6..31936b366 100644 --- a/modules/motd/templates/motd.erb +++ b/modules/motd/templates/motd.erb @@ -1,3 +1,8 @@ +<% if @lsbmajdistrelease >= '7' -%> +#!/bin/bash + +cat < This device is for authorized users only. All traffic on this device is monitored and will be used as evidence for prosecutions. By using @@ -18,40 +23,47 @@ 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" - extra += "following the recommendations in .\n" + if classes.include?("porterbox") + extra += "For an introduction to the porterbox 'schroot' tool, see:\n" + extra += " .\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 .\n" + end 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 +78,23 @@ 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')) + 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 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 +102,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,14 +115,52 @@ unless vms.empty? end -if nodeinfo.has_key?('footer') - purp += "\n" + wrap(nodeinfo['footer']) + "\n" +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 classes.include?("porterbox") + purp += "\n Disk space on porter boxes is often limited. Please respect your fellow\n" + " porters by cleaning up after yourself by deleting schroots and source/build\n" + + " trees in your $HOME, as soon as feasible. DSA reserves the right to recover\n" + + " disk space as necessary.\n" +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 scope.lookupvar('site::nodeinfo').has_key?('footer') + purp += "\n" + wrap(scope.lookupvar('site::nodeinfo')['footer']) + "\n" end + purp -%> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +<% if @lsbmajdistrelease >= '7' -%> +EOD +<% end -%> <% # vim:set et: # vim:set sts=2 ts=2: