X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fmotd%2Ftemplates%2Fmotd.erb;h=7ddb539e90fe616ebd195a3d789c84ca11f0fd61;hb=9db4695b9e8d731c18d414a829c2594bcec38e8b;hp=2b6370899e5e42e27f28bf55a1219aee9e51f5c2;hpb=4e45280a2115fc85d8b49479076e9cf0a1907b38;p=mirror%2Fdsa-puppet.git diff --git a/modules/motd/templates/motd.erb b/modules/motd/templates/motd.erb index 2b6370899..7ddb539e9 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 @@ -8,7 +13,7 @@ this machine you agree to abide by the Debian Machines Usage Policies <%= 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) @@ -17,48 +22,41 @@ def markup(l) 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 += wrap(scope.lookupvar('site::nodeinfo')['nameinfo']) + "\n\n" + purp += " " + wrap(scope.lookupvar('site::nodeinfo')['nameinfo']) + "\n" 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') - 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 - - 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 .\n" - end + if p.delete('porterbox') or classes.include?("porterbox") + extra += ", the Debian #{arch} porterbox. See\n"+ + extra += " for a brief schroot tutorial." 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) - purp += "\t" + l + "\n" + extra += "\t#{l}\n" end else - purp += ".\n" + extra += ".\n" end purp += extra @@ -69,11 +67,16 @@ end 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'] - purp += wrap("This server is hosted at #{ninfo['hoster']['longname']}.") + purp += wrap(" This server is hosted at #{ninfo['hoster']['longname']}.") end @@ -100,18 +103,42 @@ unless vms.empty? end -if scope.lookupvar('::cluster') - purp += "\nThis server is a node in ganeti cluster: " - purp += scope.lookupvar('::cluster') + ".\n" - Puppet::Parser::Functions.function(:hiera_array) - scope.function_hiera_array('nodes').each do |node| - purp += "\t" + node + "\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 + #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 " + 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') - purp += "\n" + wrap(scope.lookupvar('site::nodeinfo')['footer']) + "\n" + purp += "\n" + wrap(scope.lookupvar('site::nodeinfo')['footer']) end purp @@ -119,6 +146,9 @@ purp %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +<% if @lsbmajdistrelease >= '7' -%> +EOD +<% end -%> <% # vim:set et: # vim:set sts=2 ts=2: