From 340bf65d5674ad8043eb77a2acf0eec79a1f16a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20M=E4kinen?= Date: Sun, 27 Sep 2009 13:10:09 +0300 Subject: [PATCH] Added fact which determines if console is serial or vga. --- custom/plugins/facter/console_type.rb | 30 +++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 custom/plugins/facter/console_type.rb diff --git a/custom/plugins/facter/console_type.rb b/custom/plugins/facter/console_type.rb new file mode 100644 index 0000000..52945ec --- /dev/null +++ b/custom/plugins/facter/console_type.rb @@ -0,0 +1,30 @@ + +Facter.add('console_type') do + setcode do + begin + Facter.kernel + rescue + Facter.loadfacts() + end + console = 'vga' + kernel = Facter.value('kernel') + if kernel == 'Linux' + File.open('/proc/cmdline', 'r') do |f| + while line = f.gets + if line =~ /console=ttyS[0-9]/ + console = 'serial' + end + end + end + elsif kernel == 'OpenBSD' + File.open('/etc/boot.conf', 'r') do |f| + while line = f.gets + if line =~ /^set tty com[0-9]$/ + console = 'serial' + end + end + end + end + console + end +end