diff options
author | Saku Ytti <saku@ytti.fi> | 2014-02-07 16:37:02 +0200 |
---|---|---|
committer | Saku Ytti <saku@ytti.fi> | 2014-02-07 16:37:02 +0200 |
commit | 92fbaa712c99ae5b523be0ebbc46fca9cdddef4e (patch) | |
tree | 7e932962fa251dbf7c6d4f4e539abf035c8ad002 /lib/oxidized | |
parent | 028bada99a02f2bc9b5b4409f09715ca49858675 (diff) |
Add AOS (ALU OmniSwitch) support
Specifically AOS 6, vxworks era, not linux era 7
Diffstat (limited to 'lib/oxidized')
-rw-r--r-- | lib/oxidized/input/ssh.rb | 3 | ||||
-rw-r--r-- | lib/oxidized/model/aos.rb | 38 | ||||
-rw-r--r-- | lib/oxidized/node.rb | 2 |
3 files changed, 41 insertions, 2 deletions
diff --git a/lib/oxidized/input/ssh.rb b/lib/oxidized/input/ssh.rb index b060418..3fdaa70 100644 --- a/lib/oxidized/input/ssh.rb +++ b/lib/oxidized/input/ssh.rb @@ -5,6 +5,7 @@ module Oxidized RescueFail = [ Net::SSH::Disconnect, Net::SSH::AuthenticationFailed, + RuntimeError, ] include CLI class NoShell < StandardError; end @@ -41,7 +42,7 @@ module Oxidized disconnect_cli @ssh.loop @ssh.close if not @ssh.closed? - rescue Errno::ECONNRESET, Net::SSH::Disconnect + rescue Errno::ECONNRESET, Net::SSH::Disconnect, IOError end end diff --git a/lib/oxidized/model/aos.rb b/lib/oxidized/model/aos.rb new file mode 100644 index 0000000..ec73b92 --- /dev/null +++ b/lib/oxidized/model/aos.rb @@ -0,0 +1,38 @@ +class AOS < Oxidized::Model + + # Alcatel-Lucent Operating System + # used in OmniSwitch + + comment '! ' + + cmd :all do |cfg| + cfg.each_line.to_a[1..-2].join + end + + cmd 'show system' do |cfg| + cfg = cfg.each_line.find{|line|line.match 'Description'} + comment cfg.to_s.strip + end + + cmd 'show chassis' do |cfg| + comment cfg + end + + cmd 'show hardware info' do |cfg| + comment cfg + end + + cmd 'show configuration snapshot' do |cfg| + cfg + end + + cfg :telnet do + username /^login : / + password /^password : / + end + + cfg :telnet, :ssh do + pre_logout 'exit' + end + +end diff --git a/lib/oxidized/node.rb b/lib/oxidized/node.rb index 31f26a9..b7dc134 100644 --- a/lib/oxidized/node.rb +++ b/lib/oxidized/node.rb @@ -37,7 +37,7 @@ module Oxidized begin input.connect self rescue *rescue_fail => err - Log.warn '%s raised %s with msg' % [self.ip, err.class, err.message] + Log.warn '%s raised %s with msg "%s"' % [self.ip, err.class, err.message] return false end end |