From 76204c98eefa4940f9cc1e7a101d0c782e6a0508 Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Tue, 10 May 2016 12:07:35 +0100 Subject: [PATCH] Start serial terminal on S0 for machines at Bytemark --- cookbooks/hardware/recipes/default.rb | 30 +++++++++---------- cookbooks/hardware/templates/default/grub.erb | 8 ++--- .../hardware/templates/default/tty.conf.erb | 2 +- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/cookbooks/hardware/recipes/default.rb b/cookbooks/hardware/recipes/default.rb index 517794141..8f08db8f1 100644 --- a/cookbooks/hardware/recipes/default.rb +++ b/cookbooks/hardware/recipes/default.rb @@ -50,33 +50,33 @@ else product = "Unknown" end +units = [] + +if node[:roles].include?("bytemark") + units << "0" +end + case manufacturer when "HP" package "hponcfg" package "hp-health" - unit = "1" - speed = "115200" + units << "1" when "TYAN" - unit = "0" - speed = "115200" + units << "0" when "TYAN Computer Corporation" - unit = "0" - speed = "115200" + units << "0" when "Supermicro" case product when "H8DGU", "X9SCD", "X7DBU", "X7DW3", "X9DR7/E-(J)LN4F", "X9DR3-F", "X9DRW" - unit = "1" - speed = "115200" + units << "1" else - unit = "0" - speed = "115200" + units << "0" end when "IBM" - unit = "0" - speed = "115200" + units << "0" end -unless unit.nil? +units.sort.uniq.each do |unit| file "/etc/init/ttySttyS#{unit}.conf" do action :delete end @@ -86,7 +86,7 @@ unless unit.nil? owner "root" group "root" mode 0644 - variables :unit => unit, :speed => speed + variables :unit => unit end service "ttyS#{unit}" do @@ -126,7 +126,7 @@ if File.exist?("/etc/default/grub") owner "root" group "root" mode 0644 - variables :unit => unit, :speed => speed, :entry => grub_entry + variables :units => units, :entry => grub_entry notifies :run, "execute[update-grub]" end end diff --git a/cookbooks/hardware/templates/default/grub.erb b/cookbooks/hardware/templates/default/grub.erb index 3db559191..b68b32651 100644 --- a/cookbooks/hardware/templates/default/grub.erb +++ b/cookbooks/hardware/templates/default/grub.erb @@ -15,10 +15,10 @@ GRUB_HIDDEN_TIMEOUT_QUIET="true" GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` # Arguments to add to the kernel command line (all entries) -<% if @unit.nil? -%> +<% if @units.nil? -%> GRUB_CMDLINE_LINUX="<%= node[:hardware][:grub][:cmdline].join(" ") %>" <% else -%> -GRUB_CMDLINE_LINUX="console=tty0 console=ttyS<%= @unit %>,115200n8 <%= node[:hardware][:grub][:cmdline].join(" ") %>" +GRUB_CMDLINE_LINUX="console=tty0 <%= @units.sort.uniq.collect { |unit| "console=ttyS#{unit},115200n8" }.join(" ") %> <%= node[:hardware][:grub][:cmdline].join(" ") %>" <% end -%> # Arguments to add to the kernel command line (except recovery entries) @@ -27,7 +27,7 @@ GRUB_CMDLINE_LINUX_DEFAULT="panic=30" # Do not wait for infinite time on a failed boot GRUB_RECORDFAIL_TIMEOUT=2 -<% if @unit.nil? -%> +<% if @units.nil? -%> # Send console output to the screen GRUB_TERMINAL="console" <% else -%> @@ -40,5 +40,5 @@ GRUB_TERMINAL="serial" <% end -%> # Configure the serial console -GRUB_SERIAL_COMMAND="serial --speed=<%= @speed %> --unit=<%= @unit %> --word=8 --parity=no --stop=1" +GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=<%= @units.first %> --word=8 --parity=no --stop=1" <% end -%> diff --git a/cookbooks/hardware/templates/default/tty.conf.erb b/cookbooks/hardware/templates/default/tty.conf.erb index 896e8c3df..9b3ae4a03 100644 --- a/cookbooks/hardware/templates/default/tty.conf.erb +++ b/cookbooks/hardware/templates/default/tty.conf.erb @@ -9,4 +9,4 @@ start on stopped rc RUNLEVEL=[2345] stop on runlevel [!2345] respawn -exec /sbin/getty -L <%= @speed %> ttyS<%= @unit %> vt102 +exec /sbin/getty -L 115200 ttyS<%= @unit %> vt102 -- 2.43.2