From af05dd3b0b73f07747c17efcae73fe980fe08669 Mon Sep 17 00:00:00 2001 From: Arnoud Vermeer Date: Thu, 24 Mar 2016 14:35:31 +0100 Subject: Add supermicro support tested on a SuperMicro SSE-G2252 --- lib/oxidized/model/supermicro.rb | 48 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 lib/oxidized/model/supermicro.rb (limited to 'lib/oxidized/model') diff --git a/lib/oxidized/model/supermicro.rb b/lib/oxidized/model/supermicro.rb new file mode 100644 index 0000000..3401593 --- /dev/null +++ b/lib/oxidized/model/supermicro.rb @@ -0,0 +1,48 @@ +class Supermicro < Oxidized::Model + comment '! ' + + # example how to handle pager + # --- [Space] Next page, [Enter] Next line, [A] All, Others to exit --- + expect /^---(.*)exit ---$/ do |data, re| + send 'a' + data.sub re, '' + end + + cmd :secret do |cfg| + cfg.gsub!(/password \d+ (\S+).*/, '') + cfg.gsub!(/community (\S+)/, 'community ') + cfg + end + + cmd :all do |cfg| + cfg.each_line.to_a[1..-2].join + end + + cmd 'show running-config' + + cmd 'show access-list tcam-utilization' do |cfg| + comment cfg + end + + cmd 'show memory' do |cfg| + comment cfg + end + + cmd 'show version' do |cfg| + comment cfg + end + + cmd 'show watchdog' do |cfg| + comment cfg + end + + cfg :telnet do + username /^Username:/ + password /^Password:/ + end + + cfg :telnet, :ssh do + pre_logout 'exit' + end + +end \ No newline at end of file -- cgit v1.2.1 From 9f606e7b9a1265e7d6c57524b1df7abad36dbb55 Mon Sep 17 00:00:00 2001 From: Arnoud Vermeer Date: Thu, 31 Mar 2016 15:56:59 +0200 Subject: Remove the pager and remove 'Building running configuration. Please wait...' --- lib/oxidized/model/supermicro.rb | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) (limited to 'lib/oxidized/model') diff --git a/lib/oxidized/model/supermicro.rb b/lib/oxidized/model/supermicro.rb index 3401593..361244c 100644 --- a/lib/oxidized/model/supermicro.rb +++ b/lib/oxidized/model/supermicro.rb @@ -1,13 +1,6 @@ class Supermicro < Oxidized::Model comment '! ' - # example how to handle pager - # --- [Space] Next page, [Enter] Next line, [A] All, Others to exit --- - expect /^---(.*)exit ---$/ do |data, re| - send 'a' - data.sub re, '' - end - cmd :secret do |cfg| cfg.gsub!(/password \d+ (\S+).*/, '') cfg.gsub!(/community (\S+)/, 'community ') @@ -15,7 +8,7 @@ class Supermicro < Oxidized::Model end cmd :all do |cfg| - cfg.each_line.to_a[1..-2].join + cfg.each_line.to_a[2..-2].join end cmd 'show running-config' @@ -28,6 +21,10 @@ class Supermicro < Oxidized::Model comment cfg end + cmd 'show system' do |cfg| + comment cfg + end + cmd 'show version' do |cfg| comment cfg end @@ -42,7 +39,7 @@ class Supermicro < Oxidized::Model end cfg :telnet, :ssh do + post_login 'terminal length 0' pre_logout 'exit' end - end \ No newline at end of file -- cgit v1.2.1