X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fmotd%2Ftemplates%2Fmotd.erb;h=f078a5f45cc869df72b74d34606bdd06bfc147a1;hb=249b713a08d35bffb1cd52739be6f5808baa5a5f;hp=42edb0cbc639a4eb80b0bce39a42d9fdd2642d11;hpb=124e041c35aba39832a92d262407b643f9b7b07b;p=mirror%2Fdsa-puppet.git diff --git a/modules/motd/templates/motd.erb b/modules/motd/templates/motd.erb index 42edb0cbc..f078a5f45 100644 --- a/modules/motd/templates/motd.erb +++ b/modules/motd/templates/motd.erb @@ -1,19 +1,24 @@ -<% 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 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 ") + s.split("\n").map{ |x| + if (x.length > width) then + #x.gsub!(/(.{1,#{width}}) +(?=\S)/, "\\1\n ") + x.gsub!(/(.{1,#{width}})( +|\Z)/, "\\1\n ") + end + x + }.join("\n")+"\n" end def markup(l) @@ -22,66 +27,46 @@ 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 +extra = 'Welcome to ' + @fqdn if (scope.lookupvar('site::nodeinfo')['ldap'].has_key?('purpose')) p = scope.lookupvar('site::nodeinfo')['ldap']['purpose'].clone() - extra = '' + entries = "" 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" + entries += ", 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" - if classes.include?("porterbox") - extra += "See 'schroot -l' for a list of available chroots. Start new sessions\n" - extra += "with 'schroot --begin-session -c ', run commands in sessions using\n" - extra += "'schroot --run-session -c [-- command]', and tear down sessions\n" - extra += "using 'schroot --end-session -c '. You can run a limited set of\n" - extra += "privileged commands, for instance some of apt-get, using\n" - extra += "'dd-schroot-cmd -c '.\n" - extra += "Use 'schroot-list-sessions' to list your open sessions.\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 + if p.delete('porterbox') or classes.include?("porterbox") + entries += ", the Debian #{arch} porterbox" end if p.size() > 0 - purp += ", used for the following services:\n" + entries += (entries == "") ? ", " : ". Also" + entries +="used for the following services:\n" scope.lookupvar('site::nodeinfo')['ldap']['purpose'].sort.each do |l| l = markup(l) - purp += "\t" + l + "\n" + entries += "\t#{l}\n" end else - purp += ".\n" + entries += ".\n" end - - purp += extra + extra += entries else - purp += ".\n" + extra += "." end - -purp += "\n" +purp += " " + wrap(extra) + "\n" if (scope.lookupvar('site::nodeinfo')['ldap'].has_key?('physicalHost')) if ninfo['ldap']['physicalHost'][0] =~ /ganeti/ @@ -89,17 +74,17 @@ if (scope.lookupvar('site::nodeinfo')['ldap'].has_key?('physicalHost')) else phys_host = 'physical host' end - purp += wrap("This virtual server runs on the #{phys_host} #{ninfo['ldap']['physicalHost'][0]}, " + + 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 vms = [] 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) + if scope.lookupvar('site::allnodeinfo')[node]['physicalHost'] and scope.lookupvar('site::allnodeinfo')[node]['physicalHost'].include?(@fqdn) vms << node end end @@ -120,34 +105,43 @@ unless vms.empty? end -if scope.lookupvar('::cluster').to_s != 'undefined' - purp += "\nThis server is a node in ganeti cluster: " - purp += scope.lookupvar('::cluster').to_s + ".\n" - 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 +if scope.lookupvar('::cluster') + purp += "\n This server is a node in ganeti cluster: " + purp += scope.lookupvar('::cluster').to_s + ":\n" + purp += "\t" + scope.lookupvar('::cluster_nodes').split.sort.map{ |x| x.split('.')[0] }.join(", ") + ".\n" + + purp += "" + purp += "\tCurrently the master node is $(cat /var/lib/ganeti/ssconf_master_node).\n" + #nodes = scope.lookupvar('::cluster_nodes').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 and deleting schroots and source/build trees in your ~ as soon as feasible. DSA reserves the right to recover disk space as necessary. See for a brief tutorial on using schroot. There may be chroots for architectures other than #{arch} available, please list available chroots to check.") +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 -%> +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -<% if @lsbmajdistrelease >= '7' -%> EOD -<% end -%> <% # vim:set et: # vim:set sts=2 ts=2: